mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-09 01:29:52 +00:00
31e5f7120b
Rather than handling zlib handling manually, use find_package from CMake
to find zlib properly. Use this to normalize the LLVM_ENABLE_ZLIB,
HAVE_ZLIB, HAVE_ZLIB_H. Furthermore, require zlib if LLVM_ENABLE_ZLIB is
set to YES, which requires the distributor to explicitly select whether
zlib is enabled or not. This simplifies the CMake handling and usage in
the rest of the tooling.
This is a reland of abb0075
with all followup changes and fixes that
should address issues that were reported in PR44780.
Differential Revision: https://reviews.llvm.org/D79219
56 lines
2.3 KiB
Python
56 lines
2.3 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 = path(r"@LLVM_TOOLS_DIR@")
|
|
config.llvm_libs_dir = path(r"@LLVM_LIBS_DIR@")
|
|
config.llvm_shlib_dir = path(r"@SHLIBDIR@")
|
|
config.llvm_plugin_ext = "@LLVM_PLUGIN_EXT@"
|
|
config.lit_tools_dir = path(r"@LLVM_LIT_TOOLS_DIR@")
|
|
config.clang_obj_root = path(r"@CLANG_BINARY_DIR@")
|
|
config.clang_src_dir = path(r"@CLANG_SOURCE_DIR@")
|
|
config.clang_tools_dir = path(r"@CLANG_TOOLS_DIR@")
|
|
config.host_triple = "@LLVM_HOST_TRIPLE@"
|
|
config.target_triple = "@TARGET_TRIPLE@"
|
|
config.host_cxx = "@CMAKE_CXX_COMPILER@"
|
|
config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@"
|
|
config.have_zlib = @LLVM_ENABLE_ZLIB@
|
|
config.clang_arcmt = @CLANG_ENABLE_ARCMT@
|
|
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_examples = @CLANG_BUILD_EXAMPLES@
|
|
config.enable_shared = @ENABLE_SHARED@
|
|
config.enable_backtrace = @ENABLE_BACKTRACES@
|
|
config.enable_experimental_new_pass_manager = @ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER@
|
|
config.enable_threads = @LLVM_ENABLE_THREADS@
|
|
config.host_arch = "@HOST_ARCH@"
|
|
config.python_executable = "@Python3_EXECUTABLE@"
|
|
config.use_z3_solver = lit_config.params.get('USE_Z3_SOLVER', "@USE_Z3_SOLVER@")
|
|
config.has_plugins = @LLVM_ENABLE_PLUGINS@
|
|
config.clang_vendor_uti = "@CLANG_VENDOR_UTI@"
|
|
|
|
# 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.clang_tools_dir = config.clang_tools_dir % lit_config.params
|
|
config.llvm_tools_dir = config.llvm_tools_dir % lit_config.params
|
|
config.llvm_shlib_dir = config.llvm_shlib_dir % lit_config.params
|
|
config.llvm_libs_dir = config.llvm_libs_dir % lit_config.params
|
|
except KeyError:
|
|
e = sys.exc_info()[1]
|
|
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)
|
|
|
|
if not "@CLANG_DEFAULT_LINKER@":
|
|
config.available_features.add('platform-linker')
|
|
|
|
# Let the main config do the real work.
|
|
lit_config.load_config(
|
|
config, os.path.join(config.clang_src_dir, "test/lit.cfg.py"))
|