X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=Config.in;h=73736e39f4bb631c80fd12aa03dd722e3071d3aa;hb=f39c7c0c86d9f263f372be7c305bffa51af3c21e;hp=e6acf4971621121aa0513cd0c6527ccd1d7fd4a8;hpb=b7d8dd9ab18c5001b5a86127c94a07e3ee0125c7;p=oweals%2Fbusybox.git diff --git a/Config.in b/Config.in index e6acf4971..73736e39f 100644 --- a/Config.in +++ b/Config.in @@ -13,7 +13,7 @@ menu "Busybox Settings" menu "General Configuration" -config CONFIG_NITPICK +config NITPICK bool "See lots more (probably unnecessary) configuration options." default n help @@ -29,10 +29,18 @@ config CONFIG_NITPICK You have been warned. +config DESKTOP + bool "Enable options for full-blown desktop systems" + default n + 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. + choice prompt "Buffer allocation policy" - default CONFIG_FEATURE_BUFFERS_USE_MALLOC - depends on CONFIG_NITPICK + default FEATURE_BUFFERS_USE_MALLOC + depends on NITPICK help There are 3 ways BusyBox can handle buffer allocations: - Use malloc. This costs code size for the call to xmalloc. @@ -43,18 +51,18 @@ choice behavior was the only one available for BusyBox versions 0.48 and earlier. -config CONFIG_FEATURE_BUFFERS_USE_MALLOC +config FEATURE_BUFFERS_USE_MALLOC bool "Allocate with Malloc" -config CONFIG_FEATURE_BUFFERS_GO_ON_STACK +config FEATURE_BUFFERS_GO_ON_STACK bool "Allocate on the Stack" -config CONFIG_FEATURE_BUFFERS_GO_IN_BSS +config FEATURE_BUFFERS_GO_IN_BSS bool "Allocate in the .bss section" endchoice -config CONFIG_SHOW_USAGE +config SHOW_USAGE bool "Show terse applet usage messages" default y help @@ -63,20 +71,20 @@ config CONFIG_SHOW_USAGE messages if you say no here. This will save you up to 7k. -config CONFIG_FEATURE_VERBOSE_USAGE +config FEATURE_VERBOSE_USAGE bool "Show verbose applet usage messages" default n - select CONFIG_SHOW_USAGE + select 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 +config FEATURE_COMPRESS_USAGE bool "Store applet usage messages in compressed form" default y - depends on CONFIG_SHOW_USAGE + depends on SHOW_USAGE help Store usage messages in compressed form, uncompress them on-the-fly when --help is called. @@ -87,32 +95,29 @@ config CONFIG_FEATURE_COMPRESS_USAGE and have very little memory, this might not be a win. Otherwise, you probably want this. -config CONFIG_FEATURE_INSTALLER +config FEATURE_INSTALLER bool "Support --install [-s] to install applet links at runtime" default n 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. This feature requires the - /proc filesystem. + applets that are compiled into busybox. -config CONFIG_LOCALE_SUPPORT +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 CONFIG_GETOPT_LONG - bool +config GETOPT_LONG + bool "Enable support for --long-options" default y -# bool "Enable support for --long-options" -# default n -# 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. + 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 CONFIG_FEATURE_DEVPTS +config FEATURE_DEVPTS bool "Use the devpts filesystem for Unix98 PTYs" default y help @@ -122,10 +127,10 @@ config CONFIG_FEATURE_DEVPTS /dev/ttyp will be used. To use this option, you should have devpts mounted. -config CONFIG_FEATURE_CLEAN_UP +config FEATURE_CLEAN_UP bool "Clean up all memory before exiting (usually not needed)" default n - depends on CONFIG_NITPICK + depends on NITPICK help As a size optimization, busybox normally exits without explicitly freeing dynamically allocated memory or closing files. This saves @@ -135,7 +140,14 @@ config CONFIG_FEATURE_CLEAN_UP Don't enable this unless you have a really good reason to clean things up manually. -config CONFIG_FEATURE_SUID +config FEATURE_PIDFILE + bool "Support writing pidfiles" + default n + help + This option makes some applets (e.g. crond, syslogd, inetd) write + a pidfile in /var/run. Some applications rely on them. + +config FEATURE_SUID bool "Support for SUID/SGID handling" default n help @@ -150,10 +162,10 @@ config CONFIG_FEATURE_SUID are login, passwd, su, ping, traceroute, crontab, dnsd, ipcrm, ipcs, and vlock. -config CONFIG_FEATURE_SUID_CONFIG +config FEATURE_SUID_CONFIG bool "Runtime SUID/SGID configuration via /etc/busybox.conf" - default n if CONFIG_FEATURE_SUID - depends on CONFIG_FEATURE_SUID + default n if FEATURE_SUID + 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.) @@ -174,23 +186,23 @@ config CONFIG_FEATURE_SUID_CONFIG 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) + (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) + (chown 0.0 /bin/busybox; chmod 4755 /bin/busybox) Robert 'sandman' Griebl has more information here: . -config CONFIG_FEATURE_SUID_CONFIG_QUIET +config FEATURE_SUID_CONFIG_QUIET bool "Suppress warning message if /etc/busybox.conf is not readable" default y - depends on CONFIG_FEATURE_SUID_CONFIG + 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 CONFIG_SELINUX +config SELINUX bool "Support NSA Security Enhanced Linux" default n help @@ -210,7 +222,21 @@ config CONFIG_SELINUX Most people will leave this set to 'N'. -config CONFIG_BUSYBOX_EXEC_PATH +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/ -> 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 @@ -220,11 +246,27 @@ config CONFIG_BUSYBOX_EXEC_PATH 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 "Support for logging to syslog" + 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 "RPC support" + 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 CONFIG_STATIC +config STATIC bool "Build BusyBox as a static binary (no shared libs)" default n help @@ -238,46 +280,96 @@ config CONFIG_STATIC Most people will leave this set to 'N'. -config CONFIG_BUILD_LIBBUSYBOX - bool "Build shared libbusybox" +config NOMMU + bool "Force NOMMU build" default n help - Build a shared library libbusybox.so which contains all - libraries used inside busybox. + 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. - This is an experimental feature intended to support the upcoming - "make standalone" mode. Enabling it against the one big busybox - binary serves no purpose (and increases the size). You should - almost certainly say "no" to this right now. + Most people will leave this set to 'N'. -config CONFIG_FEATURE_FULL_LIBBUSYBOX - bool "Feature-complete libbusybox" - default n if !CONFIG_FEATURE_SHARED_BUSYBOX - depends on CONFIG_BUILD_LIBBUSYBOX +config BUILD_LIBBUSYBOX + bool "Build shared libbusybox" + default n + depends on !FEATURE_PREFER_APPLETS + 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 !STATIC && BUILD_LIBBUSYBOX help - Build a libbusybox with the complete feature-set, disregarding - the actually selected config. + 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. - 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'. + If your CPU architecture allows for sharing text/rodata, + having single binary is more optimal. - 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. + Each applet will be a tiny program, dynamically linked + against libbusybox.so.N.N.N. - Say 'N' if in doubt. + You need to have a working dynamic linker. -config CONFIG_FEATURE_SHARED_BUSYBOX - bool "Use shared libbusybox for busybox" - default y if CONFIG_BUILD_LIBBUSYBOX - depends on !CONFIG_STATIC && CONFIG_BUILD_LIBBUSYBOX +config FEATURE_SHARED_BUSYBOX + bool "Produce additional busybox binary linked against libbusybox" + default y + depends on !STATIC && 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 + 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 n select FDISK_SUPPORT_LARGE_DISKS @@ -289,30 +381,11 @@ config CONFIG_LFS 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 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 +config DEBUG bool "Build BusyBox with extra Debugging symbols" default n help @@ -323,21 +396,29 @@ config CONFIG_DEBUG Most people should answer N. -config CONFIG_DEBUG_PESSIMIZE - bool "Disable compiler optimizations." +config WERROR + bool "Abort compilation on any warning" default n - depends on CONFIG_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. + Selecting this will add -Werror to gcc command line. + + Most people should answer N. + +# Seems to be unused +#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. choice prompt "Additional debugging library" - default CONFIG_NO_DEBUG_LIB - depends on CONFIG_DEBUG + 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 @@ -365,31 +446,31 @@ choice you are hunting a hard to find memory problem. -config CONFIG_NO_DEBUG_LIB +config NO_DEBUG_LIB bool "None" -config CONFIG_DMALLOC +config DMALLOC bool "Dmalloc" -config CONFIG_EFENCE +config EFENCE bool "Electric-fence" endchoice -config CONFIG_DEBUG_YANK_SUSv2 - bool "Disable obsolete features removed before SUSv3?" +config INCLUDE_SUSv2 + bool "Enable obsolete features removed before SUSv3?" default y help - This option will disable backwards compatibility with SuSv2, + This option will enable 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.) + will be supported in head, tail, and fold. (Note: should + affect renice too.) endmenu menu 'Installation Options' -config CONFIG_INSTALL_NO_USR +config INSTALL_NO_USR bool "Don't use /usr" default n help @@ -397,31 +478,59 @@ config CONFIG_INSTALL_NO_USR that you really want this behaviour. choice - prompt "Applets links" - default CONFIG_INSTALL_APPLET_SYMLINKS - help - Choose how you install applets links. - -config 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 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 CONFIG_INSTALL_APPLET_DONT - bool - prompt "not installed" - depends on CONFIG_FEATURE_INSTALLER || CONFIG_FEATURE_SH_STANDALONE_SHELL - help - Do not install applets links. Usefull when using the -install feature - or a standalone shell for rescue pruposes. + prompt "Applets links" + default INSTALL_APPLET_SYMLINKS + help + Choose how you install applets links. + +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" + depends on FEATURE_INSTALLER || FEATURE_SH_STANDALONE || FEATURE_PREFER_APPLETS + help + Do not install applet links. Useful when using the -install feature + or a standalone shell for rescue purposes. + +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 call the busybox binary. endchoice @@ -455,3 +564,7 @@ source networking/Config.in source procps/Config.in source shell/Config.in source sysklogd/Config.in +source runit/Config.in +source selinux/Config.in +source printutils/Config.in +source ipsvd/Config.in