zephyr/subsys/cpp/Kconfig
Sebastian Bøe 540bd67a7d kconfig: cpp: Have LIB_CPLUSPLUS depend on ! MINIMAL_LIBC
The C++ STD library is not compatible with the minimal C library. To
ensure that users do not accidentally enable LIB_CPLUSPLUS while also
enabling a minimal libc library we add a dependency in Kconfig.

Also, use depends instead of select between EXCEPTIONS, RTTI, and
LIB_CPLUSPLUS as use of select is discouraged in this situation.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2019-11-05 16:19:27 +01:00

78 lines
1.4 KiB
Plaintext

# C++ configuration options
# Copyright (c) 2018 B. Leforestier
# SPDX-License-Identifier: Apache-2.0
menuconfig CPLUSPLUS
bool "C++ support for the application"
help
This option enables the use of applications built with C++.
if CPLUSPLUS
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.
endchoice
if ! MINIMAL_LIBC
config LIB_CPLUSPLUS
bool "Link with STD C++ library"
help
Link with STD C++ Library.
if LIB_CPLUSPLUS
config EXCEPTIONS
bool "Enable C++ exceptions support"
help
This option enables support of C++ exceptions.
config RTTI
bool "Enable C++ RTTI support"
help
This option enables support of C++ RTTI.
config ZEPHYR_CPLUSPLUS
bool "Use Zephyr C++ Implementation"
help
Use Zephyr implementation for operator new, delete, pure virtual
functions and vtables.
endif # LIB_CPLUSPLUS
endif # ! MINIMAL_LIBC
endif # CPLUSPLUS