summaryrefslogtreecommitdiff
path: root/package/busybox/config/libbb
diff options
context:
space:
mode:
Diffstat (limited to 'package/busybox/config/libbb')
-rw-r--r--package/busybox/config/libbb/Config.in421
1 files changed, 283 insertions, 138 deletions
diff --git a/package/busybox/config/libbb/Config.in b/package/busybox/config/libbb/Config.in
index afbc81213..84bed23ea 100644
--- a/package/busybox/config/libbb/Config.in
+++ b/package/busybox/config/libbb/Config.in
@@ -1,56 +1,55 @@
# DO NOT EDIT. This file is generated from Config.src
#
# For a description of the syntax of this configuration file,
-# see scripts/kbuild/config-language.txt.
+# see docs/Kconfig-language.txt.
#
-menu "Busybox Library Tuning"
+comment "Library Tuning"
config BUSYBOX_FEATURE_USE_BSS_TAIL
bool "Use the end of BSS page"
default n
help
- Attempt to reclaim a small unused part of BSS.
-
- Executables have the following parts:
- = read-only executable code and constants, also known as "text"
- = read-write data
- = non-initialized (zeroed on demand) data, also known as "bss"
-
- At link time, "text" is padded to a full page. At runtime, all "text"
- pages are mapped RO and executable.
- "Data" starts on the next page boundary, but is not padded
- to a full page at the end. "Bss" starts wherever "data" ends.
- At runtime, "data" pages are mapped RW and they are file-backed
- (this includes a small portion of "bss" which may live in the last
- partial page of "data").
- Pages which are fully in "bss" are mapped to anonymous memory.
-
- "Bss" end is usually not page-aligned. There is an unused space
- in the last page. Linker marks its start with the "_end" symbol.
-
- This option will attempt to use that space for bb_common_bufsiz1[]
- array. If it fits after _end, it will be used, and COMMON_BUFSIZE
- will be enlarged from its guaranteed minimum size of 1 kbyte.
- This may require recompilation a second time, since value of _end
- is known only after final link.
-
- If you are getting a build error like this:
- appletlib.c:(.text.main+0xd): undefined reference to '_end'
- disable this option.
-
+ Attempt to reclaim a small unused part of BSS.
+
+ Executables have the following parts:
+ = read-only executable code and constants, also known as "text"
+ = read-write data
+ = non-initialized (zeroed on demand) data, also known as "bss"
+
+ At link time, "text" is padded to a full page. At runtime, all "text"
+ pages are mapped RO and executable.
+
+ "Data" starts on the next page boundary, but is not padded
+ to a full page at the end. "Bss" starts wherever "data" ends.
+ At runtime, "data" pages are mapped RW and they are file-backed
+ (this includes a small portion of "bss" which may live in the last
+ partial page of "data").
+ Pages which are fully in "bss" are mapped to anonymous memory.
+
+ "Bss" end is usually not page-aligned. There is an unused space
+ in the last page. Linker marks its start with the "_end" symbol.
+
+ This option will attempt to use that space for bb_common_bufsiz1[]
+ array. If it fits after _end, it will be used, and COMMON_BUFSIZE
+ will be enlarged from its guaranteed minimum size of 1 kbyte.
+ This may require recompilation a second time, since value of _end
+ is known only after final link.
+
+ If you are getting a build error like this:
+ appletlib.c:(.text.main+0xd): undefined reference to '_end'
+ disable this option.
config BUSYBOX_FLOAT_DURATION
bool "Enable fractional duration arguments"
default y
help
Allow sleep N.NNN, top -d N.NNN etc.
-
config BUSYBOX_FEATURE_RTMINMAX
bool "Support RTMIN[+n] and RTMAX[-n] signal names"
default y
help
- Support RTMIN[+n] and RTMAX[-n] signal names
- in kill, killall etc. This costs ~250 bytes.
+ Support RTMIN[+n] and RTMAX[-n] signal names
+ in kill, killall etc. This costs ~250 bytes.
config BUSYBOX_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS
bool "Use the definitions of SIGRTMIN/SIGRTMAX provided by libc"
@@ -64,51 +63,74 @@ config BUSYBOX_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS
of SIGRTMIN, and not the raw definition provided by the kernel.
This behavior matches "kill -l RTMIN+n" from bash.
+choice
+ prompt "Buffer allocation policy"
+ default BUSYBOX_FEATURE_BUFFERS_USE_MALLOC
+ 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 versions 0.48 and earlier.
+
+config BUSYBOX_FEATURE_BUFFERS_USE_MALLOC
+ bool "Allocate with Malloc"
+
+config BUSYBOX_FEATURE_BUFFERS_GO_ON_STACK
+ bool "Allocate on the Stack"
+
+config BUSYBOX_FEATURE_BUFFERS_GO_IN_BSS
+ bool "Allocate in the .bss section"
+
+endchoice
+
config BUSYBOX_PASSWORD_MINLEN
int "Minimum password length"
default 6
range 5 32
help
- Minimum allowable password length.
+ Minimum allowable password length.
config BUSYBOX_MD5_SMALL
int "MD5: Trade bytes for speed (0:fast, 3:slow)"
- default 1
+ default 1 # all "fast or small" options default to small
range 0 3
help
- Trade binary size versus speed for the md5sum algorithm.
- Approximate values running uClibc and hashing
- linux-2.4.4.tar.bz2 were:
- user times (sec) text size (386)
- 0 (fastest) 1.1 6144
- 1 1.4 5392
- 2 3.0 5088
- 3 (smallest) 5.1 4912
+ Trade binary size versus speed for the md5sum algorithm.
+ Approximate values running uClibc and hashing
+ linux-2.4.4.tar.bz2 were:
+ value user times (sec) text size (386)
+ 0 (fastest) 1.1 6144
+ 1 1.4 5392
+ 2 3.0 5088
+ 3 (smallest) 5.1 4912
config BUSYBOX_SHA3_SMALL
- int "SHA3: Trade bytes for speed (0:fast, 1:slow)"
- default 1
- range 0 1
- help
- Trade binary size versus speed for the sha3sum algorithm.
- SHA3_SMALL=0 compared to SHA3_SMALL=1 (approximate):
- 64-bit x86: +270 bytes of code, 45% faster
- 32-bit x86: +450 bytes of code, 75% faster
+ int "SHA3: Trade bytes for speed (0:fast, 1:slow)"
+ default 1 # all "fast or small" options default to small
+ range 0 1
+ help
+ Trade binary size versus speed for the sha3sum algorithm.
+ SHA3_SMALL=0 compared to SHA3_SMALL=1 (approximate):
+ 64-bit x86: +270 bytes of code, 45% faster
+ 32-bit x86: +450 bytes of code, 75% faster
config BUSYBOX_FEATURE_FAST_TOP
bool "Faster /proc scanning code (+100 bytes)"
- default y
+ default n # all "fast or small" options default to small
help
- This option makes top (and ps) ~20% faster (or 20% less CPU hungry),
- but code size is slightly bigger.
+ This option makes top and ps ~20% faster (or 20% less CPU hungry),
+ but code size is slightly bigger.
config BUSYBOX_FEATURE_ETC_NETWORKS
- bool "Support for /etc/networks"
+ bool "Support /etc/networks"
default n
help
- Enable support for network names in /etc/networks. This is
- a rarely used feature which allows you to use names
- instead of IP/mask pairs in route command.
+ Enable support for network names in /etc/networks. This is
+ a rarely used feature which allows you to use names
+ instead of IP/mask pairs in route command.
config BUSYBOX_FEATURE_ETC_SERVICES
bool "Consult /etc/services even for well-known ports"
@@ -122,23 +144,11 @@ config BUSYBOX_FEATURE_ETC_SERVICES
specified as a service name (e.g. "telnet HOST PORTNAME"),
it will still be looked up in /etc/services.
-
-config BUSYBOX_FEATURE_USE_TERMIOS
- bool "Use termios to manipulate the screen"
- default y
- depends on BUSYBOX_MORE || BUSYBOX_TOP || BUSYBOX_POWERTOP
- help
- This option allows utilities such as 'more' and 'top' to determine
- the size of the screen. If you leave this disabled, your utilities
- that display things on the screen will be especially primitive and
- will be unable to determine the current screen size, and will be
- unable to move the cursor.
-
config BUSYBOX_FEATURE_EDITING
bool "Command line editing"
default y
help
- Enable line editing (mainly for shell command line).
+ Enable line editing (mainly for shell command line).
config BUSYBOX_FEATURE_EDITING_MAX_LEN
int "Maximum length of input"
@@ -146,17 +156,17 @@ config BUSYBOX_FEATURE_EDITING_MAX_LEN
default 1024
depends on BUSYBOX_FEATURE_EDITING
help
- Line editing code uses on-stack buffers for storage.
- You may want to decrease this parameter if your target machine
- benefits from smaller stack usage.
+ Line editing code uses on-stack buffers for storage.
+ You may want to decrease this parameter if your target machine
+ benefits from smaller stack usage.
config BUSYBOX_FEATURE_EDITING_VI
bool "vi-style line editing commands"
default n
depends on BUSYBOX_FEATURE_EDITING
help
- Enable vi-style line editing. In shells, this mode can be
- turned on and off with "set -o vi" and "set +o vi".
+ Enable vi-style line editing. In shells, this mode can be
+ turned on and off with "set -o vi" and "set +o vi".
config BUSYBOX_FEATURE_EDITING_HISTORY
int "History size"
@@ -165,51 +175,47 @@ config BUSYBOX_FEATURE_EDITING_HISTORY
default 255
depends on BUSYBOX_FEATURE_EDITING
help
- Specify command history size (0 - disable).
+ Specify command history size (0 - disable).
config BUSYBOX_FEATURE_EDITING_SAVEHISTORY
bool "History saving"
default y
depends on BUSYBOX_FEATURE_EDITING
help
- Enable history saving in shells.
+ Enable history saving in shells.
config BUSYBOX_FEATURE_EDITING_SAVE_ON_EXIT
bool "Save history on shell exit, not after every command"
default n
depends on BUSYBOX_FEATURE_EDITING_SAVEHISTORY
help
- Save history on shell exit, not after every command.
+ Save history on shell exit, not after every command.
config BUSYBOX_FEATURE_REVERSE_SEARCH
bool "Reverse history search"
default y
- depends on BUSYBOX_FEATURE_EDITING_SAVEHISTORY
+ depends on BUSYBOX_FEATURE_EDITING
help
- Enable readline-like Ctrl-R combination for reverse history search.
- Increases code by about 0.5k.
+ Enable readline-like Ctrl-R combination for reverse history search.
+ Increases code by about 0.5k.
config BUSYBOX_FEATURE_TAB_COMPLETION
bool "Tab completion"
default y
depends on BUSYBOX_FEATURE_EDITING
- help
- Enable tab completion.
config BUSYBOX_FEATURE_USERNAME_COMPLETION
bool "Username completion"
- default n
+ default y
depends on BUSYBOX_FEATURE_TAB_COMPLETION
- help
- Enable username completion.
config BUSYBOX_FEATURE_EDITING_FANCY_PROMPT
bool "Fancy shell prompts"
default y
depends on BUSYBOX_FEATURE_EDITING
help
- Setting this option allows for prompts to use things like \w and
- \$ and escape codes.
+ Setting this option allows for prompts to use things like \w and
+ \$ and escape codes.
config BUSYBOX_FEATURE_EDITING_WINCH
bool "Enable automatic tracking of window size changes"
@@ -221,90 +227,229 @@ config BUSYBOX_FEATURE_EDITING_ASK_TERMINAL
default n
depends on BUSYBOX_FEATURE_EDITING
help
- Allow usage of "ESC [ 6 n" sequence. Terminal answers back with
- current cursor position. This information is used to make line
- editing more robust in some cases.
- If you are not sure whether your terminals respond to this code
- correctly, or want to save on code size (about 400 bytes),
- then do not turn this option on.
+ Allow usage of "ESC [ 6 n" sequence. Terminal answers back with
+ current cursor position. This information is used to make line
+ editing more robust in some cases.
+ If you are not sure whether your terminals respond to this code
+ correctly, or want to save on code size (about 400 bytes),
+ then do not turn this option on.
+
+config BUSYBOX_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 BUSYBOX_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 BUSYBOX_UNICODE_USING_LOCALE
+ bool "Use libc routines for Unicode (else uses internal ones)"
+ default n
+ depends on BUSYBOX_UNICODE_SUPPORT && BUSYBOX_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_FEATURE_CHECK_UNICODE_IN_ENV
+ bool "Check $LC_ALL, $LC_CTYPE and $LANG environment variables"
+ default n
+ depends on BUSYBOX_UNICODE_SUPPORT && !BUSYBOX_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_SUBST_WCHAR
+ int "Character code to substitute unprintable characters with"
+ depends on BUSYBOX_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 BUSYBOX_LAST_SUPPORTED_WCHAR
+ int "Range of supported Unicode characters"
+ depends on BUSYBOX_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 BUSYBOX_UNICODE_COMBINING_WCHARS
+ bool "Allow zero-width Unicode characters on output"
+ default n
+ depends on BUSYBOX_UNICODE_SUPPORT
+ help
+ With this option off, any Unicode char with width of 0
+ is substituted on output.
+
+config BUSYBOX_UNICODE_WIDE_WCHARS
+ bool "Allow wide Unicode characters on output"
+ default n
+ depends on BUSYBOX_UNICODE_SUPPORT
+ help
+ With this option off, any Unicode char with width > 1
+ is substituted on output.
+
+config BUSYBOX_UNICODE_BIDI_SUPPORT
+ bool "Bidirectional character-aware line input"
+ default n
+ depends on BUSYBOX_UNICODE_SUPPORT && !BUSYBOX_UNICODE_USING_LOCALE
+ help
+ With this option on, right-to-left Unicode characters
+ are treated differently on input (e.g. cursor movement).
+
+config BUSYBOX_UNICODE_NEUTRAL_TABLE
+ bool "In bidi input, support non-ASCII neutral chars too"
+ default n
+ depends on BUSYBOX_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_UNICODE_PRESERVE_BROKEN
+ bool "Make it possible to enter sequences of chars which are not Unicode"
+ default n
+ depends on BUSYBOX_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_FEATURE_NON_POSIX_CP
bool "Non-POSIX, but safer, copying to special nodes"
default y
help
- With this option, "cp file symlink" will delete symlink
- and create a regular file. This does not conform to POSIX,
- but prevents a symlink attack.
- Similarly, "cp file device" will not send file's data
- to the device. (To do that, use "cat file >device")
+ With this option, "cp file symlink" will delete symlink
+ and create a regular file. This does not conform to POSIX,
+ but prevents a symlink attack.
+ Similarly, "cp file device" will not send file's data
+ to the device. (To do that, use "cat file >device")
config BUSYBOX_FEATURE_VERBOSE_CP_MESSAGE
bool "Give more precise messages when copy fails (cp, mv etc)"
default n
help
- Error messages with this feature enabled:
- $ cp file /does_not_exist/file
- cp: cannot create '/does_not_exist/file': Path does not exist
- $ cp file /vmlinuz/file
- cp: cannot stat '/vmlinuz/file': Path has non-directory component
- If this feature is not enabled, they will be, respectively:
- cp: cannot create '/does_not_exist/file': No such file or directory
- cp: cannot stat '/vmlinuz/file': Not a directory
- This will cost you ~60 bytes.
+ Error messages with this feature enabled:
+
+ $ cp file /does_not_exist/file
+ cp: cannot create '/does_not_exist/file': Path does not exist
+ $ cp file /vmlinuz/file
+ cp: cannot stat '/vmlinuz/file': Path has non-directory component
+
+ If this feature is not enabled, they will be, respectively:
+
+ cp: cannot create '/does_not_exist/file': No such file or directory
+ cp: cannot stat '/vmlinuz/file': Not a directory
+
+ This will cost you ~60 bytes.
+
+config BUSYBOX_FEATURE_USE_SENDFILE
+ bool "Use sendfile system call"
+ default y
+ select BUSYBOX_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_FEATURE_COPYBUF_KB
int "Copy buffer size, in kilobytes"
range 1 1024
default 4
help
- Size of buffer used by cp, mv, install, wget etc.
- Buffers which are 4 kb or less will be allocated on stack.
- Bigger buffers will be allocated with mmap, with fallback to 4 kb
- stack buffer if mmap fails.
+ Size of buffer used by cp, mv, install, wget etc.
+ Buffers which are 4 kb or less will be allocated on stack.
+ Bigger buffers will be allocated with mmap, with fallback to 4 kb
+ stack buffer if mmap fails.
config BUSYBOX_FEATURE_SKIP_ROOTFS
bool "Skip rootfs in mount table"
default y
help
- Ignore rootfs entry in mount table.
+ Ignore rootfs entry in mount table.
- In Linux, kernel has a special filesystem, rootfs, which is initially
- mounted on /. It contains initramfs data, if kernel is configured
- to have one. Usually, another file system is mounted over / early
- in boot process, and therefore most tools which manipulate
- mount table, such as df, will skip rootfs entry.
+ In Linux, kernel has a special filesystem, rootfs, which is initially
+ mounted on /. It contains initramfs data, if kernel is configured
+ to have one. Usually, another file system is mounted over / early
+ in boot process, and therefore most tools which manipulate
+ mount table, such as df, will skip rootfs entry.
- However, some systems do not mount anything on /.
- If you need to configure busybox for one of these systems,
- you may find it useful to turn this option off to make df show
- initramfs statistics.
+ However, some systems do not mount anything on /.
+ If you need to configure busybox for one of these systems,
+ you may find it useful to turn this option off to make df show
+ initramfs statistics.
- Otherwise, choose Y.
+ Otherwise, choose Y.
config BUSYBOX_MONOTONIC_SYSCALL
bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
default y
select BUSYBOX_PLATFORM_LINUX
help
- Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
- time intervals (time, ping, traceroute etc need this).
- Probably requires Linux 2.6+. If not selected, gettimeofday
- will be used instead (which gives wrong results if date/time
- is reset).
+ Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
+ time intervals (time, ping, traceroute etc need this).
+ Probably requires Linux 2.6+. If not selected, gettimeofday
+ will be used instead (which gives wrong results if date/time
+ is reset).
config BUSYBOX_IOCTL_HEX2STR_ERROR
bool "Use ioctl names rather than hex values in error messages"
default y
help
- Use ioctl names rather than hex values in error messages
- (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this
- saves about 1400 bytes.
+ Use ioctl names rather than hex values in error messages
+ (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this
+ saves about 1400 bytes.
config BUSYBOX_FEATURE_HWIB
bool "Support infiniband HW"
- default n
+ default y
help
- Support for printing infiniband addresses in
- network applets.
-
-endmenu
+ Support for printing infiniband addresses in network applets.