hush: fix recent breakage from parse_stream() changes
[oweals/busybox.git] / shell / Config.src
1 #
2 # For a description of the syntax of this configuration file,
3 # see scripts/kbuild/config-language.txt.
4 #
5
6 menu "Shells"
7
8
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.
15
16 # note: cannot use "select ASH" here, it breaks "make allnoconfig"
17 config SH_IS_ASH
18         depends on !NOMMU
19         bool "ash"
20         help
21         Choose ash to be the shell executed by 'sh' name.
22         The ash code will be built into busybox. If you don't select
23         "ash" choice (CONFIG_ASH), this shell may only be invoked by
24         the name 'sh' (and not 'ash').
25
26 config SH_IS_HUSH
27         bool "hush"
28         help
29         Choose hush to be the shell executed by 'sh' name.
30         The hush code will be built into busybox. If you don't select
31         "hush" choice (CONFIG_HUSH), this shell may only be invoked by
32         the name 'sh' (and not 'hush').
33
34 config SH_IS_NONE
35         bool "none"
36
37 endchoice
38
39 choice
40         prompt "Choose which shell is aliased to 'bash' name"
41         default BASH_IS_NONE
42         help
43         Choose which shell you want to be executed by 'bash' alias.
44         The ash shell is the most bash compatible and full featured one,
45         although compatibility is far from being complete.
46
47         Note that selecting this option does not switch on any bash
48         compatibility code. It merely makes it possible to install
49         /bin/bash (sym)link and run scripts which start with
50         #!/bin/bash line.
51
52         Many systems use it in scripts which use bash-specific features,
53         even simple ones like $RANDOM. Without this option, busybox
54         can't be used for running them because it won't recongnize
55         "bash" as a supported applet name.
56
57 config BASH_IS_ASH
58         depends on !NOMMU
59         bool "ash"
60         help
61         Choose ash to be the shell executed by 'bash' name.
62         The ash code will be built into busybox. If you don't select
63         "ash" choice (CONFIG_ASH), this shell may only be invoked by
64         the name 'bash' (and not 'ash').
65
66 config BASH_IS_HUSH
67         bool "hush"
68         help
69         Choose hush to be the shell executed by 'bash' name.
70         The hush code will be built into busybox. If you don't select
71         "hush" choice (CONFIG_HUSH), this shell may only be invoked by
72         the name 'bash' (and not 'hush').
73
74 config BASH_IS_NONE
75         bool "none"
76
77 endchoice
78
79
80 INSERT
81
82
83 comment "Options common to all shells"
84 if ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH
85
86 config FEATURE_SH_MATH
87         bool "POSIX math support"
88         default y
89         depends on ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH
90         help
91         Enable math support in the shell via $((...)) syntax.
92
93 config FEATURE_SH_MATH_64
94         bool "Extend POSIX math support to 64 bit"
95         default y
96         depends on FEATURE_SH_MATH
97         help
98         Enable 64-bit math support in the shell. This will make the shell
99         slightly larger, but will allow computation with very large numbers.
100         This is not in POSIX, so do not rely on this in portable code.
101
102 config FEATURE_SH_EXTRA_QUIET
103         bool "Hide message on interactive shell startup"
104         default y
105         depends on ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH
106         help
107         Remove the busybox introduction when starting a shell.
108
109 config FEATURE_SH_STANDALONE
110         bool "Standalone shell"
111         default n
112         depends on ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH
113         help
114         This option causes busybox shells to use busybox applets
115         in preference to executables in the PATH whenever possible. For
116         example, entering the command 'ifconfig' into the shell would cause
117         busybox to use the ifconfig busybox applet. Specifying the fully
118         qualified executable name, such as '/sbin/ifconfig' will still
119         execute the /sbin/ifconfig executable on the filesystem. This option
120         is generally used when creating a statically linked version of busybox
121         for use as a rescue shell, in the event that you screw up your system.
122
123         This is implemented by re-execing /proc/self/exe (typically)
124         with right parameters.
125
126         However, there are drawbacks: it is problematic in chroot jails
127         without mounted /proc, and ps/top may show command name as 'exe'
128         for applets started this way.
129
130 config FEATURE_SH_NOFORK
131         bool "Run 'nofork' applets directly"
132         default n
133         depends on ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH
134         help
135         This option causes busybox shells to not execute typical
136         fork/exec/wait sequence, but call <applet>_main directly,
137         if possible. (Sometimes it is not possible: for example,
138         this is not possible in pipes).
139
140         This will be done only for some applets (those which are marked
141         NOFORK in include/applets.h).
142
143         This may significantly speed up some shell scripts.
144
145         This feature is relatively new. Use with care. Report bugs
146         to project mailing list.
147
148 config FEATURE_SH_READ_FRAC
149         bool "read -t N.NNN support (+110 bytes)"
150         default y
151         depends on ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH
152         help
153         Enable support for fractional second timeout in read builtin.
154
155 config FEATURE_SH_HISTFILESIZE
156         bool "Use $HISTFILESIZE"
157         default y
158         depends on ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH
159         help
160         This option makes busybox shells to use $HISTFILESIZE variable
161         to set shell history size. Note that its max value is capped
162         by "History size" setting in library tuning section.
163
164 endif # Options common to all shells
165
166 endmenu