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 @@ -5190,6 +5190,15 @@ West:
5190
5190
labels :
5191
5191
- " area: Audio"
5192
5192
5193
+ " West project: libstdcxx " :
5194
+ status : maintained
5195
+ maintainers :
5196
+ - Keith Packard
5197
+ files :
5198
+ - modules/Kconfig.libstdc++
5199
+ labels :
5200
+ - " area: C++"
5201
+
5193
5202
" West project: littlefs " :
5194
5203
status : odd fixes
5195
5204
files :
Original file line number Diff line number Diff line change @@ -118,6 +118,25 @@ config GLIBCXX_LIBCPP
118
118
Build with GNU C++ Standard Library (libstdc++) provided by the GNU
119
119
Compiler Collection (GCC)-based toolchain.
120
120
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
+
121
140
config LIBCXX_LIBCPP
122
141
bool "LLVM C++ Standard Library"
123
142
depends on !NATIVE_APPLICATION
Original file line number Diff line number Diff line change @@ -45,7 +45,7 @@ config NEWLIB_LIBC_SUPPORTED
45
45
config PICOLIBC_SUPPORTED
46
46
bool
47
47
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
49
49
default y
50
50
select FULL_LIBC_SUPPORTED
51
51
help
Original file line number Diff line number Diff line change @@ -5,13 +5,12 @@ if PICOLIBC
5
5
6
6
choice PICOLIBC_SOURCE
7
7
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"
9
9
default PICOLIBC_USE_MODULE
10
10
11
11
config PICOLIBC_USE_MODULE
12
12
bool "Picolibc from module"
13
13
depends on ZEPHYR_PICOLIBC_MODULE
14
- depends on !GLIBCXX_LIBCPP
15
14
help
16
15
Use picolibc module instead of picolibc included with toolchain.
17
16
This is enabled by default for toolchains other than the Zephyr
@@ -24,7 +23,6 @@ config PICOLIBC_USE_TOOLCHAIN
24
23
select THREAD_LOCAL_STORAGE if ARCH_HAS_THREAD_LOCAL_STORAGE && TOOLCHAIN_SUPPORTS_THREAD_LOCAL_STORAGE
25
24
help
26
25
Use picolibc included with the toolchain.
27
- This is required when using a full C++ standard library (`REQUIRES_FULL_LIBCPP=y`).
28
26
29
27
endchoice # PICOLIBC_SOURCE
30
28
Original file line number Diff line number Diff line change @@ -52,6 +52,7 @@ source "modules/zcbor/Kconfig"
52
52
source "modules/Kconfig.mcuboot"
53
53
source "modules/Kconfig.intel"
54
54
source "modules/hostap/Kconfig"
55
+ source "modules/Kconfig.libstdc++"
55
56
56
57
comment "Unavailable modules, please install those via the project manifest."
57
58
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:
23
23
url-base : https://github.com/zephyrproject-rtos
24
24
- name : babblesim
25
25
url-base : https://github.com/BabbleSim
26
+ - name : keithp
27
+ url-base : https://github.com/keith-packard
26
28
27
29
group-filter : [-babblesim, -optional]
28
30
@@ -286,6 +288,11 @@ manifest:
286
288
path : modules/hal/libmetal
287
289
groups :
288
290
- hal
291
+ - name : libstdcxx
292
+ remote : keithp
293
+ repo-path : libstdcxx-module
294
+ revision : 9ac70a1eec3bec2bc158eb4b384cdc97631cdd77
295
+ path : modules/lib/libstdcxx
289
296
- name : littlefs
290
297
path : modules/fs/littlefs
291
298
groups :
You can’t perform that action at this time.
0 commit comments