nuttx-apps/examples/elf/Kconfig

134 lines
4.3 KiB
Plaintext

#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
config EXAMPLES_ELF
bool "ELF Loader Example"
default n
select LIBC_EXECFUNCS
depends on ELF
---help---
Enable the ELF loader example
if EXAMPLES_ELF
choice
prompt "ELF File System"
default EXAMPLES_ELF_ROMFS if FS_ROMFS && BUILD_FLAT
default EXAMPLES_ELF_CROMFS if !FS_ROMFS && FS_CROMFS && BUILD_FLAT
default EXAMPLES_ELF_EXTERN if (!FS_ROMFS && !FS_CROMFS) || !BUILD_FLAT
config EXAMPLES_ELF_ROMFS
bool "ROMFS"
depends on FS_ROMFS && BUILD_FLAT
config EXAMPLES_ELF_CROMFS
bool "CROMFS"
depends on FS_CROMFS && BUILD_FLAT
config EXAMPLES_ELF_EXTERN
bool "External File system"
endchoice # ROM File System
config EXAMPLES_ELF_FSMOUNT
bool "Mount external file system"
default y
depends on EXAMPLES_ELF_EXTERN
config EXAMPLES_ELF_FSREMOVEABLE
bool "Removable file system"
default n
depends on EXAMPLES_ELF_FSMOUNT
config EXAMPLES_ELF_DEVMINOR
int "ROMFS Minor Device Number"
default 0
depends on EXAMPLES_ELF_ROMFS
---help---
The minor device number of the ROMFS block. For example, the N in
/dev/ramN. Used for registering the RAM block driver that will hold
the ROMFS file system containing the ELF executables to be tested.
Default: 0
config EXAMPLES_ELF_FSTYPE
string "External file system type"
default "vfat"
depends on EXAMPLES_ELF_FSMOUNT
---help---
The minor device number of the ROMFS block. For example, the N in
/dev/ramN. Used for registering the RAM block driver that will hold
the ROMFS file system containing the ELF executables to be tested.
Default: 0
config EXAMPLES_ELF_DEVPATH
string "Block driver device path"
default "/dev/ram0" if EXAMPLES_ELF_ROMFS
default "/dev/mmcsd0" if EXAMPLES_ELF_FSMOUNT
depends on EXAMPLES_ELF_ROMFS || EXAMPLES_ELF_FSMOUNT
---help---
The path to the ROMFS/External block driver device. This must match
EXAMPLES_ELF_DEVMINOR for the case of ROMFS. Used for mounting the
file system containing the ELF executables to be tested. Default:
"/dev/ram0" for ROMFS, "/dev/mmcsd0" for the external file system.
config EXAMPLES_ELF_NOSTRIP
bool "Do not strip debug symbols"
default n
depends on DEBUG_SYMBOLS
---help---
By default, if debug symbols are enabled (via CONFIG_DEBUG_SYMBOLS), then the
ELF executables will also retain debug symbols in the resulting ELF binaries.
Select this option if you do not want that behavior, this option will permit
debug symbols in the base code but will strip debug symbols out of the ELF
binaries for a smaller ROM file system image.
config EXAMPLES_ELF_SYSCALL
bool "Link with SYSCALL library"
default n
depends on LIB_SYSCALL
---help---
Link with the SYSCALL library. By default, all undefined symbols
must be provided via a symbol table. But if this option is
selected, then each ELF test program will link with the SYSCALL
library and will interface with the OS system calls. In this case,
those symbols will not be undefined. If the SYSCALL library is
available then you probably will want to select this option.
config EXAMPLES_ELF_LIBC
bool "Link with LIBC"
default n
---help---
Link with the C library (and also math library if it was built).
By default, all undefined symbols must be provided via a symbol
table. But if this option is selected, then each ELF test program
will link with the C library and will not require symbol table
entries. You probably will NOT want this option, however,
because it will substantially increase the size of code. For
example, a separate copy of printf() would be linked with every
program greatly increasing the total code size. This option is
primarily intended only for testing.
config EXAMPLES_ELF_CXXINITIALIZE
bool "C++ Initialization"
default y
depends on HAVE_CXX && HAVE_CXXINITIALIZE
---help---
By default, if CONFIG_HAVE_CXX and CONFIG_HAVE_CXXINITIALIZE are
defined, then this example will call the NuttX function to
initialize static C++ constructors. This option may be disabled,
however, if that static initialization was performed elsewhere.
config EXAMPLES_ELF_UCLIBCXX
bool "uClibc++ is installed"
default n
depends on UCLIBCXX
---help---
By default, uClibc++ is not installed and configured. If the
user installs and configures the C++ standard library, this
example will compile the demos using it.
endif