nuttx-apps/system/nsh/Kconfig
anchao 25b92edd9f Squashed commit of the following:
apps/builtin/exec_builtin.c:  Try posix_spawn if builtin apps do not have have an entry point.
    apps/Application.mk: introduce MODULE config to simplify tristate(m)
    apps/nsh:  Change the nuttx shell module type to tristate
    apps:  Add loadable application support
    script/mksymtab:  Generate symbol table name by default
    apps/builtin:  Allow loadable applications can register with apps/builtin.
2018-08-22 09:30:38 -06:00

92 lines
2.8 KiB
Plaintext

#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
config SYSTEM_NSH
tristate "NuttShell (NSH) example"
default n
select NSH_LIBRARY
select SYSTEM_READLINE
---help---
Enable the NuttShell (NSH) example
if SYSTEM_NSH
config SYSTEM_NSH_PRIORITY
int "Nuttx shell thread priority"
default 100
config SYSTEM_NSH_STACKSIZE
int "Nuttx shell stack size"
default 2048
config SYSTEM_NSH_SYMTAB
bool "Register symbol table"
default n
depends on LIBC_EXECFUNCS && LIB_BOARDCTL && !EXECFUNCS_HAVE_SYMTAB
select BOARDCTL_APP_SYMTAB
---help---
Enable logic to automatically register an application symbol table
as part of NSH initialization. If enabled, then application logic
must provide the following:
const struct symtab_s g_exports[];
const int g_nexports;
Where g_exports is the name of the exported application symbol table
and g_nexports holds the number of entries in the application symbol
table.
This is done very early in the NSH initialization sequence.
Why might you want to do this? There is really only one reason: You
would like to have the symbol tables in place early so that programs
started by NSH, perhaps via an initialization script, will have all
of the necessary symbols in place. Otherwise, you probably do *not*
want this option!
if SYSTEM_NSH_SYMTAB
config SYSTEM_NSH_SYMTAB_ARRAYNAME
string "Symbol table used by exec[l|v]"
default "g_exports"
---help---
The exec[l|v] and posix_spawn() functions needs to have (1) a
symbol table that provides the list of symbols exported by the base
code, and (2) the number of symbols in that table. This selection
provides the name of that symbol table.
config SYSTEM_NSH_SYMTAB_COUNTNAME
string "Variable holding the number of symbols"
default "g_nexports"
---help---
The exec[l|v] and posix_spawn() functions needs to have (1) a
symbol table that provides the list of symbols exported by the base
code, and (2) the number of symbols in that table. This selection
provides the name of 'int' variable that holds the number of symbol
in the table.
endif # SYSTEM_NSH_SYMTAB
config SYSTEM_NSH_PROGNAME
string "Program name"
default "nsh"
depends on BUILD_LOADABLE
---help---
This is the name of the program that will be use when the NSH ELF
program is installed.
config SYSTEM_NSH_CXXINITIALIZE
bool "C++ Initialization"
default n
depends on HAVE_CXX && HAVE_CXXINITIALIZE
---help---
If HAVE_CXX and HAVE_CXXINITIALIZE are slected, then this NSH
example can be configured to initialize C++ constructors when it
is started. NSH does not use C++ and, by default, assumes that
constructors are initialized elsewhere. However, you can force
NSH to initialize constructors by setting this option.
endif