xref: /llvm-project/libunwind/test/configs/llvm-libunwind-static.cfg.in (revision b32aac4358c1f6639de7c453656cd74fbab75d71)
1#
2# Configuration file for running the libunwind tests against the static library.
3#
4
5lit_config.load_config(config, '@CMAKE_CURRENT_BINARY_DIR@/cmake-bridge.cfg')
6
7compile_flags = []
8link_flags = []
9
10if @LIBUNWIND_ENABLE_THREADS@:
11    link_flags.append('-lpthread')
12
13if @LIBUNWIND_ENABLE_CET@:
14    compile_flags.append('-fcf-protection=full')
15
16if @LIBUNWIND_ENABLE_GCS@:
17    compile_flags.append('-mbranch-protection=standard')
18
19# On ELF platforms, link tests with -Wl,--export-dynamic if supported by the linker.
20if len('@CMAKE_EXE_EXPORTS_CXX_FLAG@'):
21    link_flags.append('@CMAKE_EXE_EXPORTS_CXX_FLAG@')
22
23if '@CMAKE_DL_LIBS@':
24    link_flags.append('-l@CMAKE_DL_LIBS@')
25
26# Stack unwinding tests need unwinding tables and these are not generated by default on all targets.
27compile_flags.append('-funwind-tables')
28
29local_sysroot = '@CMAKE_OSX_SYSROOT@' or '@CMAKE_SYSROOT@'
30config.substitutions.append(('%{flags}',
31    '-isysroot {}'.format(local_sysroot) if local_sysroot else ''
32))
33config.substitutions.append(('%{compile_flags}',
34    '-nostdinc++ -I %{{include}} {}'.format(' '.join(compile_flags))
35))
36config.substitutions.append(('%{link_flags}',
37    '%{{lib}}/libunwind.a {}'.format(' '.join(link_flags))
38))
39config.substitutions.append(('%{exec}',
40    '%{executor} --execdir %T -- '
41))
42
43import os, site
44site.addsitedir(os.path.join('@LIBUNWIND_LIBCXX_PATH@', 'utils'))
45import libcxx.test.params, libcxx.test.config
46libcxx.test.config.configure(
47    libcxx.test.params.DEFAULT_PARAMETERS,
48    libcxx.test.features.DEFAULT_FEATURES,
49    config,
50    lit_config
51)
52