49 lines
1.6 KiB
INI
49 lines
1.6 KiB
INI
|
lit_config.load_config(config, '@CMAKE_CURRENT_BINARY_DIR@/cmake-bridge.cfg')
|
||
|
|
||
|
libc_linker_script = '@CMAKE_INSTALL_PREFIX@/lib/picolibcpp.ld'
|
||
|
|
||
|
config.substitutions.append(('%{flags}', '--sysroot=@CMAKE_INSTALL_PREFIX@'))
|
||
|
|
||
|
config.substitutions.append(('%{compile_flags}',
|
||
|
'-nostdinc++ -I %{include} -I %{target-include} -I %{libcxx}/test/support'
|
||
|
|
||
|
# Disable warnings in cxx_atomic_impl.h:
|
||
|
# "large atomic operation may incur significant performance penalty; the
|
||
|
# access size (4 bytes) exceeds the max lock-free size (0 bytes)"
|
||
|
' -Wno-atomic-alignment'
|
||
|
|
||
|
# Various libc++ headers check for the definition of _NEWLIB_VERSION
|
||
|
# which for picolibc is defined in picolibc.h.
|
||
|
' -include picolibc.h'
|
||
|
))
|
||
|
config.substitutions.append(('%{link_flags}',
|
||
|
'-nostdlib -nostdlib++ -L %{lib} -lc++ -lc++abi'
|
||
|
' -lc -lm -lclang_rt.builtins -lsemihost -lcrt0-semihost' +
|
||
|
' -T {}'.format(libc_linker_script) +
|
||
|
' -Wl,--defsym=__flash=0x0'
|
||
|
' -Wl,--defsym=__flash_size=0x400000'
|
||
|
' -Wl,--defsym=__ram=0x21000000'
|
||
|
' -Wl,--defsym=__ram_size=0x1000000'
|
||
|
' -Wl,--defsym=__stack_size=0x1000'
|
||
|
))
|
||
|
|
||
|
config.executor = (
|
||
|
'@LIBCXX_SOURCE_DIR@/utils/qemu_baremetal.py'
|
||
|
' --qemu @QEMU_SYSTEM_ARM@'
|
||
|
' --machine mps2-an385'
|
||
|
' --cpu cortex-m3')
|
||
|
config.substitutions.append(('%{exec}',
|
||
|
'%{executor}'
|
||
|
' --execdir %T'
|
||
|
))
|
||
|
|
||
|
import os, site
|
||
|
site.addsitedir(os.path.join('@LIBCXX_SOURCE_DIR@', 'utils'))
|
||
|
import libcxx.test.params, libcxx.test.config
|
||
|
libcxx.test.config.configure(
|
||
|
libcxx.test.params.DEFAULT_PARAMETERS,
|
||
|
libcxx.test.features.DEFAULT_FEATURES,
|
||
|
config,
|
||
|
lit_config
|
||
|
)
|