blob: fb8d59df83595e91d03e5af7eed1bab7fb2c1069 [file] [log] [blame]
Alex Denisov7af86a92016-04-16 07:03:45 +00001@LIT_SITE_CFG_IN_HEADER@
Alexey Samsonovdd6605e2013-06-06 12:35:48 +00002
Evgeniy Stepanov08c9d0b2014-02-14 09:22:10 +00003# Set attribute value if it is unset.
4def set_default(attr, value):
5 if not getattr(config, attr, None):
6 setattr(config, attr, value)
Alexey Samsonovd566c452015-09-08 22:48:35 +00007
Alexey Samsonovdd6605e2013-06-06 12:35:48 +00008# Generic config options for all compiler-rt lit tests.
Alexey Samsonovd566c452015-09-08 22:48:35 +00009set_default("target_triple", "@COMPILER_RT_DEFAULT_TARGET_TRIPLE@")
Greg Fitzgerald93ba2cd2014-05-07 19:22:16 +000010set_default("target_cflags", "@COMPILER_RT_TEST_COMPILER_CFLAGS@")
Evgeniy Stepanov08c9d0b2014-02-14 09:22:10 +000011set_default("host_arch", "@HOST_ARCH@")
Alexey Samsonovd566c452015-09-08 22:48:35 +000012set_default("target_arch", "@COMPILER_RT_DEFAULT_TARGET_ARCH@")
Evgeniy Stepanov08c9d0b2014-02-14 09:22:10 +000013set_default("host_os", "@HOST_OS@")
14set_default("llvm_build_mode", "@LLVM_BUILD_MODE@")
Alexey Samsonov1bc75592016-02-01 21:08:16 +000015set_default("llvm_src_root", "@LLVM_MAIN_SRC_DIR@")
Evgeniy Stepanov08c9d0b2014-02-14 09:22:10 +000016set_default("llvm_obj_root", "@LLVM_BINARY_DIR@")
17set_default("compiler_rt_src_root", "@COMPILER_RT_SOURCE_DIR@")
Alexey Samsonov7986f6e2014-05-13 22:30:16 +000018set_default("compiler_rt_obj_root", "@COMPILER_RT_BINARY_DIR@")
Greg Bedwell1ad28c72017-11-13 12:57:54 +000019set_default("llvm_tools_dir", "@LLVM_TOOLS_DIR@")
Peter Collingbourne18d49e22016-09-22 20:51:48 +000020set_default("llvm_shlib_dir", "@LLVM_LIBRARY_OUTPUT_INTDIR@")
Peter Collingbourne39a4a9d2015-02-20 20:31:18 +000021set_default("gold_executable", "@GOLD_EXECUTABLE@")
Greg Bedwell1ad28c72017-11-13 12:57:54 +000022set_default("clang", "@COMPILER_RT_RESOLVED_TEST_COMPILER@")
Alexey Samsonov04a199e2014-02-19 15:13:14 +000023set_default("compiler_id", "@COMPILER_RT_TEST_COMPILER_ID@")
Evgeniy Stepanov08c9d0b2014-02-14 09:22:10 +000024set_default("python_executable", "@PYTHON_EXECUTABLE@")
25set_default("compiler_rt_debug", @COMPILER_RT_DEBUG_PYBOOL@)
Greg Bedwell1ad28c72017-11-13 12:57:54 +000026set_default("compiler_rt_libdir", "@COMPILER_RT_RESOLVED_LIBRARY_OUTPUT_DIR@")
Greg Fitzgerald16bae242014-04-30 21:32:30 +000027set_default("emulator", "@COMPILER_RT_EMULATOR@")
Walter Leef8005d62017-11-13 14:02:27 +000028set_default("asan_shadow_scale", "@COMPILER_RT_ASAN_SHADOW_SCALE@")
Kuba Mracekca08a272018-06-20 14:59:16 +000029set_default("apple_platform", "osx")
Alexey Samsonov5d83e5e2015-06-25 00:57:42 +000030set_default("sanitizer_can_use_cxxabi", @SANITIZER_CAN_USE_CXXABI_PYBOOL@)
Evgeniy Stepanov7218fa52017-03-25 00:42:25 +000031set_default("has_lld", @COMPILER_RT_HAS_LLD_PYBOOL@)
Nico Weberf1e6d262016-01-22 20:26:10 +000032set_default("can_symbolize", @CAN_SYMBOLIZE@)
Evgeniy Stepanovfa7f4842017-04-21 18:11:23 +000033set_default("use_lld", False)
34set_default("use_thinlto", False)
Roman Lebedevd3de7952017-12-01 19:36:29 +000035set_default("use_lto", config.use_thinlto)
Vitaly Buka2e99c092017-09-16 05:13:56 +000036set_default("android", @ANDROID_PYBOOL@)
Daniel Sanders055eba82016-08-09 11:50:53 +000037config.available_features.add('target-is-%s' % config.target_arch)
Alexey Samsonovdd6605e2013-06-06 12:35:48 +000038
39# LLVM tools dir can be passed in lit parameters, so try to
40# apply substitution.
41try:
Daniel Dunbara1b15b42013-08-09 22:14:01 +000042 config.llvm_tools_dir = config.llvm_tools_dir % lit_config.params
Greg Bedwell1ad28c72017-11-13 12:57:54 +000043 config.clang = config.clang % lit_config.params
44 config.compiler_rt_libdir = config.compiler_rt_libdir % lit_config.params
Justin Bogner52d55c02014-12-13 02:46:56 +000045except KeyError as e:
Alexey Samsonovdd6605e2013-06-06 12:35:48 +000046 key, = e.args
Daniel Dunbara1b15b42013-08-09 22:14:01 +000047 lit_config.fatal("unable to find %r parameter, use '--param=%s=VALUE'" % (key, key))
Alexey Samsonovdd6605e2013-06-06 12:35:48 +000048
Greg Bedwell1ad28c72017-11-13 12:57:54 +000049if not os.path.exists(config.clang):
50 lit_config.fatal("Can't find compiler on path %r" % config.clang)
51
Alexey Samsonovdd6605e2013-06-06 12:35:48 +000052# Setup attributes common for all compiler-rt projects.
Alexey Samsonove1c44002014-02-14 11:00:07 +000053lit_config.load_config(config, "@COMPILER_RT_SOURCE_DIR@/test/lit.common.cfg")