#
# 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 HAVE_CXXINITIALIZE
	bool "Have C++ initialization"
	default LIBCXX || UCLIBCXX
	---help---
		The platform-specific logic includes support for initialization
		of static C++ instances for this architecture and for the selected
		toolchain (via up_cxxinitialize()).

config CXX_EXCEPTION
	bool "Enable Exception Support"
	default LIBCXX || UCLIBCXX

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

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.

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_BUFSIZE
	int "IO Stream/Container Buffer Size"
	default 32

endif
endif
