| # |
| # For a description of the syntax of this configuration file, |
| # see the file kconfig-language.txt in the NuttX tools repository. |
| # |
| |
| comment "Basic CXX Support" |
| |
| config HAVE_CXX |
| bool "Have C++ compiler" |
| default n |
| ---help--- |
| Toolchain supports C++ and CXX, CXXFLAGS, and COMPILEXX have been |
| defined in the configurations Make.defs file. |
| |
| config HAVE_CXXINITIALIZE |
| bool "Have C++ initialization" |
| default n |
| ---help--- |
| The platform-specific logic includes support for initialization |
| of static C++ instances for this architecture and for the selected |
| toolchain. |
| |
| if HAVE_CXX |
| |
| choice |
| prompt "C++ Library" |
| default LIBCXXMINI |
| |
| config LIBCXXTOOLCHAIN |
| bool "Toolchain C++ support" |
| select HAVE_CXXINITIALIZE |
| select LIBC_LOCALE |
| ---help--- |
| Use Standard C++ library from toolchain. |
| |
| config LIBCXXMINI |
| bool "Basic C++ support" |
| ---help--- |
| A fragmentary C++ library that will allow to build only |
| the simplest of C++ applications. Only contain basic C++ |
| runtime support function. |
| |
| config LIBCXX |
| bool "LLVM libc++ C++ Standard Library" |
| select HAVE_CXXINITIALIZE |
| select LIBC_LOCALE |
| select PTHREAD_MUTEX_TYPES |
| ---help--- |
| LLVM "libc++" C++ Standard Library |
| https://libcxx.llvm.org/ |
| |
| config UCLIBCXX |
| bool "uClibc++ Standard C++ Library" |
| select HAVE_CXXINITIALIZE |
| ---help--- |
| uClibc++ C++ library |
| https://cxx.uclibc.org/ |
| |
| endchoice |
| |
| config ETL |
| bool "Embedded Template Library (ETL)" |
| depends on LIBCXXMINI && ALLOW_MIT_COMPONENTS |
| ---help--- |
| ETL A C++ Template library for Embedded applications |
| Implements C++ templates such as containers, string |
| singleton math without C++ STL libraries |
| |
| if LIBCXX || UCLIBCXX |
| |
| choice |
| prompt "C++ low level library select" |
| default LIBSUPCXX |
| |
| config LIBCXXABI |
| bool "LLVM low level C++ Library" |
| ---help--- |
| LLVM "libc++abi" C++ Standard Library |
| https://libcxxabi.llvm.org/ |
| Select if your use libc++abi as lower level c++ library |
| |
| config LIBSUPCXX |
| bool "GNU low level libsupc++" |
| ---help--- |
| Select if your toolchain provides libsupc++ and use libsupc++ as lower |
| level c++ library. |
| |
| endchoice |
| |
| config LIBCXXABI_VERSION |
| string "Select libcxxabi version" |
| depends on LIBCXXABI |
| default LIBCXX_VERSION if LIBCXX |
| default "17.0.6" if !LIBCXX |
| |
| endif |
| |
| config CXX_STANDARD |
| string "Language standard" |
| default "gnu++20" if LIBCXX |
| default "gnu++17" if !LIBCXX |
| ---help--- |
| Possible values: |
| gnu++98/c++98, gnu++11/c++11, gnu++14/c++14, gnu++17/c++17 and gnu++20/c++20 |
| |
| config CXX_EXCEPTION |
| bool "Enable Exception Support" |
| |
| config CXX_RTTI |
| bool "Enable RTTI Support" |
| |
| if UCLIBCXX |
| |
| config UCLIBCXX_WCHAR |
| bool "Enable Wide Stream Support" |
| default n |
| |
| config UCLIBCXX_BUFSIZE |
| int "IO Stream/Container Buffer Size" |
| default 32 |
| |
| endif |
| |
| config LIBCXX_VERSION |
| string "Select libcxx version" |
| depends on LIBCXX |
| default "17.0.6" |
| |
| endif |