toybox/Config.in
<<
>>
Prefs
   1mainmenu "Toybox Configuration"
   2
   3
   4source generated/Config.probed
   5source generated/Config.in
   6
   7comment ""
   8
   9menu "Toybox global settings"
  10
  11# This entry controls the multiplexer, disabled for single command builds
  12config TOYBOX
  13        bool
  14        default y
  15        help
  16          usage: toybox [--long | --help | --version | [command] [arguments...]]
  17
  18          With no arguments, shows available commands. First argument is
  19          name of a command to run, followed by any arguments to that command.
  20
  21          --long        Show path to each command
  22
  23          To install command symlinks with paths, try:
  24            for i in $(/bin/toybox --long); do ln -s /bin/toybox $i; done
  25          or all in one directory:
  26            for i in $(./toybox); do ln -s toybox $i; done; PATH=$PWD:$PATH
  27
  28          Most toybox commands also understand the following arguments:
  29
  30          --help                Show command help (only)
  31          --version     Show toybox version (only)
  32
  33          The filename "-" means stdin/stdout, and "--" stops argument parsing.
  34
  35          Numerical arguments accept a single letter suffix for
  36          kilo, mega, giga, tera, peta, and exabytes, plus an additional
  37          "d" to indicate decimal 1000's instead of 1024.
  38
  39          Durations can be decimal fractions and accept minute ("m"), hour ("h"),
  40          or day ("d") suffixes (so 0.1m = 6s).
  41
  42config TOYBOX_SUID
  43        bool "SUID support"
  44        default y
  45        help
  46          Support for the Set User ID bit, to install toybox suid root and drop
  47          permissions for commands which do not require root access. To use
  48          this change ownership of the file to the root user and set the suid
  49          bit in the file permissions:
  50
  51          chown root:root toybox; chmod +s toybox
  52
  53choice
  54        prompt "Security Blanket"
  55        default TOYBOX_LSM_NONE
  56        help
  57          Select a Linux Security Module to complicate your system
  58          until you can't find holes in it.
  59
  60config TOYBOX_LSM_NONE
  61        bool "None"
  62        help
  63          Don't try to achieve "watertight" by plugging the holes in a
  64          collander, instead use conventional unix security (and possibly
  65          Linux Containers) for a simple straightforward system.
  66          
  67config TOYBOX_SELINUX
  68        bool "SELinux support"
  69        help
  70          Include SELinux options in commands such as ls, and add
  71          SELinux-specific commands such as chcon to the Android menu.
  72
  73config TOYBOX_SMACK
  74        bool "SMACK support"
  75        help
  76          Include SMACK options in commands like ls for systems like Tizen.
  77
  78endchoice
  79
  80config TOYBOX_LIBCRYPTO
  81       bool "Use libcrypto (OpenSSL/BoringSSL)"
  82       default n
  83       help
  84         Use faster hash functions out of external -lcrypto library.
  85
  86config TOYBOX_LIBZ
  87       bool "Use libz (zlib)"
  88       default n
  89       help
  90         Use libz for gz support.
  91
  92config TOYBOX_FLOAT
  93        bool "Floating point support"
  94        default y
  95        help
  96          Include floating point support infrastructure and commands that
  97          require it.
  98
  99config TOYBOX_HELP
 100        bool "Help messages"
 101        default y
 102        help
 103          Include help text for each command.
 104
 105config TOYBOX_HELP_DASHDASH
 106        bool "--help and --version"
 107        default y
 108        depends on TOYBOX_HELP
 109        help
 110          Support --help argument in all commands, even ones with a NULL
 111          optstring. (Use TOYFLAG_NOHELP to disable.) Produces the same output
 112          as "help command". --version shows toybox version.
 113
 114config TOYBOX_I18N
 115        bool "Internationalization support"
 116        default y
 117        help
 118          Support for UTF-8 character sets, and some locale support.
 119
 120config TOYBOX_FREE
 121        bool "Free memory unnecessarily"
 122        default n
 123        help
 124          When a program exits, the operating system will clean up after it
 125          (free memory, close files, etc). To save size, toybox usually relies
 126          on this behavior. If you're running toybox under a debugger or
 127          without a real OS (ala newlib+libgloss), enable this to make toybox
 128          clean up after itself.
 129
 130config TOYBOX_NORECURSE
 131        bool "Disable recursive execution"
 132        default n
 133        help
 134          When one toybox command calls another, usually it just calls the new
 135          command's main() function rather than searching the $PATH and calling
 136          exec on another file (which is much slower).
 137
 138          This disables that optimization, so toybox will run external commands
 139          even when it has a built-in version of that command. This requires
 140          toybox symlinks to be installed in the $PATH, or re-invoking the
 141          "toybox" multiplexer command by name.
 142
 143config TOYBOX_DEBUG
 144        bool "Debugging tests"
 145        default n
 146        help
 147          Enable extra checks for debugging purposes. All of them catch
 148          things that can only go wrong at development time, not runtime.
 149
 150config TOYBOX_PEDANTIC_ARGS
 151        bool "Pedantic argument checking"
 152        default n
 153        help
 154          Check arguments for commands that have no arguments.
 155
 156config TOYBOX_UID_SYS
 157        int "First system UID"
 158        default 100
 159        help
 160          When commands like useradd/groupadd allocate system IDs, start here.
 161
 162config TOYBOX_UID_USR
 163        int "First user UID"
 164        default 500
 165        help
 166          When commands like useradd/groupadd allocate user IDs, start here.
 167
 168config TOYBOX_MUSL_NOMMU_IS_BROKEN
 169        bool "Workaround for musl-libc breakage on nommu systems."
 170        default n
 171        help
 172          When using musl-libc on a nommu system, you'll need to say "y" here.
 173
 174          Although uclibc lets you detect support for things like fork() and
 175          daemon() at compile time, musl intentionally includes broken versions
 176          that always return -ENOSYS on nommu systems, and goes out of its way
 177          to prevent any cross-compile compatible compile-time probes for a
 178          nommu system. (It doesn't even #define __MUSL__ in features.h.)
 179
 180          Musl does this despite the fact that a nommu system can't even run
 181          standard ELF binaries, and requires specially packaged executables.
 182          So our only choice is to manually provide a musl nommu bug workaround
 183          you can manually select to enable (larger, slower) nommu support with
 184          musl.
 185
 186endmenu
 187