mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-02 02:38:04 +00:00
ed98676fa4
Multi-configuration generators (such as Visual Studio and Xcode) allow the specification of a build flavor at build time instead of config time, so the lit configuration files need to support that - and they do for the most part. There are several places that had one of two issues (or both!): 1) Paths had %(build_mode)s set up, but then not configured, resulting in values that would not work correctly e.g. D:/llvm-build/%(build_mode)s/bin/dsymutil.exe 2) Paths did not have %(build_mode)s set up, but instead contained $(Configuration) (which is the value for Visual Studio at configuration time, for Xcode they would have had the equivalent) e.g. "D:/llvm-build/$(Configuration)/lib". This seems to indicate that we still have a lot of fragility in the configurations, but also that a number of these paths are never used (at least on Windows) since the errors appear to have been there a while. This patch fixes the configurations and it has been tested with Ninja and Visual Studio to generate the correct paths. We should consider removing some of these settings altogether. Reviewed By: JDevlieghere, mehdi_amini Differential Revision: https://reviews.llvm.org/D96427
55 lines
2.1 KiB
Python
55 lines
2.1 KiB
Python
@LIT_SITE_CFG_IN_HEADER@
|
|
|
|
import sys
|
|
|
|
config.host_triple = "@LLVM_HOST_TRIPLE@"
|
|
config.target_triple = "@TARGET_TRIPLE@"
|
|
config.llvm_src_root = "@LLVM_SOURCE_DIR@"
|
|
config.llvm_obj_root = "@LLVM_BINARY_DIR@"
|
|
config.llvm_tools_dir = "@LLVM_TOOLS_DIR@"
|
|
config.llvm_lib_dir = "@LLVM_LIBS_DIR@"
|
|
config.llvm_shlib_dir = "@SHLIBDIR@"
|
|
config.llvm_shlib_ext = "@SHLIBEXT@"
|
|
config.llvm_exe_ext = "@EXEEXT@"
|
|
config.lit_tools_dir = "@LLVM_LIT_TOOLS_DIR@"
|
|
config.python_executable = "@PYTHON_EXECUTABLE@"
|
|
config.gold_executable = "@GOLD_EXECUTABLE@"
|
|
config.ld64_executable = "@LD64_EXECUTABLE@"
|
|
config.enable_shared = @ENABLE_SHARED@
|
|
config.enable_assertions = @ENABLE_ASSERTIONS@
|
|
config.targets_to_build = "@TARGETS_TO_BUILD@"
|
|
config.native_target = "@LLVM_NATIVE_ARCH@"
|
|
config.llvm_bindings = "@LLVM_BINDINGS@".split(' ')
|
|
config.host_os = "@HOST_OS@"
|
|
config.host_cc = "@HOST_CC@"
|
|
config.host_cxx = "@HOST_CXX@"
|
|
config.host_cmake = "@CMAKE_COMMAND@"
|
|
# Note: ldflags can contain double-quoted paths, so must use single quotes here.
|
|
config.host_ldflags = '@HOST_LDFLAGS@'
|
|
config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@"
|
|
config.llvm_host_triple = '@LLVM_HOST_TRIPLE@'
|
|
config.host_arch = "@HOST_ARCH@"
|
|
config.mlir_src_root = "@MLIR_SOURCE_DIR@"
|
|
config.mlir_obj_root = "@MLIR_BINARY_DIR@"
|
|
config.mlir_tools_dir = "@MLIR_TOOLS_DIR@"
|
|
config.mlir_integration_test_dir = "@MLIR_INTEGRATION_TEST_DIR@"
|
|
config.intel_sde_executable = "@INTEL_SDE_EXECUTABLE@"
|
|
config.mlir_run_avx512_tests = "@MLIR_RUN_AVX512_TESTS@"
|
|
|
|
# Support substitution of the tools_dir with user parameters. This is
|
|
# used when we can't determine the tool dir at configuration time.
|
|
try:
|
|
config.llvm_tools_dir = config.llvm_tools_dir % lit_config.params
|
|
config.llvm_lib_dir = config.llvm_lib_dir % lit_config.params
|
|
config.llvm_shlib_dir = config.llvm_shlib_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)
|
|
|
|
# Let the main config do the real work.
|
|
lit_config.load_config(config, "@MLIR_SOURCE_DIR@/integration_test/lit.cfg.py")
|