forked from zephyrproject-rtos/zephyr
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathKconfig
156 lines (125 loc) · 3.77 KB
/
Kconfig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# C++ configuration options
# Copyright (c) 2018 B. Leforestier
# SPDX-License-Identifier: Apache-2.0
menu "C++ Language Support"
config CPP
bool "C++ support for the application"
help
This option enables the use of applications built with C++.
if CPP
choice STD_CPP
prompt "C++ Standard"
default STD_CPP11
help
C++ Standards.
config STD_CPP98
bool "C++ 98"
help
1998 C++ standard as modified by the 2003 technical corrigendum
and some later defect reports.
config STD_CPP11
bool "C++ 11"
help
2011 C++ standard, previously known as C++0x.
config STD_CPP14
bool "C++ 14"
help
2014 C++ standard.
config STD_CPP17
bool "C++ 17"
help
2017 C++ standard, previously known as C++0x.
config STD_CPP2A
bool "C++ 2a"
help
Next revision of the C++ standard, which is expected to be published in 2020.
config STD_CPP20
bool "C++ 20"
help
2020 C++ standard, previously known as C++2A.
config STD_CPP2B
bool "C++ 2b"
help
Next revision of the C++ standard, which is expected to be published in 2023.
endchoice
config REQUIRES_FULL_LIBCPP
bool "Require complete C++ standard library"
select REQUIRES_FULL_LIBC
help
Indicates that a full C++ standard library is required, either by
a subsystem or an application. This will also include a full C
library implementation.
config FULL_LIBCPP_SUPPORTED
bool
help
Selected when the target has at least one C++ library that offers a
complete implementation and which would be selected when
REQUIRES_FULL_LIBCPP is set.
choice LIBCPP_IMPLEMENTATION
prompt "C++ Standard Library Implementation"
default EXTERNAL_LIBCPP if REQUIRES_FULL_LIBCPP && NATIVE_BUILD
default LIBCXX_LIBCPP if REQUIRES_FULL_LIBCPP && "$(ZEPHYR_TOOLCHAIN_VARIANT)" = "llvm"
default GLIBCXX_LIBCPP if REQUIRES_FULL_LIBCPP
default MINIMAL_LIBCPP
config MINIMAL_LIBCPP
bool "Minimal C++ Library"
depends on !REQUIRES_FULL_LIBCPP
help
Build with the minimal C++ library provided by Zephyr.
The Zephyr minimal C++ library only provides a very limited subset
of the standard C++ library and is mainly intended for use with the
applications that do not require the Standard Template Library (STL).
config GLIBCXX_LIBCPP
bool "GNU C++ Standard Library"
depends on !NATIVE_APPLICATION
depends on NEWLIB_LIBC || PICOLIBC
select FULL_LIBCPP_SUPPORTED
help
Build with GNU C++ Standard Library (libstdc++) provided by the GNU
Compiler Collection (GCC)-based toolchain.
config LIBCXX_LIBCPP
bool "LLVM C++ Standard Library"
depends on !NATIVE_APPLICATION
depends on NEWLIB_LIBC
depends on "$(ZEPHYR_TOOLCHAIN_VARIANT)" = "llvm"
select FULL_LIBCPP_SUPPORTED
help
Build with LLVM C++ Standard Library (libc++) provided by LLVM
toolchain. Information about library can be found at
https://libcxx.llvm.org
config ARCMWDT_LIBCPP
bool "ARC MWDT C++ Library"
depends on !NATIVE_APPLICATION
depends on ARCMWDT_LIBC
help
Build with ARC MetaWare C++ Standard Library provided by the ARC
MetaWare Development Tools (MWDT) toolchain.
config EXTERNAL_LIBCPP
bool "External C++ standard library"
help
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
if !MINIMAL_LIBCPP
config CPP_EXCEPTIONS
bool "C++ exceptions support"
depends on !NEWLIB_LIBC_NANO
help
This option enables support of C++ exceptions.
config CPP_RTTI
bool "C++ RTTI support"
help
This option enables support of C++ RTTI.
endif # !MINIMAL_LIBCPP
config CPP_STATIC_INIT_GNU
bool
select STATIC_INIT_GNU
select DEPRECATED
help
GNU-compatible initialization of CPP static objects.
This option is deprecated in favour of STATIC_INIT_GNU
endif # CPP
endmenu