Config: clarify {SHOW,VERBOSE,COMPRESS}_USAGE
[platform/upstream/busybox.git] / 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 "Busybox Settings"
13
14 menu "General Configuration"
15
16 config DESKTOP
17         bool "Enable options for full-blown desktop systems"
18         default y
19         help
20           Enable options and features which are not essential.
21           Select this only if you plan to use busybox on full-blown
22           desktop machine with common Linux distro, not on an embedded box.
23
24 config EXTRA_COMPAT
25         bool "Provide compatible behavior for rare corner cases (bigger code)"
26         default n
27         help
28           This option makes grep, sed etc handle rare corner cases
29           (embedded NUL bytes and such). This makes code bigger and uses
30           some GNU extensions in libc. You probably only need this option
31           if you plan to run busybox on desktop.
32
33 config INCLUDE_SUSv2
34         bool "Enable obsolete features removed before SUSv3"
35         default y
36         help
37           This option will enable backwards compatibility with SuSv2,
38           specifically, old-style numeric options ('command -1 <file>')
39           will be supported in head, tail, and fold. (Note: should
40           affect renice too.)
41
42 config USE_PORTABLE_CODE
43         bool "Avoid using GCC-specific code constructs"
44         default n
45         help
46           Use this option if you are trying to compile busybox with
47           compiler other than gcc.
48           If you do use gcc, this option may needlessly increase code size.
49
50 config PLATFORM_LINUX
51         bool "Enable Linux-specific applets and features"
52         default y
53         help
54           For the most part, busybox requires only POSIX compatibility
55           from the target system, but some applets and features use
56           Linux-specific interfaces.
57
58           Answering 'N' here will disable such applets and hide the
59           corresponding configuration options.
60
61 choice
62         prompt "Buffer allocation policy"
63         default FEATURE_BUFFERS_USE_MALLOC
64         help
65           There are 3 ways BusyBox can handle buffer allocations:
66           - Use malloc. This costs code size for the call to xmalloc.
67           - Put them on stack. For some very small machines with limited stack
68             space, this can be deadly. For most folks, this works just fine.
69           - Put them in BSS. This works beautifully for computers with a real
70             MMU (and OS support), but wastes runtime RAM for uCLinux. This
71             behavior was the only one available for BusyBox versions 0.48 and
72             earlier.
73
74 config FEATURE_BUFFERS_USE_MALLOC
75         bool "Allocate with Malloc"
76
77 config FEATURE_BUFFERS_GO_ON_STACK
78         bool "Allocate on the Stack"
79
80 config FEATURE_BUFFERS_GO_IN_BSS
81         bool "Allocate in the .bss section"
82
83 endchoice
84
85 config SHOW_USAGE
86         bool "Show applet usage messages"
87         default y
88         help
89           Enabling this option, BusyBox applets will show terse help messages
90           when invoked with wrong arguments.
91           If you do not want to show any (helpful) usage message when
92           issuing wrong command syntax, you can say 'N' here,
93           saving approximately 7k.
94
95 config FEATURE_VERBOSE_USAGE
96         bool "Show verbose applet usage messages"
97         default y
98         depends on SHOW_USAGE
99         help
100           All BusyBox applets will show verbose help messages when
101           busybox is invoked with --help. This will add a lot of text to the
102           busybox binary. In the default configuration, this will add about
103           13k, but it can add much more depending on your configuration.
104
105 config FEATURE_COMPRESS_USAGE
106         bool "Store applet usage messages in compressed form"
107         default y
108         depends on SHOW_USAGE
109         help
110           Store usage messages in .bz compressed form, uncompress them
111           on-the-fly when <applet> --help is called.
112
113           If you have a really tiny busybox with few applets enabled (and
114           bunzip2 isn't one of them), the overhead of the decompressor might
115           be noticeable. Also, if you run executables directly from ROM
116           and have very little memory, this might not be a win. Otherwise,
117           you probably want this.
118
119 config FEATURE_INSTALLER
120         bool "Support --install [-s] to install applet links at runtime"
121         default y
122         help
123           Enable 'busybox --install [-s]' support. This will allow you to use
124           busybox at runtime to create hard links or symlinks for all the
125           applets that are compiled into busybox.
126
127 config INSTALL_NO_USR
128         bool "Don't use /usr"
129         default n
130         help
131           Disable use of /usr. busybox --install and "make install"
132           will install applets only to /bin and /sbin,
133           never to /usr/bin or /usr/sbin.
134
135 config LOCALE_SUPPORT
136         bool "Enable locale support (system needs locale for this to work)"
137         default n
138         help
139           Enable this if your system has locale support and you would like
140           busybox to support locale settings.
141
142 config UNICODE_SUPPORT
143         bool "Support Unicode"
144         default y
145         help
146           This makes various applets aware that one byte is not
147           one character on screen.
148
149           Busybox aims to eventually work correctly with Unicode displays.
150           Any older encodings are not guaranteed to work.
151           Probably by the time when busybox will be fully Unicode-clean,
152           other encodings will be mainly of historic interest.
153
154 config UNICODE_USING_LOCALE
155         bool "Use libc routines for Unicode (else uses internal ones)"
156         default n
157         depends on UNICODE_SUPPORT && LOCALE_SUPPORT
158         help
159           With this option on, Unicode support is implemented using libc
160           routines. Otherwise, internal implementation is used.
161           Internal implementation is smaller.
162
163 config FEATURE_CHECK_UNICODE_IN_ENV
164         bool "Check $LANG environment variable"
165         default n
166         depends on UNICODE_SUPPORT && !UNICODE_USING_LOCALE
167         help
168           With this option on, Unicode support is activated
169           only if LANG variable has the value of the form "xxxx.utf8"
170
171           Otherwise, Unicode support will be always enabled and active.
172
173 config SUBST_WCHAR
174         int "Character code to substitute unprintable characters with"
175         depends on UNICODE_SUPPORT
176         default 63
177         help
178           Typical values are 63 for '?' (works with any output device),
179           30 for ASCII substitute control code,
180           65533 (0xfffd) for Unicode replacement character.
181
182 config LAST_SUPPORTED_WCHAR
183         int "Range of supported Unicode characters"
184         depends on UNICODE_SUPPORT
185         default 767
186         help
187           Any character with Unicode value bigger than this is assumed
188           to be non-printable on output device. Many applets replace
189           such chars with substitution character.
190
191           The idea is that many valid printable Unicode chars are
192           nevertheless are not displayed correctly. Think about
193           combining charachers, double-wide hieroglyphs, obscure
194           characters in dozens of ancient scripts...
195           Many terminals, terminal emulators, xterms etc will fail
196           to handle them correctly. Choose the smallest value
197           which suits your needs.
198
199           Typical values are:
200           126 - ASCII only
201           767 (0x2ff) - there are no combining chars in [0..767] range
202                         (the range includes Latin 1, Latin Ext. A and B),
203                         code is ~700 bytes smaller for this case.
204           4351 (0x10ff) - there are no double-wide chars in [0..4351] range,
205                         code is ~300 bytes smaller for this case.
206           12799 (0x31ff) - nearly all non-ideographic characters are
207                         available in [0..12799] range, including
208                         East Asian scripts like katakana, hiragana, hangul,
209                         bopomofo...
210           0 - off, any valid printable Unicode character will be printed.
211
212 config UNICODE_COMBINING_WCHARS
213         bool "Allow zero-width Unicode characters on output"
214         default n
215         depends on UNICODE_SUPPORT
216         help
217           With this option off, any Unicode char with width of 0
218           is substituted on output.
219
220 config UNICODE_WIDE_WCHARS
221         bool "Allow wide Unicode characters on output"
222         default n
223         depends on UNICODE_SUPPORT
224         help
225           With this option off, any Unicode char with width > 1
226           is substituted on output.
227
228 config UNICODE_BIDI_SUPPORT
229         bool "Bidirectional character-aware line input"
230         default n
231         depends on UNICODE_SUPPORT && !UNICODE_USING_LOCALE
232         help
233           With this option on, right-to-left Unicode characters
234           are treated differently on input (e.g. cursor movement).
235
236 config UNICODE_NEUTRAL_TABLE
237         bool "In bidi input, support non-ASCII neutral chars too"
238         default n
239         depends on UNICODE_BIDI_SUPPORT
240         help
241           In most cases it's enough to treat only ASCII non-letters
242           (i.e. punctuation, numbers and space) as characters
243           with neutral directionality.
244           With this option on, more extensive (and bigger) table
245           of neutral chars will be used.
246
247 config UNICODE_PRESERVE_BROKEN
248         bool "Make it possible to enter sequences of chars which are not Unicode"
249         default n
250         depends on UNICODE_SUPPORT
251         help
252           With this option on, on line-editing input (such as used by shells)
253           invalid UTF-8 bytes are not substituted with the selected
254           substitution character.
255           For example, this means that entering 'l', 's', ' ', 0xff, [Enter]
256           at shell prompt will list file named 0xff (single char name
257           with char value 255), not file named '?'.
258
259 config LONG_OPTS
260         bool "Support for --long-options"
261         default y
262         help
263           Enable this if you want busybox applets to use the gnu --long-option
264           style, in addition to single character -a -b -c style options.
265
266 config FEATURE_DEVPTS
267         bool "Use the devpts filesystem for Unix98 PTYs"
268         default y
269         help
270           Enable if you want BusyBox to use Unix98 PTY support. If enabled,
271           busybox will use /dev/ptmx for the master side of the pseudoterminal
272           and /dev/pts/<number> for the slave side. Otherwise, BSD style
273           /dev/ttyp<number> will be used. To use this option, you should have
274           devpts mounted.
275
276 config FEATURE_CLEAN_UP
277         bool "Clean up all memory before exiting (usually not needed)"
278         default n
279         help
280           As a size optimization, busybox normally exits without explicitly
281           freeing dynamically allocated memory or closing files. This saves
282           space since the OS will clean up for us, but it can confuse debuggers
283           like valgrind, which report tons of memory and resource leaks.
284
285           Don't enable this unless you have a really good reason to clean
286           things up manually.
287
288 config FEATURE_UTMP
289         bool "Support utmp file"
290         default y
291         help
292           The file /var/run/utmp is used to track who is currently logged in.
293           With this option on, certain applets (getty, login, telnetd etc)
294           will create and delete entries there.
295           "who" applet requires this option.
296
297 config FEATURE_WTMP
298         bool "Support wtmp file"
299         default y
300         depends on FEATURE_UTMP
301         help
302           The file /var/run/wtmp is used to track when users have logged into
303           and logged out of the system.
304           With this option on, certain applets (getty, login, telnetd etc)
305           will append new entries there.
306           "last" applet requires this option.
307
308 config FEATURE_PIDFILE
309         bool "Support writing pidfiles"
310         default y
311         help
312           This option makes some applets (e.g. crond, syslogd, inetd) write
313           a pidfile in /var/run. Some applications rely on them.
314
315 config FEATURE_SUID
316         bool "Support for SUID/SGID handling"
317         default y
318         help
319           With this option you can install the busybox binary belonging
320           to root with the suid bit set, enabling some applets to perform
321           root-level operations even when run by ordinary users
322           (for example, mounting of user mounts in fstab needs this).
323
324           Busybox will automatically drop priviledges for applets
325           that don't need root access.
326
327           If you are really paranoid and don't want to do this, build two
328           busybox binaries with different applets in them (and the appropriate
329           symlinks pointing to each binary), and only set the suid bit on the
330           one that needs it.
331
332           The applets which require root rights (need suid bit or
333           to be run by root) and will refuse to execute otherwise:
334           crontab, login, passwd, su, vlock, wall.
335
336           The applets which will use root rights if they have them
337           (via suid bit, or because run by root), but would try to work
338           without root right nevertheless:
339           findfs, ping[6], traceroute[6], mount.
340
341           Note that if you DONT select this option, but DO make busybox
342           suid root, ALL applets will run under root, which is a huge
343           security hole (think "cp /some/file /etc/passwd").
344
345 config FEATURE_SUID_CONFIG
346         bool "Runtime SUID/SGID configuration via /etc/busybox.conf"
347         default y
348         depends on FEATURE_SUID
349         help
350           Allow the SUID / SGID state of an applet to be determined at runtime
351           by checking /etc/busybox.conf. (This is sort of a poor man's sudo.)
352           The format of this file is as follows:
353
354           APPLET = [Ssx-][Ssx-][x-] [USER.GROUP]
355
356           s: USER or GROUP is allowed to execute APPLET.
357              APPLET will run under USER or GROUP
358              (reagardless of who's running it).
359           S: USER or GROUP is NOT allowed to execute APPLET.
360              APPLET will run under USER or GROUP.
361              This option is not very sensical.
362           x: USER/GROUP/others are allowed to execute APPLET.
363              No UID/GID change will be done when it is run.
364           -: USER/GROUP/others are not allowed to execute APPLET.
365
366           An example might help:
367
368           [SUID]
369           su = ssx root.0 # applet su can be run by anyone and runs with
370                           # euid=0/egid=0
371           su = ssx        # exactly the same
372
373           mount = sx- root.disk # applet mount can be run by root and members
374                                 # of group disk (but not anyone else)
375                                 # and runs with euid=0 (egid is not changed)
376
377           cp = --- # disable applet cp for everyone
378
379           The file has to be owned by user root, group root and has to be
380           writeable only by root:
381                 (chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf)
382           The busybox executable has to be owned by user root, group
383           root and has to be setuid root for this to work:
384                 (chown 0.0 /bin/busybox; chmod 4755 /bin/busybox)
385
386           Robert 'sandman' Griebl has more information here:
387           <url: http://www.softforge.de/bb/suid.html >.
388
389 config FEATURE_SUID_CONFIG_QUIET
390         bool "Suppress warning message if /etc/busybox.conf is not readable"
391         default y
392         depends on FEATURE_SUID_CONFIG
393         help
394           /etc/busybox.conf should be readable by the user needing the SUID,
395           check this option to avoid users to be notified about missing
396           permissions.
397
398 config SELINUX
399         bool "Support NSA Security Enhanced Linux"
400         default n
401         select PLATFORM_LINUX
402         help
403           Enable support for SELinux in applets ls, ps, and id. Also provide
404           the option of compiling in SELinux applets.
405
406           If you do not have a complete SELinux userland installed, this stuff
407           will not compile. Go visit
408                 http://www.nsa.gov/selinux/index.html
409           to download the necessary stuff to allow busybox to compile with
410           this option enabled. Specifially, libselinux 1.28 or better is
411           directly required by busybox. If the installation is located in a
412           non-standard directory, provide it by invoking make as follows:
413                 CFLAGS=-I<libselinux-include-path> \
414                 LDFLAGS=-L<libselinux-lib-path> \
415                 make
416
417           Most people will leave this set to 'N'.
418
419 config FEATURE_PREFER_APPLETS
420         bool "exec prefers applets"
421         default n
422         help
423           This is an experimental option which directs applets about to
424           call 'exec' to try and find an applicable busybox applet before
425           searching the PATH. This is typically done by exec'ing
426           /proc/self/exe.
427           This may affect shell, find -exec, xargs and similar applets.
428           They will use applets even if /bin/<applet> -> busybox link
429           is missing (or is not a link to busybox). However, this causes
430           problems in chroot jails without mounted /proc and with ps/top
431           (command name can be shown as 'exe' for applets started this way).
432
433 config BUSYBOX_EXEC_PATH
434         string "Path to BusyBox executable"
435         default "/proc/self/exe"
436         help
437           When Busybox applets need to run other busybox applets, BusyBox
438           sometimes needs to exec() itself. When the /proc filesystem is
439           mounted, /proc/self/exe always points to the currently running
440           executable. If you haven't got /proc, set this to wherever you
441           want to run BusyBox from.
442
443 # These are auto-selected by other options
444
445 config FEATURE_SYSLOG
446         bool #No description makes it a hidden option
447         default n
448         #help
449         #  This option is auto-selected when you select any applet which may
450         #  send its output to syslog. You do not need to select it manually.
451
452 config FEATURE_HAVE_RPC
453         bool #No description makes it a hidden option
454         default n
455         #help
456         #  This is automatically selected if any of enabled applets need it.
457         #  You do not need to select it manually.
458
459 endmenu
460
461 menu 'Build Options'
462
463 config STATIC
464         bool "Build BusyBox as a static binary (no shared libs)"
465         default n
466         help
467           If you want to build a static BusyBox binary, which does not
468           use or require any shared libraries, then enable this option.
469           This can cause BusyBox to be considerably larger, so you should
470           leave this option false unless you have a good reason (i.e.
471           your target platform does not support shared libraries, or
472           you are building an initrd which doesn't need anything but
473           BusyBox, etc).
474
475           Most people will leave this set to 'N'.
476
477 config PIE
478         bool "Build BusyBox as a position independent executable"
479         default n
480         depends on !STATIC
481         help
482           Hardened code option. PIE binaries are loaded at a different
483           address at each invocation. This has some overhead,
484           particularly on x86-32 which is short on registers.
485
486           Most people will leave this set to 'N'.
487
488 config NOMMU
489         bool "Force NOMMU build"
490         default n
491         help
492           Busybox tries to detect whether architecture it is being
493           built against supports MMU or not. If this detection fails,
494           or if you want to build NOMMU version of busybox for testing,
495           you may force NOMMU build here.
496
497           Most people will leave this set to 'N'.
498
499 # PIE can be made to work with BUILD_LIBBUSYBOX, but currently
500 # build system does not support that
501 config BUILD_LIBBUSYBOX
502         bool "Build shared libbusybox"
503         default n
504         depends on !FEATURE_PREFER_APPLETS && !PIE && !STATIC
505         help
506           Build a shared library libbusybox.so.N.N.N which contains all
507           busybox code.
508
509           This feature allows every applet to be built as a tiny
510           separate executable. Enabling it for "one big busybox binary"
511           approach serves no purpose and increases code size.
512           You should almost certainly say "no" to this.
513
514 ### config FEATURE_FULL_LIBBUSYBOX
515 ###     bool "Feature-complete libbusybox"
516 ###     default n if !FEATURE_SHARED_BUSYBOX
517 ###     depends on BUILD_LIBBUSYBOX
518 ###     help
519 ###       Build a libbusybox with the complete feature-set, disregarding
520 ###       the actually selected config.
521 ###
522 ###       Normally, libbusybox will only contain the features which are
523 ###       used by busybox itself. If you plan to write a separate
524 ###       standalone application which uses libbusybox say 'Y'.
525 ###
526 ###       Note: libbusybox is GPL, not LGPL, and exports no stable API that
527 ###       might act as a copyright barrier. We can and will modify the
528 ###       exported function set between releases (even minor version number
529 ###       changes), and happily break out-of-tree features.
530 ###
531 ###       Say 'N' if in doubt.
532
533 config FEATURE_INDIVIDUAL
534         bool "Produce a binary for each applet, linked against libbusybox"
535         default y
536         depends on BUILD_LIBBUSYBOX
537         help
538           If your CPU architecture doesn't allow for sharing text/rodata
539           sections of running binaries, but allows for runtime dynamic
540           libraries, this option will allow you to reduce memory footprint
541           when you have many different applets running at once.
542
543           If your CPU architecture allows for sharing text/rodata,
544           having single binary is more optimal.
545
546           Each applet will be a tiny program, dynamically linked
547           against libbusybox.so.N.N.N.
548
549           You need to have a working dynamic linker.
550
551 config FEATURE_SHARED_BUSYBOX
552         bool "Produce additional busybox binary linked against libbusybox"
553         default y
554         depends on BUILD_LIBBUSYBOX
555         help
556           Build busybox, dynamically linked against libbusybox.so.N.N.N.
557
558           You need to have a working dynamic linker.
559
560 ### config BUILD_AT_ONCE
561 ###     bool "Compile all sources at once"
562 ###     default n
563 ###     help
564 ###       Normally each source-file is compiled with one invocation of
565 ###       the compiler.
566 ###       If you set this option, all sources are compiled at once.
567 ###       This gives the compiler more opportunities to optimize which can
568 ###       result in smaller and/or faster binaries.
569 ###
570 ###       Setting this option will consume alot of memory, e.g. if you
571 ###       enable all applets with all features, gcc uses more than 300MB
572 ###       RAM during compilation of busybox.
573 ###
574 ###       This option is most likely only beneficial for newer compilers
575 ###       such as gcc-4.1 and above.
576 ###
577 ###       Say 'N' unless you know what you are doing.
578
579 config LFS
580         bool "Build with Large File Support (for accessing files > 2 GB)"
581         default y
582         help
583           If you want to build BusyBox with large file support, then enable
584           this option. This will have no effect if your kernel or your C
585           library lacks large file support for large files. Some of the
586           programs that can benefit from large file support include dd, gzip,
587           cp, mount, tar, and many others. If you want to access files larger
588           than 2 Gigabytes, enable this option. Otherwise, leave it set to 'N'.
589
590 config CROSS_COMPILER_PREFIX
591         string "Cross Compiler prefix"
592         default ""
593         help
594           If you want to build BusyBox with a cross compiler, then you
595           will need to set this to the cross-compiler prefix, for example,
596           "i386-uclibc-".
597
598           Note that CROSS_COMPILE environment variable or
599           "make CROSS_COMPILE=xxx ..." will override this selection.
600
601           Native builds leave this empty.
602
603 config EXTRA_CFLAGS
604         string "Additional CFLAGS"
605         default ""
606         help
607           Additional CFLAGS to pass to the compiler verbatim.
608
609 endmenu
610
611 menu 'Debugging Options'
612
613 config DEBUG
614         bool "Build BusyBox with extra Debugging symbols"
615         default n
616         help
617           Say Y here if you wish to examine BusyBox internals while applets are
618           running. This increases the size of the binary considerably, and
619           should only be used when doing development. If you are doing
620           development and want to debug BusyBox, answer Y.
621
622           Most people should answer N.
623
624 config DEBUG_PESSIMIZE
625         bool "Disable compiler optimizations"
626         default n
627         depends on DEBUG
628         help
629           The compiler's optimization of source code can eliminate and reorder
630           code, resulting in an executable that's hard to understand when
631           stepping through it with a debugger. This switches it off, resulting
632           in a much bigger executable that more closely matches the source
633           code.
634
635 config WERROR
636         bool "Abort compilation on any warning"
637         default n
638         help
639           Selecting this will add -Werror to gcc command line.
640
641           Most people should answer N.
642
643 choice
644         prompt "Additional debugging library"
645         default NO_DEBUG_LIB
646         help
647           Using an additional debugging library will make BusyBox become
648           considerable larger and will cause it to run more slowly. You
649           should always leave this option disabled for production use.
650
651           dmalloc support:
652           ----------------
653           This enables compiling with dmalloc ( http://dmalloc.com/ )
654           which is an excellent public domain mem leak and malloc problem
655           detector. To enable dmalloc, before running busybox you will
656           want to properly set your environment, for example:
657             export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
658           The 'debug=' value is generated using the following command
659             dmalloc -p log-stats -p log-non-free -p log-bad-space \
660                -p log-elapsed-time -p check-fence -p check-heap \
661                -p check-lists -p check-blank -p check-funcs -p realloc-copy \
662                -p allow-free-null
663
664           Electric-fence support:
665           -----------------------
666           This enables compiling with Electric-fence support. Electric
667           fence is another very useful malloc debugging library which uses
668           your computer's virtual memory hardware to detect illegal memory
669           accesses. This support will make BusyBox be considerable larger
670           and run slower, so you should leave this option disabled unless
671           you are hunting a hard to find memory problem.
672
673
674 config NO_DEBUG_LIB
675         bool "None"
676
677 config DMALLOC
678         bool "Dmalloc"
679
680 config EFENCE
681         bool "Electric-fence"
682
683 endchoice
684
685 endmenu
686
687 menu 'Installation Options ("make install" behavior)'
688
689 choice
690         prompt "What kind of applet links to install"
691         default INSTALL_APPLET_SYMLINKS
692         help
693           Choose what kind of links to applets are created by "make install".
694
695 config INSTALL_APPLET_SYMLINKS
696         bool "as soft-links"
697         help
698           Install applets as soft-links to the busybox binary. This needs some
699           free inodes on the filesystem, but might help with filesystem
700           generators that can't cope with hard-links.
701
702 config INSTALL_APPLET_HARDLINKS
703         bool "as hard-links"
704         help
705           Install applets as hard-links to the busybox binary. This might
706           count on a filesystem with few inodes.
707
708 config INSTALL_APPLET_SCRIPT_WRAPPERS
709         bool "as script wrappers"
710         help
711           Install applets as script wrappers that call the busybox binary.
712
713 config INSTALL_APPLET_DONT
714         bool "not installed"
715         help
716           Do not install applet links. Useful when you plan to use
717           busybox --install for installing links, or plan to use
718           a standalone shell and thus don't need applet links.
719
720 endchoice
721
722 choice
723         prompt "/bin/sh applet link"
724         default INSTALL_SH_APPLET_SYMLINK
725         depends on INSTALL_APPLET_SCRIPT_WRAPPERS
726         help
727           Choose how you install /bin/sh applet link.
728
729 config INSTALL_SH_APPLET_SYMLINK
730         bool "as soft-link"
731         help
732           Install /bin/sh applet as soft-link to the busybox binary.
733
734 config INSTALL_SH_APPLET_HARDLINK
735         bool "as hard-link"
736         help
737           Install /bin/sh applet as hard-link to the busybox binary.
738
739 config INSTALL_SH_APPLET_SCRIPT_WRAPPER
740         bool "as script wrapper"
741         help
742           Install /bin/sh applet as script wrapper that calls
743           the busybox binary.
744
745 endchoice
746
747 config PREFIX
748         string "BusyBox installation prefix"
749         default "./_install"
750         help
751           Define your directory to install BusyBox files/subdirs in.
752
753 endmenu
754
755 source libbb/Config.in
756
757 endmenu
758
759 comment "Applets"
760
761 source archival/Config.in
762 source coreutils/Config.in
763 source console-tools/Config.in
764 source debianutils/Config.in
765 source editors/Config.in
766 source findutils/Config.in
767 source init/Config.in
768 source loginutils/Config.in
769 source e2fsprogs/Config.in
770 source modutils/Config.in
771 source util-linux/Config.in
772 source miscutils/Config.in
773 source networking/Config.in
774 source printutils/Config.in
775 source mailutils/Config.in
776 source procps/Config.in
777 source runit/Config.in
778 source selinux/Config.in
779 source shell/Config.in
780 source sysklogd/Config.in