# # 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 ---help--- Automatically generates and mounts an internal ROMFS file system config EXAMPLES_ELF_CROMFS bool "CROMFS" depends on FS_CROMFS && BUILD_FLAT ---help--- Automatically generates and mounts an internal CROMFS file system config EXAMPLES_ELF_EXTERN bool "External File system" ---help--- The file system is assumed to reside on some external media such as an SD card or a USB FLASH drive. In this case, that external file system must be created manually by copying the files in apps/examples/elf/tests/romfs to the volume. The external volume can optionally be mounted by the test if the CONFIG_EXAMPLES_FSMOUNT option is also selected. endchoice # ROM File System config EXAMPLES_ELF_FSMOUNT bool "Mount external file system" default y depends on EXAMPLES_ELF_EXTERN ---help--- Autmatically mount the external file system using the block device provided by CONFIG_EXAMPLES_DEVPATH and the file system type specified by CONFIG_EXAMPLES_ELF_FSTYPE. config EXAMPLES_ELF_FSREMOVEABLE bool "Removable file system" default n depends on EXAMPLES_ELF_FSMOUNT ---help--- If the external file system is on removable media such as an SD card or a USB FLASH driver, then this option may be selected to build in logic to way for the media to be installed and initialized before trying to open it. 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 type of the external file system as will be used in the mount() command. Default: "vfat" 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