File tree Expand file tree Collapse file tree 7 files changed +43
-4
lines changed Expand file tree Collapse file tree 7 files changed +43
-4
lines changed Original file line number Diff line number Diff line change @@ -5304,6 +5304,15 @@ West:
53045304 labels :
53055305 - " area: Audio"
53065306
5307+ " West project: libstdcxx " :
5308+ status : maintained
5309+ maintainers :
5310+ - Keith Packard
5311+ files :
5312+ - modules/Kconfig.libstdc++
5313+ labels :
5314+ - " area: C++"
5315+
53075316" West project: littlefs " :
53085317 status : odd fixes
53095318 files :
Original file line number Diff line number Diff line change @@ -118,6 +118,25 @@ config GLIBCXX_LIBCPP
118118 Build with GNU C++ Standard Library (libstdc++) provided by the GNU
119119 Compiler Collection (GCC)-based toolchain.
120120
121+ choice GLIBCXX_LIBCPP_SOURCE
122+ prompt "Source of libstdc++"
123+ depends on GLIBCXX_LIBCPP
124+ default GLIBCXX_LIBCPP_USE_TOOLCHAIN
125+
126+ config GLIBCXX_LIBCPP_USE_MODULE
127+ bool "libstdc++ from module"
128+ depends on ZEPHYR_LIBSTDCXX_MODULE
129+ help
130+ Use libstdc++ module instead of libstdc++ included with toolchain.
131+
132+ config GLIBCXX_LIBCPP_USE_TOOLCHAIN
133+ bool "libstdc++ from toolchain"
134+ depends on NEWLIB_LIBC || PICOLIBC_USE_TOOLCHAIN
135+ help
136+ Use libstdc++ included with toolchain.
137+
138+ endchoice
139+
121140config LIBCXX_LIBCPP
122141 bool "LLVM C++ Standard Library"
123142 depends on !NATIVE_APPLICATION
Original file line number Diff line number Diff line change @@ -45,7 +45,7 @@ config NEWLIB_LIBC_SUPPORTED
4545config PICOLIBC_SUPPORTED
4646 bool
4747 depends on !NATIVE_APPLICATION
48- depends on ("$(TOOLCHAIN_HAS_PICOLIBC)" = "y") || ( ZEPHYR_PICOLIBC_MODULE && !REQUIRES_FULL_LIBCPP)
48+ depends on ("$(TOOLCHAIN_HAS_PICOLIBC)" = "y") || ZEPHYR_PICOLIBC_MODULE
4949 default y
5050 select FULL_LIBC_SUPPORTED
5151 help
Original file line number Diff line number Diff line change @@ -5,13 +5,12 @@ if PICOLIBC
55
66choice PICOLIBC_SOURCE
77 prompt "Source of Picolibc"
8- default PICOLIBC_USE_TOOLCHAIN if REQUIRES_FULL_LIBCPP || "$(TOOLCHAIN_HAS_PICOLIBC)" = "y"
8+ default PICOLIBC_USE_TOOLCHAIN if "$(TOOLCHAIN_HAS_PICOLIBC)" = "y"
99 default PICOLIBC_USE_MODULE
1010
1111config PICOLIBC_USE_MODULE
1212 bool "Picolibc from module"
1313 depends on ZEPHYR_PICOLIBC_MODULE
14- depends on !GLIBCXX_LIBCPP
1514 help
1615 Use picolibc module instead of picolibc included with toolchain.
1716 This is enabled by default for toolchains other than the Zephyr
@@ -24,7 +23,6 @@ config PICOLIBC_USE_TOOLCHAIN
2423 select THREAD_LOCAL_STORAGE if ARCH_HAS_THREAD_LOCAL_STORAGE && TOOLCHAIN_SUPPORTS_THREAD_LOCAL_STORAGE
2524 help
2625 Use picolibc included with the toolchain.
27- This is required when using a full C++ standard library (`REQUIRES_FULL_LIBCPP=y`).
2826
2927endchoice # PICOLIBC_SOURCE
3028
Original file line number Diff line number Diff line change @@ -49,6 +49,7 @@ source "modules/zcbor/Kconfig"
4949source "modules/Kconfig.mcuboot"
5050source "modules/Kconfig.intel"
5151source "modules/hostap/Kconfig"
52+ source "modules/Kconfig.libstdc++"
5253
5354comment "Unavailable modules, please install those via the project manifest."
5455
Original file line number Diff line number Diff line change 1+ # Copyright 2024 Google LLC
2+ # SPDX-License-Identifier: Apache-2.0
3+
4+ config ZEPHYR_LIBSTDCXX_MODULE
5+ bool
Original file line number Diff line number Diff line change @@ -23,6 +23,8 @@ manifest:
2323 url-base : https://github.com/zephyrproject-rtos
2424 - name : babblesim
2525 url-base : https://github.com/BabbleSim
26+ - name : keithp
27+ url-base : https://github.com/keith-packard
2628
2729 group-filter : [-babblesim, -optional]
2830
@@ -293,6 +295,11 @@ manifest:
293295 path : modules/hal/libmetal
294296 groups :
295297 - hal
298+ - name : libstdcxx
299+ remote : keithp
300+ repo-path : libstdcxx-module
301+ revision : 9ac70a1eec3bec2bc158eb4b384cdc97631cdd77
302+ path : modules/lib/libstdcxx
296303 - name : littlefs
297304 path : modules/fs/littlefs
298305 groups :
You can’t perform that action at this time.
0 commit comments