busybox: update to version 1.25.0
[oweals/openwrt.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 config BUSYBOX_CONFIG_PASSWORD_MINLEN
49         int "Minimum password length"
50         default BUSYBOX_DEFAULT_PASSWORD_MINLEN
51         range 5 32
52         help
53           Minimum allowable password length.
54
55 config BUSYBOX_CONFIG_MD5_SMALL
56         int "MD5: Trade bytes for speed (0:fast, 3:slow)"
57         default BUSYBOX_DEFAULT_MD5_SMALL  # all "fast or small" options default to small
58         range 0 3
59         help
60           Trade binary size versus speed for the md5sum algorithm.
61           Approximate values running uClibc and hashing
62           linux-2.4.4.tar.bz2 were:
63                             user times (sec)  text size (386)
64           0 (fastest)         1.1                6144
65           1                   1.4                5392
66           2                   3.0                5088
67           3 (smallest)        5.1                4912
68
69 config BUSYBOX_CONFIG_SHA3_SMALL
70         int "SHA3: Trade bytes for speed (0:fast, 1:slow)"
71         default BUSYBOX_DEFAULT_SHA3_SMALL  # all "fast or small" options default to small
72         range 0 1
73         help
74           Trade binary size versus speed for the sha3sum algorithm.
75           SHA3_SMALL=0 compared to SHA3_SMALL=1 (approximate):
76           64-bit x86: +270 bytes of code, 45% faster
77           32-bit x86: +450 bytes of code, 75% faster
78
79 config BUSYBOX_CONFIG_FEATURE_FAST_TOP
80         bool "Faster /proc scanning code (+100 bytes)"
81         default BUSYBOX_DEFAULT_FEATURE_FAST_TOP  # all "fast or small" options default to small
82         help
83           This option makes top (and ps) ~20% faster (or 20% less CPU hungry),
84           but code size is slightly bigger.
85
86 config BUSYBOX_CONFIG_FEATURE_ETC_NETWORKS
87         bool "Support for /etc/networks"
88         default BUSYBOX_DEFAULT_FEATURE_ETC_NETWORKS
89         help
90           Enable support for network names in /etc/networks. This is
91           a rarely used feature which allows you to use names
92           instead of IP/mask pairs in route command.
93
94 config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS
95         bool "Use termios to manipulate the screen"
96         default BUSYBOX_DEFAULT_FEATURE_USE_TERMIOS
97         depends on BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TOP || BUSYBOX_CONFIG_POWERTOP
98         help
99           This option allows utilities such as 'more' and 'top' to determine
100           the size of the screen. If you leave this disabled, your utilities
101           that display things on the screen will be especially primitive and
102           will be unable to determine the current screen size, and will be
103           unable to move the cursor.
104
105 config BUSYBOX_CONFIG_FEATURE_EDITING
106         bool "Command line editing"
107         default BUSYBOX_DEFAULT_FEATURE_EDITING
108         help
109           Enable line editing (mainly for shell command line).
110
111 config BUSYBOX_CONFIG_FEATURE_EDITING_MAX_LEN
112         int "Maximum length of input"
113         range 128 8192
114         default BUSYBOX_DEFAULT_FEATURE_EDITING_MAX_LEN
115         depends on BUSYBOX_CONFIG_FEATURE_EDITING
116         help
117           Line editing code uses on-stack buffers for storage.
118           You may want to decrease this parameter if your target machine
119           benefits from smaller stack usage.
120
121 config BUSYBOX_CONFIG_FEATURE_EDITING_VI
122         bool "vi-style line editing commands"
123         default BUSYBOX_DEFAULT_FEATURE_EDITING_VI
124         depends on BUSYBOX_CONFIG_FEATURE_EDITING
125         help
126           Enable vi-style line editing. In shells, this mode can be
127           turned on and off with "set -o vi" and "set +o vi".
128
129 config BUSYBOX_CONFIG_FEATURE_EDITING_HISTORY
130         int "History size"
131         # Don't allow way too big values here, code uses fixed "char *history[N]" struct member
132         range 0 9999
133         default BUSYBOX_DEFAULT_FEATURE_EDITING_HISTORY
134         depends on BUSYBOX_CONFIG_FEATURE_EDITING
135         help
136           Specify command history size (0 - disable).
137
138 config BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
139         bool "History saving"
140         default BUSYBOX_DEFAULT_FEATURE_EDITING_SAVEHISTORY
141         depends on BUSYBOX_CONFIG_FEATURE_EDITING
142         help
143           Enable history saving in shells.
144
145 config BUSYBOX_CONFIG_FEATURE_EDITING_SAVE_ON_EXIT
146         bool "Save history on shell exit, not after every command"
147         default BUSYBOX_DEFAULT_FEATURE_EDITING_SAVE_ON_EXIT
148         depends on BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
149         help
150           Save history on shell exit, not after every command.
151
152 config BUSYBOX_CONFIG_FEATURE_REVERSE_SEARCH
153         bool "Reverse history search"
154         default BUSYBOX_DEFAULT_FEATURE_REVERSE_SEARCH
155         depends on BUSYBOX_CONFIG_FEATURE_EDITING
156         help
157           Enable readline-like Ctrl-R combination for reverse history search.
158           Increases code by about 0.5k.
159
160 config BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION
161         bool "Tab completion"
162         default BUSYBOX_DEFAULT_FEATURE_TAB_COMPLETION
163         depends on BUSYBOX_CONFIG_FEATURE_EDITING
164         help
165           Enable tab completion.
166
167 config BUSYBOX_CONFIG_FEATURE_USERNAME_COMPLETION
168         bool "Username completion"
169         default BUSYBOX_DEFAULT_FEATURE_USERNAME_COMPLETION
170         depends on BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION
171         help
172           Enable username completion.
173
174 config BUSYBOX_CONFIG_FEATURE_EDITING_FANCY_PROMPT
175         bool "Fancy shell prompts"
176         default BUSYBOX_DEFAULT_FEATURE_EDITING_FANCY_PROMPT
177         depends on BUSYBOX_CONFIG_FEATURE_EDITING
178         help
179           Setting this option allows for prompts to use things like \w and
180           \$ and escape codes.
181
182 config BUSYBOX_CONFIG_FEATURE_EDITING_ASK_TERMINAL
183         bool "Query cursor position from terminal"
184         default BUSYBOX_DEFAULT_FEATURE_EDITING_ASK_TERMINAL
185         depends on BUSYBOX_CONFIG_FEATURE_EDITING
186         help
187           Allow usage of "ESC [ 6 n" sequence. Terminal answers back with
188           current cursor position. This information is used to make line
189           editing more robust in some cases.
190           If you are not sure whether your terminals respond to this code
191           correctly, or want to save on code size (about 400 bytes),
192           then do not turn this option on.
193
194 config BUSYBOX_CONFIG_FEATURE_NON_POSIX_CP
195         bool "Non-POSIX, but safer, copying to special nodes"
196         default BUSYBOX_DEFAULT_FEATURE_NON_POSIX_CP
197         help
198           With this option, "cp file symlink" will delete symlink
199           and create a regular file. This does not conform to POSIX,
200           but prevents a symlink attack.
201           Similarly, "cp file device" will not send file's data
202           to the device. (To do that, use "cat file >device")
203
204 config BUSYBOX_CONFIG_FEATURE_VERBOSE_CP_MESSAGE
205         bool "Give more precise messages when copy fails (cp, mv etc)"
206         default BUSYBOX_DEFAULT_FEATURE_VERBOSE_CP_MESSAGE
207         help
208           Error messages with this feature enabled:
209             $ cp file /does_not_exist/file
210             cp: cannot create '/does_not_exist/file': Path does not exist
211             $ cp file /vmlinuz/file
212             cp: cannot stat '/vmlinuz/file': Path has non-directory component
213           If this feature is not enabled, they will be, respectively:
214             cp: cannot create '/does_not_exist/file': No such file or directory
215             cp: cannot stat '/vmlinuz/file': Not a directory
216           This will cost you ~60 bytes.
217
218 config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB
219         int "Copy buffer size, in kilobytes"
220         range 1 1024
221         default BUSYBOX_DEFAULT_FEATURE_COPYBUF_KB
222         help
223           Size of buffer used by cp, mv, install, wget etc.
224           Buffers which are 4 kb or less will be allocated on stack.
225           Bigger buffers will be allocated with mmap, with fallback to 4 kb
226           stack buffer if mmap fails.
227
228 config BUSYBOX_CONFIG_FEATURE_SKIP_ROOTFS
229         bool "Skip rootfs in mount table"
230         default BUSYBOX_DEFAULT_FEATURE_SKIP_ROOTFS
231         help
232           Ignore rootfs entry in mount table.
233
234           In Linux, kernel has a special filesystem, rootfs, which is initially
235           mounted on /. It contains initramfs data, if kernel is configured
236           to have one. Usually, another file system is mounted over / early
237           in boot process, and therefore most tools which manipulate
238           mount table, such as df, will skip rootfs entry.
239
240           However, some systems do not mount anything on /.
241           If you need to configure busybox for one of these systems,
242           you may find it useful to turn this option off to make df show
243           initramfs statistics.
244
245           Otherwise, choose Y.
246
247 config BUSYBOX_CONFIG_MONOTONIC_SYSCALL
248         bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
249         default BUSYBOX_DEFAULT_MONOTONIC_SYSCALL
250         select BUSYBOX_CONFIG_PLATFORM_LINUX
251         help
252           Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
253           time intervals (time, ping, traceroute etc need this).
254           Probably requires Linux 2.6+. If not selected, gettimeofday
255           will be used instead (which gives wrong results if date/time
256           is reset).
257
258 config BUSYBOX_CONFIG_IOCTL_HEX2STR_ERROR
259         bool "Use ioctl names rather than hex values in error messages"
260         default BUSYBOX_DEFAULT_IOCTL_HEX2STR_ERROR
261         help
262           Use ioctl names rather than hex values in error messages
263           (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this
264           saves about 1400 bytes.
265
266 config BUSYBOX_CONFIG_FEATURE_HWIB
267         bool "Support infiniband HW"
268         default BUSYBOX_DEFAULT_FEATURE_HWIB
269         help
270           Support for printing infiniband addresses in
271           network applets.
272
273 endmenu