Patch from Thomas Cameron:
[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 config CONFIG_SELINUX
110         bool "Support NSA Security Enhanced Linux"
111         default n
112         help
113           Enable support for SE Linux in applets ls, ps, and id.  Also provide
114           the option of compiling in SE Linux applets.
115
116 endmenu
117
118 menu 'Build Options'
119
120 config DOSTATIC
121         bool "Build BusyBox as a static binary (no shared libs)"
122         default n
123         help
124           If you want to build a static BusyBox binary, which does not 
125           use or require any shared libraries, then enable this option.  
126
127 config DOLFS
128         bool "Build with Large File Support (for accessing files > 2 GB)" 
129         default n
130         help
131           If you want to build BusyBox with large file support, then enable
132           this option.  This will have no effect if your kernel or your C
133           library lacks large file support for large files.  Some of the
134           programs that can benefit from large file support include dd, gzip,
135           cp, mount, tar, and many others.  If you want to access files larger
136           than 2 Gigabytes, enable this option.  Otherwise, leave it set to 'N'.
137
138 config USING_CROSS_COMPILER
139         bool "Do you want to build BusyBox with a Cross Compiler?"
140         default n
141         help
142           Do you want to build BusyBox with a Cross Compiler?  If so,
143           then enable this option.  Otherwise leave it set to 'N'.
144
145 config CROSS_COMPILER_PREFIX
146         string "Cross Compiler prefix"
147         default "/usr/i386-linux-uclibc/bin/i386-uclibc-"
148         depends on USING_CROSS_COMPILER
149         help
150           If you want to build BusyBox with a cross compiler, then you 
151           will need to set this to the cross-compiler prefix.  For example,
152           if my cross-compiler is /usr/i386-linux-uclibc/bin/i386-uclibc-gcc
153           then I would enter '/usr/i386-linux-uclibc/bin/i386-uclibc-' here,
154           which will ensure the correct compiler is used.
155
156 config EXTRA_CFLAGS_OPTIONS
157         string "Any extra CFLAGS options for the compiler?"
158         default ""
159         help
160           Do you want to pass any extra CFLAGS options to the compiler as
161           you build BusyBox? If so, this is the option for you...  For example,
162           if you want to add some simple compiler switches (like -march=i686),
163           or check for warnings using -Werror, just those options here.
164
165 endmenu
166
167 menu 'Installation Options'
168
169 config CONFIG_INSTALL_NO_USR
170         bool "Don't use /usr"
171         default n
172         help
173           Disable use of /usr. Don't activate this option if you don't know,
174           that you really want this behaviour.
175
176 config PREFIX
177         string "BusyBox installation prefix"
178         default "./_install"
179         help
180           Define Your directory to install BusyBox files/subdirs.
181
182
183
184 endmenu
185
186 source archival/Config.in
187 source coreutils/Config.in
188 source console-tools/Config.in
189 source debianutils/Config.in
190 source editors/Config.in
191 source findutils/Config.in
192 source init/Config.in
193 source loginutils/Config.in
194 source miscutils/Config.in
195 source modutils/Config.in
196 source networking/Config.in
197 source procps/Config.in
198 source shell/Config.in
199 source sysklogd/Config.in
200 source util-linux/Config.in
201
202 menu 'Debugging Options'
203
204 config DOSTATIC
205         bool "Build BusyBox as a static binary (no shared libs)"
206         default n
207         help
208           If you want to build a static BusyBox binary, which does not 
209           use or require any shared libraries, then enable this option.  
210           This will make BusyBox be considerable larger, so you should
211           leave this option false unless you have a good reason (i.e.
212           your target platform does not support shared libraries, or
213           you are building an initrd which doesn't need anything but
214           BusyBox, etc).
215
216           Most people will leave this set to 'N'.
217
218 config DODEBUG
219         bool "Build BusyBox with Debugging symbols"
220         default n
221         help
222           Say Y here if you wish to compile BusyBox with debugging symbols.
223           This will allow you to use a debugger to examine BusyBox internals
224           while applets are running.  This increases the size of the binary 
225           considerably and should only be used when doing development.
226           If you are doing development and want to debug BusyBox, answer Y.
227
228           Otherwise, answer N.
229
230 config DODMALLOC
231         bool "Build BusyBox with dmalloc support"
232         default n
233         depends on DODEBUG && !DOEFENCE
234         help
235           This enables compiling with dmalloc ( http://dmalloc.com/ )
236           which is an excellent public domain mem leak and malloc problem
237           detector.  To enable dmalloc, before running busybox you will
238           want to properly set your environment, for example:
239             export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
240           The 'debug=' value is generated using the following command
241             dmalloc -p log-stats -p log-non-free -p log-bad-space -p log-elapsed-time \
242                -p check-fence -p check-heap -p check-lists -p check-blank \
243                -p check-funcs -p realloc-copy -p allow-free-null
244
245           This will make BusyBox be considerable larger and run slower, so 
246           you should leave this option disabled for production use.
247
248 config DOEFENCE
249         bool "Build BusyBox with Electric-fence support"
250         default n
251         depends on DODEBUG && !DODMALLOC
252         help
253           This enables compiling with Electric-fence support.  Electric
254           fence is another very useful malloc debugging library which used
255           your computers virtual memory hardware to detect illegal memory 
256           accesses.  This support will make BusyBox be considerable larger 
257           and run slower, so you should leave this option disabled unless 
258           you are hunting a hard to find memory problem.
259
260 endmenu
261