mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-13 22:00:14 +00:00
![Jonas Devlieghere](/assets/img/avatar_default.png)
This implements a very elementary Lua script interpreter. It supports running a single command as well as running interactively. It uses editline if available. It's still missing a bunch of stuff though. Some things that I intentionally ingored for now are that I/O isn't properly hooked up (so every print goes to stdout) and the non-editline support which is not handling a bunch of corner cases. The latter is a matter of reusing existing code in the Python interpreter. Discussion on the mailing list: http://lists.llvm.org/pipermail/lldb-dev/2019-December/015812.html Differential revision: https://reviews.llvm.org/D71234
46 lines
2.0 KiB
Python
46 lines
2.0 KiB
Python
@LIT_SITE_CFG_IN_HEADER@
|
|
|
|
config.llvm_src_root = "@LLVM_SOURCE_DIR@"
|
|
config.llvm_obj_root = "@LLVM_BINARY_DIR@"
|
|
config.llvm_tools_dir = "@LLVM_TOOLS_DIR@"
|
|
config.llvm_libs_dir = "@LLVM_LIBS_DIR@"
|
|
config.llvm_shlib_dir = "@SHLIBDIR@"
|
|
config.lit_tools_dir = "@LLVM_LIT_TOOLS_DIR@"
|
|
config.lldb_obj_root = "@LLDB_BINARY_DIR@"
|
|
config.lldb_libs_dir = "@LLDB_LIBS_DIR@"
|
|
config.lldb_tools_dir = "@LLDB_TOOLS_DIR@"
|
|
# Since it comes from the command line, it may have backslashes which
|
|
# should not need to be escaped.
|
|
config.lldb_lit_tools_dir = r"@LLDB_LIT_TOOLS_DIR@"
|
|
config.target_triple = "@TARGET_TRIPLE@"
|
|
config.python_executable = "@PYTHON_EXECUTABLE@"
|
|
config.have_zlib = @LLVM_ENABLE_ZLIB@
|
|
config.lldb_enable_lzma = @LLDB_ENABLE_LZMA@
|
|
config.host_triple = "@LLVM_HOST_TRIPLE@"
|
|
config.lldb_bitness = 64 if @LLDB_IS_64_BITS@ else 32
|
|
config.lldb_enable_python = @LLDB_ENABLE_PYTHON@
|
|
config.lldb_enable_lua = @LLDB_ENABLE_LUA@
|
|
config.lldb_build_directory = "@LLDB_TEST_BUILD_DIRECTORY@"
|
|
# The shell tests use their own module caches.
|
|
config.lldb_module_cache = os.path.join("@LLDB_TEST_MODULE_CACHE_LLDB@", "lldb-shell")
|
|
config.clang_module_cache = os.path.join("@LLDB_TEST_MODULE_CACHE_CLANG@", "lldb-shell")
|
|
|
|
# Support substitution of the tools and libs dirs with user parameters. This is
|
|
# used when we can't determine the tool dir at configuration time.
|
|
try:
|
|
config.llvm_tools_dir = config.llvm_tools_dir % lit_config.params
|
|
config.llvm_libs_dir = config.llvm_libs_dir % lit_config.params
|
|
config.llvm_shlib_dir = config.llvm_shlib_dir % lit_config.params
|
|
config.lldb_libs_dir = config.lldb_libs_dir % lit_config.params
|
|
config.lldb_tools_dir = config.lldb_tools_dir % lit_config.params
|
|
config.lldb_lit_tools_dir = config.lldb_lit_tools_dir % lit_config.params
|
|
except KeyError as e:
|
|
key, = e.args
|
|
lit_config.fatal("unable to find %r parameter, use '--param=%s=VALUE'" % (key,key))
|
|
|
|
import lit.llvm
|
|
lit.llvm.initialize(lit_config, config)
|
|
|
|
# Let the main config do the real work.
|
|
lit_config.load_config(config, "@LLDB_SOURCE_DIR@/test/Shell/lit.cfg.py")
|