diff options
Diffstat (limited to 'Config.h')
-rw-r--r-- | Config.h | 73 |
1 files changed, 31 insertions, 42 deletions
@@ -9,6 +9,7 @@ | |||
9 | // BusyBox Applications | 9 | // BusyBox Applications |
10 | //#define BB_ADJTIMEX | 10 | //#define BB_ADJTIMEX |
11 | //#define BB_AR | 11 | //#define BB_AR |
12 | //#define BB_ASH | ||
12 | #define BB_BASENAME | 13 | #define BB_BASENAME |
13 | #define BB_CAT | 14 | #define BB_CAT |
14 | #define BB_CHGRP | 15 | #define BB_CHGRP |
@@ -51,6 +52,7 @@ | |||
51 | #define BB_HEAD | 52 | #define BB_HEAD |
52 | //#define BB_HOSTID | 53 | //#define BB_HOSTID |
53 | //#define BB_HOSTNAME | 54 | //#define BB_HOSTNAME |
55 | //#define BB_HUSH | ||
54 | #define BB_ID | 56 | #define BB_ID |
55 | //#define BB_IFCONFIG | 57 | //#define BB_IFCONFIG |
56 | #define BB_INIT | 58 | #define BB_INIT |
@@ -58,6 +60,7 @@ | |||
58 | #define BB_KILL | 60 | #define BB_KILL |
59 | #define BB_KILLALL | 61 | #define BB_KILLALL |
60 | #define BB_KLOGD | 62 | #define BB_KLOGD |
63 | //#define BB_LASH | ||
61 | //#define BB_LENGTH | 64 | //#define BB_LENGTH |
62 | #define BB_LN | 65 | #define BB_LN |
63 | //#define BB_LOADACM | 66 | //#define BB_LOADACM |
@@ -78,6 +81,7 @@ | |||
78 | #define BB_MODPROBE | 81 | #define BB_MODPROBE |
79 | #define BB_MORE | 82 | #define BB_MORE |
80 | #define BB_MOUNT | 83 | #define BB_MOUNT |
84 | #define BB_MSH | ||
81 | //#define BB_MT | 85 | //#define BB_MT |
82 | #define BB_MV | 86 | #define BB_MV |
83 | //#define BB_NC | 87 | //#define BB_NC |
@@ -101,7 +105,6 @@ | |||
101 | //#define BB_RPM2CPIO | 105 | //#define BB_RPM2CPIO |
102 | #define BB_SED | 106 | #define BB_SED |
103 | //#define BB_SETKEYCODES | 107 | //#define BB_SETKEYCODES |
104 | #define BB_SH | ||
105 | #define BB_SLEEP | 108 | #define BB_SLEEP |
106 | #define BB_SORT | 109 | #define BB_SORT |
107 | //#define BB_STTY | 110 | //#define BB_STTY |
@@ -146,40 +149,12 @@ | |||
146 | // pretty/useful). | 149 | // pretty/useful). |
147 | // | 150 | // |
148 | // | 151 | // |
149 | // If you enabled BB_SH above, you may select one of the following shells. | 152 | // If you enabled one or more of the shells, you may select which one |
150 | // You can only select ONE of the following shells. Sorry. | 153 | // should be run when sh is invoked: |
151 | // | 154 | //#define BB_FEATURE_SH_IS_ASH |
152 | // lash is the very smallest shell (adds just 10k) and it is quite usable as | 155 | //#define BB_FEATURE_SH_IS_HUSH |
153 | // a command prompt, but it is not suitable for any but the most trivial | 156 | //#define BB_FEATURE_SH_IS_LASH |
154 | // scripting (such as an initrd that calls insmod a few times) since it does | 157 | #define BB_FEATURE_SH_IS_MSH |
155 | // not understand Bourne shell grammer. It does handle pipes, redirects, and | ||
156 | // job control though. Adding in command editing makes it very nice | ||
157 | // lightweight command prompt. | ||
158 | //#define BB_FEATURE_LASH | ||
159 | // | ||
160 | // hush is also quite small (just 18k) and it has very complete Bourne shell | ||
161 | // grammer. It handles if/then/else/fi just fine, but doesn't handle loops | ||
162 | // like for/do/done or case/esac and such. It also currently has a problem | ||
163 | // with job control. | ||
164 | //#define BB_FEATURE_HUSH | ||
165 | // | ||
166 | // msh: The minix shell (adds just 30k) is quite complete and handles things | ||
167 | // like for/do/done, case/esac and all the things you expect a Bourne shell to | ||
168 | // do. It is not always pedantically correct about Bourne shell grammer (try | ||
169 | // running the shell testscript "tests/sh.testcases" on it and compare vs bash) | ||
170 | // but for most things it works quite well. It also uses only vfork, so it can | ||
171 | // be used on uClinux systems. This was only recently added, so there is still | ||
172 | // room to shrink it further... | ||
173 | #define BB_FEATURE_MSH | ||
174 | // | ||
175 | // ash: This adds about 60k in the default configuration and is the most | ||
176 | // complete and most pedantically correct shell included with busybox. This | ||
177 | // shell was also recently added, and several people (mainly Vladimir and Erik) | ||
178 | // have been working on it. There are a number of configurable things at the | ||
179 | // top of ash.c as well, so check those out if you want to tweak things. The | ||
180 | // Posix math support is currently disabled (that bit of code was horrible) but | ||
181 | // will be restored for the next BusyBox release. | ||
182 | //#define BB_FEATURE_ASH | ||
183 | // | 158 | // |
184 | // BusyBox will, by default, malloc space for its buffers. This costs code | 159 | // BusyBox will, by default, malloc space for its buffers. This costs code |
185 | // size for the call to xmalloc. You can use the following feature to have | 160 | // size for the call to xmalloc. You can use the following feature to have |
@@ -286,11 +261,11 @@ | |||
286 | #define BB_FEATURE_SORT_UNIQUE | 261 | #define BB_FEATURE_SORT_UNIQUE |
287 | // | 262 | // |
288 | // Enable command line editing in the shell. | 263 | // Enable command line editing in the shell. |
289 | // Only relevant if BB_SH is enabled. On by default. | 264 | // Only relevant if a shell is enabled. On by default. |
290 | #define BB_FEATURE_COMMAND_EDITING | 265 | #define BB_FEATURE_COMMAND_EDITING |
291 | // | 266 | // |
292 | // Enable tab completion in the shell. This is now working quite nicely. | 267 | // Enable tab completion in the shell. This is now working quite nicely. |
293 | // This feature adds a bit over 4k. Only relevant if BB_SH is enabled. | 268 | // This feature adds a bit over 4k. Only relevant if a shell is enabled. |
294 | #define BB_FEATURE_COMMAND_TAB_COMPLETION | 269 | #define BB_FEATURE_COMMAND_TAB_COMPLETION |
295 | // | 270 | // |
296 | // Attempts to match usernames in a ~-prefixed path | 271 | // Attempts to match usernames in a ~-prefixed path |
@@ -299,7 +274,7 @@ | |||
299 | //Allow the shell to invoke all the compiled in BusyBox applets as if they | 274 | //Allow the shell to invoke all the compiled in BusyBox applets as if they |
300 | //were shell builtins. Nice for staticly linking an emergency rescue shell, | 275 | //were shell builtins. Nice for staticly linking an emergency rescue shell, |
301 | //among other things. Off by default. | 276 | //among other things. Off by default. |
302 | // Only relevant if BB_SH is enabled. | 277 | // Only relevant if a shell is enabled. |
303 | //#define BB_FEATURE_SH_STANDALONE_SHELL | 278 | //#define BB_FEATURE_SH_STANDALONE_SHELL |
304 | // | 279 | // |
305 | //When this is enabled, busybox shell applets can be called using full path | 280 | //When this is enabled, busybox shell applets can be called using full path |
@@ -308,13 +283,13 @@ | |||
308 | //will use BusyBox cat even if /bin/cat exists on the filesystem and is _not_ | 283 | //will use BusyBox cat even if /bin/cat exists on the filesystem and is _not_ |
309 | //busybox. Some systems want this, others do not. Choose wisely. :-) This | 284 | //busybox. Some systems want this, others do not. Choose wisely. :-) This |
310 | //only has meaning when BB_FEATURE_SH_STANDALONE_SHELL is enabled. | 285 | //only has meaning when BB_FEATURE_SH_STANDALONE_SHELL is enabled. |
311 | // Only relevant if BB_SH is enabled. Off by default. | 286 | // Only relevant if a shell is enabled. Off by default. |
312 | //#define BB_FEATURE_SH_APPLETS_ALWAYS_WIN | 287 | //#define BB_FEATURE_SH_APPLETS_ALWAYS_WIN |
313 | // | 288 | // |
314 | // Uncomment this option for a fancy shell prompt that includes the | 289 | // Uncomment this option for a fancy shell prompt that includes the |
315 | // current username and hostname. On systems that don't have usernames | 290 | // current username and hostname. On systems that don't have usernames |
316 | // or hostnames, this can look hideous. | 291 | // or hostnames, this can look hideous. |
317 | // Only relevant if BB_SH is enabled. | 292 | // Only relevant if a shell is enabled. |
318 | //#define BB_FEATURE_SH_FANCY_PROMPT | 293 | //#define BB_FEATURE_SH_FANCY_PROMPT |
319 | // | 294 | // |
320 | //Turn on extra fbset options | 295 | //Turn on extra fbset options |
@@ -435,8 +410,8 @@ | |||
435 | #undef BB_KLOGD /* Uses daemon() */ | 410 | #undef BB_KLOGD /* Uses daemon() */ |
436 | #undef BB_UPDATE /* Uses daemon() */ | 411 | #undef BB_UPDATE /* Uses daemon() */ |
437 | #endif | 412 | #endif |
438 | #if defined BB_SH | 413 | #if defined BB_ASH || defined BB_HUSH || defined BB_LASH || defined BB_MSH |
439 | #if defined BB_FEATURE_COMMAND_EDITING | 414 | #if defined BB_FEATURE_COMMAND_EDITING |
440 | #define BB_CMDEDIT | 415 | #define BB_CMDEDIT |
441 | #else | 416 | #else |
442 | #undef BB_FEATURE_COMMAND_EDITING | 417 | #undef BB_FEATURE_COMMAND_EDITING |
@@ -494,3 +469,17 @@ | |||
494 | #define BB_LOGREAD | 469 | #define BB_LOGREAD |
495 | #endif | 470 | #endif |
496 | #endif | 471 | #endif |
472 | // | ||
473 | #if defined BB_ASH && defined BB_FEATURE_SH_IS_ASH | ||
474 | # define BB_SH | ||
475 | # define shell_main ash_main | ||
476 | #elif defined BB_HUSH && defined BB_FEATURE_SH_IS_HUSH | ||
477 | # define BB_SH | ||
478 | # define shell_main hush_main | ||
479 | #elif defined BB_LASH && defined BB_FEATURE_SH_IS_LASH | ||
480 | # define BB_SH | ||
481 | # define shell_main lash_main | ||
482 | #elif defined BB_MSH && defined BB_FEATURE_SH_IS_MSH | ||
483 | # define BB_SH | ||
484 | # define shell_main msh_main | ||
485 | #endif | ||