nuttx/binfmt/Kconfig
xuxin19 1d3dd328dd modify BUILD_LOADABLE to MODULES which backwards-compatible Kernel
maintains the same semantics as Kernel’s module build
and compatible with Kconfiglib implementation.

The problem of kconfiglib not being able to use tri-states is this:
linux is here torvalds/linux@6dd85ff
The module option is extracted from one of the triate three states into a MODULE keyword.
Kconfiglib supports the default implementation of module to be MODULE for compatibility with the linux kernel, and triate degenerates into bool two states
Refer to this code: 061e71f7d7/kconfiglib.py (L4274-L4284)

Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
2024-09-19 08:32:03 +08:00

89 lines
2.0 KiB
Plaintext

#
# 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 DEFAULT_SMALL
---help---
By default, support for loadable binary formats is built. This logic
may be suppressed by defining this setting.
if !BINFMT_DISABLE
config PATH_INITIAL
string "Initial PATH Value"
default ""
depends on LIBC_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 MODULES
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
select ARCH_USE_TEXT_HEAP if ARCH_HAVE_TEXT_HEAP
---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---
Built-in support for C++ constructors in loaded modules. Currently
only support for ELF binary formats.
choice
prompt "File output format"
default BINFMT_ELF_RELOCATABLE
---help---
Defines the type of ELF file produced by the NuttX build system.
config BINFMT_ELF_RELOCATABLE
bool "Relocatable ELF"
---help---
Produce a relocatable object as output. This is also known as partial linking.
config BINFMT_ELF_EXECUTABLE
bool "Executable ELF"
depends on ARCH_HAVE_ELF_EXECUTABLE
---help---
Produce a full linked executable object as output.
endchoice