update busybox menuconfig to 1.1.1, should fix the "missing reboot" bug
[openwrt.git] / package / busybox / config / Config.in
index e7afb53..eedb4ba 100644 (file)
@@ -8,6 +8,8 @@ config BUSYBOX_HAVE_DOT_CONFIG
        bool
        default y
 
+menu "Busybox Settings"
+
 menu "General Configuration"
 
 choice
@@ -79,10 +81,12 @@ config BUSYBOX_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 BUSYBOX_CONFIG_FEATURE_SUID
@@ -100,7 +104,7 @@ config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
          checking /etc/busybox.conf.  The format of this file is as follows:
 
          <applet> = [Ssx-][Ssx-][x-] (<username>|<uid>).(<groupname>|<gid>)
-       
+
          An example might help:
 
          [SUID]
@@ -112,6 +116,13 @@ config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
 
          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 >.
 
@@ -156,6 +167,48 @@ config BUSYBOX_CONFIG_STATIC
 
          Most people will leave this set to 'N'.
 
+# The busybox shared library feature is there so make standalone can produce
+# smaller applets.  Since make standalone isn't in yet, there's nothing using
+# this yet, and so it's disabled.
+config BUSYBOX_CONFIG_DISABLE_SHARED
+       bool
+       default n
+
+config BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
+       bool "Build shared libbusybox"
+       default n
+       depends on BUSYBOX_CONFIG_DISABLE_SHARED
+       help
+         Build a shared library libbusybox.so which contains all
+         libraries used inside busybox.
+
+config BUSYBOX_CONFIG_FEATURE_FULL_LIBBUSYBOX
+       bool "Feature-complete libbusybox"
+       default n if !CONFIG_FEATURE_SHARED_BUSYBOX
+       depends on BUSYBOX_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 BUSYBOX_CONFIG_FEATURE_SHARED_BUSYBOX
+       bool "Use shared libbusybox for busybox"
+       default n if BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
+       depends on !CONFIG_STATIC && BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
+       help
+         Use libbusybox.so also for busybox itself.
+         You need to have a working dynamic linker to use this variant.
+
 config BUSYBOX_CONFIG_LFS
        bool
        default y
@@ -195,43 +248,27 @@ config BUSYBOX_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.
 
-endmenu
-
-menu 'Installation Options'
-
-config BUSYBOX_CONFIG_INSTALL_NO_USR
-       bool "Don't use /usr"
+config BUSYBOX_CONFIG_BUILD_AT_ONCE
+       bool "Compile all sources at once"
        default n
        help
-         Disable use of /usr. Don't activate this option if you don't know
-         that you really want this behaviour.
+         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.
 
-config BUSYBOX_PREFIX
-       string
-       default "./_install"
-       help
-         Define your directory to install BusyBox files/subdirs in.
+         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
 
-source package/busybox/config/archival/Config.in
-source package/busybox/config/coreutils/Config.in
-source package/busybox/config/console-tools/Config.in
-source package/busybox/config/debianutils/Config.in
-source package/busybox/config/editors/Config.in
-source package/busybox/config/findutils/Config.in
-source package/busybox/config/init/Config.in
-source package/busybox/config/loginutils/Config.in
-source package/busybox/config/miscutils/Config.in
-source package/busybox/config/modutils/Config.in
-source package/busybox/config/networking/Config.in
-source package/busybox/config/procps/Config.in
-source package/busybox/config/shell/Config.in
-source package/busybox/config/sysklogd/Config.in
-source package/busybox/config/util-linux/Config.in
-
 menu 'Debugging Options'
 
 config BUSYBOX_CONFIG_DEBUG
@@ -288,6 +325,82 @@ config BUSYBOX_CONFIG_EFENCE
 
 endchoice
 
+config BUSYBOX_CONFIG_DEBUG_YANK_SUSv2
+       bool "Disable obsolete features removed before SUSv3?"
+       default y
+       help
+         This option will disable backwards compatability with SuSv2,
+         specifically, old-style numeric options ('command -1 <file>')
+         will not be supported in head, tail, and fold.  (Note: should
+         yank from renice too.)
+
+endmenu
+
+menu 'Installation Options'
+
+config BUSYBOX_CONFIG_INSTALL_NO_USR
+       bool "Don't use /usr"
+       default n
+       help
+         Disable use of /usr. Don't activate this option if you don't know
+         that you really want this behaviour.
+
+choice
+       prompt "Applets links"
+       default BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
+       help
+         Choose how you install applets links.
+
+config BUSYBOX_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 BUSYBOX_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 BUSYBOX_CONFIG_INSTALL_APPLET_DONT
+       bool
+       prompt "not installed"
+       depends on BUSYBOX_CONFIG_FEATURE_INSTALLER || BUSYBOX_CONFIG_FEATURE_SH_STANDALONE_SHELL
+       help
+         Do not install applets links. Usefull when using the -install feature
+         or a standalone shell for rescue pruposes.
+
+endchoice
+
+config BUSYBOX_PREFIX
+       string
+       default "./_install"
+       help
+         Define your directory to install BusyBox files/subdirs in.
+
+endmenu
+
+source package/busybox/config/libbb/Config.in
 
 endmenu
 
+comment "Applets"
+
+source package/busybox/config/archival/Config.in
+source package/busybox/config/coreutils/Config.in
+source package/busybox/config/console-tools/Config.in
+source package/busybox/config/debianutils/Config.in
+source package/busybox/config/editors/Config.in
+source package/busybox/config/findutils/Config.in
+source package/busybox/config/init/Config.in
+source package/busybox/config/loginutils/Config.in
+source package/busybox/config/e2fsprogs/Config.in
+source package/busybox/config/modutils/Config.in
+source package/busybox/config/util-linux/Config.in
+source package/busybox/config/miscutils/Config.in
+source package/busybox/config/networking/Config.in
+source package/busybox/config/procps/Config.in
+source package/busybox/config/shell/Config.in
+source package/busybox/config/sysklogd/Config.in