X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=Config.in;h=6dd4c58e7cff2ca74cdbaab6b8f8a8e58b6f7ac3;hb=02d8fa48adcc5ee46262df787bd7e47e0e051cef;hp=3501ff767aa3292b5b759f9d93d929bc56805355;hpb=7a43bd07e64e6db795d4661321da1cab14d9c4f6;p=oweals%2Fbusybox.git diff --git a/Config.in b/Config.in index 3501ff767..6dd4c58e7 100644 --- a/Config.in +++ b/Config.in @@ -9,6 +9,8 @@ config HAVE_DOT_CONFIG bool default y +menu "Busybox Settings" + menu "General Configuration" choice @@ -35,15 +37,33 @@ config CONFIG_FEATURE_BUFFERS_GO_IN_BSS endchoice +config CONFIG_SHOW_USAGE + bool "Show terse applet usage messages" + default y + help + All BusyBox applets will show help messages when invoked with + wrong arguments. You can turn off printing these terse usage + messages if you say no here. + This will save you up to 7k. + config CONFIG_FEATURE_VERBOSE_USAGE bool "Show verbose applet usage messages" default n + select CONFIG_SHOW_USAGE help All BusyBox applets will show more 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 CONFIG_FEATURE_COMPRESS_USAGE + bool "Store applet usage messages in compressed form" + default y + depends on CONFIG_SHOW_USAGE + help + Store usage messages in compressed form, uncompress them on-the-fly + when --help is called. + config CONFIG_FEATURE_INSTALLER bool "Support --install [-s] to install applet links at runtime" default n @@ -80,10 +100,12 @@ config CONFIG_FEATURE_CLEAN_UP bool "Clean up all memory before exiting (usually not needed)" default n help - As a size optimization, busybox by default does not cleanup memory - that is dynamically allocated or close files before exiting. This - saves space and is usually not needed since the OS will clean up for - us. Don't enable this unless you have a really good reason to clean + 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 CONFIG_FEATURE_SUID @@ -135,14 +157,19 @@ config CONFIG_SELINUX bool "Support NSA Security Enhanced Linux" default n help - Enable support for SE Linux in applets ls, ps, and id. Also provide - the option of compiling in SE Linux applets. + 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 SE Linux Full Userland installed, this - stuff will not compile. Go visit + If you do not have a complete SELinux userland installed, this stuff + will not compile. Go visit http://www.nsa.gov/selinux/index.html - to download the necessary stuff to allow busybox to compile with this - option enabled. + to download the necessary stuff to allow busybox to compile with + this option enabled. 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 \ + LDFLAGS=-L \ + make Most people will leave this set to 'N'. @@ -164,6 +191,40 @@ config CONFIG_STATIC Most people will leave this set to 'N'. +config CONFIG_BUILD_LIBBUSYBOX + bool "Build shared libbusybox" + default y + help + Build a shared library libbusybox.so which contains all + libraries used inside busybox. + +config CONFIG_FEATURE_FULL_LIBBUSYBOX + bool "Feature-complete libbusybox" + default n if !CONFIG_FEATURE_SHARED_BUSYBOX + depends on CONFIG_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 CONFIG_FEATURE_SHARED_BUSYBOX + bool "Use shared libbusybox for busybox" + default y if CONFIG_BUILD_LIBBUSYBOX + depends on !CONFIG_STATIC && CONFIG_BUILD_LIBBUSYBOX + help + Use libbusybox.so also for busybox itself. + You need to have a working dynamic linker to use this variant. + config CONFIG_LFS bool "Build with Large File Support (for accessing files > 2 GB)" default n @@ -203,20 +264,91 @@ config EXTRA_CFLAGS_OPTIONS if you want to add some simple compiler switches (like -march=i686), or check for warnings using -Werror, just those options here. -config CONFIG_FEATURE_SUSv2 - bool "Enable features that are in SuSv2 but not SuSv3?" - default y +config 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. + +endmenu + +menu 'Debugging Options' + +config CONFIG_DEBUG + bool "Build BusyBox with Debugging symbols" + default n + help + Say Y here if you wish to compile BusyBox with debugging symbols. + This will allow you to use a debugger 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. + +choice + prompt "Additional debugging library" + default CONFIG_NO_DEBUG_LIB + depends on CONFIG_DEBUG help - This option will enable backwards compatability with SuSv2, - specifically, numeric options such as 'head -1 ' will be - supported. + 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 CONFIG_NO_DEBUG_LIB + bool "None" + +config CONFIG_DMALLOC + bool "Dmalloc" + +config CONFIG_EFENCE + bool "Electric-fence" -config CONFIG_FEATURE_SUSv2_OBSOLETE - bool "Enable features that are obsolete in SuSv2" - depends on CONFIG_FEATURE_SUSv2 +endchoice + +config CONFIG_DEBUG_YANK_SUSv2 + bool "Disable obsolete features removed before SUSv3?" default y help - Disables support for numeric arguments in fold. + This option will disable backwards compatibility with SuSv2, + specifically, old-style numeric options ('command -1 ') + will not be supported in head, tail, and fold. (Note: should + yank from renice too.) endmenu @@ -264,82 +396,27 @@ config PREFIX 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 e2fsprogs/Config.in source editors/Config.in source findutils/Config.in source init/Config.in source loginutils/Config.in -source miscutils/Config.in +source e2fsprogs/Config.in source modutils/Config.in +source util-linux/Config.in +source miscutils/Config.in source networking/Config.in source procps/Config.in source shell/Config.in source sysklogd/Config.in -source util-linux/Config.in - -menu 'Debugging Options' - -config CONFIG_DEBUG - bool "Build BusyBox with Debugging symbols" - default n - help - Say Y here if you wish to compile BusyBox with debugging symbols. - This will allow you to use a debugger 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. - -choice - prompt "Additional debugging library" - default CONFIG_NO_DEBUG_LIB - depends on CONFIG_DEBUG - 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 CONFIG_NO_DEBUG_LIB - bool "None" - -config CONFIG_DMALLOC - bool "Dmalloc" - -config CONFIG_EFENCE - bool "Electric-fence" - -endchoice - - -endmenu