busybox: sync Config.in files
[openwrt/staging/wigyori.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