File tree Expand file tree Collapse file tree 4 files changed +12
-2
lines changed Expand file tree Collapse file tree 4 files changed +12
-2
lines changed Original file line number Diff line number Diff line change @@ -141,6 +141,12 @@ else()
141
141
set (_local_TOOLCHAIN_HAS_GLIBCXX n )
142
142
endif ()
143
143
144
+ if (TOOLCHAIN_HAS_LIBCXX )
145
+ set (_local_TOOLCHAIN_HAS_LIBCXX y )
146
+ else ()
147
+ set (_local_TOOLCHAIN_HAS_LIBCXX n )
148
+ endif ()
149
+
144
150
# APP_DIR: Path to the main image (sysbuild) or synonym for APPLICATION_SOURCE_DIR (non-sysbuild)
145
151
zephyr_get (APP_DIR VAR APP_DIR APPLICATION_SOURCE_DIR )
146
152
@@ -166,6 +172,7 @@ set(COMMON_KCONFIG_ENV_SETTINGS
166
172
TOOLCHAIN_HAS_NEWLIB=${_local_TOOLCHAIN_HAS_NEWLIB}
167
173
TOOLCHAIN_HAS_PICOLIBC=${_local_TOOLCHAIN_HAS_PICOLIBC}
168
174
TOOLCHAIN_HAS_GLIBCXX=${_local_TOOLCHAIN_HAS_GLIBCXX}
175
+ TOOLCHAIN_HAS_LIBCXX=${_local_TOOLCHAIN_HAS_LIBCXX}
169
176
EDT_PICKLE=${EDT_PICKLE}
170
177
# Export all Zephyr modules to Kconfig
171
178
${ZEPHYR_KCONFIG_MODULES_DIR}
Original file line number Diff line number Diff line change @@ -41,4 +41,6 @@ if(NOT LLVM_TOOLCHAIN_PATH STREQUAL "")
41
41
endif ()
42
42
endif ()
43
43
44
+ set (TOOLCHAIN_HAS_LIBCXX ON CACHE BOOL "True if toolchain supports libc++" )
45
+
44
46
message (STATUS "Found toolchain: llvm (clang/ld)" )
Original file line number Diff line number Diff line change @@ -16,5 +16,6 @@ set(LINKER xt-ld)
16
16
# obtain license information from remote licensing servers. So here
17
17
# forces the assembler ID to be GNU to speed things up a bit.
18
18
set (CMAKE_ASM_COMPILER_ID "GNU" )
19
+ set (TOOLCHAIN_HAS_LIBCXX ON CACHE BOOL "True if toolchain supports libc++" )
19
20
20
21
message (STATUS "Found toolchain: xt-clang (${XTENSA_TOOLCHAIN_PATH} )" )
Original file line number Diff line number Diff line change @@ -95,7 +95,7 @@ config FULL_LIBCPP_SUPPORTED
95
95
choice LIBCPP_IMPLEMENTATION
96
96
prompt "C++ Standard Library Implementation"
97
97
default EXTERNAL_LIBCPP if REQUIRES_FULL_LIBCPP && NATIVE_BUILD
98
- default LIBCXX_LIBCPP if REQUIRES_FULL_LIBCPP && "$(ZEPHYR_TOOLCHAIN_VARIANT )" = "llvm "
98
+ default LIBCXX_LIBCPP if REQUIRES_FULL_LIBCPP && "$(TOOLCHAIN_HAS_LIBCXX )" = "y "
99
99
default GLIBCXX_LIBCPP if REQUIRES_FULL_LIBCPP && "$(TOOLCHAIN_HAS_GLIBCXX)" = "y"
100
100
default MINIMAL_LIBCPP
101
101
@@ -120,8 +120,8 @@ config GLIBCXX_LIBCPP
120
120
121
121
config LIBCXX_LIBCPP
122
122
bool "LLVM C++ Standard Library"
123
+ depends on "$(TOOLCHAIN_HAS_LIBCXX)" = "y"
123
124
depends on NEWLIB_LIBC
124
- depends on "$(ZEPHYR_TOOLCHAIN_VARIANT)" = "llvm"
125
125
select FULL_LIBCPP_SUPPORTED
126
126
help
127
127
Build with LLVM C++ Standard Library (libc++) provided by LLVM
You can’t perform that action at this time.
0 commit comments