find_stray_empty_lines: make it work
[oweals/busybox.git] / Config.in
index 85d576edbc106d82375d380b7e61bd9c22fa08da..828b30471acd5ce8d13420074e5d54d03be0e574 100644 (file)
--- a/Config.in
+++ b/Config.in
@@ -15,7 +15,7 @@ menu "General Configuration"
 
 config DESKTOP
        bool "Enable options for full-blown desktop systems"
-       default n
+       default y
        help
          Enable options and features which are not essential.
          Select this only if you plan to use busybox on full-blown
@@ -30,17 +30,33 @@ config EXTRA_COMPAT
          some GNU extensions in libc. You probably only need this option
          if you plan to run busybox on desktop.
 
-config FEATURE_ASSUME_UNICODE
-       bool "Assume that 1:1 char/glyph correspondence is not true"
+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
-         This makes various applets aware that one byte is not
-         one character on screen.
+         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.
 
-         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 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"
@@ -77,8 +93,8 @@ config SHOW_USAGE
 
 config FEATURE_VERBOSE_USAGE
        bool "Show verbose applet usage messages"
-       default n
-       select SHOW_USAGE
+       default y
+       depends on 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
@@ -101,7 +117,7 @@ config FEATURE_COMPRESS_USAGE
 
 config FEATURE_INSTALLER
        bool "Support --install [-s] to install applet links at runtime"
-       default n
+       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
@@ -114,7 +130,123 @@ config LOCALE_SUPPORT
          Enable this if your system has locale support and you would like
          busybox to support locale settings.
 
-config GETOPT_LONG
+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 $LANG environment variable"
+       default n
+       depends on UNICODE_SUPPORT && !UNICODE_USING_LOCALE
+       help
+         With this option on, Unicode support is activated
+         only if LANG variable has 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, 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 LONG_OPTS
        bool "Support for --long-options"
        default y
        help
@@ -143,16 +275,36 @@ config FEATURE_CLEAN_UP
          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
+       select 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 n
+       default y
        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
+       default y
        help
          With this option you can install the busybox binary belonging
          to root with the suid bit set, and it will automatically drop
@@ -169,7 +321,7 @@ config FEATURE_SUID
 
 config FEATURE_SUID_CONFIG
        bool "Runtime SUID/SGID configuration via /etc/busybox.conf"
-       default n if FEATURE_SUID
+       default y if FEATURE_SUID
        depends on FEATURE_SUID
        help
          Allow the SUID / SGID state of an applet to be determined at runtime
@@ -212,6 +364,7 @@ config FEATURE_SUID_CONFIG_QUIET
 config SELINUX
        bool "Support NSA Security Enhanced Linux"
        default n
+       depends on PLATFORM_LINUX
        help
          Enable support for SELinux in applets ls, ps, and id. Also provide
          the option of compiling in SELinux applets.
@@ -256,18 +409,18 @@ config BUSYBOX_EXEC_PATH
 # These are auto-selected by other options
 
 config FEATURE_SYSLOG
-       bool "Support for logging to 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.
+       #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"
+       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.
+       #help
+       #  This is automatically selected if any of enabled applets need it.
+       #  You do not need to select it manually.
 
 endmenu
 
@@ -388,7 +541,7 @@ config FEATURE_SHARED_BUSYBOX
 
 config LFS
        bool "Build with Large File Support (for accessing files > 2 GB)"
-       default n
+       default y
        select FDISK_SUPPORT_LARGE_DISKS
        help
          If you want to build BusyBox with large file support, then enable
@@ -411,6 +564,12 @@ config CROSS_COMPILER_PREFIX
 
          Native builds leave this empty.
 
+config EXTRA_CFLAGS
+       string "Additional CFLAGS"
+       default ""
+       help
+         Additional CFLAGS to pass to the compiler verbatim.
+
 endmenu
 
 menu 'Debugging Options'
@@ -487,17 +646,8 @@ config EFENCE
 
 endchoice
 
-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 PARSE
-###    bool "Uniform config file parser debugging applet: parse"
+###    bool "Uniform config file parser debugging applet: parse"
 
 endmenu
 
@@ -596,6 +746,7 @@ 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