blob: fe4e10fdd311ae5c6d8d55b2676dd0c64cbd7b98 [file] [log] [blame]
Eric Andersene73fda82000-12-01 22:59:04 +00001/* vi: set sw=4 ts=4: */
2// This file defines the feature set to be compiled into busybox.
3// When you turn things off here, they won't be compiled in at all.
4//
5//// This file is parsed by sed. You MUST use single line comments.
6// i.e. //#define BB_BLAH
7//
8//
9// BusyBox Applications
10#define BB_AR
11#define BB_BASENAME
12#define BB_CAT
13#define BB_CHMOD_CHOWN_CHGRP
14#define BB_CHROOT
15#define BB_CHVT
16#define BB_CLEAR
17#define BB_CMP
18#define BB_CP_MV
19#define BB_CUT
20#define BB_DATE
21#define BB_DC
22#define BB_DD
23#define BB_DEALLOCVT
24#define BB_DF
25#define BB_DIRNAME
26#define BB_DMESG
27#define BB_DOS2UNIX
28#define BB_DUTMP
29#define BB_DU
30#define BB_DUMPKMAP
31#define BB_ECHO
32#define BB_EXPR
33#define BB_FBSET
34#define BB_FDFLUSH
35#define BB_FIND
36#define BB_FREE
37#define BB_FREERAMDISK
38#define BB_FSCK_MINIX
39#define BB_GETOPT
40#define BB_GREP
41#define BB_GUNZIP
42#define BB_GZIP
43#define BB_HALT
44#define BB_HEAD
45#define BB_HOSTID
46#define BB_HOSTNAME
47#define BB_ID
48#define BB_INIT
49#define BB_INSMOD
50#define BB_KILL
51#define BB_KILLALL
52#define BB_LENGTH
53#define BB_LN
54#define BB_LOADACM
55#define BB_LOADFONT
56#define BB_LOADKMAP
57#define BB_LOGGER
58#define BB_LOGNAME
59#define BB_LS
60#define BB_LSMOD
61#define BB_MAKEDEVS
62#define BB_MD5SUM
63#define BB_MKDIR
64#define BB_MKFIFO
65#define BB_MKFS_MINIX
66#define BB_MKNOD
67#define BB_MKSWAP
68#define BB_MKTEMP
69#define BB_NC
70#define BB_MORE
71#define BB_MOUNT
72#define BB_MT
73#define BB_NSLOOKUP
74#define BB_PING
75#define BB_POWEROFF
76#define BB_PRINTF
77#define BB_PS
78#define BB_PWD
79#define BB_RDATE
80#define BB_READLINK
81#define BB_REBOOT
82#define BB_RENICE
83#define BB_RESET
84#define BB_RM
85#define BB_RMDIR
86#define BB_RMMOD
87#define BB_RPMUNPACK
88#define BB_SED
89#define BB_SETKEYCODES
90#define BB_SH
91#define BB_SLEEP
92#define BB_SORT
93#define BB_SWAPONOFF
94#define BB_SYNC
95#define BB_SYSLOGD
96#define BB_TAIL
97#define BB_TAR
98#define BB_TEE
99#define BB_TEST
100#define BB_TELNET
101#define BB_TOUCH
102#define BB_TR
103#define BB_TRUE_FALSE
104#define BB_TTY
105#define BB_UPTIME
106#define BB_USLEEP
107#define BB_WC
108#define BB_WGET
109#define BB_WHICH
110#define BB_WHOAMI
111#define BB_UUENCODE
112#define BB_UUDECODE
113#define BB_UMOUNT
114#define BB_UNIQ
115#define BB_UNAME
116#define BB_UNIX2DOS
117#define BB_UPDATE
118#define BB_XARGS
119#define BB_YES
120// End of Applications List
121//
122//
123//
124// ---------------------------------------------------------
125// This is where feature definitions go. Generally speaking,
126// turning this stuff off makes things a bit smaller (and less
127// pretty/useful).
128//
129//
130//
131// Turn this on to use Erik's very cool devps, and devmtab kernel drivers,
132// thereby eliminating the need for the /proc filesystem and thereby saving
133// lots and lots memory for more important things. You can not use this and
134// USE_PROCFS at the same time... NOTE: If you enable this feature, you
135// _must_ have patched the kernel to include the devps patch that is included
136// in the busybox/kernel-patches directory. You will also need to create some
137// device special files in /dev on your embedded system:
138// mknod /dev/mtab c 10 22
139// mknod /dev/ps c 10 21
140// I emailed Linus and this patch will not be going into the stock kernel.
141//#define BB_FEATURE_USE_DEVPS_PATCH
142//
143// enable features that use the /proc filesystem (apps that
144// break without this will tell you on compile)...
145// You can't use this and BB_FEATURE_USE_DEVPS_PATCH
146// at the same time...
147#define BB_FEATURE_USE_PROCFS
148//
149// This compiles out everything but the most
150// trivial --help usage information (i.e. reduces binary size)
151//#define BB_FEATURE_TRIVIAL_HELP
152//
153// Use termios to manipulate the screen ('more' is prettier with this on)
154#define BB_FEATURE_USE_TERMIOS
155//
156// calculate terminal & column widths (for more and ls)
157#define BB_FEATURE_AUTOWIDTH
158//
159// show username/groupnames (bypasses libc6 NSS) for ls
160#define BB_FEATURE_LS_USERNAME
161//
162// show file timestamps in ls
163#define BB_FEATURE_LS_TIMESTAMPS
164//
165// enable ls -p and -F
166#define BB_FEATURE_LS_FILETYPES
167//
168// sort the file names (still a bit buggy)
169#define BB_FEATURE_LS_SORTFILES
170//
171// enable ls -R
172#define BB_FEATURE_LS_RECURSIVE
173//
174// enable ls -L
175#define BB_FEATURE_LS_FOLLOWLINKS
176//
177// Change ping implementation -- simplified, featureless, but really small.
178//#define BB_FEATURE_SIMPLE_PING
179//
180// Make init use a simplified /etc/inittab file (recommended).
181//#define BB_FEATURE_USE_INITTAB
182//
183//Enable init being called as /linuxrc
184#define BB_FEATURE_LINUXRC
185//
186//Have init enable core dumping for child processes (for debugging only)
187//#define BB_FEATURE_INIT_COREDUMPS
188//
189// Allow init to permenently chroot, and umount the old root fs
190// just like an initrd does. Requires a kernel patch by Werner Almesberger.
191// ftp://icaftp.epfl.ch/pub/people/almesber/misc/umount-root-*.tar.gz
192//#define BB_FEATURE_INIT_CHROOT
193//
194//Make sure nothing is printed to the console on boot
195//#define BB_FEATURE_EXTRA_QUIET
196//
197//Should syslogd also provide klogd support?
198#define BB_FEATURE_KLOGD
199//
200// enable syslogd -R remotehost
201#define BB_FEATURE_REMOTE_LOG
202//
203//Simple tail implementation (2.34k vs 3k for the full one).
204//Both provide 'tail -f' support (only one file at a time.)
205#define BB_FEATURE_SIMPLE_TAIL
206//
207// Enable support for loop devices in mount
208#define BB_FEATURE_MOUNT_LOOP
209//
210// Enable support for a real /etc/mtab file instead of /proc/mounts
211//#define BB_FEATURE_MOUNT_MTAB_SUPPORT
212//
213// Enable support for mounting remote NFS volumes
214#define BB_FEATURE_NFSMOUNT
215//
216// Enable support forced filesystem unmounting
217// (i.e. in case of an unreachable NFS system).
218#define BB_FEATURE_MOUNT_FORCE
219//
220// Enable support for creation of tar files.
221#define BB_FEATURE_TAR_CREATE
222//
223// Enable support for "--exclude" for excluding files
224#define BB_FEATURE_TAR_EXCLUDE
225//
226//// Enable reverse sort
227#define BB_FEATURE_SORT_REVERSE
228//
229// Enable command line editing in the shell
230#define BB_FEATURE_SH_COMMAND_EDITING
231//
232//Allow the shell to invoke all the compiled in BusyBox commands as if they
233//were shell builtins. Nice for staticly linking an emergency rescue shell
234//among other thing.
235#define BB_FEATURE_SH_STANDALONE_SHELL
236//
237//When this is enabled, busybox shell builtins can be called using full path
238//names. This causes builtins (i.e. every single busybox command) to override
239//real commands on the filesystem. For example, if you run run /bin/cat, it
240//will use BusyBox cat even if /bin/cat exists on the filesystem and is _not_
241//busybox. Some systems want this, others do not. Choose wisely. :-) This
242//only has meaning when BB_FEATURE_SH_STANDALONE_SHELL is enabled.
243#define BB_FEATURE_SH_BUILTINS_ALWAYS_WIN
244//
245// Enable tab completion in the shell (not yet
246// working very well -- so don't turn this on)
247//#define BB_FEATURE_SH_TAB_COMPLETION
248//
249//Turn on extra fbset options
250//#define BB_FEATURE_FBSET_FANCY
251//
252//Turn on fbset readmode support
253//#define BB_FEATURE_FBSET_READMODE
254//
255// You must enable one or both of these features
256// Support installing modules from pre 2.1 kernels
257//#define BB_FEATURE_INSMOD_OLD_KERNEL
258// Support installing modules from kernel versions after 2.1.18
259#define BB_FEATURE_INSMOD_NEW_KERNEL
260//
Eric Andersenc8eedd52000-12-10 04:43:49 +0000261// You must enable one or both of these features
262// Support modules status from pre 2.1 kernels
263//#define BB_FEATURE_LSMOD_OLD_KERNEL
264// Support modules status from kernel versions after 2.1.18
265#define BB_FEATURE_LSMOD_NEW_KERNEL
266//
Eric Andersene73fda82000-12-01 22:59:04 +0000267// Support module version checking
268//#define BB_FEATURE_INSMOD_VERSION_CHECKING
269//
270// Support for Minix filesystem, version 2
271//#define BB_FEATURE_MINIX2
272//
Eric Andersene73fda82000-12-01 22:59:04 +0000273// Enable busybox --install [-s]
274// to create links (or symlinks) for all the commands that are
275// compiled into the binary. (needs /proc filesystem)
276#define BB_FEATURE_INSTALLER
277//
278// Enable a nifty progress meter in wget (adds just under 2k)
279#define BB_FEATURE_STATUSBAR
280//
281// Clean up all memory before exiting -- usually not needed
282// as the OS can clean up... Don't enable this unless you
283// have a really good reason for cleaning things up manually.
284//#define BB_FEATURE_CLEAN_UP
285//
286// End of Features List
287//
288//
289//
290//
291//
292//
293//---------------------------------------------------
294// Nothing beyond this point should ever be touched by
295// mere mortals so leave this stuff alone.
296//
297#ifdef BB_FEATURE_MOUNT_MTAB_SUPPORT
298#define BB_MTAB
299#endif
300//
301#if defined BB_FEATURE_SH_COMMAND_EDITING && defined BB_SH
302#define BB_CMDEDIT
303#endif
304//
305#ifdef BB_KILLALL
306#ifndef BB_KILL
307#define BB_KILL
308#endif
309#endif
310//
311#ifdef BB_FEATURE_LINUXRC
312#ifndef BB_INIT
313#define BB_INIT
314#endif
315#define BB_LINUXRC
316#endif
317//
318#ifdef BB_GZIP
319#ifndef BB_GUNZIP
320#define BB_GUNZIP
321#endif
322#endif
323//
324#if defined BB_MOUNT && defined BB_FEATURE_NFSMOUNT
325#define BB_NFSMOUNT
326#endif
327//
328#if defined BB_FEATURE_SH_COMMAND_EDITING
329#ifndef BB_FEATURE_USE_TERMIOS
330#define BB_FEATURE_USE_TERMIOS
331#endif
332#endif
333//
334#if defined BB_FEATURE_AUTOWIDTH
335#ifndef BB_FEATURE_USE_TERMIOS
336#define BB_FEATURE_USE_TERMIOS
337#endif
338#endif
339//
340#if defined BB_INSMOD
341#ifndef BB_FEATURE_INSMOD_OLD_KERNEL
342#define BB_FEATURE_INSMOD_NEW_KERNEL
343#endif
344#endif