libc: picolibc: Fix picolibc to allow third party CPP

Picolibc dependencies limit ability to use third party minimal
implementations of CPP when enablng PICOLIBC_USE_MODULE.

Signed-off-by: Al Semjonovs <asemjonovs@google.com>
This commit is contained in:
Al Semjonovs 2023-10-02 11:55:05 -06:00 committed by Johan Hedberg
parent 80997cc98f
commit 955d85aa67
3 changed files with 12 additions and 5 deletions

View file

@ -4,8 +4,10 @@
macro(toolchain_ld_cpp)
zephyr_link_libraries(
-lstdc++
)
if(NOT CONFIG_EXTERNAL_MODULE_LIBCPP)
zephyr_link_libraries(
-lstdc++
)
endif()
endmacro()

View file

@ -107,7 +107,12 @@ config ARCMWDT_LIBCPP
config EXTERNAL_LIBCPP
bool "External C++ standard library"
help
Build with an external/user-provided C++ standard library.
Build and link with an external/user-provided C++ standard library.
config EXTERNAL_MODULE_LIBCPP
bool "External C++ standard library module"
help
Build an external/user-provided C++ standard library.
endchoice # LIBCPP_IMPLEMENTATION

View file

@ -36,7 +36,7 @@ config PICOLIBC_SUPPORTED
bool
depends on !NATIVE_APPLICATION
depends on ("$(TOOLCHAIN_HAS_PICOLIBC)" = "y") || (NATIVE_LIBRARY)
depends on !(CPP && ("$(TOOLCHAIN_HAS_PICOLIBC)" = "y"))
depends on !REQUIRES_FULL_LIBCPP || ("$(TOOLCHAIN_HAS_PICOLIBC)" = "y")
default y
select FULL_LIBC_SUPPORTED
help