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