#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#

config BINFMT_DISABLE
	bool "Disable BINFMT support"
	default n
	---help---
		By default, support for loadable binary formats is built.  This logic
		may be suppressed be defining this setting.

if !BINFMT_DISABLE

config PATH_INITIAL
	string "Initial PATH Value"
	default ""
	depends on LIB_ENVPATH
	---help---
		The initial value of the PATH variable.  This is the colon-separated
		list of absolute paths.  E.g., "/bin:/usr/bin:/sbin"

config BINFMT_LOADABLE
	bool
	select BUILD_LOADABLE
	default n
	---help---
		Automatically selected if a loadable binary format is selected.

config PIC
	bool
	default n
	---help---
		Automatically selected if the binary format requires position
		independent operation.

config NXFLAT
	bool "Enable the NXFLAT Binary Format"
	default n
	select BINFMT_LOADABLE
	select PIC
	---help---
		Enable support for the NXFLAT binary format.  Default: n

if NXFLAT
source binfmt/libnxflat/Kconfig
endif

config ELF
	bool "Enable the ELF Binary Format"
	default n
	select BINFMT_LOADABLE
	select LIBC_ARCH_ELF
	---help---
		Enable support for the ELF binary format.  Default: n

if ELF
source binfmt/libelf/Kconfig
endif
endif

config BINFMT_CONSTRUCTORS
	bool "C++ Static Constructor Support"
	default n
	depends on HAVE_CXX && SCHED_STARTHOOK && ELF
	---help---
		Build in support for C++ constructors in loaded modules.  Currently
		only support for ELF binary formats.

config SYMTAB_ORDEREDBYNAME
	bool "Symbol Tables Ordered by Name"
	default n
	---help---
		Select if the symbol table is ordered by symbol name.  In this case,
		the logic can perform faster lookups using a binary search.
		Otherwise, the symbol table is assumed to be un-ordered an only
		slow, linear searches are supported.