Moved some #ifdefs down below #include "busybox.h" where they belong.
[oweals/busybox.git] / Config.h.Hurd
1 /* 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 Config.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_CHGRP
18 #define BB_CHMOD
19 #define BB_CHOWN
20 #define BB_CHROOT
21 //#define BB_CHVT       /* not needed */
22 #define BB_CLEAR
23 #define BB_CP
24 #define BB_CUT
25 #define BB_DATE
26 #define BB_DC
27 #define BB_DD
28 //#define BB_DEALLOCVT  /* inot needed */
29 //#define BB_DF         /* different implementation */
30 #define BB_DIRNAME
31 //#define BB_DMESG      /* doesnt compile, different implementation  */
32 #define BB_DUTMP
33 #define BB_DU
34 //#define BB_DUMPKMAP   /* not needed */
35 #define BB_ECHO
36 #define BB_EXPR
37 //#define BB_FBSET      /* not needed, doesnt compile */
38 //#define BB_FDFLUSH    /* is this needed? */
39 #define BB_FIND
40 //#define BB_FREE       /* doesnt compile */
41 #define BB_FREERAMDISK  /* does hurd support ramdisks ? */
42 #define BB_FSCK_MINIX
43 #define BB_GETOPT
44 #define BB_GREP
45 #define BB_GUNZIP
46 #define BB_GZIP
47 #define BB_HALT
48 #define BB_HEAD
49 #define BB_HOSTID
50 #define BB_HOSTNAME
51 #define BB_ID
52 //#define BB_INIT       /* not needed?, doesnt compile */
53 //#define BB_INSMOD     /* not needed, doesnt compile */
54 #define BB_KILL
55 #define BB_KILLALL
56 #define BB_LENGTH
57 #define BB_LN
58 //#define BB_LOADACM    /* not needed, doesnt compile */
59 //#define BB_LOADFONT   /* not needed, doesnt compile */
60 //#define BB_LOADKMAP   /* not needed */
61 #define BB_LOGGER
62 #define BB_LOGNAME
63 #define BB_LS
64 //#define BB_LSMOD      /* not needed, doesnt compile */
65 //#define BB_MAKEDEVS   /* different implementation */
66 #define BB_MD5SUM
67 #define BB_MKDIR
68 #define BB_MKFIFO
69 #define BB_MKFS_MINIX
70 #define BB_MKNOD
71 //#define BB_MKSWAP     /* different impelementation (i think) */
72 #define BB_MKTEMP
73 #define BB_NC
74 #define BB_MORE
75 //#define BB_MOUNT      /* different implementation */
76 #define BB_MT
77 #define BB_MV
78 #define BB_NSLOOKUP
79 //#define BB_PING       /* doesnt compile, Hurd uses BSD style ip.h */
80 //#define BB_POWEROFF   /* different implementation i assume */
81 #define BB_PRINTF
82 //#define BB_PS         /* needs /proc */
83 #define BB_PWD
84 #define BB_RDATE
85 //#define BB_REBOOT     /* different implementation */
86 #define BB_RENICE
87 #define BB_RESET
88 #define BB_RM
89 #define BB_RMDIR
90 //#define BB_RMMOD      /* not needed, doesnt compile */
91 #define BB_SED
92 //#define BB_SETKEYCODES /* is this needed ? */
93 #define BB_SH
94 #define BB_SLEEP
95 #define BB_SORT
96 //#define BB_SWAPONOFF  /* different implementation, doesnt compile */
97 #define BB_SYNC
98 //#define BB_SYSLOGD    /* doesnt compile */
99 #define BB_TAIL
100 #define BB_TAR
101 #define BB_TEE
102 #define BB_TEST
103 #define BB_TELNET
104 #define BB_TOUCH
105 #define BB_TR
106 #define BB_TRUE_FALSE
107 #define BB_TTY
108 //#define BB_UPTIME     /* doesnt compile */
109 #define BB_USLEEP
110 #define BB_WC
111 #define BB_WGET
112 #define BB_WHICH
113 #define BB_WHOAMI
114 #define BB_UUENCODE
115 #define BB_UUDECODE
116 //#define BB_UMOUNT     /* different implementation */
117 #define BB_UNIQ
118 //#define BB_UNAME      /* doesnt compile */
119 //#define BB_UPDATE     /* doesnt compile */
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 // show verbose usage messages
151 #define BB_FEATURE_VERBOSE_USAGE
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 // Change ping implementation -- simplified, featureless, but really small.
175 #define BB_FEATURE_SIMPLE_PING
176 //
177 // Make init use a simplified /etc/inittab file (recommended).
178 #define BB_FEATURE_USE_INITTAB
179 //
180 //Enable init being called as /linuxrc
181 //#define BB_FEATURE_LINUXRC
182 //
183 //Have init enable core dumping for child processes (for debugging only) 
184 //#define BB_FEATURE_INIT_COREDUMPS
185 //
186 // Allow init to permenently chroot, and umount the old root fs
187 // just like an initrd does.  Requires a kernel patch by Werner Almesberger. 
188 // ftp://icaftp.epfl.ch/pub/people/almesber/misc/umount-root-*.tar.gz
189 //#define BB_FEATURE_INIT_CHROOT
190 //
191 //Make sure nothing is printed to the console on boot
192 #define BB_FEATURE_EXTRA_QUIET
193 //
194 // enable syslogd -R remotehost
195 #define BB_FEATURE_REMOTE_LOG
196 //
197 //Simple tail implementation (2.34k vs 3k for the full one).
198 //Both provide 'tail -f' support (only one file at a time.)
199 #define BB_FEATURE_SIMPLE_TAIL
200 //
201 // Enable support for loop devices in mount
202 //#define BB_FEATURE_MOUNT_LOOP
203 //
204 // Enable support for a real /etc/mtab file instead of /proc/mounts
205 //#define BB_FEATURE_MOUNT_MTAB_SUPPORT
206 //
207 // Enable support for mounting remote NFS volumes
208 //#define BB_FEATURE_NFSMOUNT
209 //
210 // Enable support forced filesystem unmounting 
211 // (i.e. in case of an unreachable NFS system).
212 #define BB_FEATURE_MOUNT_FORCE
213 //
214 // use -i (interactive) flag for rm
215 //#define BB_FEATURE_RM_INTERACTIVE
216 //
217 // Enable support for creation of tar files.
218 #define BB_FEATURE_TAR_CREATE
219 //
220 // Enable support for "--exclude" for excluding files
221 #define BB_FEATURE_TAR_EXCLUDE
222 //
223 //// Enable reverse sort
224 #define BB_FEATURE_SORT_REVERSE
225 //
226 // Enable command line editing in the shell
227 #define BB_FEATURE_SH_COMMAND_EDITING
228 //
229 //Allow the shell to invoke all the compiled in BusyBox commands as if they
230 //were shell builtins.  Nice for staticly linking an emergency rescue shell
231 //among other thing.
232 #define BB_FEATURE_SH_STANDALONE_SHELL
233 //
234 // Enable tab completion in the shell (not yet 
235 // working very well -- so don't turn this on)
236 //#define BB_FEATURE_SH_TAB_COMPLETION
237 //
238 //Turn on extra fbset options
239 //#define BB_FEATURE_FBSET_FANCY
240 //
241 //Turn on fbset readmode support
242 //#define BB_FEATURE_FBSET_READMODE
243 //
244 // You must enable one or both of these features
245 // Support installing modules from pre 2.1 kernels
246 //#define BB_FEATURE_INSMOD_OLD_KERNEL
247 // Support installing modules from kernel versions after 2.1.18
248 #define BB_FEATURE_INSMOD_NEW_KERNEL
249 //
250 // Support module version checking
251 //#define BB_FEATURE_INSMOD_VERSION_CHECKING
252 //
253 // Support for Minix filesystem, version 2
254 //#define BB_FEATURE_MINIX2
255 //
256 //
257 // Enable busybox --install [-s]
258 // to create links (or symlinks) for all the commands that are 
259 // compiled into the binary.  (needs /proc filesystem)
260 // #define BB_FEATURE_INSTALLER
261 //
262 // Clean up all memory before exiting -- usually not needed
263 // as the OS can clean up...  Don't enable this unless you
264 // have a really good reason for cleaning things up manually.
265 //#define BB_FEATURE_CLEAN_UP
266 //
267 // End of Features List
268 //
269 //
270 //
271 //
272 //
273 //
274 //---------------------------------------------------
275 // Nothing beyond this point should ever be touched by 
276 // mere mortals so leave this stuff alone.
277 //
278 #if defined BB_SH
279         #if defined BB_FEATURE_COMMAND_EDITING 
280                 #define BB_CMDEDIT
281         #else
282                 #undef BB_FEATURE_COMMAND_EDITING
283                 #undef BB_FEATURE_COMMAND_TAB_COMPLETION
284                 #undef BB_FEATURE_COMMAND_USERNAME_COMPLETION
285                 #define BB_FEATURE_SH_SIMPLE_PROMPT
286         #endif
287 #else
288         #undef BB_FEATURE_SH_APPLETS_ALWAYS_WIN
289         #undef BB_FEATURE_SH_STANDALONE_SHELL
290         #undef BB_FEATURE_SH_SIMPLE_PROMPT
291 #endif
292 //
293 #ifdef BB_KILLALL
294         #ifndef BB_KILL
295                 #define BB_KILL
296         #endif
297 #endif
298 //
299 #ifndef BB_INIT
300         #undef BB_FEATURE_LINUXRC
301 #endif
302 //
303 #if defined BB_MOUNT && defined BB_FEATURE_NFSMOUNT
304         #define BB_NFSMOUNT
305 #endif
306 //
307 #if defined BB_FEATURE_AUTOWIDTH
308         #ifndef BB_FEATURE_USE_TERMIOS
309                 #define BB_FEATURE_USE_TERMIOS
310         #endif
311 #endif
312 //
313 #if defined BB_INSMOD || defined BB_LSMOD
314         #if ! defined BB_FEATURE_NEW_MODULE_INTERFACE && ! defined BB_FEATURE_OLD_MODULE_INTERFACE
315                 #define BB_FEATURE_NEW_MODULE_INTERFACE
316         #endif
317 #endif
318 //
319 #ifdef BB_SYSLOGD
320         #if defined BB_FEATURE_IPC_SYSLOG
321                 #define BB_LOGREAD
322         #endif
323 #endif