This is a scaled down version of https://reviews.llvm.org/D136315. The intent is largely the same as before[^1], but I've scaled down the scope to try to avoid the issues that the previous patch caused: - the changes are now opt-in based on enabling `CLANG_USE_XCSELECT` - this only works when targeting macOS on a macOS host (this is the only case supported by `libxcselect`[^2]) - calling `libxcselect` is done only when the target is `*-apple-macos*` to avoid breaking many tests Another reason to leave this as opt-in for now is that there are some bugs in libxcselect that need fixing before it is safe to use by default for all users. This has been reported to Apple as FB16081077. [^1]: See also https://reviews.llvm.org/D109460 and #45225. [^2]: https://developer.apple.com/documentation/xcselect?language=objc
58 lines
2.6 KiB
Python
58 lines
2.6 KiB
Python
@LIT_SITE_CFG_IN_HEADER@
|
|
|
|
import sys
|
|
|
|
config.llvm_src_root = path(r"@LLVM_SOURCE_DIR@")
|
|
config.llvm_obj_root = path(r"@LLVM_BINARY_DIR@")
|
|
config.llvm_tools_dir = lit_config.substitute(path(r"@LLVM_TOOLS_DIR@"))
|
|
config.llvm_libs_dir = lit_config.substitute(path(r"@LLVM_LIBS_DIR@"))
|
|
config.llvm_shlib_dir = lit_config.substitute(path(r"@SHLIBDIR@"))
|
|
config.llvm_plugin_ext = "@LLVM_PLUGIN_EXT@"
|
|
config.lit_tools_dir = path(r"@LLVM_LIT_TOOLS_DIR@")
|
|
config.errc_messages = "@LLVM_LIT_ERRC_MESSAGES@"
|
|
config.clang_lit_site_cfg = __file__
|
|
config.clang_obj_root = path(r"@CLANG_BINARY_DIR@")
|
|
config.clang_src_dir = path(r"@CLANG_SOURCE_DIR@")
|
|
config.clang_tools_dir = lit_config.substitute(path(r"@CURRENT_TOOLS_DIR@"))
|
|
config.clang_lib_dir = path(r"@CMAKE_LIBRARY_OUTPUT_DIRECTORY@")
|
|
config.host_triple = "@LLVM_HOST_TRIPLE@"
|
|
config.target_triple = "@LLVM_TARGET_TRIPLE@"
|
|
config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@"
|
|
config.have_zlib = @LLVM_ENABLE_ZLIB@
|
|
config.have_zstd = @LLVM_ENABLE_ZSTD@
|
|
config.clang_objc_rewriter = @CLANG_ENABLE_OBJC_REWRITER@
|
|
config.clang_default_pie_on_linux = @CLANG_DEFAULT_PIE_ON_LINUX@
|
|
config.clang_default_cxx_stdlib = "@CLANG_DEFAULT_CXX_STDLIB@"
|
|
config.clang_staticanalyzer = @CLANG_ENABLE_STATIC_ANALYZER@
|
|
config.clang_staticanalyzer_z3 = @LLVM_WITH_Z3@
|
|
config.clang_staticanalyzer_z3_mock = @TEST_WITH_Z3_MOCK@
|
|
config.clang_enable_cir = @CLANG_ENABLE_CIR@
|
|
config.clang_examples = @CLANG_BUILD_EXAMPLES@
|
|
config.llvm_examples = @LLVM_INCLUDE_EXAMPLES@
|
|
config.enable_shared = @ENABLE_SHARED@
|
|
config.enable_backtrace = @ENABLE_BACKTRACES@
|
|
config.enable_threads = @LLVM_ENABLE_THREADS@
|
|
config.build_shared_libs = @BUILD_SHARED_LIBS@
|
|
config.link_llvm_dylib = @LLVM_LINK_LLVM_DYLIB@
|
|
config.link_clang_dylib = @CLANG_LINK_CLANG_DYLIB@
|
|
config.reverse_iteration = @LLVM_ENABLE_REVERSE_ITERATION@
|
|
config.host_arch = "@HOST_ARCH@"
|
|
config.perl_executable = "@PERL_EXECUTABLE@"
|
|
config.python_executable = "@Python3_EXECUTABLE@"
|
|
config.has_plugins = @CLANG_PLUGIN_SUPPORT@
|
|
config.clang_vendor_uti = "@CLANG_VENDOR_UTI@"
|
|
config.llvm_external_lit = path(r"@LLVM_EXTERNAL_LIT@")
|
|
config.standalone_build = @CLANG_BUILT_STANDALONE@
|
|
config.ppc_linux_default_ieeelongdouble = @PPC_LINUX_DEFAULT_IEEELONGDOUBLE@
|
|
config.have_llvm_driver = @LLVM_TOOL_LLVM_DRIVER_BUILD@
|
|
config.spirv_tools_tests = @LLVM_INCLUDE_SPIRV_TOOLS_TESTS@
|
|
config.substitutions.append(("%llvm-version-major", "@LLVM_VERSION_MAJOR@"))
|
|
config.use_xcselect = @CLANG_USE_XCSELECT@
|
|
|
|
import lit.llvm
|
|
lit.llvm.initialize(lit_config, config)
|
|
|
|
# Let the main config do the real work.
|
|
lit_config.load_config(
|
|
config, os.path.join(config.clang_src_dir, "test/lit.cfg.py"))
|