find_stray_empty_lines: make it work
[oweals/busybox.git] / Config.in
index 2ed88892ac77e4bbd11cbdb4f1e5f8eb150f804d..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
@@ -47,6 +47,17 @@ config USE_PORTABLE_CODE
          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
@@ -82,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
@@ -106,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
@@ -119,9 +130,9 @@ config LOCALE_SUPPORT
          Enable this if your system has locale support and you would like
          busybox to support locale settings.
 
-config FEATURE_ASSUME_UNICODE
+config UNICODE_SUPPORT
        bool "Support Unicode"
-       default n
+       default y
        help
          This makes various applets aware that one byte is not
          one character on screen.
@@ -131,16 +142,110 @@ config FEATURE_ASSUME_UNICODE
          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 y
-       depends on FEATURE_ASSUME_UNICODE && !LOCALE_SUPPORT
+       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
@@ -170,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
@@ -196,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
@@ -239,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.
@@ -415,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
@@ -521,7 +647,7 @@ config EFENCE
 endchoice
 
 ### config PARSE
-###    bool "Uniform config file parser debugging applet: parse"
+###    bool "Uniform config file parser debugging applet: parse"
 
 endmenu