Move locale, unicode, and "use sendfile?" options to library tuning
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
138
Config.in
138
Config.in
@@ -147,131 +147,6 @@ config INSTALL_NO_USR
|
|||||||
will install applets only to /bin and /sbin,
|
will install applets only to /bin and /sbin,
|
||||||
never to /usr/bin or /usr/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
|
config PAM
|
||||||
bool "Support for PAM (Pluggable Authentication Modules)"
|
bool "Support for PAM (Pluggable Authentication Modules)"
|
||||||
default n
|
default n
|
||||||
@@ -279,19 +154,6 @@ config PAM
|
|||||||
Use PAM in some busybox applets (currently login and httpd) instead
|
Use PAM in some busybox applets (currently login and httpd) instead
|
||||||
of direct access to password database.
|
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
|
config LONG_OPTS
|
||||||
bool "Support for --long-options"
|
bool "Support for --long-options"
|
||||||
default y
|
default y
|
||||||
|
138
libbb/Config.src
138
libbb/Config.src
@@ -153,6 +153,131 @@ config FEATURE_EDITING_ASK_TERMINAL
|
|||||||
correctly, or want to save on code size (about 400 bytes),
|
correctly, or want to save on code size (about 400 bytes),
|
||||||
then do not turn this option on.
|
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
|
config FEATURE_NON_POSIX_CP
|
||||||
bool "Non-POSIX, but safer, copying to special nodes"
|
bool "Non-POSIX, but safer, copying to special nodes"
|
||||||
default y
|
default y
|
||||||
@@ -177,6 +302,19 @@ config FEATURE_VERBOSE_CP_MESSAGE
|
|||||||
cp: cannot stat '/vmlinuz/file': Not a directory
|
cp: cannot stat '/vmlinuz/file': Not a directory
|
||||||
This will cost you ~60 bytes.
|
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
|
config FEATURE_COPYBUF_KB
|
||||||
int "Copy buffer size, in kilobytes"
|
int "Copy buffer size, in kilobytes"
|
||||||
range 1 1024
|
range 1 1024
|
||||||
|
Reference in New Issue
Block a user