2 # Configuration file for running the libunwind tests against the shared library.
5 lit_config.load_config(config, '@CMAKE_CURRENT_BINARY_DIR@/cmake-bridge.cfg')
10 if @LIBUNWIND_ENABLE_CET@:
11 compile_flags.append('-fcf-protection=full')
13 if @LIBUNWIND_ENABLE_GCS@:
14 compile_flags.append('-mbranch-protection=standard')
16 # On ELF platforms, link tests with -Wl,--export-dynamic if supported by the linker.
17 if len('@CMAKE_EXE_EXPORTS_CXX_FLAG@'):
18 link_flags.append('@CMAKE_EXE_EXPORTS_CXX_FLAG@')
21 link_flags.append('-l@CMAKE_DL_LIBS@')
23 # Stack unwinding tests need unwinding tables and these are not generated by default on all targets.
24 compile_flags.append('-funwind-tables')
26 local_sysroot = '@CMAKE_OSX_SYSROOT@' or '@CMAKE_SYSROOT@'
27 config.substitutions.append(('%{flags}',
28 '-isysroot {}'.format(local_sysroot) if local_sysroot else ''
30 config.substitutions.append(('%{compile_flags}',
31 '-nostdinc++ -I %{{include}} {}'.format(' '.join(compile_flags))
33 config.substitutions.append(('%{link_flags}',
34 '-L %{{lib}} -Wl,-rpath,%{{lib}} -lunwind {}'.format(' '.join(link_flags))
36 config.substitutions.append(('%{exec}',
37 '%{executor} --execdir %T -- '
41 site.addsitedir(os.path.join('@LIBUNWIND_LIBCXX_PATH@', 'utils'))
42 import libcxx.test.params, libcxx.test.config
43 libcxx.test.config.configure(
44 libcxx.test.params.DEFAULT_PARAMETERS,
45 libcxx.test.features.DEFAULT_FEATURES,