blob: 2f2d5f21a68706abfaaa8bfdb0720cf6efa4832a [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
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// You may no -o nolock if no local portmapper is running.
215#define BB_FEATURE_NFSMOUNT
216//
217// Enable support forced filesystem unmounting
218// (i.e. in case of an unreachable NFS system).
219#define BB_FEATURE_MOUNT_FORCE
220//
221// Enable support for creation of tar files.
222//#define BB_FEATURE_TAR_CREATE
223//
224// Enable support for "--exclude" for excluding files
225//#define BB_FEATURE_TAR_EXCLUDE
226//
227//// Enable reverse sort
228//#define BB_FEATURE_SORT_REVERSE
229//
230// Enable command line editing in the shell
231//#define BB_FEATURE_SH_COMMAND_EDITING
232//
233//Allow the shell to invoke all the compiled in BusyBox commands as if they
234//were shell builtins. Nice for staticly linking an emergency rescue shell
235//among other thing.
236//#define BB_FEATURE_SH_STANDALONE_SHELL
237//
238//When this is enabled, busybox shell builtins can be called using full path
239//names. This causes builtins (i.e. every single busybox command) to override
240//real commands on the filesystem. For example, if you run run /bin/cat, it
241//will use BusyBox cat even if /bin/cat exists on the filesystem and is _not_
242//busybox. Some systems want this, others do not. Choose wisely. :-) This
243//only has meaning when BB_FEATURE_SH_STANDALONE_SHELL is enabled.
244//#define BB_FEATURE_SH_BUILTINS_ALWAYS_WIN
245//
246// Enable tab completion in the shell (not yet
247// working very well -- so don't turn this on)
248//#define BB_FEATURE_SH_TAB_COMPLETION
249//
250//Turn on extra fbset options
251//#define BB_FEATURE_FBSET_FANCY
252//
253//Turn on fbset readmode support
254//#define BB_FEATURE_FBSET_READMODE
255//
256// You must enable one or both of these features
257// Support installing modules from pre 2.1 kernels
258//#define BB_FEATURE_INSMOD_OLD_KERNEL
259// Support installing modules from kernel versions after 2.1.18
Eric Andersenc8eedd52000-12-10 04:43:49 +0000260#define BB_FEATURE_INSMOD_NEW_KERNEL
261//
262// You must enable one or both of these features
263// Support modules status from pre 2.1 kernels
264//#define BB_FEATURE_LSMOD_OLD_KERNEL
265// Support modules status from kernel versions after 2.1.18
266#define BB_FEATURE_LSMOD_NEW_KERNEL
Eric Andersene73fda82000-12-01 22:59:04 +0000267//
268// Support module version checking
269//#define BB_FEATURE_INSMOD_VERSION_CHECKING
270//
271// Support for Minix filesystem, version 2
272//#define BB_FEATURE_MINIX2
273//
Eric Andersene73fda82000-12-01 22:59:04 +0000274// Enable busybox --install [-s]
275// to create links (or symlinks) for all the commands that are
276// compiled into the binary. (needs /proc filesystem)
277//#define BB_FEATURE_INSTALLER
278//
279// Enable a nifty progress meter in wget (adds just under 2k)
280#define BB_FEATURE_STATUSBAR
281//
282// Clean up all memory before exiting -- usually not needed
283// as the OS can clean up... Don't enable this unless you
284// have a really good reason for cleaning things up manually.
285//#define BB_FEATURE_CLEAN_UP
286//
287// End of Features List
288//
289//
290//
291//
292//
293//
294//---------------------------------------------------
295// Nothing beyond this point should ever be touched by
296// mere mortals so leave this stuff alone.
297//
298#ifdef BB_FEATURE_MOUNT_MTAB_SUPPORT
299#define BB_MTAB
300#endif
301//
302#if defined BB_FEATURE_SH_COMMAND_EDITING && defined BB_SH
303#define BB_CMDEDIT
304#endif
305//
306#ifdef BB_KILLALL
307#ifndef BB_KILL
308#define BB_KILL
309#endif
310#endif
311//
312#ifdef BB_FEATURE_LINUXRC
313#ifndef BB_INIT
314#define BB_INIT
315#endif
316#define BB_LINUXRC
317#endif
318//
319#ifdef BB_GZIP
320#ifndef BB_GUNZIP
321#define BB_GUNZIP
322#endif
323#endif
324//
325#if defined BB_MOUNT && defined BB_FEATURE_NFSMOUNT
326#define BB_NFSMOUNT
327#endif
328//
329#if defined BB_FEATURE_SH_COMMAND_EDITING
330#ifndef BB_FEATURE_USE_TERMIOS
331#define BB_FEATURE_USE_TERMIOS
332#endif
333#endif
334//
335#if defined BB_FEATURE_AUTOWIDTH
336#ifndef BB_FEATURE_USE_TERMIOS
337#define BB_FEATURE_USE_TERMIOS
338#endif
339#endif
340//
341#if defined BB_INSMOD
342#ifndef BB_FEATURE_INSMOD_OLD_KERNEL
343#define BB_FEATURE_INSMOD_NEW_KERNEL
344#endif
345#endif