Merge fileutils, textutils and shellutils into coreuils
[oweals/busybox.git] / sysdeps / linux / Config.in
1 #
2 # For a description of the syntax of this configuration file,
3 # see scripts/kbuild/config-language.txt.
4 #
5
6 mainmenu "BusyBox Configuration"
7
8 config HAVE_DOT_CONFIG
9         bool
10         default y
11
12 menu "General Configuration"
13
14 choice
15         prompt "Buffer allocation policy"
16         default "Allocate with Malloc"
17         help
18           There are 3 ways BusyBox can handle buffer allocations:
19           - Use malloc. This costs code size for the call to xmalloc.
20           - Put them on stack. For some very small machines with limited stack
21             space, this can be deadly.  For most folks, this works just fine.
22           - Put them in BSS. This works beautifully for computers with a real
23             MMU (and OS support), but wastes runtime RAM for uCLinux. This
24             behavior was the only one available for BusyBox versions 0.48 and
25             earlier.
26
27 config CONFIG_FEATURE_BUFFERS_USE_MALLOC
28         bool "Allocate with Malloc"
29
30 config CONFIG_FEATURE_BUFFERS_GO_ON_STACK
31         bool "Allocate on the Stack"
32
33 config CONFIG_FEATURE_BUFFERS_GO_IN_BSS
34         bool "Allocate in the .bss section"
35
36 endchoice
37
38 config CONFIG_FEATURE_VERBOSE_USAGE
39         bool "Show verbose applet usage messages"
40         default n
41         help
42           All BusyBox applets will show more verbose help messages when
43           busybox is invoked with --help.  This will add lots of text to the
44           busybox binary.  In the default configuration, this will add about
45           13k, but it can add much more depending on your configuration.
46
47 config CONFIG_FEATURE_INSTALLER
48         bool "Support --install [-s] to install applet links at runtime"
49         default n
50         help
51           Enable 'busybox --install [-s]' support.  This will allow you to use
52           busybox at runtime to create hard links or symlinks for all the
53           applets that are compiled into busybox.  This feature requires the
54           /proc filesystem.
55
56 config CONFIG_LOCALE_SUPPORT
57         bool "Enable locale support (system needs locale for this to work)"
58         default n
59         help
60           Enable this if your system has locale support, and you would like
61           busybox to support locale settings.
62
63 config CONFIG_FEATURE_DEVFS
64         bool "Support for devfs"
65         default n
66         help
67           Enable if you want BusyBox to work with devfs.
68
69 config CONFIG_FEATURE_DEVPTS
70         bool "Use the devpts filesystem for Unix98 PTYs"
71         default y if CONFIG_FEATURE_DEVFS
72         help
73           Enable if you want BusyBox to use Unix98 PTY support. If enabled,
74           busybox will use /dev/ptmx for the master side of the pseudoterminal
75           and /dev/pts/<number> for the slave side.  Otherwise, BSD style
76           /dev/ttyp<number> will be used. To use this option, you should have
77           devpts or devfs mounted.
78
79 config CONFIG_FEATURE_CLEAN_UP
80         bool "Clean up all memory before exiting (usually not needed)"
81         default n
82         help
83         As a size optimization, busybox by default does not cleanup memory
84         that is dynamically allocated or close files before exiting. This
85         saves space and is usually not needed since the OS will clean up for
86         us.  Don't enable this unless you have a really good reason to clean
87         things up manually.
88
89 config CONFIG_FEATURE_SUID
90         bool "Support for SUID/SGID handling"
91         default n
92         help
93           Please submit a patch to add help text for this item.
94
95 config CONFIG_FEATURE_SUID_CONFIG
96         bool "Runtime SUID/SGID configuration via /etc/busybox.conf"
97         default y if CONFIG_FEATURE_SUID
98         depends on CONFIG_FEATURE_SUID
99         help
100           Please submit a patch to add help text for this item.
101
102 config CONFIG_FEATURE_SUID_CONFIG_QUIET
103         bool "Suppress warning message if /etc/busybox.conf is not readable"
104         default n
105         depends on CONFIG_FEATURE_SUID_CONFIG
106         help
107           Please submit a patch to add help text for this item.
108
109 endmenu
110
111 menu 'Build Options'
112
113 config DOSTATIC
114         bool "Build BusyBox as a static binary (no shared libs)"
115         default n
116         help
117           If you want to build a static BusyBox binary, which does not 
118           use or require any shared libraries, then enable this option.  
119
120 config DOLFS
121         bool "Build with Large File Support (for accessing files > 2 GB)" 
122         default n
123         help
124           If you want to build BusyBox with large file support, then enable
125           this option.  This will have no effect if your kernel or your C
126           library lacks large file support for large files.  Some of the
127           programs that can benefit from large file support include dd, gzip,
128           cp, mount, tar, and many others.  If you want to access files larger
129           than 2 Gigabytes, enable this option.  Otherwise, leave it set to 'N'.
130
131 config USING_CROSS_COMPILER
132         bool "Do you want to build BusyBox with a Cross Compiler?"
133         default n
134         help
135           Do you want to build BusyBox with a Cross Compiler?  If so,
136           then enable this option.  Otherwise leave it set to 'N'.
137
138 config CROSS_COMPILER_PREFIX
139         string "Cross Compiler prefix"
140         default "/usr/i386-linux-uclibc/bin/i386-uclibc-"
141         depends on USING_CROSS_COMPILER
142         help
143           If you want to build BusyBox with a cross compiler, then you 
144           will need to set this to the cross-compiler prefix.  For example,
145           if my cross-compiler is /usr/i386-linux-uclibc/bin/i386-uclibc-gcc
146           then I would enter '/usr/i386-linux-uclibc/bin/i386-uclibc-' here,
147           which will ensure the correct compiler is used.
148
149 config EXTRA_CFLAGS_OPTIONS
150         string "Any extra CFLAGS options for the compiler?"
151         default ""
152         help
153           Do you want to pass any extra CFLAGS options to the compiler as
154           you build BusyBox? If so, this is the option for you...  For example,
155           if you want to add some simple compiler switches (like -march=i686),
156           or check for warnings using -Werror, just those options here.
157
158 endmenu
159
160 menu 'Installation Options'
161
162 config CONFIG_INSTALL_NO_USR
163         bool "Don't use /usr"
164         default n
165         help
166           Disable use of /usr. Don't activate this option if you don't know,
167           that you really want this behaviour.
168
169 config PREFIX
170         string "BusyBox installation prefix"
171         default "./_install"
172         help
173           Define Your directory to install BusyBox files/subdirs.
174
175
176
177 endmenu
178
179 source archival/Config.in
180 source coreutils/Config.in
181 source console-tools/Config.in
182 source debianutils/Config.in
183 source editors/Config.in
184 source findutils/Config.in
185 source init/Config.in
186 source loginutils/Config.in
187 source miscutils/Config.in
188 source modutils/Config.in
189 source networking/Config.in
190 source procps/Config.in
191 source shell/Config.in
192 source sysklogd/Config.in
193 source util-linux/Config.in
194
195 menu 'Debugging Options'
196
197 config DOSTATIC
198         bool "Build BusyBox as a static binary (no shared libs)"
199         default n
200         help
201           If you want to build a static BusyBox binary, which does not 
202           use or require any shared libraries, then enable this option.  
203           This will make BusyBox be considerable larger, so you should
204           leave this option false unless you have a good reason (i.e.
205           your target platform does not support shared libraries, or
206           you are building an initrd which doesn't need anything but
207           BusyBox, etc).
208
209           Most people will leave this set to 'N'.
210
211 config DODEBUG
212         bool "Build BusyBox with Debugging symbols"
213         default n
214         help
215           Say Y here if you wish to compile BusyBox with debugging symbols.
216           This will allow you to use a debugger to examine BusyBox internals
217           while applets are running.  This increases the size of the binary 
218           considerably and should only be used when doing development.
219           If you are doing development and want to debug BusyBox, answer Y.
220
221           Otherwise, answer N.
222
223 config DODMALLOC
224         bool "Build BusyBox with dmalloc support"
225         default n
226         depends on DODEBUG && !DOEFENCE
227         help
228           This enables compiling with dmalloc ( http://dmalloc.com/ )
229           which is an excellent public domain mem leak and malloc problem
230           detector.  To enable dmalloc, before running busybox you will
231           want to properly set your environment, for example:
232             export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
233           The 'debug=' value is generated using the following command
234             dmalloc -p log-stats -p log-non-free -p log-bad-space -p log-elapsed-time \
235                -p check-fence -p check-heap -p check-lists -p check-blank \
236                -p check-funcs -p realloc-copy -p allow-free-null
237
238           This will make BusyBox be considerable larger and run slower, so 
239           you should leave this option disabled for production use.
240
241 config DOEFENCE
242         bool "Build BusyBox with Electric-fence support"
243         default n
244         depends on DODEBUG && !DODMALLOC
245         help
246           This enables compiling with Electric-fence support.  Electric
247           fence is another very useful malloc debugging library which used
248           your computers virtual memory hardware to detect illegal memory 
249           accesses.  This support will make BusyBox be considerable larger 
250           and run slower, so you should leave this option disabled unless 
251           you are hunting a hard to find memory problem.
252
253 endmenu
254