OSDN Git Service

Add comment so I don't undo and then redo a thing again.
[android-x86/external-toybox.git] / Config.in
index 02137d8..76b2ef1 100644 (file)
--- a/Config.in
+++ b/Config.in
@@ -1,23 +1,72 @@
-mainmenu "ToyBox Configuration"
+mainmenu "Toybox Configuration"
+
+
+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 | --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
+         --version     Show toybox version
+
+         To install command symlinks, try:
+           for i in $(/bin/toybox --long); do ln -s /bin/toybox $i; done
+
 config TOYBOX_SUID
        bool "SUID support"
        default y
        help
-         Support for suid commands, which run as root.  This means toybox must
-         be installed suid root, and drops permissions before running commands
-         which do not require root access.
+         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_FLOAT
        bool "Floating point support"
@@ -26,26 +75,91 @@ config TOYBOX_FLOAT
          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"
+       default y
+       depends on TOYBOX_HELP
+       help
+         Support --help argument in all commands, even ones with a NULL
+         optstring. Produces the same output as "help command".
+
+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_UID_SYS
+       int "First system UID"
+       default 100
+       help
+         When commands like useradd/groupadd allocate system IDs, start here.
 
-source generated/Config.probed
+config TOYBOX_UID_USR
+       int "First user UID"
+       default 500
+       help
+         When commands like useradd/groupadd allocate user IDs, start here.
 
-comment ""
+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.
 
-source generated/Config.in
+         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.
+
+         Musl does this despite the fact that a nommu system can't even run
+         standard ELF binaries, and requires specially packaged executables.
+         (You can't even check a #define to see that you're building against
+         musl, due to its maintainer's policy that musl never has bugs that
+         require workarounds.)
+
+         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.
+
+         You don't need this for uClibc, we have a compile time probe that
+         autodetects nommu support there.
+
+endmenu