| # |
| # For a description of the syntax of this configuration file, |
| # see scripts/kbuild/config-language.txt. |
| # |
| |
| mainmenu "BusyBox Configuration" |
| |
| config HAVE_DOT_CONFIG |
| bool |
| default y |
| |
| menu "Busybox Settings" |
| |
| menu "General Configuration" |
| |
| config DESKTOP |
| bool "Enable options for full-blown desktop systems" |
| default y |
| help |
| Enable options and features which are not essential. |
| Select this only if you plan to use busybox on full-blown |
| desktop machine with common Linux distro, not on an embedded box. |
| |
| config EXTRA_COMPAT |
| bool "Provide compatible behavior for rare corner cases (bigger code)" |
| default n |
| help |
| This option makes grep, sed etc handle rare corner cases |
| (embedded NUL bytes and such). This makes code bigger and uses |
| some GNU extensions in libc. You probably only need this option |
| if you plan to run busybox on desktop. |
| |
| config INCLUDE_SUSv2 |
| bool "Enable obsolete features removed before SUSv3" |
| default y |
| help |
| This option will enable backwards compatibility with SuSv2, |
| specifically, old-style numeric options ('command -1 <file>') |
| will be supported in head, tail, and fold. (Note: should |
| affect renice too.) |
| |
| config USE_PORTABLE_CODE |
| bool "Avoid using GCC-specific code constructs" |
| default n |
| help |
| Use this option if you are trying to compile busybox with |
| compiler other than gcc. |
| If you do use gcc, this option may needlessly increase code size. |
| |
| config PLATFORM_LINUX |
| bool "Enable Linux-specific applets and features" |
| default y |
| help |
| For the most part, busybox requires only POSIX compatibility |
| from the target system, but some applets and features use |
| Linux-specific interfaces. |
| |
| Answering 'N' here will disable such applets and hide the |
| corresponding configuration options. |
| |
| choice |
| prompt "Buffer allocation policy" |
| default FEATURE_BUFFERS_USE_MALLOC |
| help |
| There are 3 ways BusyBox can handle buffer allocations: |
| - Use malloc. This costs code size for the call to xmalloc. |
| - Put them on stack. For some very small machines with limited stack |
| space, this can be deadly. For most folks, this works just fine. |
| - Put them in BSS. This works beautifully for computers with a real |
| MMU (and OS support), but wastes runtime RAM for uCLinux. This |
| behavior was the only one available for BusyBox versions 0.48 and |
| earlier. |
| |
| config FEATURE_BUFFERS_USE_MALLOC |
| bool "Allocate with Malloc" |
| |
| config FEATURE_BUFFERS_GO_ON_STACK |
| bool "Allocate on the Stack" |
| |
| config FEATURE_BUFFERS_GO_IN_BSS |
| bool "Allocate in the .bss section" |
| |
| endchoice |
| |
| config SHOW_USAGE |
| bool "Show applet usage messages" |
| default y |
| help |
| Enabling this option, BusyBox applets will show terse help messages |
| when invoked with wrong arguments. |
| If you do not want to show any (helpful) usage message when |
| issuing wrong command syntax, you can say 'N' here, |
| saving approximately 7k. |
| |
| config FEATURE_VERBOSE_USAGE |
| bool "Show verbose applet usage messages" |
| default y |
| depends on SHOW_USAGE |
| help |
| All BusyBox applets will show verbose help messages when |
| busybox is invoked with --help. This will add a lot of text to the |
| busybox binary. In the default configuration, this will add about |
| 13k, but it can add much more depending on your configuration. |
| |
| config FEATURE_COMPRESS_USAGE |
| bool "Store applet usage messages in compressed form" |
| default y |
| depends on SHOW_USAGE |
| help |
| Store usage messages in .bz compressed form, uncompress them |
| on-the-fly when <applet> --help is called. |
| |
| If you have a really tiny busybox with few applets enabled (and |
| bunzip2 isn't one of them), the overhead of the decompressor might |
| be noticeable. Also, if you run executables directly from ROM |
| and have very little memory, this might not be a win. Otherwise, |
| you probably want this. |
| |
| config FEATURE_INSTALLER |
| bool "Support --install [-s] to install applet links at runtime" |
| default y |
| help |
| Enable 'busybox --install [-s]' support. This will allow you to use |
| busybox at runtime to create hard links or symlinks for all the |
| applets that are compiled into busybox. |
| |
| config INSTALL_NO_USR |
| bool "Don't use /usr" |
| default n |
| help |
| Disable use of /usr. busybox --install and "make install" |
| will install applets only to /bin and /sbin, |
| never to /usr/bin or /usr/sbin. |
| |
| config LOCALE_SUPPORT |
| bool "Enable locale support (system needs locale for this to work)" |
| default n |
| help |
| Enable this if your system has locale support and you would like |
| busybox to support locale settings. |
| |
| config UNICODE_SUPPORT |
| bool "Support Unicode" |
| default y |
| help |
| This makes various applets aware that one byte is not |
| one character on screen. |
| |
| Busybox aims to eventually work correctly with Unicode displays. |
| Any older encodings are not guaranteed to work. |
| Probably by the time when busybox will be fully Unicode-clean, |
| other encodings will be mainly of historic interest. |
| |
| config UNICODE_USING_LOCALE |
| bool "Use libc routines for Unicode (else uses internal ones)" |
| default n |
| depends on UNICODE_SUPPORT && LOCALE_SUPPORT |
| help |
| With this option on, Unicode support is implemented using libc |
| routines. Otherwise, internal implementation is used. |
| Internal implementation is smaller. |
| |
| config FEATURE_CHECK_UNICODE_IN_ENV |
| bool "Check $LC_ALL, $LC_CTYPE and $LANG environment variables" |
| default n |
| depends on UNICODE_SUPPORT && !UNICODE_USING_LOCALE |
| help |
| With this option on, Unicode support is activated |
| only if locale-related variables have the value of the form |
| "xxxx.utf8" |
| |
| Otherwise, Unicode support will be always enabled and active. |
| |
| config SUBST_WCHAR |
| int "Character code to substitute unprintable characters with" |
| depends on UNICODE_SUPPORT |
| default 63 |
| help |
| Typical values are 63 for '?' (works with any output device), |
| 30 for ASCII substitute control code, |
| 65533 (0xfffd) for Unicode replacement character. |
| |
| config LAST_SUPPORTED_WCHAR |
| int "Range of supported Unicode characters" |
| depends on UNICODE_SUPPORT |
| default 767 |
| help |
| Any character with Unicode value bigger than this is assumed |
| to be non-printable on output device. Many applets replace |
| such chars with substitution character. |
| |
| The idea is that many valid printable Unicode chars are |
| nevertheless are not displayed correctly. Think about |
| combining charachers, double-wide hieroglyphs, obscure |
| characters in dozens of ancient scripts... |
| Many terminals, terminal emulators, xterms etc will fail |
| to handle them correctly. Choose the smallest value |
| which suits your needs. |
| |
| Typical values are: |
| 126 - ASCII only |
| 767 (0x2ff) - there are no combining chars in [0..767] range |
| (the range includes Latin 1, Latin Ext. A and B), |
| code is ~700 bytes smaller for this case. |
| 4351 (0x10ff) - there are no double-wide chars in [0..4351] range, |
| code is ~300 bytes smaller for this case. |
| 12799 (0x31ff) - nearly all non-ideographic characters are |
| available in [0..12799] range, including |
| East Asian scripts like katakana, hiragana, hangul, |
| bopomofo... |
| 0 - off, any valid printable Unicode character will be printed. |
| |
| config UNICODE_COMBINING_WCHARS |
| bool "Allow zero-width Unicode characters on output" |
| default n |
| depends on UNICODE_SUPPORT |
| help |
| With this option off, any Unicode char with width of 0 |
| is substituted on output. |
| |
| config UNICODE_WIDE_WCHARS |
| bool "Allow wide Unicode characters on output" |
| default n |
| depends on UNICODE_SUPPORT |
| help |
| With this option off, any Unicode char with width > 1 |
| is substituted on output. |
| |
| config UNICODE_BIDI_SUPPORT |
| bool "Bidirectional character-aware line input" |
| default n |
| depends on UNICODE_SUPPORT && !UNICODE_USING_LOCALE |
| help |
| With this option on, right-to-left Unicode characters |
| are treated differently on input (e.g. cursor movement). |
| |
| config UNICODE_NEUTRAL_TABLE |
| bool "In bidi input, support non-ASCII neutral chars too" |
| default n |
| depends on UNICODE_BIDI_SUPPORT |
| help |
| In most cases it's enough to treat only ASCII non-letters |
| (i.e. punctuation, numbers and space) as characters |
| with neutral directionality. |
| With this option on, more extensive (and bigger) table |
| of neutral chars will be used. |
| |
| config UNICODE_PRESERVE_BROKEN |
| bool "Make it possible to enter sequences of chars which are not Unicode" |
| default n |
| depends on UNICODE_SUPPORT |
| help |
| With this option on, on line-editing input (such as used by shells) |
| invalid UTF-8 bytes are not substituted with the selected |
| substitution character. |
| For example, this means that entering 'l', 's', ' ', 0xff, [Enter] |
| at shell prompt will list file named 0xff (single char name |
| with char value 255), not file named '?'. |
| |
| config PAM |
| bool "Support for PAM (Pluggable Authentication Modules)" |
| default n |
| help |
| Use PAM in some busybox applets (currently login and httpd) instead |
| of direct access to password database. |
| |
| config FEATURE_USE_SENDFILE |
| bool "Use sendfile system call" |
| default y |
| select PLATFORM_LINUX |
| help |
| When enabled, busybox will use the kernel sendfile() function |
| instead of read/write loops to copy data between file descriptors |
| (for example, cp command does this a lot). |
| If sendfile() doesn't work, copying code falls back to read/write |
| loop. sendfile() was originally implemented for faster I/O |
| from files to sockets, but since Linux 2.6.33 it was extended |
| to work for many more file types. |
| |
| config LONG_OPTS |
| bool "Support for --long-options" |
| default y |
| help |
| Enable this if you want busybox applets to use the gnu --long-option |
| style, in addition to single character -a -b -c style options. |
| |
| config FEATURE_DEVPTS |
| bool "Use the devpts filesystem for Unix98 PTYs" |
| default y |
| help |
| Enable if you want BusyBox to use Unix98 PTY support. If enabled, |
| busybox will use /dev/ptmx for the master side of the pseudoterminal |
| and /dev/pts/<number> for the slave side. Otherwise, BSD style |
| /dev/ttyp<number> will be used. To use this option, you should have |
| devpts mounted. |
| |
| config FEATURE_CLEAN_UP |
| bool "Clean up all memory before exiting (usually not needed)" |
| default n |
| help |
| As a size optimization, busybox normally exits without explicitly |
| freeing dynamically allocated memory or closing files. This saves |
| space since the OS will clean up for us, but it can confuse debuggers |
| like valgrind, which report tons of memory and resource leaks. |
| |
| Don't enable this unless you have a really good reason to clean |
| things up manually. |
| |
| config FEATURE_UTMP |
| bool "Support utmp file" |
| default y |
| help |
| The file /var/run/utmp is used to track who is currently logged in. |
| With this option on, certain applets (getty, login, telnetd etc) |
| will create and delete entries there. |
| "who" applet requires this option. |
| |
| config FEATURE_WTMP |
| bool "Support wtmp file" |
| default y |
| depends on FEATURE_UTMP |
| help |
| The file /var/run/wtmp is used to track when users have logged into |
| and logged out of the system. |
| With this option on, certain applets (getty, login, telnetd etc) |
| will append new entries there. |
| "last" applet requires this option. |
| |
| config FEATURE_PIDFILE |
| bool "Support writing pidfiles" |
| default y |
| help |
| This option makes some applets (e.g. crond, syslogd, inetd) write |
| a pidfile at the configured PID_FILE_PATH. It has no effect |
| on applets which require pidfiles to run. |
| |
| config PID_FILE_PATH |
| string "Path to directory for pidfile" |
| default "/var/run" |
| depends on FEATURE_PIDFILE |
| help |
| This is the default path where pidfiles are created. Applets which |
| allow you to set the pidfile path on the command line will override |
| this value. The option has no effect on applets that require you to |
| specify a pidfile path. |
| |
| config FEATURE_SUID |
| bool "Support for SUID/SGID handling" |
| default y |
| help |
| With this option you can install the busybox binary belonging |
| to root with the suid bit set, enabling some applets to perform |
| root-level operations even when run by ordinary users |
| (for example, mounting of user mounts in fstab needs this). |
| |
| Busybox will automatically drop privileges for applets |
| that don't need root access. |
| |
| If you are really paranoid and don't want to do this, build two |
| busybox binaries with different applets in them (and the appropriate |
| symlinks pointing to each binary), and only set the suid bit on the |
| one that needs it. |
| |
| The applets which require root rights (need suid bit or |
| to be run by root) and will refuse to execute otherwise: |
| crontab, login, passwd, su, vlock, wall. |
| |
| The applets which will use root rights if they have them |
| (via suid bit, or because run by root), but would try to work |
| without root right nevertheless: |
| findfs, ping[6], traceroute[6], mount. |
| |
| Note that if you DONT select this option, but DO make busybox |
| suid root, ALL applets will run under root, which is a huge |
| security hole (think "cp /some/file /etc/passwd"). |
| |
| config FEATURE_SUID_CONFIG |
| bool "Runtime SUID/SGID configuration via /etc/busybox.conf" |
| default y |
| depends on FEATURE_SUID |
| help |
| Allow the SUID / SGID state of an applet to be determined at runtime |
| by checking /etc/busybox.conf. (This is sort of a poor man's sudo.) |
| The format of this file is as follows: |
| |
| APPLET = [Ssx-][Ssx-][x-] [USER.GROUP] |
| |
| s: USER or GROUP is allowed to execute APPLET. |
| APPLET will run under USER or GROUP |
| (reagardless of who's running it). |
| S: USER or GROUP is NOT allowed to execute APPLET. |
| APPLET will run under USER or GROUP. |
| This option is not very sensical. |
| x: USER/GROUP/others are allowed to execute APPLET. |
| No UID/GID change will be done when it is run. |
| -: USER/GROUP/others are not allowed to execute APPLET. |
| |
| An example might help: |
| |
| [SUID] |
| su = ssx root.0 # applet su can be run by anyone and runs with |
| # euid=0/egid=0 |
| su = ssx # exactly the same |
| |
| mount = sx- root.disk # applet mount can be run by root and members |
| # of group disk (but not anyone else) |
| # and runs with euid=0 (egid is not changed) |
| |
| cp = --- # disable applet cp for everyone |
| |
| The file has to be owned by user root, group root and has to be |
| writeable only by root: |
| (chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf) |
| The busybox executable has to be owned by user root, group |
| root and has to be setuid root for this to work: |
| (chown 0.0 /bin/busybox; chmod 4755 /bin/busybox) |
| |
| Robert 'sandman' Griebl has more information here: |
| <url: http://www.softforge.de/bb/suid.html >. |
| |
| config FEATURE_SUID_CONFIG_QUIET |
| bool "Suppress warning message if /etc/busybox.conf is not readable" |
| default y |
| depends on FEATURE_SUID_CONFIG |
| help |
| /etc/busybox.conf should be readable by the user needing the SUID, |
| check this option to avoid users to be notified about missing |
| permissions. |
| |
| config SELINUX |
| bool "Support NSA Security Enhanced Linux" |
| default n |
| select PLATFORM_LINUX |
| help |
| Enable support for SELinux in applets ls, ps, and id. Also provide |
| the option of compiling in SELinux applets. |
| |
| If you do not have a complete SELinux userland installed, this stuff |
| will not compile. Specifially, libselinux 1.28 or better is |
| directly required by busybox. If the installation is located in a |
| non-standard directory, provide it by invoking make as follows: |
| CFLAGS=-I<libselinux-include-path> \ |
| LDFLAGS=-L<libselinux-lib-path> \ |
| make |
| |
| Most people will leave this set to 'N'. |
| |
| config FEATURE_PREFER_APPLETS |
| bool "exec prefers applets" |
| default n |
| help |
| This is an experimental option which directs applets about to |
| call 'exec' to try and find an applicable busybox applet before |
| searching the PATH. This is typically done by exec'ing |
| /proc/self/exe. |
| This may affect shell, find -exec, xargs and similar applets. |
| They will use applets even if /bin/<applet> -> busybox link |
| is missing (or is not a link to busybox). However, this causes |
| problems in chroot jails without mounted /proc and with ps/top |
| (command name can be shown as 'exe' for applets started this way). |
| |
| config BUSYBOX_EXEC_PATH |
| string "Path to BusyBox executable" |
| default "/proc/self/exe" |
| help |
| When Busybox applets need to run other busybox applets, BusyBox |
| sometimes needs to exec() itself. When the /proc filesystem is |
| mounted, /proc/self/exe always points to the currently running |
| executable. If you haven't got /proc, set this to wherever you |
| want to run BusyBox from. |
| |
| # These are auto-selected by other options |
| |
| config FEATURE_SYSLOG |
| bool #No description makes it a hidden option |
| default n |
| #help |
| # This option is auto-selected when you select any applet which may |
| # send its output to syslog. You do not need to select it manually. |
| |
| config FEATURE_HAVE_RPC |
| bool #No description makes it a hidden option |
| default n |
| #help |
| # This is automatically selected if any of enabled applets need it. |
| # You do not need to select it manually. |
| |
| endmenu |
| |
| menu 'Build Options' |
| |
| config STATIC |
| bool "Build BusyBox as a static binary (no shared libs)" |
| default n |
| help |
| If you want to build a static BusyBox binary, which does not |
| use or require any shared libraries, then enable this option. |
| This can cause BusyBox to be considerably larger, so you should |
| leave this option false unless you have a good reason (i.e. |
| your target platform does not support shared libraries, or |
| you are building an initrd which doesn't need anything but |
| BusyBox, etc). |
| |
| Most people will leave this set to 'N'. |
| |
| config PIE |
| bool "Build BusyBox as a position independent executable" |
| default n |
| depends on !STATIC |
| help |
| Hardened code option. PIE binaries are loaded at a different |
| address at each invocation. This has some overhead, |
| particularly on x86-32 which is short on registers. |
| |
| Most people will leave this set to 'N'. |
| |
| config NOMMU |
| bool "Force NOMMU build" |
| default n |
| help |
| Busybox tries to detect whether architecture it is being |
| built against supports MMU or not. If this detection fails, |
| or if you want to build NOMMU version of busybox for testing, |
| you may force NOMMU build here. |
| |
| Most people will leave this set to 'N'. |
| |
| # PIE can be made to work with BUILD_LIBBUSYBOX, but currently |
| # build system does not support that |
| config BUILD_LIBBUSYBOX |
| bool "Build shared libbusybox" |
| default n |
| depends on !FEATURE_PREFER_APPLETS && !PIE && !STATIC |
| help |
| Build a shared library libbusybox.so.N.N.N which contains all |
| busybox code. |
| |
| This feature allows every applet to be built as a tiny |
| separate executable. Enabling it for "one big busybox binary" |
| approach serves no purpose and increases code size. |
| You should almost certainly say "no" to this. |
| |
| ### config FEATURE_FULL_LIBBUSYBOX |
| ### bool "Feature-complete libbusybox" |
| ### default n if !FEATURE_SHARED_BUSYBOX |
| ### depends on BUILD_LIBBUSYBOX |
| ### help |
| ### Build a libbusybox with the complete feature-set, disregarding |
| ### the actually selected config. |
| ### |
| ### Normally, libbusybox will only contain the features which are |
| ### used by busybox itself. If you plan to write a separate |
| ### standalone application which uses libbusybox say 'Y'. |
| ### |
| ### Note: libbusybox is GPL, not LGPL, and exports no stable API that |
| ### might act as a copyright barrier. We can and will modify the |
| ### exported function set between releases (even minor version number |
| ### changes), and happily break out-of-tree features. |
| ### |
| ### Say 'N' if in doubt. |
| |
| config FEATURE_INDIVIDUAL |
| bool "Produce a binary for each applet, linked against libbusybox" |
| default y |
| depends on BUILD_LIBBUSYBOX |
| help |
| If your CPU architecture doesn't allow for sharing text/rodata |
| sections of running binaries, but allows for runtime dynamic |
| libraries, this option will allow you to reduce memory footprint |
| when you have many different applets running at once. |
| |
| If your CPU architecture allows for sharing text/rodata, |
| having single binary is more optimal. |
| |
| Each applet will be a tiny program, dynamically linked |
| against libbusybox.so.N.N.N. |
| |
| You need to have a working dynamic linker. |
| |
| config FEATURE_SHARED_BUSYBOX |
| bool "Produce additional busybox binary linked against libbusybox" |
| default y |
| depends on BUILD_LIBBUSYBOX |
| help |
| Build busybox, dynamically linked against libbusybox.so.N.N.N. |
| |
| You need to have a working dynamic linker. |
| |
| ### config BUILD_AT_ONCE |
| ### bool "Compile all sources at once" |
| ### default n |
| ### help |
| ### Normally each source-file is compiled with one invocation of |
| ### the compiler. |
| ### If you set this option, all sources are compiled at once. |
| ### This gives the compiler more opportunities to optimize which can |
| ### result in smaller and/or faster binaries. |
| ### |
| ### Setting this option will consume alot of memory, e.g. if you |
| ### enable all applets with all features, gcc uses more than 300MB |
| ### RAM during compilation of busybox. |
| ### |
| ### This option is most likely only beneficial for newer compilers |
| ### such as gcc-4.1 and above. |
| ### |
| ### Say 'N' unless you know what you are doing. |
| |
| config LFS |
| bool "Build with Large File Support (for accessing files > 2 GB)" |
| default y |
| help |
| If you want to build BusyBox with large file support, then enable |
| this option. This will have no effect if your kernel or your C |
| library lacks large file support for large files. Some of the |
| programs that can benefit from large file support include dd, gzip, |
| cp, mount, tar, and many others. If you want to access files larger |
| than 2 Gigabytes, enable this option. Otherwise, leave it set to 'N'. |
| |
| config CROSS_COMPILER_PREFIX |
| string "Cross Compiler prefix" |
| default "" |
| help |
| If you want to build BusyBox with a cross compiler, then you |
| will need to set this to the cross-compiler prefix, for example, |
| "i386-uclibc-". |
| |
| Note that CROSS_COMPILE environment variable or |
| "make CROSS_COMPILE=xxx ..." will override this selection. |
| |
| Native builds leave this empty. |
| |
| config SYSROOT |
| string "Path to sysroot" |
| default "" |
| help |
| If you want to build BusyBox with a cross compiler, then you |
| might also need to specify where /usr/include and /usr/lib |
| will be found. |
| |
| For example, BusyBox can be built against an installed |
| Android NDK, platform version 9, for ARM ABI with |
| |
| CONFIG_SYSROOT=/opt/android-ndk/platforms/android-9/arch-arm |
| |
| Native builds leave this empty. |
| |
| config EXTRA_CFLAGS |
| string "Additional CFLAGS" |
| default "" |
| help |
| Additional CFLAGS to pass to the compiler verbatim. |
| |
| config EXTRA_LDFLAGS |
| string "Additional LDFLAGS" |
| default "" |
| help |
| Additional LDFLAGS to pass to the linker verbatim. |
| |
| config EXTRA_LDLIBS |
| string "Additional LDLIBS" |
| default "" |
| help |
| Additional LDLIBS to pass to the linker with -l. |
| |
| endmenu |
| |
| menu 'Debugging Options' |
| |
| config DEBUG |
| bool "Build BusyBox with extra Debugging symbols" |
| default n |
| help |
| Say Y here if you wish to examine BusyBox internals while applets are |
| running. This increases the size of the binary considerably, and |
| should only be used when doing development. If you are doing |
| development and want to debug BusyBox, answer Y. |
| |
| Most people should answer N. |
| |
| config DEBUG_PESSIMIZE |
| bool "Disable compiler optimizations" |
| default n |
| depends on DEBUG |
| help |
| The compiler's optimization of source code can eliminate and reorder |
| code, resulting in an executable that's hard to understand when |
| stepping through it with a debugger. This switches it off, resulting |
| in a much bigger executable that more closely matches the source |
| code. |
| |
| config DEBUG_SANITIZE |
| bool "Enable runtime sanitizers (ASAN/LSAN/USAN/etc...)" |
| default n |
| help |
| Say Y here if you want to enable runtime sanitizers. These help |
| catch bad memory accesses (e.g. buffer overflows), but will make |
| the executable larger and slow down runtime a bit. |
| |
| If you aren't developing/testing busybox, say N here. |
| |
| config UNIT_TEST |
| bool "Build unit tests" |
| default n |
| help |
| Say Y here if you want to build unit tests (both the framework and |
| test cases) as a Busybox applet. This results in bigger code, so you |
| probably don't want this option in production builds. |
| |
| config WERROR |
| bool "Abort compilation on any warning" |
| default n |
| help |
| Selecting this will add -Werror to gcc command line. |
| |
| Most people should answer N. |
| |
| choice |
| prompt "Additional debugging library" |
| default NO_DEBUG_LIB |
| help |
| Using an additional debugging library will make BusyBox become |
| considerable larger and will cause it to run more slowly. You |
| should always leave this option disabled for production use. |
| |
| dmalloc support: |
| ---------------- |
| This enables compiling with dmalloc ( http://dmalloc.com/ ) |
| which is an excellent public domain mem leak and malloc problem |
| detector. To enable dmalloc, before running busybox you will |
| want to properly set your environment, for example: |
| export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile |
| The 'debug=' value is generated using the following command |
| dmalloc -p log-stats -p log-non-free -p log-bad-space \ |
| -p log-elapsed-time -p check-fence -p check-heap \ |
| -p check-lists -p check-blank -p check-funcs -p realloc-copy \ |
| -p allow-free-null |
| |
| Electric-fence support: |
| ----------------------- |
| This enables compiling with Electric-fence support. Electric |
| fence is another very useful malloc debugging library which uses |
| your computer's virtual memory hardware to detect illegal memory |
| accesses. This support will make BusyBox be considerable larger |
| and run slower, so you should leave this option disabled unless |
| you are hunting a hard to find memory problem. |
| |
| |
| config NO_DEBUG_LIB |
| bool "None" |
| |
| config DMALLOC |
| bool "Dmalloc" |
| |
| config EFENCE |
| bool "Electric-fence" |
| |
| endchoice |
| |
| endmenu |
| |
| menu 'Installation Options ("make install" behavior)' |
| |
| choice |
| prompt "What kind of applet links to install" |
| default INSTALL_APPLET_SYMLINKS |
| help |
| Choose what kind of links to applets are created by "make install". |
| |
| config INSTALL_APPLET_SYMLINKS |
| bool "as soft-links" |
| help |
| Install applets as soft-links to the busybox binary. This needs some |
| free inodes on the filesystem, but might help with filesystem |
| generators that can't cope with hard-links. |
| |
| config INSTALL_APPLET_HARDLINKS |
| bool "as hard-links" |
| help |
| Install applets as hard-links to the busybox binary. This might |
| count on a filesystem with few inodes. |
| |
| config INSTALL_APPLET_SCRIPT_WRAPPERS |
| bool "as script wrappers" |
| help |
| Install applets as script wrappers that call the busybox binary. |
| |
| config INSTALL_APPLET_DONT |
| bool "not installed" |
| help |
| Do not install applet links. Useful when you plan to use |
| busybox --install for installing links, or plan to use |
| a standalone shell and thus don't need applet links. |
| |
| endchoice |
| |
| choice |
| prompt "/bin/sh applet link" |
| default INSTALL_SH_APPLET_SYMLINK |
| depends on INSTALL_APPLET_SCRIPT_WRAPPERS |
| help |
| Choose how you install /bin/sh applet link. |
| |
| config INSTALL_SH_APPLET_SYMLINK |
| bool "as soft-link" |
| help |
| Install /bin/sh applet as soft-link to the busybox binary. |
| |
| config INSTALL_SH_APPLET_HARDLINK |
| bool "as hard-link" |
| help |
| Install /bin/sh applet as hard-link to the busybox binary. |
| |
| config INSTALL_SH_APPLET_SCRIPT_WRAPPER |
| bool "as script wrapper" |
| help |
| Install /bin/sh applet as script wrapper that calls |
| the busybox binary. |
| |
| endchoice |
| |
| config PREFIX |
| string "BusyBox installation prefix" |
| default "./_install" |
| help |
| Define your directory to install BusyBox files/subdirs in. |
| |
| endmenu |
| |
| source libbb/Config.in |
| |
| endmenu |
| |
| comment "Applets" |
| |
| source archival/Config.in |
| source coreutils/Config.in |
| source console-tools/Config.in |
| source debianutils/Config.in |
| source editors/Config.in |
| source findutils/Config.in |
| source init/Config.in |
| source loginutils/Config.in |
| source e2fsprogs/Config.in |
| source modutils/Config.in |
| source util-linux/Config.in |
| source miscutils/Config.in |
| source networking/Config.in |
| source printutils/Config.in |
| source mailutils/Config.in |
| source procps/Config.in |
| source runit/Config.in |
| source selinux/Config.in |
| source shell/Config.in |
| source sysklogd/Config.in |