132 lines
2.8 KiB
Plaintext
132 lines
2.8 KiB
Plaintext
#
|
|
# 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
|
|
depends on TLS_NELEM > 0
|
|
---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 LIBCXXABI if LIBCXX
|
|
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
|