blob: 10264d638090bb07563bd006051c8dc70d3256f9 [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//
261// Support module version checking
262//#define BB_FEATURE_INSMOD_VERSION_CHECKING
263//
264// Support for Minix filesystem, version 2
265//#define BB_FEATURE_MINIX2
266//
267//
268// Enable busybox --install [-s]
269// to create links (or symlinks) for all the commands that are
270// compiled into the binary. (needs /proc filesystem)
271#define BB_FEATURE_INSTALLER
272//
273// Enable a nifty progress meter in wget (adds just under 2k)
274#define BB_FEATURE_STATUSBAR
275//
276// Clean up all memory before exiting -- usually not needed
277// as the OS can clean up... Don't enable this unless you
278// have a really good reason for cleaning things up manually.
279//#define BB_FEATURE_CLEAN_UP
280//
281// End of Features List
282//
283//
284//
285//
286//
287//
288//---------------------------------------------------
289// Nothing beyond this point should ever be touched by
290// mere mortals so leave this stuff alone.
291//
292#ifdef BB_FEATURE_MOUNT_MTAB_SUPPORT
293#define BB_MTAB
294#endif
295//
296#if defined BB_FEATURE_SH_COMMAND_EDITING && defined BB_SH
297#define BB_CMDEDIT
298#endif
299//
300#ifdef BB_KILLALL
301#ifndef BB_KILL
302#define BB_KILL
303#endif
304#endif
305//
306#ifdef BB_FEATURE_LINUXRC
307#ifndef BB_INIT
308#define BB_INIT
309#endif
310#define BB_LINUXRC
311#endif
312//
313#ifdef BB_GZIP
314#ifndef BB_GUNZIP
315#define BB_GUNZIP
316#endif
317#endif
318//
319#if defined BB_MOUNT && defined BB_FEATURE_NFSMOUNT
320#define BB_NFSMOUNT
321#endif
322//
323#if defined BB_FEATURE_SH_COMMAND_EDITING
324#ifndef BB_FEATURE_USE_TERMIOS
325#define BB_FEATURE_USE_TERMIOS
326#endif
327#endif
328//
329#if defined BB_FEATURE_AUTOWIDTH
330#ifndef BB_FEATURE_USE_TERMIOS
331#define BB_FEATURE_USE_TERMIOS
332#endif
333#endif
334//
335#if defined BB_INSMOD
336#ifndef BB_FEATURE_INSMOD_OLD_KERNEL
337#define BB_FEATURE_INSMOD_NEW_KERNEL
338#endif
339#endif