Home | History | Annotate | Download | only in toybox
      1 mainmenu "Toybox Configuration"
      2 
      3 
      4 source generated/Config.probed
      5 source generated/Config.in
      6 
      7 comment ""
      8 
      9 menu "Toybox global settings"
     10 
     11 # This entry controls the multiplexer, disabled for single command builds
     12 config 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 
     40 config 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 
     51 choice
     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 
     58 config 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 	  
     65 config 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 
     71 config TOYBOX_SMACK
     72 	bool "SMACK support"
     73 	help
     74 	  Include SMACK options in commands like ls for systems like Tizen.
     75 
     76 endchoice
     77 
     78 config TOYBOX_LIBCRYPTO
     79        bool "Use libcrypto (OpenSSL/BoringSSL)"
     80        default n
     81        help
     82          Use faster hash functions out of external -lcrypto library.
     83 
     84 config TOYBOX_LIBZ
     85        bool "Use libz (zlib)"
     86        default n
     87        help
     88          Use libz for gz support.
     89 
     90 config 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 
     97 config TOYBOX_HELP
     98 	bool "Help messages"
     99 	default y
    100 	help
    101 	  Include help text for each command.
    102 
    103 config 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 
    112 config TOYBOX_I18N
    113 	bool "Internationalization support"
    114 	default y
    115 	help
    116 	  Support for UTF-8 character sets, and some locale support.
    117 
    118 config 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 
    128 config 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 
    141 config 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 
    148 config TOYBOX_PEDANTIC_ARGS
    149 	bool "Pedantic argument checking"
    150 	default n
    151 	help
    152 	  Check arguments for commands that have no arguments.
    153 
    154 config 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 
    160 config 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 
    166 config 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 
    184 endmenu
    185