zephyr/lib/cpp/Kconfig.deprecated
Stephanos Ioannidis 669a0f5bec lib: cpp: Rework C++ standard library configurations
This commit reworks the C++ standard library configurations such that:

* the separation between the Zephyr minimal C++ library and the fully
  featured C++ standard libraries, such as GNU libstdc++, is clear.
  This is done by deprecating the Kconfig `CONFIG_LIB_CPLUSPLUS`
  symbol, which implies that the minimal C++ library is selected when
  set to `n`, and introducing the `CONFIG_MINIMAL_LIBCPP` symbol.

* the type of the selected C++ standard library is clear. This is done
  by introducing a Kconfig choice, `LIBCPP_IMPLEMENTATION`, for the C++
  standard library type and providing the choice symbols for each
  library type supported, such as `CONFIG_MINIMAL_LIBCPP` and
  `CONFIG_GLIBCXX_LIBCPP`.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2023-01-13 17:42:55 -05:00

51 lines
1.1 KiB
Plaintext

# Copyright (c) 2022 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
menu "Deprecated"
config CPLUSPLUS
bool "[DEPRECATED] C++ support for the application"
select CPP
select DEPRECATED
help
This option enables the use of applications built with C++.
[DEPRECATED] Select CPP instead.
config LIB_CPLUSPLUS
bool "[DEPRECATED] Link with STD C++ library"
select REQUIRES_FULL_LIBC
select REQUIRES_FULL_LIBCPP
select DEPRECATED
help
Link with STD C++ Library.
[DEPRECATED]
Select REQUIRES_FULL_LIBCPP or specify the C++ standard library
implementation to use from LIBCPP_IMPLEMENTATION.
if LIB_CPLUSPLUS
config EXCEPTIONS
bool "[DEPRECATED] C++ exceptions support"
depends on !NEWLIB_LIBC_NANO
select CPP_EXCEPTIONS
select DEPRECATED
help
This option enables support of C++ exceptions.
[DEPRECATED] Select CPP_EXCEPTIONS instead.
config RTTI
bool "[DEPRECATED] C++ RTTI support"
select CPP_RTTI
select DEPRECATED
help
This option enables support of C++ RTTI.
[DEPRECATED] Select CPP_RTTI instead.
endif # LIB_CPLUSPLUS
endmenu