1 /* 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.
5 //// This file is parsed by sed. You MUST use single line comments.
6 // i.e. //#define BB_BLAH
9 // BusyBox Applications
13 #define BB_CHMOD_CHOWN_CHGRP
32 #define BB_FREERAMDISK
79 #define BB_SETKEYCODES
91 // Don't bother turning BB_TELNET on. It doesn't work properly yet.
107 // End of Applications List
111 // ---------------------------------------------------------
112 // This is where feature definitions go. Generally speaking,
113 // turning this stuff off makes things a bit smaller (and less
117 // Turn this on to use Erik's very cool devps, devmtab,
118 // etc kernel drivers, thereby eliminating the need for
119 // the /proc filesystem and thereby saving lots and lots
120 // memory for more important things.
121 // You can't use this and USE_PROCFS at the same time...
122 // (BTW, I emailed Linus and this patch will not be going into the stock kernel)
123 //#define BB_FEATURE_USE_DEVPS_PATCH
125 // enable features that use the /proc filesystem (apps that
126 // break without this will tell you on compile)...
127 // You can't use this and BB_FEATURE_USE_DEVPS_PATCH
128 // at the same time...
129 #define BB_FEATURE_USE_PROCFS
131 // Enable full regular expressions. This adds about
132 // 4k. When this is off, things that would normally
133 // use regualr expressions (like grep) will just use
135 #define BB_FEATURE_FULL_REGULAR_EXPRESSIONS
137 // This compiles out everything but the most
138 // trivial --help usage information (i.e. reduces binary size)
139 //#define BB_FEATURE_TRIVIAL_HELP
141 // Use termios to manipulate the screen ('more' is prettier with this on)
142 #define BB_FEATURE_USE_TERMIOS
144 // calculate terminal & column widths (for more and ls)
145 #define BB_FEATURE_AUTOWIDTH
147 // show username/groupnames (bypasses libc6 NSS) for ls
148 #define BB_FEATURE_LS_USERNAME
150 // show file timestamps in ls
151 #define BB_FEATURE_LS_TIMESTAMPS
153 // enable ls -p and -F
154 #define BB_FEATURE_LS_FILETYPES
157 #define BB_FEATURE_LS_RECURSIVE
159 // Change ping implementation -- simplified, featureless, but really small.
160 //#define BB_SIMPLE_PING
162 // Make init use a simplified /etc/inittab file (recommended).
163 #define BB_FEATURE_USE_INITTAB
165 //Enable init being called as /linuxrc
166 //#define BB_FEATURE_LINUXRC
168 //Have init enable core dumping for child processes (for debugging only)
169 //#define BB_FEATURE_INIT_COREDUMPS
171 // Allow init to permenently chroot, and umount the old root fs
172 // just like an initrd does. Requires a kernel patch by Werner Almesberger.
173 // ftp://icaftp.epfl.ch/pub/people/almesber/misc/umount-root-*.tar.gz
174 //#define BB_FEATURE_INIT_CHROOT
176 //Make sure nothing is printed to the console on boot
177 #define BB_FEATURE_EXTRA_QUIET
179 //Simple tail implementation (2k vs 6k for the full one). Still
180 //provides 'tail -f' support -- but for only one file at a time.
181 #define BB_FEATURE_SIMPLE_TAIL
183 // Enable support for loop devices in mount
184 #define BB_FEATURE_MOUNT_LOOP
186 // Enable support for a real /etc/mtab file instead of /proc/mounts
187 //#define BB_FEATURE_MOUNT_MTAB_SUPPORT
189 // Enable support forced filesystem unmounting
190 // (i.e. in case of an unreachable NFS system).
191 #define BB_FEATURE_MOUNT_FORCE
193 // Enable support for mounting remote NFS volumes
194 // (This does not yet work with Linux 2.[34].x kernels)
195 //#define BB_FEATURE_NFSMOUNT
197 // Enable support for creation of tar files.
198 #define BB_FEATURE_TAR_CREATE
200 // Enable support for "--exclude" for excluding files
201 #define BB_FEATURE_TAR_EXCLUDE
203 //// Enable reverse sort
204 #define BB_FEATURE_SORT_REVERSE
206 // Enable command line editing in the shell
207 #define BB_FEATURE_SH_COMMAND_EDITING
209 //Allow the shell to invoke all the compiled in BusyBox commands as if they
210 //were shell builtins. Nice for staticly linking an emergency rescue shell
211 //amoung other thing.
212 #define BB_FEATURE_STANDALONE_SHELL
214 // Enable tab completion in the shell (not yet
215 // working very well -- so don't turn this on)
216 //#define BB_FEATURE_SH_TAB_COMPLETION
218 //Turn on extra fbset options
219 //#define BB_FEATURE_FBSET_FANCY
221 // You must enable one or both of these features
222 // Support installing modules from pre 2.1 kernels
223 //#define BB_FEATURE_INSMOD_OLD_KERNEL
224 // Support installing modules from kernel versions after 2.1.18
225 #define BB_FEATURE_INSMOD_NEW_KERNEL
227 // Support module version checking
228 //#define BB_FEATURE_INSMOD_VERSION_CHECKING
231 // End of Features List
238 //---------------------------------------------------
239 // Nothing beyond this point should ever be touched by
240 // mere mortals so leave this stuff alone.
242 #ifdef BB_FEATURE_MOUNT_MTAB_SUPPORT
246 #if defined BB_FEATURE_FULL_REGULAR_EXPRESSIONS && (defined BB_SED || defined BB_GREP )
250 #if defined BB_FEATURE_SH_COMMAND_EDITING && defined BB_SH
260 #ifdef BB_FEATURE_LINUXRC
273 #if defined BB_MOUNT && defined BB_FEATURE_NFSMOUNT
277 #if defined BB_FEATURE_SH_COMMAND_EDITING
278 #ifndef BB_FEATURE_USE_TERMIOS
279 #define BB_FEATURE_USE_TERMIOS
283 #if defined BB_INSMOD
284 #ifndef BB_FEATURE_INSMOD_OLD_KERNEL
285 #define BB_FEATURE_INSMOD_NEW_KERNEL