Alex Denisov | 7af86a9 | 2016-04-16 07:03:45 +0000 | [diff] [blame] | 1 | @LIT_SITE_CFG_IN_HEADER@ |
Alexey Samsonov | dd6605e | 2013-06-06 12:35:48 +0000 | [diff] [blame] | 2 | |
Evgeniy Stepanov | 08c9d0b | 2014-02-14 09:22:10 +0000 | [diff] [blame] | 3 | # Set attribute value if it is unset. |
| 4 | def set_default(attr, value): |
| 5 | if not getattr(config, attr, None): |
| 6 | setattr(config, attr, value) |
Alexey Samsonov | d566c45 | 2015-09-08 22:48:35 +0000 | [diff] [blame] | 7 | |
Alexey Samsonov | dd6605e | 2013-06-06 12:35:48 +0000 | [diff] [blame] | 8 | # Generic config options for all compiler-rt lit tests. |
Alexey Samsonov | d566c45 | 2015-09-08 22:48:35 +0000 | [diff] [blame] | 9 | set_default("target_triple", "@COMPILER_RT_DEFAULT_TARGET_TRIPLE@") |
Greg Fitzgerald | 93ba2cd | 2014-05-07 19:22:16 +0000 | [diff] [blame] | 10 | set_default("target_cflags", "@COMPILER_RT_TEST_COMPILER_CFLAGS@") |
Evgeniy Stepanov | 08c9d0b | 2014-02-14 09:22:10 +0000 | [diff] [blame] | 11 | set_default("host_arch", "@HOST_ARCH@") |
Alexey Samsonov | d566c45 | 2015-09-08 22:48:35 +0000 | [diff] [blame] | 12 | set_default("target_arch", "@COMPILER_RT_DEFAULT_TARGET_ARCH@") |
Evgeniy Stepanov | 08c9d0b | 2014-02-14 09:22:10 +0000 | [diff] [blame] | 13 | set_default("host_os", "@HOST_OS@") |
| 14 | set_default("llvm_build_mode", "@LLVM_BUILD_MODE@") |
Alexey Samsonov | 1bc7559 | 2016-02-01 21:08:16 +0000 | [diff] [blame] | 15 | set_default("llvm_src_root", "@LLVM_MAIN_SRC_DIR@") |
Evgeniy Stepanov | 08c9d0b | 2014-02-14 09:22:10 +0000 | [diff] [blame] | 16 | set_default("llvm_obj_root", "@LLVM_BINARY_DIR@") |
| 17 | set_default("compiler_rt_src_root", "@COMPILER_RT_SOURCE_DIR@") |
Alexey Samsonov | 7986f6e | 2014-05-13 22:30:16 +0000 | [diff] [blame] | 18 | set_default("compiler_rt_obj_root", "@COMPILER_RT_BINARY_DIR@") |
Greg Bedwell | 1ad28c7 | 2017-11-13 12:57:54 +0000 | [diff] [blame] | 19 | set_default("llvm_tools_dir", "@LLVM_TOOLS_DIR@") |
Peter Collingbourne | 18d49e2 | 2016-09-22 20:51:48 +0000 | [diff] [blame] | 20 | set_default("llvm_shlib_dir", "@LLVM_LIBRARY_OUTPUT_INTDIR@") |
Peter Collingbourne | 39a4a9d | 2015-02-20 20:31:18 +0000 | [diff] [blame] | 21 | set_default("gold_executable", "@GOLD_EXECUTABLE@") |
Greg Bedwell | 1ad28c7 | 2017-11-13 12:57:54 +0000 | [diff] [blame] | 22 | set_default("clang", "@COMPILER_RT_RESOLVED_TEST_COMPILER@") |
Alexey Samsonov | 04a199e | 2014-02-19 15:13:14 +0000 | [diff] [blame] | 23 | set_default("compiler_id", "@COMPILER_RT_TEST_COMPILER_ID@") |
Evgeniy Stepanov | 08c9d0b | 2014-02-14 09:22:10 +0000 | [diff] [blame] | 24 | set_default("python_executable", "@PYTHON_EXECUTABLE@") |
| 25 | set_default("compiler_rt_debug", @COMPILER_RT_DEBUG_PYBOOL@) |
Greg Bedwell | 1ad28c7 | 2017-11-13 12:57:54 +0000 | [diff] [blame] | 26 | set_default("compiler_rt_libdir", "@COMPILER_RT_RESOLVED_LIBRARY_OUTPUT_DIR@") |
Greg Fitzgerald | 16bae24 | 2014-04-30 21:32:30 +0000 | [diff] [blame] | 27 | set_default("emulator", "@COMPILER_RT_EMULATOR@") |
Walter Lee | f8005d6 | 2017-11-13 14:02:27 +0000 | [diff] [blame] | 28 | set_default("asan_shadow_scale", "@COMPILER_RT_ASAN_SHADOW_SCALE@") |
Kuba Mracek | ca08a27 | 2018-06-20 14:59:16 +0000 | [diff] [blame] | 29 | set_default("apple_platform", "osx") |
Alexey Samsonov | 5d83e5e | 2015-06-25 00:57:42 +0000 | [diff] [blame] | 30 | set_default("sanitizer_can_use_cxxabi", @SANITIZER_CAN_USE_CXXABI_PYBOOL@) |
Evgeniy Stepanov | 7218fa5 | 2017-03-25 00:42:25 +0000 | [diff] [blame] | 31 | set_default("has_lld", @COMPILER_RT_HAS_LLD_PYBOOL@) |
Nico Weber | f1e6d26 | 2016-01-22 20:26:10 +0000 | [diff] [blame] | 32 | set_default("can_symbolize", @CAN_SYMBOLIZE@) |
Evgeniy Stepanov | fa7f484 | 2017-04-21 18:11:23 +0000 | [diff] [blame] | 33 | set_default("use_lld", False) |
| 34 | set_default("use_thinlto", False) |
Roman Lebedev | d3de795 | 2017-12-01 19:36:29 +0000 | [diff] [blame] | 35 | set_default("use_lto", config.use_thinlto) |
Vitaly Buka | 2e99c09 | 2017-09-16 05:13:56 +0000 | [diff] [blame] | 36 | set_default("android", @ANDROID_PYBOOL@) |
Daniel Sanders | 055eba8 | 2016-08-09 11:50:53 +0000 | [diff] [blame] | 37 | config.available_features.add('target-is-%s' % config.target_arch) |
Alexey Samsonov | dd6605e | 2013-06-06 12:35:48 +0000 | [diff] [blame] | 38 | |
| 39 | # LLVM tools dir can be passed in lit parameters, so try to |
| 40 | # apply substitution. |
| 41 | try: |
Daniel Dunbar | a1b15b4 | 2013-08-09 22:14:01 +0000 | [diff] [blame] | 42 | config.llvm_tools_dir = config.llvm_tools_dir % lit_config.params |
Greg Bedwell | 1ad28c7 | 2017-11-13 12:57:54 +0000 | [diff] [blame] | 43 | config.clang = config.clang % lit_config.params |
| 44 | config.compiler_rt_libdir = config.compiler_rt_libdir % lit_config.params |
Justin Bogner | 52d55c0 | 2014-12-13 02:46:56 +0000 | [diff] [blame] | 45 | except KeyError as e: |
Alexey Samsonov | dd6605e | 2013-06-06 12:35:48 +0000 | [diff] [blame] | 46 | key, = e.args |
Daniel Dunbar | a1b15b4 | 2013-08-09 22:14:01 +0000 | [diff] [blame] | 47 | lit_config.fatal("unable to find %r parameter, use '--param=%s=VALUE'" % (key, key)) |
Alexey Samsonov | dd6605e | 2013-06-06 12:35:48 +0000 | [diff] [blame] | 48 | |
Greg Bedwell | 1ad28c7 | 2017-11-13 12:57:54 +0000 | [diff] [blame] | 49 | if not os.path.exists(config.clang): |
| 50 | lit_config.fatal("Can't find compiler on path %r" % config.clang) |
| 51 | |
Alexey Samsonov | dd6605e | 2013-06-06 12:35:48 +0000 | [diff] [blame] | 52 | # Setup attributes common for all compiler-rt projects. |
Alexey Samsonov | e1c4400 | 2014-02-14 11:00:07 +0000 | [diff] [blame] | 53 | lit_config.load_config(config, "@COMPILER_RT_SOURCE_DIR@/test/lit.common.cfg") |