blob: c8f4a936caa2bab971264c64d8e49fb7ab43a473 [file] [log] [blame]
Eric Andersenc9f20d92002-12-05 08:41:41 +00001#
2# For a description of the syntax of this configuration file,
3# see scripts/kbuild/config-language.txt.
4#
5
Glenn L McGrathfdbbb042002-12-09 11:10:40 +00006menu "Another Bourne-like Shell"
Eric Andersenc9f20d92002-12-05 08:41:41 +00007
8choice
9 prompt "Choose your default shell"
Eric Andersen72d8e442003-08-05 02:18:25 +000010 default CONFIG_FEATURE_SH_IS_NONE
Eric Andersenc9f20d92002-12-05 08:41:41 +000011 help
Eric Andersene5642112003-07-14 19:37:08 +000012 Choose a shell. The ash shell is the most bash compatible
Eric Andersen88c916b2003-10-22 09:58:56 +000013 and full featured one.
Eric Andersenc9f20d92002-12-05 08:41:41 +000014
15config CONFIG_FEATURE_SH_IS_ASH
Eric Andersenb287e2e2003-08-08 23:40:12 +000016 select CONFIG_ASH
Eric Andersenc9f20d92002-12-05 08:41:41 +000017 bool "ash"
18
19config CONFIG_FEATURE_SH_IS_HUSH
Eric Andersenb287e2e2003-08-08 23:40:12 +000020 select CONFIG_HUSH
Eric Andersenc9f20d92002-12-05 08:41:41 +000021 bool "hush"
22
23config CONFIG_FEATURE_SH_IS_LASH
Eric Andersenb287e2e2003-08-08 23:40:12 +000024 select CONFIG_LASH
Eric Andersenc9f20d92002-12-05 08:41:41 +000025 bool "lash"
26
27config CONFIG_FEATURE_SH_IS_MSH
Eric Andersenb287e2e2003-08-08 23:40:12 +000028 select CONFIG_MSH
Eric Andersenc9f20d92002-12-05 08:41:41 +000029 bool "msh"
30
Eric Andersena6b90512002-12-06 21:49:59 +000031config CONFIG_FEATURE_SH_IS_NONE
32 bool "none"
33
Eric Andersenc9f20d92002-12-05 08:41:41 +000034endchoice
35
Eric Andersenc9f20d92002-12-05 08:41:41 +000036config CONFIG_ASH
37 bool "ash"
38 default y
39 help
Eric Andersenb287e2e2003-08-08 23:40:12 +000040 Tha 'ash' shell adds about 60k in the default configuration and is
41 the most complete and most pedantically correct shell included with
Eric Andersen88c916b2003-10-22 09:58:56 +000042 busybox. This shell is actually a derivative of the Debian 'dash'
43 shell (by Herbert Xu), which was created by porting the 'ash' shell
Eric Andersenc7bda1c2004-03-15 08:29:22 +000044 (written by Kenneth Almquist) from NetBSD.
Eric Andersenc9f20d92002-12-05 08:41:41 +000045
46comment "Ash Shell Options"
47 depends on CONFIG_ASH
48
49config CONFIG_ASH_JOB_CONTROL
50 bool " Enable Job control"
51 default y
52 depends on CONFIG_ASH
53 help
Eric Andersene5642112003-07-14 19:37:08 +000054 Enable job control in the ash shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +000055
56config CONFIG_ASH_ALIAS
57 bool " Enable alias support"
58 default y
59 depends on CONFIG_ASH
60 help
Eric Andersene5642112003-07-14 19:37:08 +000061 Enable alias support in the ash shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +000062
63config CONFIG_ASH_MATH_SUPPORT
64 bool " Enable Posix math support"
65 default y
66 depends on CONFIG_ASH
67 help
Eric Andersene5642112003-07-14 19:37:08 +000068 Enable math support in the ash shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +000069
Eric Andersened9ecf72004-06-22 08:29:45 +000070config CONFIG_ASH_MATH_SUPPORT_64
71 bool " Extend Posix math support to 64 bit"
72 default n
73 depends on CONFIG_ASH_MATH_SUPPORT
74 help
75 Enable 64-bit math support in the ash shell. This will make
76 the shell slightly larger, but will allow computation with very
77 large numbers.
78
Eric Andersenc9f20d92002-12-05 08:41:41 +000079config CONFIG_ASH_GETOPTS
80 bool " Enable getopt builtin to parse positional parameters"
81 default n
82 depends on CONFIG_ASH
83 help
Eric Andersene5642112003-07-14 19:37:08 +000084 Enable builtin getopt in the ash shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +000085
86config CONFIG_ASH_CMDCMD
87 bool " Enable cmdcmd to override shell builtins"
88 default n
89 depends on CONFIG_ASH
90 help
Eric Andersen3857a182003-07-22 10:14:32 +000091 Enable support for the ash 'command' builtin, which allows
92 you to run the specified command with the specified arguments,
93 even when there is an ash builtin command with the same name.
Eric Andersenc9f20d92002-12-05 08:41:41 +000094
95config CONFIG_ASH_MAIL
96 bool " Check for new mail on interactive shells"
97 default y
98 depends on CONFIG_ASH
99 help
Eric Andersene5642112003-07-14 19:37:08 +0000100 Enable "check for new mail" in the ash shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000101
102config CONFIG_ASH_OPTIMIZE_FOR_SIZE
103 bool " Optimize for size instead of speed"
104 default y
105 depends on CONFIG_ASH
106 help
Eric Andersene5642112003-07-14 19:37:08 +0000107 Compile ash for reduced size at price of speed.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000108
Eric Andersen16767e22004-03-16 05:14:10 +0000109config CONFIG_ASH_RANDOM_SUPPORT
110 bool " Enable pseudorandom generator and variable $RANDOM"
111 default n
112 depends on CONFIG_ASH
113 help
114 Enable pseudorandom generator and dynamic variable "$RANDOM".
115 Each read of "$RANDOM" will generate a new pseudorandom value.
116 You can reset the generator by using a specified start value.
117 After "unset RANDOM" then generator will switch off and this
118 variable will no longer have special treatment.
119
Eric Andersenc9f20d92002-12-05 08:41:41 +0000120config CONFIG_HUSH
121 bool "hush"
122 default n
123 help
Eric Andersen88c916b2003-10-22 09:58:56 +0000124 hush is a very small shell (just 18k) and it has fairly complete
125 Bourne shell grammar. It even handles all the normal flow control
126 options such as if/then/elif/else/fi, for/in/do/done, while loops,
127 etc.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000128
Eric Andersenb287e2e2003-08-08 23:40:12 +0000129 It does not handle case/esac, select, function, here documents ( <<
130 word ), arithmetic expansion, aliases, brace expansion, tilde
131 expansion, &> and >& redirection of stdout+stderr, etc.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000132
Eric Andersenc9f20d92002-12-05 08:41:41 +0000133
Eric Andersenc9f20d92002-12-05 08:41:41 +0000134config CONFIG_LASH
135 bool "lash"
136 default n
137 help
Eric Andersenb287e2e2003-08-08 23:40:12 +0000138 lash is the very smallest shell (adds just 10k) and it is quite
139 usable as a command prompt, but it is not suitable for any but the
140 most trivial scripting (such as an initrd that calls insmod a few
Eric Andersen88c916b2003-10-22 09:58:56 +0000141 times) since it does not understand any Bourne shell grammar. It
Eric Andersenb287e2e2003-08-08 23:40:12 +0000142 does handle pipes, redirects, and job control though. Adding in
143 command editing makes it a very nice lightweight command prompt.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000144
Eric Andersenc9f20d92002-12-05 08:41:41 +0000145
Eric Andersenc9f20d92002-12-05 08:41:41 +0000146config CONFIG_MSH
147 bool "msh"
148 default n
149 help
Eric Andersenb287e2e2003-08-08 23:40:12 +0000150 The minix shell (adds just 30k) is quite complete and handles things
151 like for/do/done, case/esac and all the things you expect a Bourne
152 shell to do. It is not always pedantically correct about Bourne
Eric Andersen88c916b2003-10-22 09:58:56 +0000153 shell grammar (try running the shell testscript "tests/sh.testcases"
Eric Andersenb287e2e2003-08-08 23:40:12 +0000154 on it and compare vs bash) but for most things it works quite well.
155 It also uses only vfork, so it can be used on uClinux systems.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000156
157comment "Bourne Shell Options"
158 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
159
Glenn L McGrath3b251852004-01-03 12:07:32 +0000160config CONFIG_FEATURE_SH_EXTRA_QUIET
161 bool "Hide message on interactive shell startup"
Eric Andersenc9f20d92002-12-05 08:41:41 +0000162 default n
163 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
164 help
Glenn L McGrath3b251852004-01-03 12:07:32 +0000165 Remove the busybox introduction when starting a shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000166
167config CONFIG_FEATURE_SH_STANDALONE_SHELL
168 bool "Standalone shell"
169 default n
170 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
171 help
Eric Andersen075dd812004-04-07 09:34:27 +0000172 This option causes the selected busybox shell to use busybox applets
173 in preference to executables in the PATH whenever possible. For
174 example, entering the command 'ifconfig' into the shell would cause
175 busybox to use the ifconfig busybox applet. Specifying the fully
176 qualified executable name, such as '/sbin/ifconfig' will still
177 execute the /sbin/ifconfig executable on the filesystem. This option
178 is generally used when creating a staticly linked version of busybox
179 for use as a rescue shell, in the event that you screw up your system.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000180
Glenn L McGrath3b251852004-01-03 12:07:32 +0000181config CONFIG_FEATURE_COMMAND_EDITING
182 bool "command line editing"
183 default n
184 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
185 help
186 Enable command editing in shell.
187
188config CONFIG_FEATURE_COMMAND_HISTORY
189 int "history size"
190 default 15
191 depends on CONFIG_FEATURE_COMMAND_EDITING
192 help
193 Specify command history size in shell.
194
195config CONFIG_FEATURE_COMMAND_SAVEHISTORY
196 bool "history saving"
197 default n
198 depends on CONFIG_ASH && CONFIG_FEATURE_COMMAND_EDITING
199 help
200 Enable history saving in ash shell.
201
202config CONFIG_FEATURE_COMMAND_TAB_COMPLETION
203 bool "tab completion"
204 default n
205 depends on CONFIG_FEATURE_COMMAND_EDITING
206 help
207 Enable tab completion in shell.
208
209config CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION
210 bool "username completion"
211 default n
212 depends on CONFIG_FEATURE_COMMAND_TAB_COMPLETION
213 help
214 Enable username completion in shell.
215
Eric Andersenc9f20d92002-12-05 08:41:41 +0000216config CONFIG_FEATURE_SH_FANCY_PROMPT
217 bool "Fancy shell prompts"
218 default n
Glenn L McGrath3b251852004-01-03 12:07:32 +0000219 depends on CONFIG_FEATURE_COMMAND_EDITING
Eric Andersenc9f20d92002-12-05 08:41:41 +0000220 help
Eric Andersen9c3c38d2003-07-22 09:59:34 +0000221 Setting this option allows for prompts to use things like \w and
222 \$ and also using escape codes.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000223
Eric Andersenc9f20d92002-12-05 08:41:41 +0000224endmenu