Move locale, unicode, and "use sendfile?" options to library tuning
No binary (build failed)
—
(log yok)
| @@ -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 | |
| @@ -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 | |