Rebase from upstream commit : 3bb9dcf44627ffdd313fe92c563ae454b6ff8aa6
[librecmc/librecmc.git] / package / utils / busybox / config / shell / Config.in
1 # DO NOT EDIT. This file is generated from Config.src
2 #
3 # For a description of the syntax of this configuration file,
4 # see docs/Kconfig-language.txt.
5 #
6
7 menu "Shells"
8
9
10 choice
11         prompt "Choose which shell is aliased to 'sh' name"
12         default BUSYBOX_CONFIG_SH_IS_ASH
13         help
14         Choose which shell you want to be executed by 'sh' alias.
15         The ash shell is the most bash compatible and full featured one.
16
17 # note: cannot use "select ASH" here, it breaks "make allnoconfig"
18 config BUSYBOX_CONFIG_SH_IS_ASH
19         depends on !BUSYBOX_CONFIG_NOMMU
20         bool "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').
26
27 config BUSYBOX_CONFIG_SH_IS_HUSH
28         bool "hush"
29         help
30         Choose hush to be the shell executed by 'sh' name.
31         The hush code will be built into busybox. If you don't select
32         "hush" choice (CONFIG_HUSH), this shell may only be invoked by
33         the name 'sh' (and not 'hush').
34
35 config BUSYBOX_CONFIG_SH_IS_NONE
36         bool "none"
37
38 endchoice
39
40 choice
41         prompt "Choose which shell is aliased to 'bash' name"
42         default BUSYBOX_CONFIG_BASH_IS_NONE
43         help
44         Choose which shell you want to be executed by 'bash' alias.
45         The ash shell is the most bash compatible and full featured one,
46         although compatibility is far from being complete.
47
48         Note that selecting this option does not switch on any bash
49         compatibility code. It merely makes it possible to install
50         /bin/bash (sym)link and run scripts which start with
51         #!/bin/bash line.
52
53         Many systems use it in scripts which use bash-specific features,
54         even simple ones like $RANDOM. Without this option, busybox
55         can't be used for running them because it won't recongnize
56         "bash" as a supported applet name.
57
58 config BUSYBOX_CONFIG_BASH_IS_ASH
59         depends on !BUSYBOX_CONFIG_NOMMU
60         bool "ash"
61         help
62         Choose ash to be the shell executed by 'bash' name.
63         The ash code will be built into busybox. If you don't select
64         "ash" choice (CONFIG_ASH), this shell may only be invoked by
65         the name 'bash' (and not 'ash').
66
67 config BUSYBOX_CONFIG_BASH_IS_HUSH
68         bool "hush"
69         help
70         Choose hush to be the shell executed by 'bash' name.
71         The hush code will be built into busybox. If you don't select
72         "hush" choice (CONFIG_HUSH), this shell may only be invoked by
73         the name 'bash' (and not 'hush').
74
75 config BUSYBOX_CONFIG_BASH_IS_NONE
76         bool "none"
77
78 endchoice
79
80
81 config BUSYBOX_CONFIG_ASH
82         bool "ash (78 kb)"
83         default BUSYBOX_DEFAULT_ASH
84         depends on !BUSYBOX_CONFIG_NOMMU
85         help
86         The most complete and most pedantically correct shell included with
87         busybox. This shell is actually a derivative of the Debian 'dash'
88         shell (by Herbert Xu), which was created by porting the 'ash' shell
89         (written by Kenneth Almquist) from NetBSD.
90
91 # ash options
92 # note: Don't remove !NOMMU part in the next line; it would break
93 # menuconfig's indenting.
94 if !NOMMU && (BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH)
95
96 config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE
97         bool "Optimize for size instead of speed"
98         default BUSYBOX_DEFAULT_ASH_OPTIMIZE_FOR_SIZE
99         depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
100
101 config BUSYBOX_CONFIG_ASH_INTERNAL_GLOB
102         bool "Use internal glob() implementation"
103         default BUSYBOX_DEFAULT_ASH_INTERNAL_GLOB       # Y is bigger, but because of uclibc glob() bug, let Y be default for now
104         depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
105         help
106         Do not use glob() function from libc, use internal implementation.
107         Use this if you are getting "glob.h: No such file or directory"
108         or similar build errors.
109         Note that as of now (2017-01), uclibc and musl glob() both have bugs
110         which would break ash if you select N here.
111
112 config BUSYBOX_CONFIG_ASH_BASH_COMPAT
113         bool "bash-compatible extensions"
114         default BUSYBOX_DEFAULT_ASH_BASH_COMPAT
115         depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
116
117 config BUSYBOX_CONFIG_ASH_BASH_SOURCE_CURDIR
118         bool "'source' and '.' builtins search current directory after $PATH"
119         default BUSYBOX_DEFAULT_ASH_BASH_SOURCE_CURDIR   # do not encourage non-standard behavior
120         depends on BUSYBOX_CONFIG_ASH_BASH_COMPAT
121         help
122         This is not compliant with standards. Avoid if possible.
123
124 config BUSYBOX_CONFIG_ASH_BASH_NOT_FOUND_HOOK
125         bool "command_not_found_handle hook support"
126         default BUSYBOX_DEFAULT_ASH_BASH_NOT_FOUND_HOOK
127         depends on BUSYBOX_CONFIG_ASH_BASH_COMPAT
128         help
129         Enable support for the 'command_not_found_handle' hook function,
130         from GNU bash, which allows for alternative command not found
131         handling.
132
133 config BUSYBOX_CONFIG_ASH_JOB_CONTROL
134         bool "Job control"
135         default BUSYBOX_DEFAULT_ASH_JOB_CONTROL
136         depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
137
138 config BUSYBOX_CONFIG_ASH_ALIAS
139         bool "Alias support"
140         default BUSYBOX_DEFAULT_ASH_ALIAS
141         depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
142
143 config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
144         bool "Pseudorandom generator and $RANDOM variable"
145         default BUSYBOX_DEFAULT_ASH_RANDOM_SUPPORT
146         depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
147         help
148         Enable pseudorandom generator and dynamic variable "$RANDOM".
149         Each read of "$RANDOM" will generate a new pseudorandom value.
150         You can reset the generator by using a specified start value.
151         After "unset RANDOM" the generator will switch off and this
152         variable will no longer have special treatment.
153
154 config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
155         bool "Expand prompt string"
156         default BUSYBOX_DEFAULT_ASH_EXPAND_PRMT
157         depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
158         help
159         $PS# may contain volatile content, such as backquote commands.
160         This option recreates the prompt string from the environment
161         variable each time it is displayed.
162
163 config BUSYBOX_CONFIG_ASH_IDLE_TIMEOUT
164         bool "Idle timeout variable $TMOUT"
165         default BUSYBOX_DEFAULT_ASH_IDLE_TIMEOUT
166         depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
167         help
168         Enable bash-like auto-logout after $TMOUT seconds of idle time.
169
170 config BUSYBOX_CONFIG_ASH_MAIL
171         bool "Check for new mail in interactive shell"
172         default BUSYBOX_DEFAULT_ASH_MAIL
173         depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
174         help
175         Enable "check for new mail" function:
176         if set, $MAIL file and $MAILPATH list of files
177         are checked for mtime changes, and "you have mail"
178         message is printed if change is detected.
179
180 config BUSYBOX_CONFIG_ASH_ECHO
181         bool "echo builtin"
182         default BUSYBOX_DEFAULT_ASH_ECHO
183         depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
184
185 config BUSYBOX_CONFIG_ASH_PRINTF
186         bool "printf builtin"
187         default BUSYBOX_DEFAULT_ASH_PRINTF
188         depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
189
190 config BUSYBOX_CONFIG_ASH_TEST
191         bool "test builtin"
192         default BUSYBOX_DEFAULT_ASH_TEST
193         depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
194
195 config BUSYBOX_CONFIG_ASH_HELP
196         bool "help builtin"
197         default BUSYBOX_DEFAULT_ASH_HELP
198         depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
199
200 config BUSYBOX_CONFIG_ASH_GETOPTS
201         bool "getopts builtin"
202         default BUSYBOX_DEFAULT_ASH_GETOPTS
203         depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
204
205 config BUSYBOX_CONFIG_ASH_CMDCMD
206         bool "command builtin"
207         default BUSYBOX_DEFAULT_ASH_CMDCMD
208         depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
209         help
210         Enable support for the 'command' builtin, which allows
211         you to run the specified command or builtin,
212         even when there is a function with the same name.
213
214 endif # ash options
215 config BUSYBOX_CONFIG_CTTYHACK
216         bool "cttyhack (2.4 kb)"
217         default BUSYBOX_DEFAULT_CTTYHACK
218         help
219         One common problem reported on the mailing list is the "can't
220         access tty; job control turned off" error message, which typically
221         appears when one tries to use a shell with stdin/stdout on
222         /dev/console.
223         This device is special - it cannot be a controlling tty.
224
225         The proper solution is to use the correct device instead of
226         /dev/console.
227
228         cttyhack provides a "quick and dirty" solution to this problem.
229         It analyzes stdin with various ioctls, trying to determine whether
230         it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
231         On Linux it also checks sysfs for a pointer to the active console.
232         If cttyhack is able to find the real console device, it closes
233         stdin/out/err and reopens that device.
234         Then it executes the given program. Opening the device will make
235         that device a controlling tty. This may require cttyhack
236         to be a session leader.
237
238         Example for /etc/inittab (for busybox init):
239
240         ::respawn:/bin/cttyhack /bin/sh
241
242         Starting an interactive shell from boot shell script:
243
244         setsid cttyhack sh
245
246         Giving controlling tty to shell running with PID 1:
247
248         # exec cttyhack sh
249
250         Without cttyhack, you need to know exact tty name,
251         and do something like this:
252
253         # exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1'
254
255         Starting getty on a controlling tty from a shell script:
256
257         # getty 115200 $(cttyhack)
258 config BUSYBOX_CONFIG_HUSH
259         bool "hush (68 kb)"
260         default BUSYBOX_DEFAULT_HUSH
261         help
262         hush is a small shell. It handles the normal flow control
263         constructs such as if/then/elif/else/fi, for/in/do/done, while loops,
264         case/esac. Redirections, here documents, $((arithmetic))
265         and functions are supported.
266
267         It will compile and work on no-mmu systems.
268
269         It does not handle select, aliases, tilde expansion,
270         &>file and >&file redirection of stdout+stderr.
271
272 config BUSYBOX_CONFIG_HUSH_BASH_COMPAT
273         bool "bash-compatible extensions"
274         default BUSYBOX_DEFAULT_HUSH_BASH_COMPAT
275         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
276
277 config BUSYBOX_CONFIG_HUSH_BRACE_EXPANSION
278         bool "Brace expansion"
279         default BUSYBOX_DEFAULT_HUSH_BRACE_EXPANSION
280         depends on BUSYBOX_CONFIG_HUSH_BASH_COMPAT
281         help
282         Enable {abc,def} extension.
283
284 config BUSYBOX_CONFIG_HUSH_LINENO_VAR
285         bool "$LINENO variable"
286         default BUSYBOX_DEFAULT_HUSH_LINENO_VAR
287         depends on BUSYBOX_CONFIG_HUSH_BASH_COMPAT
288
289 config BUSYBOX_CONFIG_HUSH_BASH_SOURCE_CURDIR
290         bool "'source' and '.' builtins search current directory after $PATH"
291         default BUSYBOX_DEFAULT_HUSH_BASH_SOURCE_CURDIR   # do not encourage non-standard behavior
292         depends on BUSYBOX_CONFIG_HUSH_BASH_COMPAT
293         help
294         This is not compliant with standards. Avoid if possible.
295
296 config BUSYBOX_CONFIG_HUSH_INTERACTIVE
297         bool "Interactive mode"
298         default BUSYBOX_DEFAULT_HUSH_INTERACTIVE
299         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
300         help
301         Enable interactive mode (prompt and command editing).
302         Without this, hush simply reads and executes commands
303         from stdin just like a shell script from a file.
304         No prompt, no PS1/PS2 magic shell variables.
305
306 config BUSYBOX_CONFIG_HUSH_SAVEHISTORY
307         bool "Save command history to .hush_history"
308         default BUSYBOX_DEFAULT_HUSH_SAVEHISTORY
309         depends on BUSYBOX_CONFIG_HUSH_INTERACTIVE && BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
310
311 config BUSYBOX_CONFIG_HUSH_JOB
312         bool "Job control"
313         default BUSYBOX_DEFAULT_HUSH_JOB
314         depends on BUSYBOX_CONFIG_HUSH_INTERACTIVE
315         help
316         Enable job control: Ctrl-Z backgrounds, Ctrl-C interrupts current
317         command (not entire shell), fg/bg builtins work. Without this option,
318         "cmd &" still works by simply spawning a process and immediately
319         prompting for next command (or executing next command in a script),
320         but no separate process group is formed.
321
322 config BUSYBOX_CONFIG_HUSH_TICK
323         bool "Support command substitution"
324         default BUSYBOX_DEFAULT_HUSH_TICK
325         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
326         help
327         Enable `command` and $(command).
328
329 config BUSYBOX_CONFIG_HUSH_IF
330         bool "Support if/then/elif/else/fi"
331         default BUSYBOX_DEFAULT_HUSH_IF
332         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
333
334 config BUSYBOX_CONFIG_HUSH_LOOPS
335         bool "Support for, while and until loops"
336         default BUSYBOX_DEFAULT_HUSH_LOOPS
337         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
338
339 config BUSYBOX_CONFIG_HUSH_CASE
340         bool "Support case ... esac statement"
341         default BUSYBOX_DEFAULT_HUSH_CASE
342         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
343         help
344         Enable case ... esac statement. +400 bytes.
345
346 config BUSYBOX_CONFIG_HUSH_FUNCTIONS
347         bool "Support funcname() { commands; } syntax"
348         default BUSYBOX_DEFAULT_HUSH_FUNCTIONS
349         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
350         help
351         Enable support for shell functions. +800 bytes.
352
353 config BUSYBOX_CONFIG_HUSH_LOCAL
354         bool "local builtin"
355         default BUSYBOX_DEFAULT_HUSH_LOCAL
356         depends on BUSYBOX_CONFIG_HUSH_FUNCTIONS
357         help
358         Enable support for local variables in functions.
359
360 config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
361         bool "Pseudorandom generator and $RANDOM variable"
362         default BUSYBOX_DEFAULT_HUSH_RANDOM_SUPPORT
363         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
364         help
365         Enable pseudorandom generator and dynamic variable "$RANDOM".
366         Each read of "$RANDOM" will generate a new pseudorandom value.
367
368 config BUSYBOX_CONFIG_HUSH_MODE_X
369         bool "Support 'hush -x' option and 'set -x' command"
370         default BUSYBOX_DEFAULT_HUSH_MODE_X
371         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
372         help
373         This instructs hush to print commands before execution.
374         Adds ~300 bytes.
375
376 config BUSYBOX_CONFIG_HUSH_ECHO
377         bool "echo builtin"
378         default BUSYBOX_DEFAULT_HUSH_ECHO
379         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
380
381 config BUSYBOX_CONFIG_HUSH_PRINTF
382         bool "printf builtin"
383         default BUSYBOX_DEFAULT_HUSH_PRINTF
384         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
385
386 config BUSYBOX_CONFIG_HUSH_TEST
387         bool "test builtin"
388         default BUSYBOX_DEFAULT_HUSH_TEST
389         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
390
391 config BUSYBOX_CONFIG_HUSH_HELP
392         bool "help builtin"
393         default BUSYBOX_DEFAULT_HUSH_HELP
394         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
395
396 config BUSYBOX_CONFIG_HUSH_EXPORT
397         bool "export builtin"
398         default BUSYBOX_DEFAULT_HUSH_EXPORT
399         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
400
401 config BUSYBOX_CONFIG_HUSH_EXPORT_N
402         bool "Support 'export -n' option"
403         default BUSYBOX_DEFAULT_HUSH_EXPORT_N
404         depends on BUSYBOX_CONFIG_HUSH_EXPORT
405         help
406         export -n unexports variables. It is a bash extension.
407
408 config BUSYBOX_CONFIG_HUSH_READONLY
409         bool "readonly builtin"
410         default BUSYBOX_DEFAULT_HUSH_READONLY
411         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
412         help
413         Enable support for read-only variables.
414
415 config BUSYBOX_CONFIG_HUSH_KILL
416         bool "kill builtin (supports kill %jobspec)"
417         default BUSYBOX_DEFAULT_HUSH_KILL
418         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
419
420 config BUSYBOX_CONFIG_HUSH_WAIT
421         bool "wait builtin"
422         default BUSYBOX_DEFAULT_HUSH_WAIT
423         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
424
425 config BUSYBOX_CONFIG_HUSH_COMMAND
426         bool "command builtin"
427         default BUSYBOX_DEFAULT_HUSH_COMMAND
428         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
429
430 config BUSYBOX_CONFIG_HUSH_TRAP
431         bool "trap builtin"
432         default BUSYBOX_DEFAULT_HUSH_TRAP
433         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
434
435 config BUSYBOX_CONFIG_HUSH_TYPE
436         bool "type builtin"
437         default BUSYBOX_DEFAULT_HUSH_TYPE
438         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
439
440 config BUSYBOX_CONFIG_HUSH_TIMES
441         bool "times builtin"
442         default BUSYBOX_DEFAULT_HUSH_TIMES
443         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
444
445 config BUSYBOX_CONFIG_HUSH_READ
446         bool "read builtin"
447         default BUSYBOX_DEFAULT_HUSH_READ
448         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
449
450 config BUSYBOX_CONFIG_HUSH_SET
451         bool "set builtin"
452         default BUSYBOX_DEFAULT_HUSH_SET
453         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
454
455 config BUSYBOX_CONFIG_HUSH_UNSET
456         bool "unset builtin"
457         default BUSYBOX_DEFAULT_HUSH_UNSET
458         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
459
460 config BUSYBOX_CONFIG_HUSH_ULIMIT
461         bool "ulimit builtin"
462         default BUSYBOX_DEFAULT_HUSH_ULIMIT
463         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
464
465 config BUSYBOX_CONFIG_HUSH_UMASK
466         bool "umask builtin"
467         default BUSYBOX_DEFAULT_HUSH_UMASK
468         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
469
470 config BUSYBOX_CONFIG_HUSH_GETOPTS
471         bool "getopts builtin"
472         default BUSYBOX_DEFAULT_HUSH_GETOPTS
473         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
474
475 config BUSYBOX_CONFIG_HUSH_MEMLEAK
476         bool "memleak builtin (debugging)"
477         default BUSYBOX_DEFAULT_HUSH_MEMLEAK
478         depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
479
480
481 comment "Options common to all shells"
482 if ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
483
484 config BUSYBOX_CONFIG_FEATURE_SH_MATH
485         bool "POSIX math support"
486         default BUSYBOX_DEFAULT_FEATURE_SH_MATH
487         depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
488         help
489         Enable math support in the shell via $((...)) syntax.
490
491 config BUSYBOX_CONFIG_FEATURE_SH_MATH_64
492         bool "Extend POSIX math support to 64 bit"
493         default BUSYBOX_DEFAULT_FEATURE_SH_MATH_64
494         depends on BUSYBOX_CONFIG_FEATURE_SH_MATH
495         help
496         Enable 64-bit math support in the shell. This will make the shell
497         slightly larger, but will allow computation with very large numbers.
498         This is not in POSIX, so do not rely on this in portable code.
499
500 config BUSYBOX_CONFIG_FEATURE_SH_EXTRA_QUIET
501         bool "Hide message on interactive shell startup"
502         default BUSYBOX_DEFAULT_FEATURE_SH_EXTRA_QUIET
503         depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
504         help
505         Remove the busybox introduction when starting a shell.
506
507 config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE
508         bool "Standalone shell"
509         default BUSYBOX_DEFAULT_FEATURE_SH_STANDALONE
510         depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
511         help
512         This option causes busybox shells to use busybox applets
513         in preference to executables in the PATH whenever possible. For
514         example, entering the command 'ifconfig' into the shell would cause
515         busybox to use the ifconfig busybox applet. Specifying the fully
516         qualified executable name, such as '/sbin/ifconfig' will still
517         execute the /sbin/ifconfig executable on the filesystem. This option
518         is generally used when creating a statically linked version of busybox
519         for use as a rescue shell, in the event that you screw up your system.
520
521         This is implemented by re-execing /proc/self/exe (typically)
522         with right parameters.
523
524         However, there are drawbacks: it is problematic in chroot jails
525         without mounted /proc, and ps/top may show command name as 'exe'
526         for applets started this way.
527
528 config BUSYBOX_CONFIG_FEATURE_SH_NOFORK
529         bool "Run 'nofork' applets directly"
530         default BUSYBOX_DEFAULT_FEATURE_SH_NOFORK
531         depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
532         help
533         This option causes busybox shells to not execute typical
534         fork/exec/wait sequence, but call <applet>_main directly,
535         if possible. (Sometimes it is not possible: for example,
536         this is not possible in pipes).
537
538         This will be done only for some applets (those which are marked
539         NOFORK in include/applets.h).
540
541         This may significantly speed up some shell scripts.
542
543         This feature is relatively new. Use with care. Report bugs
544         to project mailing list.
545
546 config BUSYBOX_CONFIG_FEATURE_SH_READ_FRAC
547         bool "read -t N.NNN support (+110 bytes)"
548         default BUSYBOX_DEFAULT_FEATURE_SH_READ_FRAC
549         depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
550         help
551         Enable support for fractional second timeout in read builtin.
552
553 config BUSYBOX_CONFIG_FEATURE_SH_HISTFILESIZE
554         bool "Use $HISTFILESIZE"
555         default BUSYBOX_DEFAULT_FEATURE_SH_HISTFILESIZE
556         depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
557         help
558         This option makes busybox shells to use $HISTFILESIZE variable
559         to set shell history size. Note that its max value is capped
560         by "History size" setting in library tuning section.
561
562 config BUSYBOX_CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS
563         bool "Embed scripts in the binary"
564         default BUSYBOX_DEFAULT_FEATURE_SH_EMBEDDED_SCRIPTS
565         depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
566         help
567         Allow scripts to be compressed and embedded in the busybox
568         binary. The scripts should be placed in the 'embed' directory
569         at build time. Like applets, scripts can be run as
570         'busybox SCRIPT ...' or by linking their name to the binary.
571
572         This also allows applets to be implemented as scripts: place
573         the script in 'applets_sh' and a stub C file containing
574         configuration in the appropriate subsystem directory.
575
576 endif # Options common to all shells
577
578 endmenu