109 lines
3.5 KiB
Plaintext
109 lines
3.5 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 && (FS_ROMFS || FS_CROMFS) && !BUILD_KERNEL
|
|
---help---
|
|
Enable the ELF loader example
|
|
|
|
if EXAMPLES_ELF
|
|
|
|
choice
|
|
prompt "ROM File System"
|
|
default EXAMPLES_ELF_ROMFS if FS_ROMFS
|
|
default EXAMPLES_ELF_CROMFS if !FS_ROMFS && FS_CROMFS
|
|
|
|
config EXAMPLES_ELF_ROMFS
|
|
bool "ROMFS"
|
|
depends on FS_ROMFS
|
|
|
|
config EXAMPLES_ELF_CROMFS
|
|
bool "CROMFS"
|
|
depends on FS_CROMFS
|
|
|
|
endchoice # ROM File System
|
|
|
|
if EXAMPLES_ELF_ROMFS
|
|
|
|
config EXAMPLES_ELF_DEVMINOR
|
|
int "ROMFS Minor Device Number"
|
|
default 0
|
|
---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 "ROMFS Device Path"
|
|
default "/dev/ram0"
|
|
---help---
|
|
The path to the ROMFS block driver device. This must match EXAMPLES_ELF_DEVMINOR.
|
|
Used for registering the RAM block driver that will hold the ROMFS file system
|
|
containing the ELF executables to be tested. Default: "/dev/ram0"
|
|
|
|
endif # EXAMPLES_ELF_ROMFS
|
|
|
|
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
|
|
|