File tree 7 files changed +42
-5
lines changed
7 files changed +42
-5
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 @@ -112,12 +112,29 @@ config MINIMAL_LIBCPP
112
112
config GLIBCXX_LIBCPP
113
113
bool "GNU C++ Standard Library"
114
114
depends on !NATIVE_APPLICATION
115
- depends on NEWLIB_LIBC || PICOLIBC
116
115
select FULL_LIBCPP_SUPPORTED
117
116
help
118
117
Build with GNU C++ Standard Library (libstdc++) provided by the GNU
119
118
Compiler Collection (GCC)-based toolchain.
120
119
120
+ choice GLIBCXX_LIBCPP_SOURCE
121
+ prompt "Source of libstdc++"
122
+ default GLIBCXX_LIBCPP_USE_TOOLCHAIN
123
+
124
+ config GLIBCXX_LIBCPP_USE_MODULE
125
+ bool "libstdc++ from module"
126
+ depends on ZEPHYR_LIBSTDCXX_MODULE
127
+ help
128
+ Use libstdc++ module instead of libstdc++ included with toolchain.
129
+
130
+ config GLIBCXX_LIBCPP_USE_TOOLCHAIN
131
+ bool "libstdc++ from toolchain"
132
+ depends on NEWLIB_LIBC || PICOLIBC_USE_TOOLCHAIN
133
+ help
134
+ Use libstdc++ included with toolchain.
135
+
136
+ endchoice
137
+
121
138
config LIBCXX_LIBCPP
122
139
bool "LLVM C++ Standard Library"
123
140
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 : 62c6a8d025abaa8f69740d66b5052ebf9e93ff6a
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