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