summaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2003-08-08 23:40:12 +0000
committerEric Andersen <andersen@codepoet.org>2003-08-08 23:40:12 +0000
commitb287e2e27a388deecd9d9580f2a846b2b2efff42 (patch)
treec5745cb1766bfb17731879c0a77be16aa8ba8056 /shell
parentc601ff149a91fbadc06a8b0cd86d4dbbd73f84a2 (diff)
downloadbusybox-w32-b287e2e27a388deecd9d9580f2a846b2b2efff42.tar.gz
busybox-w32-b287e2e27a388deecd9d9580f2a846b2b2efff42.tar.bz2
busybox-w32-b287e2e27a388deecd9d9580f2a846b2b2efff42.zip
Use the new 'select' option to make the shell config
much less evil and far more obvious. -Erik
Diffstat (limited to 'shell')
-rw-r--r--shell/Config.in65
1 files changed, 27 insertions, 38 deletions
diff --git a/shell/Config.in b/shell/Config.in
index 6103ccfda..bd6f39f7d 100644
--- a/shell/Config.in
+++ b/shell/Config.in
@@ -13,15 +13,19 @@ choice
13 and full featured. 13 and full featured.
14 14
15config CONFIG_FEATURE_SH_IS_ASH 15config CONFIG_FEATURE_SH_IS_ASH
16 select CONFIG_ASH
16 bool "ash" 17 bool "ash"
17 18
18config CONFIG_FEATURE_SH_IS_HUSH 19config CONFIG_FEATURE_SH_IS_HUSH
20 select CONFIG_HUSH
19 bool "hush" 21 bool "hush"
20 22
21config CONFIG_FEATURE_SH_IS_LASH 23config CONFIG_FEATURE_SH_IS_LASH
24 select CONFIG_LASH
22 bool "lash" 25 bool "lash"
23 26
24config CONFIG_FEATURE_SH_IS_MSH 27config CONFIG_FEATURE_SH_IS_MSH
28 select CONFIG_MSH
25 bool "msh" 29 bool "msh"
26 30
27config CONFIG_FEATURE_SH_IS_NONE 31config CONFIG_FEATURE_SH_IS_NONE
@@ -29,20 +33,15 @@ config CONFIG_FEATURE_SH_IS_NONE
29 33
30endchoice 34endchoice
31 35
32if CONFIG_FEATURE_SH_IS_ASH
33 config CONFIG_ASH
34 default y
35
36 comment "ash (forced enabled as default shell)"
37endif
38
39if !CONFIG_FEATURE_SH_IS_ASH
40config CONFIG_ASH 36config CONFIG_ASH
41 bool "ash" 37 bool "ash"
42 default y 38 default y
43 help 39 help
44 Make sh a link to ash. 40 Tha 'ash' shell adds about 60k in the default configuration and is
45endif 41 the most complete and most pedantically correct shell included with
42 busybox. This shell is actually a derivitive the Debian 'dash' shell
43 (by Herbert Xu), which was created by porting the 'ash' shell
44 (written by Kenneth Almquist) from NetBSD.
46 45
47comment "Ash Shell Options" 46comment "Ash Shell Options"
48 depends on CONFIG_ASH 47 depends on CONFIG_ASH
@@ -98,51 +97,41 @@ config CONFIG_ASH_OPTIMIZE_FOR_SIZE
98 help 97 help
99 Compile ash for reduced size at price of speed. 98 Compile ash for reduced size at price of speed.
100 99
101if CONFIG_FEATURE_SH_IS_HUSH
102 config CONFIG_HUSH
103 default y
104
105 comment "hush (forced enabled as default shell)"
106endif
107
108if !CONFIG_FEATURE_SH_IS_HUSH
109config CONFIG_HUSH 100config CONFIG_HUSH
110 bool "hush" 101 bool "hush"
111 default n 102 default n
112 help 103 help
113 Make sh a link to hush. 104 hush is very small shell (just 18k) and it has fairly complete Bourne
114endif 105 shell grammer. It even handles all the normal flow control options
106 such as if/then/elif/else/fi, for/in/do/done, while loops, etc.
115 107
116if CONFIG_FEATURE_SH_IS_LASH 108 It does not handle case/esac, select, function, here documents ( <<
117 config CONFIG_LASH 109 word ), arithmetic expansion, aliases, brace expansion, tilde
118 default y 110 expansion, &> and >& redirection of stdout+stderr, etc.
119 111
120 comment "lash (forced enabled as default shell)"
121endif
122 112
123if !CONFIG_FEATURE_SH_IS_LASH
124config CONFIG_LASH 113config CONFIG_LASH
125 bool "lash" 114 bool "lash"
126 default n 115 default n
127 help 116 help
128 Make sh a link to lash. 117 lash is the very smallest shell (adds just 10k) and it is quite
129endif 118 usable as a command prompt, but it is not suitable for any but the
130 119 most trivial scripting (such as an initrd that calls insmod a few
131if CONFIG_FEATURE_SH_IS_MSH 120 times) since it does not understand any Bourne shell grammer. It
132 config CONFIG_MSH 121 does handle pipes, redirects, and job control though. Adding in
133 default y 122 command editing makes it a very nice lightweight command prompt.
134 123
135 comment "msh (forced enabled as default shell)"
136endif
137 124
138if !CONFIG_FEATURE_SH_IS_MSH
139config CONFIG_MSH 125config CONFIG_MSH
140 bool "msh" 126 bool "msh"
141 default n 127 default n
142 help 128 help
143 Make sh a link to msh. 129 The minix shell (adds just 30k) is quite complete and handles things
144endif 130 like for/do/done, case/esac and all the things you expect a Bourne
145 131 shell to do. It is not always pedantically correct about Bourne
132 shell grammer (try running the shell testscript "tests/sh.testcases"
133 on it and compare vs bash) but for most things it works quite well.
134 It also uses only vfork, so it can be used on uClinux systems.
146 135
147comment "Bourne Shell Options" 136comment "Bourne Shell Options"
148 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH 137 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH