Move locale, unicode, and "use sendfile?" options to library tuning
authorDenys Vlasenko <vda.linux@googlemail.com>
Thu, 24 Nov 2016 21:18:55 +0000 (22:18 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Thu, 24 Nov 2016 21:18:55 +0000 (22:18 +0100)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Config.in
libbb/Config.src

index 0898799145ff2c8d0e66ea053c85750ca6617d69..3d1759e21e7f347e59fd4d396d1b4b28628a0b11 100644 (file)
--- a/Config.in
+++ b/Config.in
@@ -147,131 +147,6 @@ config INSTALL_NO_USR
          will install applets only to /bin and /sbin,
          never to /usr/bin or /usr/sbin.
 
-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 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 $LC_ALL, $LC_CTYPE and $LANG environment variables"
-       default n
-       depends on UNICODE_SUPPORT && !UNICODE_USING_LOCALE
-       help
-         With this option on, Unicode support is activated
-         only if locale-related variables have 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 characters with substitution character.
-
-         The idea is that many valid printable Unicode chars
-         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, on line-editing input (such as used by shells)
-         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 PAM
        bool "Support for PAM (Pluggable Authentication Modules)"
        default n
@@ -279,19 +154,6 @@ config PAM
          Use PAM in some busybox applets (currently login and httpd) instead
          of direct access to password database.
 
-config FEATURE_USE_SENDFILE
-       bool "Use sendfile system call"
-       default y
-       select PLATFORM_LINUX
-       help
-         When enabled, busybox will use the kernel sendfile() function
-         instead of read/write loops to copy data between file descriptors
-         (for example, cp command does this a lot).
-         If sendfile() doesn't work, copying code falls back to read/write
-         loop. sendfile() was originally implemented for faster I/O
-         from files to sockets, but since Linux 2.6.33 it was extended
-         to work for many more file types.
-
 config LONG_OPTS
        bool "Support for --long-options"
        default y
index 6ba256290ed618dd6575a30ee9b98ff82816d4c6..18a40f2ac308f79d63d841503490e449e818c7ad 100644 (file)
@@ -153,6 +153,131 @@ config FEATURE_EDITING_ASK_TERMINAL
          correctly, or want to save on code size (about 400 bytes),
          then do not turn this option on.
 
+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 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 $LC_ALL, $LC_CTYPE and $LANG environment variables"
+       default n
+       depends on UNICODE_SUPPORT && !UNICODE_USING_LOCALE
+       help
+         With this option on, Unicode support is activated
+         only if locale-related variables have 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 characters with substitution character.
+
+         The idea is that many valid printable Unicode chars
+         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, on line-editing input (such as used by shells)
+         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 FEATURE_NON_POSIX_CP
        bool "Non-POSIX, but safer, copying to special nodes"
        default y
@@ -177,6 +302,19 @@ config FEATURE_VERBOSE_CP_MESSAGE
            cp: cannot stat '/vmlinuz/file': Not a directory
          This will cost you ~60 bytes.
 
+config FEATURE_USE_SENDFILE
+       bool "Use sendfile system call"
+       default y
+       select PLATFORM_LINUX
+       help
+         When enabled, busybox will use the kernel sendfile() function
+         instead of read/write loops to copy data between file descriptors
+         (for example, cp command does this a lot).
+         If sendfile() doesn't work, copying code falls back to read/write
+         loop. sendfile() was originally implemented for faster I/O
+         from files to sockets, but since Linux 2.6.33 it was extended
+         to work for many more file types.
+
 config FEATURE_COPYBUF_KB
        int "Copy buffer size, in kilobytes"
        range 1 1024