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