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