#
# 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 C99_BOOL8
	bool "sizeof(_Bool) is 8-bits"
	default n
	---help---
		This setting means (1) your C++ compiler has sizeof(_Bool) == 8, (2)
		your C compiler supports the C99 _Bool intrinsic type, and (2) that
		the C99 _Bool type also has size 1.

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.

if HAVE_CXX

config CXX_EXCEPTION
	bool

config CXX_LIBSUPCXX
	bool

comment "LLVM C++ Library (libcxx)"

config LIBCXX
	bool "Build LLVM libcxx (must be installed)"
	default n
	select CLOCK_MONOTONIC
	select LIBC_WCHAR
	select LIBC_LOCALE
	---help---
		If you have installed libcxx into the NuttX source tree, then it can
		be built by selecting this option.  See the README.txt file in the
		libcxx package for information on installing libcxx.

if LIBCXX

config LIBCXX_EXCEPTION
	bool "Enable Exception Support"
	default y
	select CXX_EXCEPTION

config LIBCXX_HAVE_LIBSUPCXX
	bool "Have libsupc++ (required)"
	default y
	select CXX_LIBSUPCXX
	---help---
		Select if your toolchain provides libsupc++.  This option is required
		at present because the built-in libsupc++ support is incomplete.

endif

comment "uClibc++ Standard C++ Library"

config UCLIBCXX
	bool "Build uClibc++ (must be installed)"
	default n
	---help---
		If you have installed uClibc++ into the NuttX source try, then it can
		be built by selecting this option.  See the README.txt file in the
		uClibc++ packet for information on installing uClibc++.

if UCLIBCXX

config UCLIBCXX_EXCEPTION
	bool "Enable Exception Support"
	default y
	select CXX_EXCEPTION

config UCLIBCXX_IOSTREAM_BUFSIZE
	int "IO Stream Buffer Size"
	default 32

config UCLIBCXX_HAVE_LIBSUPCXX
	bool "Have libsupc++ (required)"
	default y
	select CXX_LIBSUPCXX
	---help---
		Select if your toolchain provides libsupc++.  This option is required
		at present because the built-in libsupc++ support is incomplete.

endif
endif
