docproc: avoid segfault during file closing
[busybox-git.git] / shell / Config.src
blob5efbf999596f816125aa44d657d0c6a4dbab56c5
2 # For a description of the syntax of this configuration file,
3 # see docs/Kconfig-language.txt.
6 menu "Shells"
9 choice
10         prompt "Choose which shell is aliased to 'sh' name"
11         default SH_IS_ASH
12         help
13         Choose which shell you want to be executed by 'sh' alias.
14         The ash shell is the most bash compatible and full featured one.
16 # note: cannot use "select ASH" here, it breaks "make allnoconfig"
17 config SH_IS_ASH
18         depends on !NOMMU
19         bool "ash"
20         select SHELL_ASH
21         help
22         Choose ash to be the shell executed by 'sh' name.
23         The ash code will be built into busybox. If you don't select
24         "ash" choice (CONFIG_ASH), this shell may only be invoked by
25         the name 'sh' (and not 'ash').
27 config SH_IS_HUSH
28         bool "hush"
29         select SHELL_HUSH
30         help
31         Choose hush to be the shell executed by 'sh' name.
32         The hush code will be built into busybox. If you don't select
33         "hush" choice (CONFIG_HUSH), this shell may only be invoked by
34         the name 'sh' (and not 'hush').
36 config SH_IS_NONE
37         bool "none"
39 endchoice
41 choice
42         prompt "Choose which shell is aliased to 'bash' name"
43         default BASH_IS_NONE
44         help
45         Choose which shell you want to be executed by 'bash' alias.
46         The ash shell is the most bash compatible and full featured one,
47         although compatibility is far from being complete.
49         Note that selecting this option does not switch on any bash
50         compatibility code. It merely makes it possible to install
51         /bin/bash (sym)link and run scripts which start with
52         #!/bin/bash line.
54         Many systems use it in scripts which use bash-specific features,
55         even simple ones like $RANDOM. Without this option, busybox
56         can't be used for running them because it won't recongnize
57         "bash" as a supported applet name.
59 config BASH_IS_ASH
60         depends on !NOMMU
61         bool "ash"
62         select SHELL_ASH
63         help
64         Choose ash to be the shell executed by 'bash' name.
65         The ash code will be built into busybox. If you don't select
66         "ash" choice (CONFIG_ASH), this shell may only be invoked by
67         the name 'bash' (and not 'ash').
69 config BASH_IS_HUSH
70         bool "hush"
71         select SHELL_HUSH
72         help
73         Choose hush to be the shell executed by 'bash' name.
74         The hush code will be built into busybox. If you don't select
75         "hush" choice (CONFIG_HUSH), this shell may only be invoked by
76         the name 'bash' (and not 'hush').
78 config BASH_IS_NONE
79         bool "none"
81 endchoice
84 INSERT
87 comment "Options common to all shells"
88 if SHELL_ASH || SHELL_HUSH
90 config FEATURE_SH_MATH
91         bool "POSIX math support"
92         default y
93         depends on SHELL_ASH || SHELL_HUSH
94         help
95         Enable math support in the shell via $((...)) syntax.
97 config FEATURE_SH_MATH_64
98         bool "Extend POSIX math support to 64 bit"
99         default y
100         depends on FEATURE_SH_MATH
101         help
102         Enable 64-bit math support in the shell. This will make the shell
103         slightly larger, but will allow computation with very large numbers.
104         This is not in POSIX, so do not rely on this in portable code.
106 config FEATURE_SH_MATH_BASE
107         bool "Support BASE#nnnn literals"
108         default y
109         depends on FEATURE_SH_MATH
111 config FEATURE_SH_EXTRA_QUIET
112         bool "Hide message on interactive shell startup"
113         default y
114         depends on SHELL_ASH || SHELL_HUSH
115         help
116         Remove the busybox introduction when starting a shell.
118 config FEATURE_SH_STANDALONE
119         bool "Standalone shell"
120         default n
121         depends on SHELL_ASH || SHELL_HUSH
122         help
123         This option causes busybox shells to use busybox applets
124         in preference to executables in the PATH whenever possible. For
125         example, entering the command 'ifconfig' into the shell would cause
126         busybox to use the ifconfig busybox applet. Specifying the fully
127         qualified executable name, such as '/sbin/ifconfig' will still
128         execute the /sbin/ifconfig executable on the filesystem. This option
129         is generally used when creating a statically linked version of busybox
130         for use as a rescue shell, in the event that you screw up your system.
132         This is implemented by re-execing /proc/self/exe (typically)
133         with right parameters.
135         However, there are drawbacks: it is problematic in chroot jails
136         without mounted /proc, and ps/top may show command name as 'exe'
137         for applets started this way.
139 config FEATURE_SH_NOFORK
140         bool "Run 'nofork' applets directly"
141         default n
142         depends on SHELL_ASH || SHELL_HUSH
143         help
144         This option causes busybox shells to not execute typical
145         fork/exec/wait sequence, but call <applet>_main directly,
146         if possible. (Sometimes it is not possible: for example,
147         this is not possible in pipes).
149         This will be done only for some applets (those which are marked
150         NOFORK in include/applets.h).
152         This may significantly speed up some shell scripts.
154         This feature is relatively new. Use with care. Report bugs
155         to project mailing list.
157 config FEATURE_SH_READ_FRAC
158         bool "read -t N.NNN support (+110 bytes)"
159         default y
160         depends on SHELL_ASH || SHELL_HUSH
161         help
162         Enable support for fractional second timeout in read builtin.
164 config FEATURE_SH_HISTFILESIZE
165         bool "Use $HISTFILESIZE"
166         default y
167         depends on SHELL_ASH || SHELL_HUSH
168         help
169         This option makes busybox shells to use $HISTFILESIZE variable
170         to set shell history size. Note that its max value is capped
171         by "History size" setting in library tuning section.
173 config FEATURE_SH_EMBEDDED_SCRIPTS
174         bool "Embed scripts in the binary"
175         default y
176         depends on SHELL_ASH || SHELL_HUSH
177         help
178         Allow scripts to be compressed and embedded in the busybox
179         binary. The scripts should be placed in the 'embed' directory
180         at build time. Like applets, scripts can be run as
181         'busybox SCRIPT ...' or by linking their name to the binary.
183         This also allows applets to be implemented as scripts: place
184         the script in 'applets_sh' and a stub C file containing
185         configuration in the appropriate subsystem directory.
187 endif # Options common to all shells
189 endmenu