-mainmenu "ToyBox Configuration"
+mainmenu "Toybox Configuration"
-menu "Global settings"
+source generated/Config.probed
+source generated/Config.in
+
+comment ""
+
+menu "Toybox global settings"
+
+# This entry controls the multiplexer, disabled for single command builds
config TOYBOX
bool
- default n
+ default y
help
- usage: toybox [command] [arguments...]
+ usage: toybox [--long | --help | --version | [command] [arguments...]]
- With no arguments, shows available commands. First argument is
+ With no arguments, shows available commands. First argument is
name of a command to run, followed by any arguments to that command.
+ --long Show path to each command
+
+ To install command symlinks, try:
+ for i in $(/bin/toybox --long); do ln -s /bin/toybox $i; done
+
+ Most toybox commands also understand the following arguments:
+
+ --help Show command help (only)
+ --version Show toybox version (only)
+
+ The filename "-" means stdin, "--" stops argument parsing,
+ and numerical arguments accept a single letter suffix for
+ kilo, mega, giga, tera, peta, and exabytes, plus an additional
+ "d" to indicate decimal 1000's instead of 1024.
+
+config TOYBOX_SUID
+ bool "SUID support"
+ default y
+ help
+ Support for the Set User ID bit, to install toybox suid root and drop
+ permissions for commands which do not require root access. To use
+ this change ownership of the file to the root user and set the suid
+ bit in the file permissions:
+
+ chown root:root toybox; chmod +s toybox
+
+choice
+ prompt "Security Blanket"
+ default TOYBOX_LSM_NONE
+ help
+ Select a Linux Security Module to complicate your system
+ until you can't find holes in it.
+
+config TOYBOX_LSM_NONE
+ bool "None"
+ help
+ Don't try to achieve "watertight" by plugging the holes in a
+ collander, instead use conventional unix security (and possibly
+ Linux Containers) for a simple straightforward system.
+
+config TOYBOX_SELINUX
+ bool "SELinux support"
+ help
+ Include SELinux options in commands such as ls, and add
+ SELinux-specific commands such as chcon to the Android menu.
+
+config TOYBOX_SMACK
+ bool "SMACK support"
+ help
+ Include SMACK options in commands like ls for systems like Tizen.
+
+endchoice
+
+config TOYBOX_LIBCRYPTO
+ bool "Use libcrypto (OpenSSL/BoringSSL)"
+ default n
+ help
+ Use faster hash functions out of exteral -lcrypto library.
+
+config TOYBOX_LIBZ
+ bool "Use libz (zlib)"
+ default n
+ help
+ Use libz for gz support.
+
+config TOYBOX_FLOAT
+ bool "Floating point support"
+ default y
+ help
+ Include floating point support infrastructure and commands that
+ require it.
+
+config TOYBOX_HELP
+ bool "Help messages"
+ default y
+ help
+ Include help text for each command.
+
+config TOYBOX_HELP_DASHDASH
+ bool "--help and --version"
+ default y
+ depends on TOYBOX_HELP
+ help
+ Support --help argument in all commands, even ones with a NULL
+ optstring. (Use TOYFLAG_NOHELP to disable.) Produces the same output
+ as "help command". --version shows toybox version.
+
+config TOYBOX_I18N
+ bool "Internationalization support"
+ default y
+ help
+ Support for UTF-8 character sets, and some locale support.
+
config TOYBOX_FREE
bool "Free memory unnecessarily"
default n
help
When a program exits, the operating system will clean up after it
- (free memory, close files, etc). To save size, toybox usually relies
- on this behavior. If you're running toybox under a debugger or
+ (free memory, close files, etc). To save size, toybox usually relies
+ on this behavior. If you're running toybox under a debugger or
without a real OS (ala newlib+libgloss), enable this to make toybox
clean up after itself.
+config TOYBOX_NORECURSE
+ bool "Disable recursive execution"
+ default n
+ help
+ When one toybox command calls another, usually it just calls the new
+ command's main() function rather than searching the $PATH and calling
+ exec on another file (which is much slower).
+
+ This disables that optimization, so toybox will run external commands
+ even when it has a built-in version of that command. This requires
+ toybox symlinks to be installed in the $PATH, or re-invoking the
+ "toybox" multiplexer command by name.
+
config TOYBOX_DEBUG
bool "Debugging tests"
default n
help
- Enable extra checks for debugging purposes.
+ Enable extra checks for debugging purposes. All of them catch
+ things that can only go wrong at development time, not runtime.
-endmenu
+config TOYBOX_PEDANTIC_ARGS
+ bool "Pedantic argument checking"
+ default n
+ help
+ Check arguments for commands that have no arguments.
+
+config TOYBOX_UID_SYS
+ int "First system UID"
+ default 100
+ help
+ When commands like useradd/groupadd allocate system IDs, start here.
+
+config TOYBOX_UID_USR
+ int "First user UID"
+ default 500
+ help
+ When commands like useradd/groupadd allocate user IDs, start here.
+
+config TOYBOX_MUSL_NOMMU_IS_BROKEN
+ bool "Workaround for musl-libc breakage on nommu systems."
+ default n
+ help
+ When using musl-libc on a nommu system, you'll need to say "y" here.
+
+ Although uclibc lets you detect support for things like fork() and
+ daemon() at compile time, musl intentionally includes broken versions
+ that always return -ENOSYS on nommu systems, and goes out of its way
+ to prevent any cross-compile compatible compile-time probes for a
+ nommu system. (It doesn't even #define __MUSL__ in features.h.)
+
+ Musl does this despite the fact that a nommu system can't even run
+ standard ELF binaries, and requires specially packaged executables.
+ So our only choice is to manually provide a musl nommu bug workaround
+ you can manually select to enable (larger, slower) nommu support with
+ musl.
-menu "Toys"
-source generated/Config.in
endmenu