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