
Compiler-rt libraries on arm use "arm" or "armhf" as suffix, not the full exact arch name like "armv7". This matches what was done for the build system in 8e11bede3a6ac11ebcc05c82fac39899feaf9534, to match the names that Clang expects (in getArchNameForCompilerRTLib in Clang). This fixes building a large number of the compiler-rt tests for Windows/armv7.
101 lines
5.0 KiB
Plaintext
101 lines
5.0 KiB
Plaintext
@LIT_SITE_CFG_IN_HEADER@
|
|
|
|
# Set attribute value if it is unset.
|
|
def set_default(attr, value):
|
|
if not getattr(config, attr, None):
|
|
setattr(config, attr, value)
|
|
|
|
# Generic config options for all compiler-rt lit tests.
|
|
set_default("target_triple", "@COMPILER_RT_DEFAULT_TARGET_TRIPLE@")
|
|
set_default("target_cflags", "@COMPILER_RT_TEST_COMPILER_CFLAGS@")
|
|
set_default("host_arch", "@HOST_ARCH@")
|
|
set_default("target_arch", "@COMPILER_RT_DEFAULT_TARGET_ARCH@")
|
|
set_default("host_os", "@HOST_OS@")
|
|
set_default("llvm_build_mode", "@LLVM_BUILD_MODE@")
|
|
set_default("llvm_src_root", "@LLVM_MAIN_SRC_DIR@")
|
|
set_default("llvm_obj_root", "@LLVM_BINARY_DIR@")
|
|
set_default("compiler_rt_src_root", "@COMPILER_RT_SOURCE_DIR@")
|
|
set_default("compiler_rt_obj_root", "@COMPILER_RT_BINARY_DIR@")
|
|
set_default("enable_per_target_runtime_dir", @LLVM_ENABLE_PER_TARGET_RUNTIME_DIR_PYBOOL@)
|
|
set_default("llvm_tools_dir", "@LLVM_TOOLS_DIR@")
|
|
set_default("lit_tools_dir", "@LLVM_LIT_TOOLS_DIR@")
|
|
set_default("llvm_shlib_dir", "@LLVM_LIBRARY_OUTPUT_INTDIR@")
|
|
set_default("gnu_ld_executable", "@GNU_LD_EXECUTABLE@")
|
|
set_default("gold_executable", "@GOLD_EXECUTABLE@")
|
|
set_default("clang", "@COMPILER_RT_RESOLVED_TEST_COMPILER@")
|
|
set_default("compiler_id", "@COMPILER_RT_TEST_COMPILER_ID@")
|
|
set_default("python_executable", "@Python3_EXECUTABLE@")
|
|
set_default("compiler_rt_debug", @COMPILER_RT_DEBUG_PYBOOL@)
|
|
set_default("compiler_rt_intercept_libdispatch", @COMPILER_RT_INTERCEPT_LIBDISPATCH_PYBOOL@)
|
|
set_default("compiler_rt_output_dir", "@COMPILER_RT_RESOLVED_OUTPUT_DIR@")
|
|
set_default("compiler_rt_bindir", "@COMPILER_RT_RESOLVED_EXEC_OUTPUT_DIR@")
|
|
set_default("compiler_rt_libdir", "@COMPILER_RT_RESOLVED_LIBRARY_OUTPUT_DIR@")
|
|
set_default("emulator", "@COMPILER_RT_EMULATOR@")
|
|
set_default("asan_shadow_scale", "@COMPILER_RT_ASAN_SHADOW_SCALE@")
|
|
set_default("memprof_shadow_scale", "@COMPILER_RT_MEMPROF_SHADOW_SCALE@")
|
|
set_default("apple_platform", "osx")
|
|
set_default("apple_platform_min_deployment_target_flag", "-mmacosx-version-min")
|
|
set_default("sanitizer_can_use_cxxabi", @SANITIZER_CAN_USE_CXXABI_PYBOOL@)
|
|
set_default("sanitizer_uses_static_cxxabi", @SANITIZER_USE_STATIC_CXX_ABI_PYBOOL@)
|
|
set_default("sanitizer_uses_static_unwind", @SANITIZER_USE_STATIC_LLVM_UNWINDER_PYBOOL@)
|
|
set_default("has_lld", @COMPILER_RT_HAS_LLD_PYBOOL@)
|
|
set_default("can_symbolize", @CAN_SYMBOLIZE@)
|
|
set_default("use_lld", @COMPILER_RT_TEST_USE_LLD_PYBOOL@)
|
|
set_default("use_thinlto", False)
|
|
set_default("use_lto", config.use_thinlto)
|
|
set_default("android", @ANDROID_PYBOOL@)
|
|
set_default("android_api_level", "@ANDROID_API_LEVEL@")
|
|
set_default("android_serial", "@ANDROID_SERIAL_FOR_TESTING@")
|
|
set_default("android_files_to_push", [])
|
|
set_default("have_rpc_xdr_h", @HAVE_RPC_XDR_H@)
|
|
set_default("gwp_asan", @COMPILER_RT_HAS_GWP_ASAN_PYBOOL@)
|
|
set_default("expensive_checks", @LLVM_ENABLE_EXPENSIVE_CHECKS_PYBOOL@)
|
|
set_default("test_standalone_build_libs", @COMPILER_RT_TEST_STANDALONE_BUILD_LIBS_PYBOOL@)
|
|
set_default("has_compiler_rt_libatomic", @COMPILER_RT_BUILD_STANDALONE_LIBATOMIC_PYBOOL@)
|
|
set_default("aarch64_sme", @COMPILER_RT_HAS_AARCH64_SME_PYBOOL@)
|
|
set_default("darwin_linker_version", "@COMPILER_RT_DARWIN_LINKER_VERSION@")
|
|
set_default("has_no_default_config_flag", @COMPILER_RT_HAS_NO_DEFAULT_CONFIG_FLAG_PYBOOL@)
|
|
# True iff the test suite supports ignoring the test compiler's runtime library path
|
|
# and using `config.compiler_rt_libdir` instead. This only matters when the runtime
|
|
# library paths differ.
|
|
set_default("test_suite_supports_overriding_runtime_lib_path", False)
|
|
config.available_features.add('target-is-%s' % config.target_arch)
|
|
|
|
if config.enable_per_target_runtime_dir:
|
|
set_default("target_suffix", "")
|
|
elif config.android:
|
|
if config.target_arch == "i386":
|
|
set_default("target_suffix", "-i686-android")
|
|
else:
|
|
set_default("target_suffix", "-%s-android" % config.target_arch)
|
|
else:
|
|
if config.target_arch.startswith("arm"):
|
|
if config.target_arch.endswith("hf"):
|
|
set_default("target_suffix", "-armhf")
|
|
else:
|
|
set_default("target_suffix", "-arm")
|
|
else:
|
|
set_default("target_suffix", "-%s" % config.target_arch)
|
|
|
|
set_default("have_internal_symbolizer", @COMPILER_RT_ENABLE_INTERNAL_SYMBOLIZER_PYBOOL@)
|
|
set_default("have_disable_symbolizer_path_search", @SANITIZER_DISABLE_SYMBOLIZER_PATH_SEARCH_PYBOOL@)
|
|
set_default("have_zlib", @ZLIB_FOUND_PYBOOL@)
|
|
set_default("zlib_include_dir", "@ZLIB_INCLUDE_DIR@")
|
|
set_default("zlib_library", "@ZLIB_LIBRARY@")
|
|
set_default("libcxx_used", "@LLVM_LIBCXX_USED@")
|
|
|
|
# LLVM tools dir can be passed in lit parameters, so try to
|
|
# apply substitution.
|
|
config.llvm_tools_dir = lit_config.substitute(config.llvm_tools_dir)
|
|
config.clang = lit_config.substitute(config.clang)
|
|
config.compiler_rt_libdir = lit_config.substitute(config.compiler_rt_libdir)
|
|
|
|
if not os.path.exists(config.clang):
|
|
lit_config.fatal("Can't find compiler on path %r" % config.clang)
|
|
|
|
import lit.llvm
|
|
lit.llvm.initialize(lit_config, config)
|
|
|
|
# Setup attributes common for all compiler-rt projects.
|
|
lit_config.load_config(config, "@COMPILER_RT_SOURCE_DIR@/test/lit.common.cfg.py")
|