Explicitly check whether we are building debugserver for arm64e. To debug an arm64e binary, debugserver itself needs to be an arm64e process. This PR eliminates the possibility of configuring LLDB with Right now, it's possible to configure CMake with `LLDB_ENABLE_ARM64E_DEBUGSERVER=Off` and the decorator wouldn't account for that.
65 lines
3.2 KiB
Python
65 lines
3.2 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 = lit_config.substitute("@LLVM_TOOLS_DIR@")
|
|
config.llvm_libs_dir = lit_config.substitute("@LLVM_LIBS_DIR@")
|
|
config.llvm_include_dir = lit_config.substitute("@LLVM_INCLUDE_DIR@")
|
|
config.llvm_shlib_dir = lit_config.substitute("@SHLIBDIR@")
|
|
config.llvm_build_mode = lit_config.substitute("@LLVM_BUILD_MODE@")
|
|
config.lit_tools_dir = "@LLVM_LIT_TOOLS_DIR@"
|
|
config.lldb_obj_root = lit_config.substitute("@LLDB_BINARY_DIR@")
|
|
config.lldb_src_root = "@LLDB_SOURCE_DIR@"
|
|
config.lldb_libs_dir = lit_config.substitute("@LLDB_LIBS_DIR@")
|
|
config.lldb_framework_dir = lit_config.substitute("@LLDB_FRAMEWORK_DIR@")
|
|
config.cmake_cxx_compiler = "@CMAKE_CXX_COMPILER@"
|
|
config.target_os = "@HOST_OS@"
|
|
config.host_triple = "@LLVM_HOST_TRIPLE@"
|
|
config.shared_libs = @LLVM_ENABLE_SHARED_LIBS@
|
|
config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@"
|
|
config.target_triple = "@LLVM_TARGET_TRIPLE@"
|
|
config.lldb_build_directory = "@LLDB_TEST_BUILD_DIRECTORY@"
|
|
config.python_executable = "@LLDB_PYTHON_API_TEST_EXECUTABLE@"
|
|
config.python_root_dir = "@Python3_ROOT_DIR@"
|
|
config.lua_executable = "@LUA_EXECUTABLE@"
|
|
config.lldb_lua_cpath = "@LLDB_LUA_CPATH@"
|
|
config.lua_test_entry = "TestLuaAPI.py"
|
|
config.dotest_common_args_str = lit_config.substitute("@LLDB_TEST_COMMON_ARGS@")
|
|
config.dotest_user_args_str = lit_config.substitute("@LLDB_TEST_USER_ARGS@")
|
|
config.lldb_platform_url = lit_config.substitute("@LLDB_TEST_PLATFORM_URL@")
|
|
config.lldb_platform_working_dir = lit_config.substitute("@LLDB_TEST_PLATFORM_WORKING_DIR@")
|
|
config.cmake_build_type = "@CMAKE_BUILD_TYPE@"
|
|
config.cmake_sysroot = lit_config.substitute("@LLDB_TEST_SYSROOT@" or "@DEFAULT_SYSROOT@")
|
|
config.lldb_enable_python = @LLDB_ENABLE_PYTHON@
|
|
config.dotest_lit_args_str = None
|
|
config.enabled_plugins = []
|
|
config.lldb_executable = lit_config.substitute('@LLDB_TEST_EXECUTABLE@')
|
|
config.test_arch = '@LLDB_TEST_ARCH@'
|
|
config.test_compiler = lit_config.substitute('@LLDB_TEST_COMPILER@')
|
|
config.dsymutil = lit_config.substitute('@LLDB_TEST_DSYMUTIL@')
|
|
config.make = lit_config.substitute('@LLDB_TEST_MAKE@')
|
|
config.has_libcxx = @LLDB_HAS_LIBCXX@
|
|
config.libcxx_libs_dir = "@LIBCXX_LIBRARY_DIR@"
|
|
config.libcxx_include_dir = "@LIBCXX_GENERATED_INCLUDE_DIR@"
|
|
config.libcxx_include_target_dir = "@LIBCXX_GENERATED_INCLUDE_TARGET_DIR@"
|
|
config.lldb_launcher = "@LLDB_LAUNCHER@"
|
|
config.lldb_enable_mte = @LLDB_ENABLE_MTE@
|
|
config.lldb_enable_arm64e_debugserver = @LLDB_USE_ARM64E_DEBUGSERVER@
|
|
# The API tests use their own module caches.
|
|
config.lldb_module_cache = os.path.join("@LLDB_TEST_MODULE_CACHE_LLDB@", "lldb-api")
|
|
config.clang_module_cache = os.path.join("@LLDB_TEST_MODULE_CACHE_CLANG@", "lldb-api")
|
|
|
|
# Plugins
|
|
lldb_build_intel_pt = '@LLDB_BUILD_INTEL_PT@'
|
|
if lldb_build_intel_pt == '1':
|
|
config.enabled_plugins.append('intel-pt')
|
|
|
|
# Additional dotest arguments can be passed to lit by providing a
|
|
# semicolon-separates list: --param dotest-args="arg;arg".
|
|
dotest_lit_args_str = lit_config.params.get('dotest-args', None)
|
|
if dotest_lit_args_str:
|
|
config.dotest_lit_args_str = dotest_lit_args_str
|
|
|
|
# Let the main config do the real work.
|
|
lit_config.load_config(config, os.path.join(config.lldb_src_root, "test", "API", "lit.cfg.py"))
|