You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
2.1 KiB
103 lines
2.1 KiB
# 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 |
|
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 CPP_MAIN |
|
bool "C++ main() function definition" |
|
help |
|
This option instructs the Zephyr kernel to call the 'int main(void)' |
|
instead of the 'void main(void)', which is the default main() type |
|
for Zephyr. |
|
|
|
C++ does not allow the main() to be defined with 'void' return type, |
|
and any applications defining its main() in a C++ source file must |
|
enable this option. |
|
|
|
config LIB_CPLUSPLUS |
|
bool "Link with STD C++ library" |
|
select REQUIRES_FULL_LIBC |
|
help |
|
Link with STD C++ Library. |
|
|
|
if LIB_CPLUSPLUS |
|
|
|
config CPP_EXCEPTIONS |
|
bool "C++ exceptions support" |
|
depends on !NEWLIB_LIBC_NANO |
|
help |
|
This option enables support of C++ exceptions. |
|
|
|
config RTTI |
|
bool "C++ RTTI support" |
|
help |
|
This option enables support of C++ RTTI. |
|
|
|
endif # LIB_CPLUSPLUS |
|
|
|
config CPP_STATIC_INIT_GNU |
|
# As of today only ARC MWDT toolchain doesn't support GNU-compatible |
|
# initialization of CPP static objects, new toolchains can be added |
|
# here if required. |
|
def_bool "$(ZEPHYR_TOOLCHAIN_VARIANT)" != "arcmwdt" |
|
help |
|
GNU-compatible initialization of CPP static objects |
|
|
|
endif # CPP |
|
|
|
rsource "Kconfig.deprecated" |
|
|
|
endmenu
|
|
|