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