1@LIT_SITE_CFG_IN_HEADER@
2
3import sys
4
5config.host_triple = "@LLVM_HOST_TRIPLE@"
6config.target_triple = "@TARGET_TRIPLE@"
7config.llvm_src_root = path(r"@LLVM_SOURCE_DIR@")
8config.llvm_obj_root = path(r"@LLVM_BINARY_DIR@")
9config.llvm_tools_dir = path(r"@LLVM_TOOLS_DIR@")
10config.llvm_lib_dir = path(r"@LLVM_LIBRARY_DIR@")
11config.llvm_shlib_dir = path(r"@SHLIBDIR@")
12config.llvm_shlib_ext = "@SHLIBEXT@"
13config.llvm_exe_ext = "@EXEEXT@"
14config.lit_tools_dir = path(r"@LLVM_LIT_TOOLS_DIR@")
15config.python_executable = "@Python3_EXECUTABLE@"
16config.gold_executable = "@GOLD_EXECUTABLE@"
17config.ld64_executable = "@LD64_EXECUTABLE@"
18config.ocamlfind_executable = "@OCAMLFIND@"
19config.have_ocamlopt = @HAVE_OCAMLOPT@
20config.have_ocaml_ounit = @HAVE_OCAML_OUNIT@
21config.ocaml_flags = "@OCAMLFLAGS@"
22config.include_go_tests = @LLVM_INCLUDE_GO_TESTS@
23config.go_executable = "@GO_EXECUTABLE@"
24config.enable_shared = @ENABLE_SHARED@
25config.enable_assertions = @ENABLE_ASSERTIONS@
26config.targets_to_build = "@TARGETS_TO_BUILD@"
27config.native_target = "@LLVM_NATIVE_ARCH@"
28config.llvm_bindings = "@LLVM_BINDINGS@".split(' ')
29config.host_os = "@HOST_OS@"
30config.host_cc = "@HOST_CC@"
31config.host_cxx = "@HOST_CXX@"
32# Note: ldflags can contain double-quoted paths, so must use single quotes here.
33config.host_ldflags = '@HOST_LDFLAGS@'
34config.llvm_use_intel_jitevents = @LLVM_USE_INTEL_JITEVENTS@
35config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@"
36config.have_zlib = @LLVM_ENABLE_ZLIB@
37config.have_libxar = @HAVE_LIBXAR@
38config.have_libxml2 = @LLVM_ENABLE_LIBXML2@
39config.have_dia_sdk = @LLVM_ENABLE_DIA_SDK@
40config.enable_ffi = @LLVM_ENABLE_FFI@
41config.build_examples = @LLVM_BUILD_EXAMPLES@
42config.enable_threads = @LLVM_ENABLE_THREADS@
43config.build_shared_libs = @BUILD_SHARED_LIBS@
44config.link_llvm_dylib = @LLVM_LINK_LLVM_DYLIB@
45config.llvm_host_triple = '@LLVM_HOST_TRIPLE@'
46config.host_arch = "@HOST_ARCH@"
47config.have_opt_viewer_modules = @LLVM_HAVE_OPT_VIEWER_MODULES@
48config.libcxx_used = @LLVM_LIBCXX_USED@
49config.has_plugins = @LLVM_ENABLE_PLUGINS@
50config.linked_bye_extension = @LLVM_BYE_LINK_INTO_TOOLS@
51config.have_tf_aot = @LLVM_HAVE_TF_AOT@
52config.have_tf_api = @LLVM_HAVE_TF_API@
53config.expensive_checks = @LLVM_ENABLE_EXPENSIVE_CHECKS@
54
55# Support substitution of the tools_dir with user parameters. This is
56# used when we can't determine the tool dir at configuration time.
57try:
58    config.llvm_tools_dir = config.llvm_tools_dir % lit_config.params
59    config.llvm_shlib_dir = config.llvm_shlib_dir % lit_config.params
60except KeyError:
61    e = sys.exc_info()[1]
62    key, = e.args
63    lit_config.fatal("unable to find %r parameter, use '--param=%s=VALUE'" % (key,key))
64
65import lit.llvm
66lit.llvm.initialize(lit_config, config)
67
68# Let the main config do the real work.
69lit_config.load_config(
70    config, os.path.join(config.llvm_src_root, "test/lit.cfg.py"))
71