# # 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