1@LIT_SITE_CFG_IN_HEADER@
2
3import sys
4
5config.llvm_src_root = path(r"@LLVM_SOURCE_DIR@")
6config.llvm_obj_root = path(r"@LLVM_BINARY_DIR@")
7config.llvm_tools_dir = path(r"@LLVM_TOOLS_DIR@")
8config.llvm_libs_dir = path(r"@LLVM_LIBS_DIR@")
9config.llvm_shlib_dir = path(r"@SHLIBDIR@")
10config.llvm_plugin_ext = "@LLVM_PLUGIN_EXT@"
11config.lit_tools_dir = path(r"@LLVM_LIT_TOOLS_DIR@")
12config.errc_messages = "@LLVM_LIT_ERRC_MESSAGES@"
13config.clang_lit_site_cfg = __file__
14config.clang_obj_root = path(r"@CLANG_BINARY_DIR@")
15config.clang_src_dir = path(r"@CLANG_SOURCE_DIR@")
16config.clang_tools_dir = path(r"@CLANG_TOOLS_DIR@")
17config.clang_lib_dir = path(r"@CMAKE_LIBRARY_OUTPUT_DIRECTORY@")
18config.host_triple = "@LLVM_HOST_TRIPLE@"
19config.target_triple = "@TARGET_TRIPLE@"
20config.host_cc = "@CMAKE_C_COMPILER@"
21config.host_cxx = "@CMAKE_CXX_COMPILER@"
22config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@"
23config.have_zlib = @LLVM_ENABLE_ZLIB@
24config.clang_arcmt = @CLANG_ENABLE_ARCMT@
25config.clang_default_cxx_stdlib = "@CLANG_DEFAULT_CXX_STDLIB@"
26config.clang_staticanalyzer = @CLANG_ENABLE_STATIC_ANALYZER@
27config.clang_staticanalyzer_z3 = "@LLVM_WITH_Z3@"
28config.clang_examples = @CLANG_BUILD_EXAMPLES@
29config.enable_shared = @ENABLE_SHARED@
30config.enable_backtrace = @ENABLE_BACKTRACES@
31config.enable_experimental_new_pass_manager = @LLVM_ENABLE_NEW_PASS_MANAGER@
32config.enable_threads = @LLVM_ENABLE_THREADS@
33config.host_arch = "@HOST_ARCH@"
34config.python_executable = "@Python3_EXECUTABLE@"
35config.use_z3_solver = lit_config.params.get('USE_Z3_SOLVER', "@USE_Z3_SOLVER@")
36config.has_plugins = @LLVM_ENABLE_PLUGINS@
37config.clang_vendor_uti = "@CLANG_VENDOR_UTI@"
38config.llvm_external_lit = path(r"@LLVM_EXTERNAL_LIT@")
39
40# Support substitution of the tools and libs dirs with user parameters. This is
41# used when we can't determine the tool dir at configuration time.
42try:
43    config.clang_tools_dir = config.clang_tools_dir % lit_config.params
44    config.llvm_tools_dir = config.llvm_tools_dir % lit_config.params
45    config.llvm_shlib_dir = config.llvm_shlib_dir % lit_config.params
46    config.llvm_libs_dir = config.llvm_libs_dir % lit_config.params
47except KeyError:
48    e = sys.exc_info()[1]
49    key, = e.args
50    lit_config.fatal("unable to find %r parameter, use '--param=%s=VALUE'" % (key,key))
51
52import lit.llvm
53lit.llvm.initialize(lit_config, config)
54
55# Let the main config do the real work.
56lit_config.load_config(
57    config, os.path.join(config.clang_src_dir, "test/lit.cfg.py"))
58