build: make Zephyr stdint convention enforcing configurable
There are few cases where removing this enforcement is desirable: - linking against binary C++ libs with incompatible type mangling - linking against system provided headers i.e. native_posix - compiling with legacy code that assumes a different convention So let's create a Kconfig symbol for it. This is IMHO a good compromize compared to using the %"PRId32" abomination everywhere otherwise. Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
This commit is contained in:
parent
e06359f616
commit
0a386dbe6c
4 changed files with 38 additions and 4 deletions
|
@ -283,10 +283,7 @@ zephyr_compile_options($<$<COMPILE_LANGUAGE:ASM>:$<TARGET_PROPERTY:asm,required>
|
|||
|
||||
# @Intent: Enforce standard integer type correspondence to match Zephyr usage.
|
||||
# (must be after compiler specific flags)
|
||||
if(NOT CONFIG_ARCH_POSIX)
|
||||
# `zephyr_stdint.h` is not included for the POSIX (native) arch because it
|
||||
# compiles with the host toolchain/headers and there can be conflicts if we
|
||||
# arbitrarily redefine our own type system (see #37718).
|
||||
if(CONFIG_ENFORCE_ZEPHYR_STDINT)
|
||||
zephyr_compile_options("SHELL: $<TARGET_PROPERTY:compiler,imacros> ${ZEPHYR_BASE}/include/zephyr/toolchain/zephyr_stdint.h")
|
||||
endif()
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue