aboutsummaryrefslogtreecommitdiff
path: root/Config.h
diff options
context:
space:
mode:
Diffstat (limited to 'Config.h')
-rw-r--r--Config.h73
1 files changed, 31 insertions, 42 deletions
diff --git a/Config.h b/Config.h
index 4523fbcab..831eb933a 100644
--- a/Config.h
+++ b/Config.h
@@ -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