1# This testing configuration handles running the test suite against LLVM's libc++
2# using a DLL, with Clang-cl on Windows. This variant sets _HAS_EXCEPTIONS = 0
3# which removes exception class definitions from the vcruntime.
4
5lit_config.load_config(config, '@CMAKE_CURRENT_BINARY_DIR@/cmake-bridge.cfg')
6
7config.substitutions.append(('%{flags}', '--driver-mode=g++'))
8config.substitutions.append(('%{compile_flags}',
9    '-fms-runtime-lib=' + config.fms_runtime_lib + ' -nostdinc++ -I %{include-dir} -I %{target-include-dir} -I %{libcxx-dir}/test/support -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_STDIO_ISO_WIDE_SPECIFIERS -DNOMINMAX -D_HAS_EXCEPTIONS=0' + config.dbg_include
10))
11config.substitutions.append(('%{link_flags}',
12    '-nostdlib -L %{lib-dir} -lc++ -l' + config.cxx_lib
13))
14config.substitutions.append(('%{exec}',
15    '%{executor} --execdir %T --prepend_env PATH=%{lib-dir} -- '
16))
17
18import os, site
19site.addsitedir(os.path.join('@LIBCXX_SOURCE_DIR@', 'utils'))
20import libcxx.test.params, libcxx.test.config
21libcxx.test.config.configure(
22    libcxx.test.params.DEFAULT_PARAMETERS,
23    libcxx.test.features.DEFAULT_FEATURES,
24    config,
25    lit_config
26)
27