busybox: update to 1.26.2
[openwrt/staging/blogic.git] / package / utils / busybox / config / libbb / Config.in
1 # DO NOT EDIT. This file is generated from Config.src
2 #
3 # For a description of the syntax of this configuration file,
4 # see scripts/kbuild/config-language.txt.
5 #
6
7 menu "Busybox Library Tuning"
8
9 config BUSYBOX_CONFIG_FEATURE_USE_BSS_TAIL
10 bool "Use the end of BSS page"
11 default BUSYBOX_DEFAULT_FEATURE_USE_BSS_TAIL
12 help
13 Attempt to reclaim a small unused part of BSS.
14
15 Executables have the following parts:
16 = read-only executable code and constants, also known as "text"
17 = read-write data
18 = non-initialized (zeroed on demand) data, also known as "bss"
19
20 At link time, "text" is padded to a full page. At runtime, all "text"
21 pages are mapped RO and executable.
22 "Data" starts on the next page boundary, but is not padded
23 to a full page at the end. "Bss" starts wherever "data" ends.
24 At runtime, "data" pages are mapped RW and they are file-backed
25 (this includes a small portion of "bss" which may live in the last
26 partial page of "data").
27 Pages which are fully in "bss" are mapped to anonymous memory.
28
29 "Bss" end is usually not page-aligned. There is an unused space
30 in the last page. Linker marks its start with the "_end" symbol.
31
32 This option will attempt to use that space for bb_common_bufsiz1[]
33 array. If it fits after _end, it will be used, and COMMON_BUFSIZE
34 will be enlarged from its guaranteed minimum size of 1 kbyte.
35 This may require recompilation a second time, since value of _end
36 is known only after final link.
37
38 If you are getting a build error like this:
39 appletlib.c:(.text.main+0xd): undefined reference to '_end'
40 disable this option.
41 config BUSYBOX_CONFIG_FEATURE_RTMINMAX
42 bool "Support RTMIN[+n] and RTMAX[-n] signal names"
43 default BUSYBOX_DEFAULT_FEATURE_RTMINMAX
44 help
45 Support RTMIN[+n] and RTMAX[-n] signal names
46 in kill, killall etc. This costs ~250 bytes.
47
48 choice
49 prompt "Buffer allocation policy"
50 default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
51 help
52 There are 3 ways BusyBox can handle buffer allocations:
53 - Use malloc. This costs code size for the call to xmalloc.
54 - Put them on stack. For some very small machines with limited stack
55 space, this can be deadly. For most folks, this works just fine.
56 - Put them in BSS. This works beautifully for computers with a real
57 MMU (and OS support), but wastes runtime RAM for uCLinux. This
58 behavior was the only one available for BusyBox versions 0.48 and
59 earlier.
60
61 config BUSYBOX_CONFIG_FEATURE_BUFFERS_USE_MALLOC
62 bool "Allocate with Malloc"
63
64 config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
65 bool "Allocate on the Stack"
66
67 config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_IN_BSS
68 bool "Allocate in the .bss section"
69
70 endchoice
71
72 config BUSYBOX_CONFIG_PASSWORD_MINLEN
73 int "Minimum password length"
74 default BUSYBOX_DEFAULT_PASSWORD_MINLEN
75 range 5 32
76 help
77 Minimum allowable password length.
78
79 config BUSYBOX_CONFIG_MD5_SMALL
80 int "MD5: Trade bytes for speed (0:fast, 3:slow)"
81 default BUSYBOX_DEFAULT_MD5_SMALL # all "fast or small" options default to small
82 range 0 3
83 help
84 Trade binary size versus speed for the md5sum algorithm.
85 Approximate values running uClibc and hashing
86 linux-2.4.4.tar.bz2 were:
87 user times (sec) text size (386)
88 0 (fastest) 1.1 6144
89 1 1.4 5392
90 2 3.0 5088
91 3 (smallest) 5.1 4912
92
93 config BUSYBOX_CONFIG_SHA3_SMALL
94 int "SHA3: Trade bytes for speed (0:fast, 1:slow)"
95 default BUSYBOX_DEFAULT_SHA3_SMALL # all "fast or small" options default to small
96 range 0 1
97 help
98 Trade binary size versus speed for the sha3sum algorithm.
99 SHA3_SMALL=0 compared to SHA3_SMALL=1 (approximate):
100 64-bit x86: +270 bytes of code, 45% faster
101 32-bit x86: +450 bytes of code, 75% faster
102
103 config BUSYBOX_CONFIG_FEATURE_FAST_TOP
104 bool "Faster /proc scanning code (+100 bytes)"
105 default BUSYBOX_DEFAULT_FEATURE_FAST_TOP # all "fast or small" options default to small
106 help
107 This option makes top (and ps) ~20% faster (or 20% less CPU hungry),
108 but code size is slightly bigger.
109
110 config BUSYBOX_CONFIG_FEATURE_ETC_NETWORKS
111 bool "Support for /etc/networks"
112 default BUSYBOX_DEFAULT_FEATURE_ETC_NETWORKS
113 help
114 Enable support for network names in /etc/networks. This is
115 a rarely used feature which allows you to use names
116 instead of IP/mask pairs in route command.
117
118 config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS
119 bool "Use termios to manipulate the screen"
120 default BUSYBOX_DEFAULT_FEATURE_USE_TERMIOS
121 depends on BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TOP || BUSYBOX_CONFIG_POWERTOP
122 help
123 This option allows utilities such as 'more' and 'top' to determine
124 the size of the screen. If you leave this disabled, your utilities
125 that display things on the screen will be especially primitive and
126 will be unable to determine the current screen size, and will be
127 unable to move the cursor.
128
129 config BUSYBOX_CONFIG_FEATURE_EDITING
130 bool "Command line editing"
131 default BUSYBOX_DEFAULT_FEATURE_EDITING
132 help
133 Enable line editing (mainly for shell command line).
134
135 config BUSYBOX_CONFIG_FEATURE_EDITING_MAX_LEN
136 int "Maximum length of input"
137 range 128 8192
138 default BUSYBOX_DEFAULT_FEATURE_EDITING_MAX_LEN
139 depends on BUSYBOX_CONFIG_FEATURE_EDITING
140 help
141 Line editing code uses on-stack buffers for storage.
142 You may want to decrease this parameter if your target machine
143 benefits from smaller stack usage.
144
145 config BUSYBOX_CONFIG_FEATURE_EDITING_VI
146 bool "vi-style line editing commands"
147 default BUSYBOX_DEFAULT_FEATURE_EDITING_VI
148 depends on BUSYBOX_CONFIG_FEATURE_EDITING
149 help
150 Enable vi-style line editing. In shells, this mode can be
151 turned on and off with "set -o vi" and "set +o vi".
152
153 config BUSYBOX_CONFIG_FEATURE_EDITING_HISTORY
154 int "History size"
155 # Don't allow way too big values here, code uses fixed "char *history[N]" struct member
156 range 0 9999
157 default BUSYBOX_DEFAULT_FEATURE_EDITING_HISTORY
158 depends on BUSYBOX_CONFIG_FEATURE_EDITING
159 help
160 Specify command history size (0 - disable).
161
162 config BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
163 bool "History saving"
164 default BUSYBOX_DEFAULT_FEATURE_EDITING_SAVEHISTORY
165 depends on BUSYBOX_CONFIG_FEATURE_EDITING
166 help
167 Enable history saving in shells.
168
169 config BUSYBOX_CONFIG_FEATURE_EDITING_SAVE_ON_EXIT
170 bool "Save history on shell exit, not after every command"
171 default BUSYBOX_DEFAULT_FEATURE_EDITING_SAVE_ON_EXIT
172 depends on BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
173 help
174 Save history on shell exit, not after every command.
175
176 config BUSYBOX_CONFIG_FEATURE_REVERSE_SEARCH
177 bool "Reverse history search"
178 default BUSYBOX_DEFAULT_FEATURE_REVERSE_SEARCH
179 depends on BUSYBOX_CONFIG_FEATURE_EDITING
180 help
181 Enable readline-like Ctrl-R combination for reverse history search.
182 Increases code by about 0.5k.
183
184 config BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION
185 bool "Tab completion"
186 default BUSYBOX_DEFAULT_FEATURE_TAB_COMPLETION
187 depends on BUSYBOX_CONFIG_FEATURE_EDITING
188 help
189 Enable tab completion.
190
191 config BUSYBOX_CONFIG_FEATURE_USERNAME_COMPLETION
192 bool "Username completion"
193 default BUSYBOX_DEFAULT_FEATURE_USERNAME_COMPLETION
194 depends on BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION
195 help
196 Enable username completion.
197
198 config BUSYBOX_CONFIG_FEATURE_EDITING_FANCY_PROMPT
199 bool "Fancy shell prompts"
200 default BUSYBOX_DEFAULT_FEATURE_EDITING_FANCY_PROMPT
201 depends on BUSYBOX_CONFIG_FEATURE_EDITING
202 help
203 Setting this option allows for prompts to use things like \w and
204 \$ and escape codes.
205
206 config BUSYBOX_CONFIG_FEATURE_EDITING_ASK_TERMINAL
207 bool "Query cursor position from terminal"
208 default BUSYBOX_DEFAULT_FEATURE_EDITING_ASK_TERMINAL
209 depends on BUSYBOX_CONFIG_FEATURE_EDITING
210 help
211 Allow usage of "ESC [ 6 n" sequence. Terminal answers back with
212 current cursor position. This information is used to make line
213 editing more robust in some cases.
214 If you are not sure whether your terminals respond to this code
215 correctly, or want to save on code size (about 400 bytes),
216 then do not turn this option on.
217
218 config BUSYBOX_CONFIG_LOCALE_SUPPORT
219 bool "Enable locale support (system needs locale for this to work)"
220 default BUSYBOX_DEFAULT_LOCALE_SUPPORT
221 help
222 Enable this if your system has locale support and you would like
223 busybox to support locale settings.
224
225 config BUSYBOX_CONFIG_UNICODE_SUPPORT
226 bool "Support Unicode"
227 default BUSYBOX_DEFAULT_UNICODE_SUPPORT
228 help
229 This makes various applets aware that one byte is not
230 one character on screen.
231
232 Busybox aims to eventually work correctly with Unicode displays.
233 Any older encodings are not guaranteed to work.
234 Probably by the time when busybox will be fully Unicode-clean,
235 other encodings will be mainly of historic interest.
236
237 config BUSYBOX_CONFIG_UNICODE_USING_LOCALE
238 bool "Use libc routines for Unicode (else uses internal ones)"
239 default BUSYBOX_DEFAULT_UNICODE_USING_LOCALE
240 depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && BUSYBOX_CONFIG_LOCALE_SUPPORT
241 help
242 With this option on, Unicode support is implemented using libc
243 routines. Otherwise, internal implementation is used.
244 Internal implementation is smaller.
245
246 config BUSYBOX_CONFIG_FEATURE_CHECK_UNICODE_IN_ENV
247 bool "Check $LC_ALL, $LC_CTYPE and $LANG environment variables"
248 default BUSYBOX_DEFAULT_FEATURE_CHECK_UNICODE_IN_ENV
249 depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
250 help
251 With this option on, Unicode support is activated
252 only if locale-related variables have the value of the form
253 "xxxx.utf8"
254
255 Otherwise, Unicode support will be always enabled and active.
256
257 config BUSYBOX_CONFIG_SUBST_WCHAR
258 int "Character code to substitute unprintable characters with"
259 depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
260 default BUSYBOX_DEFAULT_SUBST_WCHAR
261 help
262 Typical values are 63 for '?' (works with any output device),
263 30 for ASCII substitute control code,
264 65533 (0xfffd) for Unicode replacement character.
265
266 config BUSYBOX_CONFIG_LAST_SUPPORTED_WCHAR
267 int "Range of supported Unicode characters"
268 depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
269 default BUSYBOX_DEFAULT_LAST_SUPPORTED_WCHAR
270 help
271 Any character with Unicode value bigger than this is assumed
272 to be non-printable on output device. Many applets replace
273 such characters with substitution character.
274
275 The idea is that many valid printable Unicode chars
276 nevertheless are not displayed correctly. Think about
277 combining charachers, double-wide hieroglyphs, obscure
278 characters in dozens of ancient scripts...
279 Many terminals, terminal emulators, xterms etc will fail
280 to handle them correctly. Choose the smallest value
281 which suits your needs.
282
283 Typical values are:
284 126 - ASCII only
285 767 (0x2ff) - there are no combining chars in [0..767] range
286 (the range includes Latin 1, Latin Ext. A and B),
287 code is ~700 bytes smaller for this case.
288 4351 (0x10ff) - there are no double-wide chars in [0..4351] range,
289 code is ~300 bytes smaller for this case.
290 12799 (0x31ff) - nearly all non-ideographic characters are
291 available in [0..12799] range, including
292 East Asian scripts like katakana, hiragana, hangul,
293 bopomofo...
294 0 - off, any valid printable Unicode character will be printed.
295
296 config BUSYBOX_CONFIG_UNICODE_COMBINING_WCHARS
297 bool "Allow zero-width Unicode characters on output"
298 default BUSYBOX_DEFAULT_UNICODE_COMBINING_WCHARS
299 depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
300 help
301 With this option off, any Unicode char with width of 0
302 is substituted on output.
303
304 config BUSYBOX_CONFIG_UNICODE_WIDE_WCHARS
305 bool "Allow wide Unicode characters on output"
306 default BUSYBOX_DEFAULT_UNICODE_WIDE_WCHARS
307 depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
308 help
309 With this option off, any Unicode char with width > 1
310 is substituted on output.
311
312 config BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT
313 bool "Bidirectional character-aware line input"
314 default BUSYBOX_DEFAULT_UNICODE_BIDI_SUPPORT
315 depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
316 help
317 With this option on, right-to-left Unicode characters
318 are treated differently on input (e.g. cursor movement).
319
320 config BUSYBOX_CONFIG_UNICODE_NEUTRAL_TABLE
321 bool "In bidi input, support non-ASCII neutral chars too"
322 default BUSYBOX_DEFAULT_UNICODE_NEUTRAL_TABLE
323 depends on BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT
324 help
325 In most cases it's enough to treat only ASCII non-letters
326 (i.e. punctuation, numbers and space) as characters
327 with neutral directionality.
328 With this option on, more extensive (and bigger) table
329 of neutral chars will be used.
330
331 config BUSYBOX_CONFIG_UNICODE_PRESERVE_BROKEN
332 bool "Make it possible to enter sequences of chars which are not Unicode"
333 default BUSYBOX_DEFAULT_UNICODE_PRESERVE_BROKEN
334 depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
335 help
336 With this option on, on line-editing input (such as used by shells)
337 invalid UTF-8 bytes are not substituted with the selected
338 substitution character.
339 For example, this means that entering 'l', 's', ' ', 0xff, [Enter]
340 at shell prompt will list file named 0xff (single char name
341 with char value 255), not file named '?'.
342
343 config BUSYBOX_CONFIG_FEATURE_NON_POSIX_CP
344 bool "Non-POSIX, but safer, copying to special nodes"
345 default BUSYBOX_DEFAULT_FEATURE_NON_POSIX_CP
346 help
347 With this option, "cp file symlink" will delete symlink
348 and create a regular file. This does not conform to POSIX,
349 but prevents a symlink attack.
350 Similarly, "cp file device" will not send file's data
351 to the device. (To do that, use "cat file >device")
352
353 config BUSYBOX_CONFIG_FEATURE_VERBOSE_CP_MESSAGE
354 bool "Give more precise messages when copy fails (cp, mv etc)"
355 default BUSYBOX_DEFAULT_FEATURE_VERBOSE_CP_MESSAGE
356 help
357 Error messages with this feature enabled:
358 $ cp file /does_not_exist/file
359 cp: cannot create '/does_not_exist/file': Path does not exist
360 $ cp file /vmlinuz/file
361 cp: cannot stat '/vmlinuz/file': Path has non-directory component
362 If this feature is not enabled, they will be, respectively:
363 cp: cannot create '/does_not_exist/file': No such file or directory
364 cp: cannot stat '/vmlinuz/file': Not a directory
365 This will cost you ~60 bytes.
366
367 config BUSYBOX_CONFIG_FEATURE_USE_SENDFILE
368 bool "Use sendfile system call"
369 default BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE
370 select BUSYBOX_CONFIG_PLATFORM_LINUX
371 help
372 When enabled, busybox will use the kernel sendfile() function
373 instead of read/write loops to copy data between file descriptors
374 (for example, cp command does this a lot).
375 If sendfile() doesn't work, copying code falls back to read/write
376 loop. sendfile() was originally implemented for faster I/O
377 from files to sockets, but since Linux 2.6.33 it was extended
378 to work for many more file types.
379
380 config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB
381 int "Copy buffer size, in kilobytes"
382 range 1 1024
383 default BUSYBOX_DEFAULT_FEATURE_COPYBUF_KB
384 help
385 Size of buffer used by cp, mv, install, wget etc.
386 Buffers which are 4 kb or less will be allocated on stack.
387 Bigger buffers will be allocated with mmap, with fallback to 4 kb
388 stack buffer if mmap fails.
389
390 config BUSYBOX_CONFIG_FEATURE_SKIP_ROOTFS
391 bool "Skip rootfs in mount table"
392 default BUSYBOX_DEFAULT_FEATURE_SKIP_ROOTFS
393 help
394 Ignore rootfs entry in mount table.
395
396 In Linux, kernel has a special filesystem, rootfs, which is initially
397 mounted on /. It contains initramfs data, if kernel is configured
398 to have one. Usually, another file system is mounted over / early
399 in boot process, and therefore most tools which manipulate
400 mount table, such as df, will skip rootfs entry.
401
402 However, some systems do not mount anything on /.
403 If you need to configure busybox for one of these systems,
404 you may find it useful to turn this option off to make df show
405 initramfs statistics.
406
407 Otherwise, choose Y.
408
409 config BUSYBOX_CONFIG_MONOTONIC_SYSCALL
410 bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
411 default BUSYBOX_DEFAULT_MONOTONIC_SYSCALL
412 select BUSYBOX_CONFIG_PLATFORM_LINUX
413 help
414 Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
415 time intervals (time, ping, traceroute etc need this).
416 Probably requires Linux 2.6+. If not selected, gettimeofday
417 will be used instead (which gives wrong results if date/time
418 is reset).
419
420 config BUSYBOX_CONFIG_IOCTL_HEX2STR_ERROR
421 bool "Use ioctl names rather than hex values in error messages"
422 default BUSYBOX_DEFAULT_IOCTL_HEX2STR_ERROR
423 help
424 Use ioctl names rather than hex values in error messages
425 (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this
426 saves about 1400 bytes.
427
428 config BUSYBOX_CONFIG_FEATURE_HWIB
429 bool "Support infiniband HW"
430 default BUSYBOX_DEFAULT_FEATURE_HWIB
431 help
432 Support for printing infiniband addresses in
433 network applets.
434
435 endmenu