diff options
Diffstat (limited to 'package/busybox/config/libbb')
-rw-r--r-- | package/busybox/config/libbb/Config.in | 421 |
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. |