busybox: update to 1.26.2
[openwrt/staging/yousong.git] / package / utils / busybox / config / libbb / Config.in
index 0695f9ba39eddd1f1df6f78b643a6c10d275178c..ec08351b5c6b0d20a0b1481a8c78bf1db441183c 100644 (file)
@@ -45,6 +45,30 @@ config BUSYBOX_CONFIG_FEATURE_RTMINMAX
          Support RTMIN[+n] and RTMAX[-n] signal names
          in kill, killall etc. This costs ~250 bytes.
 
+choice
+       prompt "Buffer allocation policy"
+       default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
+       help
+         There are 3 ways BusyBox can handle buffer allocations:
+         - Use malloc. This costs code size for the call to xmalloc.
+         - Put them on stack. For some very small machines with limited stack
+           space, this can be deadly. For most folks, this works just fine.
+         - Put them in BSS. This works beautifully for computers with a real
+           MMU (and OS support), but wastes runtime RAM for uCLinux. This
+           behavior was the only one available for BusyBox versions 0.48 and
+           earlier.
+
+config BUSYBOX_CONFIG_FEATURE_BUFFERS_USE_MALLOC
+       bool "Allocate with Malloc"
+
+config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
+       bool "Allocate on the Stack"
+
+config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_IN_BSS
+       bool "Allocate in the .bss section"
+
+endchoice
+
 config BUSYBOX_CONFIG_PASSWORD_MINLEN
        int "Minimum password length"
        default BUSYBOX_DEFAULT_PASSWORD_MINLEN
@@ -191,6 +215,131 @@ config BUSYBOX_CONFIG_FEATURE_EDITING_ASK_TERMINAL
          correctly, or want to save on code size (about 400 bytes),
          then do not turn this option on.
 
+config BUSYBOX_CONFIG_LOCALE_SUPPORT
+       bool "Enable locale support (system needs locale for this to work)"
+       default BUSYBOX_DEFAULT_LOCALE_SUPPORT
+       help
+         Enable this if your system has locale support and you would like
+         busybox to support locale settings.
+
+config BUSYBOX_CONFIG_UNICODE_SUPPORT
+       bool "Support Unicode"
+       default BUSYBOX_DEFAULT_UNICODE_SUPPORT
+       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 BUSYBOX_CONFIG_UNICODE_USING_LOCALE
+       bool "Use libc routines for Unicode (else uses internal ones)"
+       default BUSYBOX_DEFAULT_UNICODE_USING_LOCALE
+       depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && BUSYBOX_CONFIG_LOCALE_SUPPORT
+       help
+         With this option on, Unicode support is implemented using libc
+         routines. Otherwise, internal implementation is used.
+         Internal implementation is smaller.
+
+config BUSYBOX_CONFIG_FEATURE_CHECK_UNICODE_IN_ENV
+       bool "Check $LC_ALL, $LC_CTYPE and $LANG environment variables"
+       default BUSYBOX_DEFAULT_FEATURE_CHECK_UNICODE_IN_ENV
+       depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_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 BUSYBOX_CONFIG_SUBST_WCHAR
+       int "Character code to substitute unprintable characters with"
+       depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
+       default BUSYBOX_DEFAULT_SUBST_WCHAR
+       help
+         Typical values are 63 for '?' (works with any output device),
+         30 for ASCII substitute control code,
+         65533 (0xfffd) for Unicode replacement character.
+
+config BUSYBOX_CONFIG_LAST_SUPPORTED_WCHAR
+       int "Range of supported Unicode characters"
+       depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
+       default BUSYBOX_DEFAULT_LAST_SUPPORTED_WCHAR
+       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 BUSYBOX_CONFIG_UNICODE_COMBINING_WCHARS
+       bool "Allow zero-width Unicode characters on output"
+       default BUSYBOX_DEFAULT_UNICODE_COMBINING_WCHARS
+       depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
+       help
+         With this option off, any Unicode char with width of 0
+         is substituted on output.
+
+config BUSYBOX_CONFIG_UNICODE_WIDE_WCHARS
+       bool "Allow wide Unicode characters on output"
+       default BUSYBOX_DEFAULT_UNICODE_WIDE_WCHARS
+       depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
+       help
+         With this option off, any Unicode char with width > 1
+         is substituted on output.
+
+config BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT
+       bool "Bidirectional character-aware line input"
+       default BUSYBOX_DEFAULT_UNICODE_BIDI_SUPPORT
+       depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
+       help
+         With this option on, right-to-left Unicode characters
+         are treated differently on input (e.g. cursor movement).
+
+config BUSYBOX_CONFIG_UNICODE_NEUTRAL_TABLE
+       bool "In bidi input, support non-ASCII neutral chars too"
+       default BUSYBOX_DEFAULT_UNICODE_NEUTRAL_TABLE
+       depends on BUSYBOX_CONFIG_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 BUSYBOX_CONFIG_UNICODE_PRESERVE_BROKEN
+       bool "Make it possible to enter sequences of chars which are not Unicode"
+       default BUSYBOX_DEFAULT_UNICODE_PRESERVE_BROKEN
+       depends on BUSYBOX_CONFIG_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 BUSYBOX_CONFIG_FEATURE_NON_POSIX_CP
        bool "Non-POSIX, but safer, copying to special nodes"
        default BUSYBOX_DEFAULT_FEATURE_NON_POSIX_CP
@@ -215,6 +364,19 @@ config BUSYBOX_CONFIG_FEATURE_VERBOSE_CP_MESSAGE
            cp: cannot stat '/vmlinuz/file': Not a directory
          This will cost you ~60 bytes.
 
+config BUSYBOX_CONFIG_FEATURE_USE_SENDFILE
+       bool "Use sendfile system call"
+       default BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE
+       select BUSYBOX_CONFIG_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 BUSYBOX_CONFIG_FEATURE_COPYBUF_KB
        int "Copy buffer size, in kilobytes"
        range 1 1024