xref: /aosp_15_r20/external/cronet/third_party/libc++/src/test/configs/armv7m-picolibc-libc++.cfg.in (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1lit_config.load_config(config, '@CMAKE_CURRENT_BINARY_DIR@/cmake-bridge.cfg')
2
3libc_linker_script = '@CMAKE_INSTALL_PREFIX@/lib/picolibcpp.ld'
4
5config.substitutions.append(('%{flags}', '--sysroot=@CMAKE_INSTALL_PREFIX@'))
6
7config.substitutions.append(('%{compile_flags}',
8    '-nostdinc++ -I %{include-dir} -I %{target-include-dir} -I %{libcxx-dir}/test/support'
9
10    # Disable warnings in cxx_atomic_impl.h:
11    # "large atomic operation may incur significant performance penalty; the
12    # access size (4 bytes) exceeds the max lock-free size (0  bytes)"
13    ' -Wno-atomic-alignment'
14
15    # Various libc++ headers check for the definition of _NEWLIB_VERSION
16    # which for picolibc is defined in picolibc.h.
17    ' -include picolibc.h'
18))
19config.substitutions.append(('%{link_flags}',
20    '-nostdlib -nostdlib++ -L %{lib-dir} -lc++ -lc++abi'
21    ' -lc -lm -lclang_rt.builtins -lsemihost -lcrt0-semihost' +
22    ' -T {}'.format(libc_linker_script) +
23    ' -Wl,--defsym=__flash=0x0'
24    ' -Wl,--defsym=__flash_size=0x400000'
25    ' -Wl,--defsym=__ram=0x21000000'
26    ' -Wl,--defsym=__ram_size=0x1000000'
27    ' -Wl,--defsym=__stack_size=0x1000'
28))
29
30config.executor = (
31    '@LIBCXX_SOURCE_DIR@/utils/qemu_baremetal.py'
32    ' --qemu @QEMU_SYSTEM_ARM@'
33    ' --machine mps2-an385'
34    ' --cpu cortex-m3')
35config.substitutions.append(('%{exec}',
36    '%{executor}'
37    ' --execdir %T'
38))
39
40import os, site
41site.addsitedir(os.path.join('@LIBCXX_SOURCE_DIR@', 'utils'))
42import libcxx.test.params, libcxx.test.config
43libcxx.test.config.configure(
44    libcxx.test.params.DEFAULT_PARAMETERS,
45    libcxx.test.features.DEFAULT_FEATURES,
46    config,
47    lit_config
48)
49