diff options
Diffstat (limited to 'package/busybox/config/shell/Config.in')
| -rw-r--r-- | package/busybox/config/shell/Config.in | 664 | 
1 files changed, 420 insertions, 244 deletions
| diff --git a/package/busybox/config/shell/Config.in b/package/busybox/config/shell/Config.in index efc17ff49..b26195889 100644 --- a/package/busybox/config/shell/Config.in +++ b/package/busybox/config/shell/Config.in @@ -1,427 +1,603 @@  # DO NOT EDIT. This file is generated from Config.src  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  #  menu "Shells" -config BUSYBOX_ASH + +choice +	prompt "Choose which shell is aliased to 'sh' name" +	default BUSYBOX_SH_IS_ASH +	help +	Choose which shell you want to be executed by 'sh' alias. +	The ash shell is the most bash compatible and full featured one. + +# note: cannot use "select BUSYBOX_ASH" here, it breaks "make allnoconfig" +config BUSYBOX_SH_IS_ASH +	depends on !BUSYBOX_NOMMU  	bool "ash" -	default n +	select BUSYBOX_SHELL_ASH +	help +	Choose ash to be the shell executed by 'sh' name. +	The ash code will be built into busybox. If you don't select +	"ash" choice (CONFIG_ASH), this shell may only be invoked by +	the name 'sh' (and not 'ash'). + +config BUSYBOX_SH_IS_HUSH +	bool "hush" +	select BUSYBOX_SHELL_HUSH +	help +	Choose hush to be the shell executed by 'sh' name. +	The hush code will be built into busybox. If you don't select +	"hush" choice (CONFIG_HUSH), this shell may only be invoked by +	the name 'sh' (and not 'hush'). + +config BUSYBOX_SH_IS_NONE +	bool "none" + +endchoice + +choice +	prompt "Choose which shell is aliased to 'bash' name" +	default BUSYBOX_BASH_IS_NONE +	help +	Choose which shell you want to be executed by 'bash' alias. +	The ash shell is the most bash compatible and full featured one, +	although compatibility is far from being complete. + +	Note that selecting this option does not switch on any bash +	compatibility code. It merely makes it possible to install +	/bin/bash (sym)link and run scripts which start with +	#!/bin/bash line. + +	Many systems use it in scripts which use bash-specific features, +	even simple ones like $RANDOM. Without this option, busybox +	can't be used for running them because it won't recongnize +	"bash" as a supported applet name. + +config BUSYBOX_BASH_IS_ASH +	depends on !BUSYBOX_NOMMU +	bool "ash" +	select BUSYBOX_SHELL_ASH +	help +	Choose ash to be the shell executed by 'bash' name. +	The ash code will be built into busybox. If you don't select +	"ash" choice (CONFIG_ASH), this shell may only be invoked by +	the name 'bash' (and not 'ash'). + +config BUSYBOX_BASH_IS_HUSH +	bool "hush" +	select BUSYBOX_SHELL_HUSH +	help +	Choose hush to be the shell executed by 'bash' name. +	The hush code will be built into busybox. If you don't select +	"hush" choice (CONFIG_HUSH), this shell may only be invoked by +	the name 'bash' (and not 'hush'). + +config BUSYBOX_BASH_IS_NONE +	bool "none" + +endchoice + + +config BUSYBOX_SHELL_ASH +	bool #hidden option  	depends on !BUSYBOX_NOMMU + +config BUSYBOX_ASH +	bool "ash (78 kb)" +	default y +	depends on !BUSYBOX_NOMMU +	select BUSYBOX_SHELL_ASH +	help +	The most complete and most pedantically correct shell included with +	busybox. This shell is actually a derivative of the Debian 'dash' +	shell (by Herbert Xu), which was created by porting the 'ash' shell +	(written by Kenneth Almquist) from NetBSD. + +# ash options +# note: Don't remove !NOMMU part in the next line; it would break +# menuconfig's indenting. +if !BUSYBOX_NOMMU && (BUSYBOX_SHELL_ASH || BUSYBOX_ASH || BUSYBOX_SH_IS_ASH || BUSYBOX_BASH_IS_ASH) + +config BUSYBOX_ASH_OPTIMIZE_FOR_SIZE +	bool "Optimize for size instead of speed" +	default y +	depends on BUSYBOX_SHELL_ASH + +config BUSYBOX_ASH_INTERNAL_GLOB +	bool "Use internal glob() implementation" +	default y	# Y is bigger, but because of uclibc glob() bug, let Y be default for now +	depends on BUSYBOX_SHELL_ASH  	help -	  Tha 'ash' shell adds about 60k in the default configuration and is -	  the most complete and most pedantically correct shell included with -	  busybox. This shell is actually a derivative of the Debian 'dash' -	  shell (by Herbert Xu), which was created by porting the 'ash' shell -	  (written by Kenneth Almquist) from NetBSD. +	Do not use glob() function from libc, use internal implementation. +	Use this if you are getting "glob.h: No such file or directory" +	or similar build errors. +	Note that as of now (2017-01), uclibc and musl glob() both have bugs +	which would break ash if you select N here.  config BUSYBOX_ASH_BASH_COMPAT  	bool "bash-compatible extensions"  	default y -	depends on BUSYBOX_ASH +	depends on BUSYBOX_SHELL_ASH + +config BUSYBOX_ASH_BASH_SOURCE_CURDIR +	bool "'source' and '.' builtins search current directory after $PATH" +	default n   # do not encourage non-standard behavior +	depends on BUSYBOX_ASH_BASH_COMPAT  	help -	  Enable bash-compatible extensions. +	This is not compliant with standards. Avoid if possible. -config BUSYBOX_ASH_IDLE_TIMEOUT -	bool "Idle timeout variable" -	default n -	depends on BUSYBOX_ASH +config BUSYBOX_ASH_BASH_NOT_FOUND_HOOK +	bool "command_not_found_handle hook support" +	default y +	depends on BUSYBOX_ASH_BASH_COMPAT  	help -	  Enables bash-like auto-logout after $TMOUT seconds of idle time. +	Enable support for the 'command_not_found_handle' hook function, +	from GNU bash, which allows for alternative command not found +	handling.  config BUSYBOX_ASH_JOB_CONTROL  	bool "Job control"  	default y -	depends on BUSYBOX_ASH -	help -	  Enable job control in the ash shell. +	depends on BUSYBOX_SHELL_ASH  config BUSYBOX_ASH_ALIAS  	bool "Alias support"  	default y -	depends on BUSYBOX_ASH -	help -	  Enable alias support in the ash shell. +	depends on BUSYBOX_SHELL_ASH -config BUSYBOX_ASH_GETOPTS -	bool "Builtin getopt to parse positional parameters" +config BUSYBOX_ASH_RANDOM_SUPPORT +	bool "Pseudorandom generator and $RANDOM variable"  	default y -	depends on BUSYBOX_ASH +	depends on BUSYBOX_SHELL_ASH  	help -	  Enable support for getopts builtin in ash. +	Enable pseudorandom generator and dynamic variable "$RANDOM". +	Each read of "$RANDOM" will generate a new pseudorandom value. +	You can reset the generator by using a specified start value. +	After "unset RANDOM" the generator will switch off and this +	variable will no longer have special treatment. -config BUSYBOX_ASH_BUILTIN_ECHO -	bool "Builtin version of 'echo'" +config BUSYBOX_ASH_EXPAND_PRMT +	bool "Expand prompt string"  	default y -	depends on BUSYBOX_ASH +	depends on BUSYBOX_SHELL_ASH  	help -	  Enable support for echo builtin in ash. +	$PS# may contain volatile content, such as backquote commands. +	This option recreates the prompt string from the environment +	variable each time it is displayed. -config BUSYBOX_ASH_BUILTIN_PRINTF -	bool "Builtin version of 'printf'" +config BUSYBOX_ASH_IDLE_TIMEOUT +	bool "Idle timeout variable $TMOUT"  	default y -	depends on BUSYBOX_ASH +	depends on BUSYBOX_SHELL_ASH  	help -	  Enable support for printf builtin in ash. +	Enable bash-like auto-logout after $TMOUT seconds of idle time. -config BUSYBOX_ASH_BUILTIN_TEST -	bool "Builtin version of 'test'" +config BUSYBOX_ASH_MAIL +	bool "Check for new mail in interactive shell"  	default y -	depends on BUSYBOX_ASH +	depends on BUSYBOX_SHELL_ASH  	help -	  Enable support for test builtin in ash. +	Enable "check for new mail" function: +	if set, $MAIL file and $MAILPATH list of files +	are checked for mtime changes, and "you have mail" +	message is printed if change is detected. -config BUSYBOX_ASH_HELP -	bool "help builtin" +config BUSYBOX_ASH_ECHO +	bool "echo builtin"  	default y -	depends on BUSYBOX_ASH -	help -	  Enable help builtin in ash. +	depends on BUSYBOX_SHELL_ASH -config BUSYBOX_ASH_CMDCMD -	bool "'command' command to override shell builtins" +config BUSYBOX_ASH_PRINTF +	bool "printf builtin"  	default y -	depends on BUSYBOX_ASH -	help -	  Enable support for the ash 'command' builtin, which allows -	  you to run the specified command with the specified arguments, -	  even when there is an ash builtin command with the same name. +	depends on BUSYBOX_SHELL_ASH -config BUSYBOX_ASH_MAIL -	bool "Check for new mail on interactive shells" -	default n -	depends on BUSYBOX_ASH -	help -	  Enable "check for new mail" function in the ash shell. - -config BUSYBOX_ASH_OPTIMIZE_FOR_SIZE -	bool "Optimize for size instead of speed" +config BUSYBOX_ASH_TEST +	bool "test builtin"  	default y -	depends on BUSYBOX_ASH -	help -	  Compile ash for reduced size at the price of speed. +	depends on BUSYBOX_SHELL_ASH -config BUSYBOX_ASH_INTERNAL_GLOB -	bool "Use internal glob() implementation" -	default y	# Y is bigger, but because of uclibc glob() bug, let Y be default for now -	depends on BUSYBOX_ASH -	help -	  Do not use glob() function from libc, use internal implementation. -	  Use this if you are getting "glob.h: No such file or directory" -	  or similar build errors. +config BUSYBOX_ASH_HELP +	bool "help builtin" +	default y +	depends on BUSYBOX_SHELL_ASH -config BUSYBOX_ASH_RANDOM_SUPPORT -	bool "Pseudorandom generator and $RANDOM variable" +config BUSYBOX_ASH_GETOPTS +	bool "getopts builtin"  	default y -	depends on BUSYBOX_ASH -	help -	  Enable pseudorandom generator and dynamic variable "$RANDOM". -	  Each read of "$RANDOM" will generate a new pseudorandom value. -	  You can reset the generator by using a specified start value. -	  After "unset RANDOM" the generator will switch off and this -	  variable will no longer have special treatment. +	depends on BUSYBOX_SHELL_ASH -config BUSYBOX_ASH_EXPAND_PRMT -	bool "Expand prompt string" +config BUSYBOX_ASH_CMDCMD +	bool "command builtin"  	default y -	depends on BUSYBOX_ASH +	depends on BUSYBOX_SHELL_ASH  	help -	  "PS#" may contain volatile content, such as backquote commands. -	  This option recreates the prompt string from the environment -	  variable each time it is displayed. +	Enable support for the 'command' builtin, which allows +	you to run the specified command or builtin, +	even when there is a function with the same name. +endif # ash options  config BUSYBOX_CTTYHACK -	bool "cttyhack" -	default n +	bool "cttyhack (2.4 kb)" +	default y  	help -	  One common problem reported on the mailing list is the "can't -	  access tty; job control turned off" error message, which typically -	  appears when one tries to use a shell with stdin/stdout on -	  /dev/console. -	  This device is special - it cannot be a controlling tty. - -	  The proper solution is to use the correct device instead of -	  /dev/console. +	One common problem reported on the mailing list is the "can't +	access tty; job control turned off" error message, which typically +	appears when one tries to use a shell with stdin/stdout on +	/dev/console. +	This device is special - it cannot be a controlling tty. -	  cttyhack provides a "quick and dirty" solution to this problem. -	  It analyzes stdin with various ioctls, trying to determine whether -	  it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line). -	  On Linux it also checks sysfs for a pointer to the active console. -	  If cttyhack is able to find the real console device, it closes -	  stdin/out/err and reopens that device. -	  Then it executes the given program. Opening the device will make -	  that device a controlling tty. This may require cttyhack -	  to be a session leader. +	The proper solution is to use the correct device instead of +	/dev/console. -	  Example for /etc/inittab (for busybox init): +	cttyhack provides a "quick and dirty" solution to this problem. +	It analyzes stdin with various ioctls, trying to determine whether +	it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line). +	On Linux it also checks sysfs for a pointer to the active console. +	If cttyhack is able to find the real console device, it closes +	stdin/out/err and reopens that device. +	Then it executes the given program. Opening the device will make +	that device a controlling tty. This may require cttyhack +	to be a session leader. -	  ::respawn:/bin/cttyhack /bin/sh +	Example for /etc/inittab (for busybox init): -	  Starting an interactive shell from boot shell script: +	::respawn:/bin/cttyhack /bin/sh -	  setsid cttyhack sh +	Starting an interactive shell from boot shell script: -	  Giving controlling tty to shell running with PID 1: +	setsid cttyhack sh -	  # exec cttyhack sh +	Giving controlling tty to shell running with PID 1: -	  Without cttyhack, you need to know exact tty name, -	  and do something like this: +	# exec cttyhack sh -	  # exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1' +	Without cttyhack, you need to know exact tty name, +	and do something like this: -	  Starting getty on a controlling tty from a shell script: +	# exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1' -	  # getty 115200 $(cttyhack) +	Starting getty on a controlling tty from a shell script: +	# getty 115200 $(cttyhack)  config BUSYBOX_HUSH -	bool "hush" -	default y if ADK_TARGET_UCLINUX -	default n +	bool "hush (68 kb)" +	default y +	select BUSYBOX_SHELL_HUSH  	help -	  hush is a small shell (25k). It handles the normal flow control -	  constructs such as if/then/elif/else/fi, for/in/do/done, while loops, -	  case/esac. Redirections, here documents, $((arithmetic)) -	  and functions are supported. +	hush is a small shell. It handles the normal flow control +	constructs such as if/then/elif/else/fi, for/in/do/done, while loops, +	case/esac. Redirections, here documents, $((arithmetic)) +	and functions are supported. + +	It will compile and work on no-mmu systems. -	  It will compile and work on no-mmu systems. +	It does not handle select, aliases, tilde expansion, +	&>file and >&file redirection of stdout+stderr. -	  It does not handle select, aliases, tilde expansion, -	  &>file and >&file redirection of stdout+stderr. +config BUSYBOX_SHELL_HUSH +	bool "Internal shell for embedded script support" +	default n + +# hush options +# It's only needed to get "nice" menuconfig indenting. +if BUSYBOX_SHELL_HUSH || BUSYBOX_HUSH || BUSYBOX_SH_IS_HUSH || BUSYBOX_BASH_IS_HUSH  config BUSYBOX_HUSH_BASH_COMPAT  	bool "bash-compatible extensions"  	default y -	depends on BUSYBOX_HUSH -	help -	  Enable bash-compatible extensions. +	depends on BUSYBOX_SHELL_HUSH  config BUSYBOX_HUSH_BRACE_EXPANSION  	bool "Brace expansion"  	default y  	depends on BUSYBOX_HUSH_BASH_COMPAT  	help -	  Enable {abc,def} extension. +	Enable {abc,def} extension. -config BUSYBOX_HUSH_HELP -	bool "help builtin" -	default y -	depends on BUSYBOX_HUSH +config BUSYBOX_HUSH_BASH_SOURCE_CURDIR +	bool "'source' and '.' builtins search current directory after $PATH" +	default n   # do not encourage non-standard behavior +	depends on BUSYBOX_HUSH_BASH_COMPAT  	help -	  Enable help builtin in hush. Code size + ~1 kbyte. +	This is not compliant with standards. Avoid if possible. + +config BUSYBOX_HUSH_LINENO_VAR +	bool "$LINENO variable (bashism)" +	default y +	depends on BUSYBOX_SHELL_HUSH  config BUSYBOX_HUSH_INTERACTIVE  	bool "Interactive mode"  	default y -	depends on BUSYBOX_HUSH +	depends on BUSYBOX_SHELL_HUSH  	help -	  Enable interactive mode (prompt and command editing). -	  Without this, hush simply reads and executes commands -	  from stdin just like a shell script from a file. -	  No prompt, no PS1/PS2 magic shell variables. +	Enable interactive mode (prompt and command editing). +	Without this, hush simply reads and executes commands +	from stdin just like a shell script from a file. +	No prompt, no PS1/PS2 magic shell variables.  config BUSYBOX_HUSH_SAVEHISTORY  	bool "Save command history to .hush_history"  	default y  	depends on BUSYBOX_HUSH_INTERACTIVE && BUSYBOX_FEATURE_EDITING_SAVEHISTORY -	help -	  Enable history saving in hush.  config BUSYBOX_HUSH_JOB  	bool "Job control"  	default y  	depends on BUSYBOX_HUSH_INTERACTIVE  	help -	  Enable job control: Ctrl-Z backgrounds, Ctrl-C interrupts current -	  command (not entire shell), fg/bg builtins work. Without this option, -	  "cmd &" still works by simply spawning a process and immediately -	  prompting for next command (or executing next command in a script), -	  but no separate process group is formed. +	Enable job control: Ctrl-Z backgrounds, Ctrl-C interrupts current +	command (not entire shell), fg/bg builtins work. Without this option, +	"cmd &" still works by simply spawning a process and immediately +	prompting for next command (or executing next command in a script), +	but no separate process group is formed.  config BUSYBOX_HUSH_TICK -	bool "Process substitution" +	bool "Support command substitution"  	default y -	depends on BUSYBOX_HUSH +	depends on BUSYBOX_SHELL_HUSH  	help -	  Enable process substitution `command` and $(command) in hush. +	Enable `command` and $(command).  config BUSYBOX_HUSH_IF  	bool "Support if/then/elif/else/fi"  	default y -	depends on BUSYBOX_HUSH -	help -	  Enable if/then/elif/else/fi in hush. +	depends on BUSYBOX_SHELL_HUSH  config BUSYBOX_HUSH_LOOPS  	bool "Support for, while and until loops"  	default y -	depends on BUSYBOX_HUSH -	help -	  Enable for, while and until loops in hush. +	depends on BUSYBOX_SHELL_HUSH  config BUSYBOX_HUSH_CASE  	bool "Support case ... esac statement"  	default y -	depends on BUSYBOX_HUSH +	depends on BUSYBOX_SHELL_HUSH  	help -	  Enable case ... esac statement in hush. +400 bytes. +	Enable case ... esac statement. +400 bytes.  config BUSYBOX_HUSH_FUNCTIONS  	bool "Support funcname() { commands; } syntax"  	default y -	depends on BUSYBOX_HUSH +	depends on BUSYBOX_SHELL_HUSH  	help -	  Enable support for shell functions in hush. +800 bytes. +	Enable support for shell functions. +800 bytes.  config BUSYBOX_HUSH_LOCAL -	bool "Support local builtin" +	bool "local builtin"  	default y  	depends on BUSYBOX_HUSH_FUNCTIONS  	help -	  Enable support for local variables in functions. +	Enable support for local variables in functions.  config BUSYBOX_HUSH_RANDOM_SUPPORT  	bool "Pseudorandom generator and $RANDOM variable"  	default y -	depends on BUSYBOX_HUSH +	depends on BUSYBOX_SHELL_HUSH  	help -	  Enable pseudorandom generator and dynamic variable "$RANDOM". -	  Each read of "$RANDOM" will generate a new pseudorandom value. +	Enable pseudorandom generator and dynamic variable "$RANDOM". +	Each read of "$RANDOM" will generate a new pseudorandom value. + +config BUSYBOX_HUSH_MODE_X +	bool "Support 'hush -x' option and 'set -x' command" +	default y +	depends on BUSYBOX_SHELL_HUSH +	help +	This instructs hush to print commands before execution. +	Adds ~300 bytes. + +config BUSYBOX_HUSH_ECHO +	bool "echo builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH + +config BUSYBOX_HUSH_PRINTF +	bool "printf builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH + +config BUSYBOX_HUSH_TEST +	bool "test builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH + +config BUSYBOX_HUSH_HELP +	bool "help builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH + +config BUSYBOX_HUSH_EXPORT +	bool "export builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH  config BUSYBOX_HUSH_EXPORT_N  	bool "Support 'export -n' option"  	default y -	depends on BUSYBOX_HUSH +	depends on BUSYBOX_HUSH_EXPORT  	help -	  export -n unexports variables. It is a bash extension. +	export -n unexports variables. It is a bash extension. -config BUSYBOX_HUSH_MODE_X -	bool "Support 'hush -x' option and 'set -x' command" +config BUSYBOX_HUSH_READONLY +	bool "readonly builtin"  	default y -	depends on BUSYBOX_HUSH +	depends on BUSYBOX_SHELL_HUSH  	help -	  This instructs hush to print commands before execution. -	  Adds ~300 bytes. +	Enable support for read-only variables. -config BUSYBOX_MSH -	bool "msh (deprecated: aliased to hush)" -	default n -	select BUSYBOX_HUSH -	help -	  msh is deprecated and will be removed, please migrate to hush. +config BUSYBOX_HUSH_KILL +	bool "kill builtin (supports kill %jobspec)" +	default y +	depends on BUSYBOX_SHELL_HUSH -choice -prompt "Choose which shell is aliased to 'sh' name" +config BUSYBOX_HUSH_WAIT +	bool "wait builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH -config BUSYBOX_SH_IS_NONE -	bool "none" +config BUSYBOX_HUSH_COMMAND +	bool "command builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH -config BUSYBOX_SH_IS_ASH -	bool "ash" +config BUSYBOX_HUSH_TRAP +	bool "trap builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH -config BUSYBOX_SH_IS_HUSH -	bool "hush" +config BUSYBOX_HUSH_TYPE +	bool "type builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH -endchoice +config BUSYBOX_HUSH_TIMES +	bool "times builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH -choice -prompt "Choose which shell is aliased to 'bash' name" +config BUSYBOX_HUSH_READ +	bool "read builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH -config BUSYBOX_BASH_IS_NONE -	bool "none" +config BUSYBOX_HUSH_SET +	bool "set builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH -config BUSYBOX_BASH_IS_ASH -	bool "ash" +config BUSYBOX_HUSH_UNSET +	bool "unset builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH -config BUSYBOX_BASH_IS_HUSH -	bool "hush" +config BUSYBOX_HUSH_ULIMIT +	bool "ulimit builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH -endchoice +config BUSYBOX_HUSH_UMASK +	bool "umask builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH + +config BUSYBOX_HUSH_GETOPTS +	bool "getopts builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH + +config BUSYBOX_HUSH_MEMLEAK +	bool "memleak builtin (debugging)" +	default n +	depends on BUSYBOX_SHELL_HUSH + +endif # hush options + + +comment "Options common to all shells" +if BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH  config BUSYBOX_FEATURE_SH_MATH  	bool "POSIX math support"  	default y -	depends on BUSYBOX_ASH || BUSYBOX_HUSH +	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH  	help -	  Enable math support in the shell via $((...)) syntax. +	Enable math support in the shell via $((...)) syntax.  config BUSYBOX_FEATURE_SH_MATH_64  	bool "Extend POSIX math support to 64 bit"  	default y  	depends on BUSYBOX_FEATURE_SH_MATH  	help -	  Enable 64-bit math support in the shell. This will make the shell -	  slightly larger, but will allow computation with very large numbers. -	  This is not in POSIX, so do not rely on this in portable code. +	Enable 64-bit math support in the shell. This will make the shell +	slightly larger, but will allow computation with very large numbers. +	This is not in POSIX, so do not rely on this in portable code. + +config BUSYBOX_FEATURE_SH_MATH_BASE +	bool "Support BASE#nnnn literals" +	default y +	depends on BUSYBOX_FEATURE_SH_MATH  config BUSYBOX_FEATURE_SH_EXTRA_QUIET  	bool "Hide message on interactive shell startup"  	default y -	depends on BUSYBOX_HUSH || BUSYBOX_ASH +	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH  	help -	  Remove the busybox introduction when starting a shell. +	Remove the busybox introduction when starting a shell.  config BUSYBOX_FEATURE_SH_STANDALONE  	bool "Standalone shell"  	default n -	depends on (BUSYBOX_HUSH || BUSYBOX_ASH) -	help -	  This option causes busybox shells to use busybox applets -	  in preference to executables in the PATH whenever possible. For -	  example, entering the command 'ifconfig' into the shell would cause -	  busybox to use the ifconfig busybox applet. Specifying the fully -	  qualified executable name, such as '/sbin/ifconfig' will still -	  execute the /sbin/ifconfig executable on the filesystem. This option -	  is generally used when creating a statically linked version of busybox -	  for use as a rescue shell, in the event that you screw up your system. - -	  This is implemented by re-execing /proc/self/exe (typically) -	  with right parameters. Some selected applets ("NOFORK" applets) -	  can even be executed without creating new process. -	  Instead, busybox will call <applet>_main() internally. - -	  However, this causes problems in chroot jails without mounted /proc -	  and with ps/top (command name can be shown as 'exe' for applets -	  started this way). -# untrue? -#	  Note that this will *also* cause applets to take precedence -#	  over shell builtins of the same name. So turning this on will -#	  eliminate any performance gained by turning on the builtin "echo" -#	  and "test" commands in ash. -# untrue? -#	  Note that when using this option, the shell will attempt to directly -#	  run '/bin/busybox'. If you do not have the busybox binary sitting in -#	  that exact location with that exact name, this option will not work at -#	  all. +	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH +	help +	This option causes busybox shells to use busybox applets +	in preference to executables in the PATH whenever possible. For +	example, entering the command 'ifconfig' into the shell would cause +	busybox to use the ifconfig busybox applet. Specifying the fully +	qualified executable name, such as '/sbin/ifconfig' will still +	execute the /sbin/ifconfig executable on the filesystem. This option +	is generally used when creating a statically linked version of busybox +	for use as a rescue shell, in the event that you screw up your system. + +	This is implemented by re-execing /proc/self/exe (typically) +	with right parameters. + +	However, there are drawbacks: it is problematic in chroot jails +	without mounted /proc, and ps/top may show command name as 'exe' +	for applets started this way.  config BUSYBOX_FEATURE_SH_NOFORK  	bool "Run 'nofork' applets directly"  	default n -	depends on (BUSYBOX_HUSH || BUSYBOX_ASH) +	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH  	help -	  This option causes busybox shells to not execute typical -	  fork/exec/wait sequence, but call <applet>_main directly, -	  if possible. (Sometimes it is not possible: for example, -	  this is not possible in pipes). +	This option causes busybox shells to not execute typical +	fork/exec/wait sequence, but call <applet>_main directly, +	if possible. (Sometimes it is not possible: for example, +	this is not possible in pipes). -	  This will be done only for some applets (those which are marked -	  NOFORK in include/applets.h). +	This will be done only for some applets (those which are marked +	NOFORK in include/applets.h). -	  This may significantly speed up some shell scripts. +	This may significantly speed up some shell scripts. -	  This feature is relatively new. Use with care. Report bugs -	  to project mailing list. +	This feature is relatively new. Use with care. Report bugs +	to project mailing list. + +config BUSYBOX_FEATURE_SH_READ_FRAC +	bool "read -t N.NNN support (+110 bytes)" +	default y +	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH +	help +	Enable support for fractional second timeout in read builtin.  config BUSYBOX_FEATURE_SH_HISTFILESIZE  	bool "Use $HISTFILESIZE"  	default y -	depends on BUSYBOX_HUSH || BUSYBOX_ASH +	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH  	help -	  This option makes busybox shells to use $HISTFILESIZE variable -	  to set shell history size. Note that its max value is capped -	  by "History size" setting in library tuning section. +	This option makes busybox shells to use $HISTFILESIZE variable +	to set shell history size. Note that its max value is capped +	by "History size" setting in library tuning section. + +config BUSYBOX_FEATURE_SH_EMBEDDED_SCRIPTS +	bool "Embed scripts in the binary" +	default y +	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH +	help +	Allow scripts to be compressed and embedded in the busybox +	binary. The scripts should be placed in the 'embed' directory +	at build time. Like applets, scripts can be run as +	'busybox SCRIPT ...' or by linking their name to the binary. + +	This also allows applets to be implemented as scripts: place +	the script in 'applets_sh' and a stub C file containing +	configuration in the appropriate subsystem directory. +endif # Options common to all shells  endmenu | 
