blob: 5c4b5fe28de08a548a31ee8101697fe359c5aed1 [file] [log] [blame]
Rob Landley5bcc7ea2014-09-20 13:20:17 -05001mainmenu "Toybox Configuration"
landley5257cf52006-10-31 23:30:06 -05002
Rob Landley76ec4852012-10-21 17:57:23 -05003
4source generated/Config.probed
5source generated/Config.in
6
7comment ""
8
Rob Landley3a9241a2012-08-25 14:25:22 -05009menu "Toybox global settings"
landley5257cf52006-10-31 23:30:06 -050010
Rob Landleya8bee462014-08-18 19:10:45 -050011# This entry controls the multiplexer, disabled for single command builds
Rob Landley28964802008-01-19 17:08:39 -060012config TOYBOX
13 bool
Rob Landleyd04dc1f2013-08-30 01:53:31 -050014 default y
Rob Landleyd06c58d2007-10-11 15:36:36 -050015 help
Rob Landleycefc0a22016-10-05 13:29:55 -050016 usage: toybox [--long | --help | --version | [command] [arguments...]]
Rob Landleyd06c58d2007-10-11 15:36:36 -050017
Rob Landley26c00452013-04-14 12:35:25 -050018 With no arguments, shows available commands. First argument is
Rob Landley28964802008-01-19 17:08:39 -060019 name of a command to run, followed by any arguments to that command.
Rob Landleyd06c58d2007-10-11 15:36:36 -050020
Rob Landley84316922014-06-10 21:57:05 -050021 --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
Rob Landleycefc0a22016-10-05 13:29:55 -050026 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, "--" stops argument parsing,
32 and numerical arguments accept a single letter suffix for
33 kilo, mega, giga, tera, peta, and exabytes, plus an additional
34 "d" to indicate decimal 1000's instead of 1024.
35
Rob Landleye0377fb2010-01-05 12:17:05 -060036config TOYBOX_SUID
37 bool "SUID support"
38 default y
39 help
Rob Landley26c00452013-04-14 12:35:25 -050040 Support for the Set User ID bit, to install toybox suid root and drop
41 permissions for commands which do not require root access. To use
42 this change ownership of the file to the root user and set the suid
43 bit in the file permissions:
44
45 chown root:root toybox; chmod +s toybox
Rob Landleye0377fb2010-01-05 12:17:05 -060046
Rob Landley08f51b52015-04-15 20:53:00 -050047choice
48 prompt "Security Blanket"
49 default TOYBOX_LSM_NONE
50 help
51 Select a Linux Security Module to complicate your system
52 until you can't find holes in it.
53
54config TOYBOX_LSM_NONE
55 bool "None"
56 help
57 Don't try to achieve "watertight" by plugging the holes in a
58 collander, instead use conventional unix security (and possibly
59 Linux Containers) for a simple straightforward system.
60
Elliott Hughes7e2af1c2015-01-16 13:36:53 -060061config TOYBOX_SELINUX
Rob Landley08f51b52015-04-15 20:53:00 -050062 bool "SELinux support"
63 help
64 Include SELinux options in commands such as ls, and add
65 SELinux-specific commands such as chcon to the Android menu.
66
67config TOYBOX_SMACK
68 bool "SMACK support"
69 help
70 Include SMACK options in commands like ls for systems like Tizen.
71
72endchoice
Elliott Hughes7e2af1c2015-01-16 13:36:53 -060073
Rob Landleyadef5dc2016-07-15 04:45:08 -050074config TOYBOX_LIBCRYPTO
75 bool "Use libcrypto (OpenSSL/BoringSSL)"
76 default n
77 help
78 Use faster hash functions out of exteral -lcrypto library.
79
Elliott Hughesde3e5ea2017-04-26 15:01:41 -070080config TOYBOX_LIBZ
81 bool "Use libz (zlib)"
82 default n
83 help
84 Use libz for gz support.
85
Rob Landleyf01503d2012-02-02 07:26:39 -060086config TOYBOX_FLOAT
87 bool "Floating point support"
88 default y
89 help
90 Include floating point support infrastructure and commands that
91 require it.
92
Rob Landley36ffc5a2013-04-14 21:43:22 -050093config TOYBOX_HELP
Rob Landleyd683b172013-06-16 20:00:11 -050094 bool "Help messages"
Rob Landley36ffc5a2013-04-14 21:43:22 -050095 default y
96 help
97 Include help text for each command.
98
Rob Landley953722e2013-06-30 15:58:24 -050099config TOYBOX_HELP_DASHDASH
Rob Landley29e75d52016-10-01 15:52:00 -0500100 bool "--help and --version"
Rob Landley953722e2013-06-30 15:58:24 -0500101 default y
102 depends on TOYBOX_HELP
103 help
104 Support --help argument in all commands, even ones with a NULL
Rob Landley29e75d52016-10-01 15:52:00 -0500105 optstring. (Use TOYFLAG_NOHELP to disable.) Produces the same output
106 as "help command". --version shows toybox version.
Rob Landley953722e2013-06-30 15:58:24 -0500107
Felix Janda250e0052012-11-21 20:38:29 +0100108config TOYBOX_I18N
Rob Landley26c00452013-04-14 12:35:25 -0500109 bool "Internationalization support"
Felix Janda250e0052012-11-21 20:38:29 +0100110 default y
111 help
Rob Landley26c00452013-04-14 12:35:25 -0500112 Support for UTF-8 character sets, and some locale support.
Felix Janda250e0052012-11-21 20:38:29 +0100113
Rob Landleyde05a702007-01-31 14:37:01 -0500114config TOYBOX_FREE
landley5257cf52006-10-31 23:30:06 -0500115 bool "Free memory unnecessarily"
116 default n
117 help
118 When a program exits, the operating system will clean up after it
Rob Landley26c00452013-04-14 12:35:25 -0500119 (free memory, close files, etc). To save size, toybox usually relies
120 on this behavior. If you're running toybox under a debugger or
landley5257cf52006-10-31 23:30:06 -0500121 without a real OS (ala newlib+libgloss), enable this to make toybox
122 clean up after itself.
123
Rob Landley977e48e2014-10-20 19:52:29 -0500124config TOYBOX_NORECURSE
125 bool "Disable recursive execution"
126 default n
127 help
128 When one toybox command calls another, usually it just calls the new
129 command's main() function rather than searching the $PATH and calling
130 exec on another file (which is much slower).
131
132 This disables that optimization, so toybox will run external commands
133 even when it has a built-in version of that command. This requires
134 toybox symlinks to be installed in the $PATH, or re-invoking the
135 "toybox" multiplexer command by name.
136
Rob Landleyde05a702007-01-31 14:37:01 -0500137config TOYBOX_DEBUG
Rob Landley8324b892006-11-19 02:49:22 -0500138 bool "Debugging tests"
139 default n
140 help
Rob Landleya8bee462014-08-18 19:10:45 -0500141 Enable extra checks for debugging purposes. All of them catch
Rob Landley39f2e912015-07-31 03:05:24 -0500142 things that can only go wrong at development time, not runtime.
Rob Landleya8bee462014-08-18 19:10:45 -0500143
Rob Landleycb8e5ad2017-03-20 12:41:22 -0500144config TOYBOX_PEDANTIC_ARGS
145 bool "Pedantic argument checking"
146 default n
147 help
148 Check arguments for commands that have no arguments.
149
Rob Landleya8bee462014-08-18 19:10:45 -0500150config TOYBOX_UID_SYS
151 int "First system UID"
152 default 100
153 help
154 When commands like useradd/groupadd allocate system IDs, start here.
155
156config TOYBOX_UID_USR
157 int "First user UID"
158 default 500
159 help
160 When commands like useradd/groupadd allocate user IDs, start here.
Rob Landley8c588d82015-08-29 22:12:56 -0500161
162config TOYBOX_MUSL_NOMMU_IS_BROKEN
163 bool "Workaround for musl-libc breakage on nommu systems."
164 default n
165 help
166 When using musl-libc on a nommu system, you'll need to say "y" here.
167
168 Although uclibc lets you detect support for things like fork() and
169 daemon() at compile time, musl intentionally includes broken versions
170 that always return -ENOSYS on nommu systems, and goes out of its way
171 to prevent any cross-compile compatible compile-time probes for a
Rob Landley71921dc2017-05-08 22:09:08 -0500172 nommu system. (It doesn't even #define __MUSL__ in features.h.)
Rob Landley8c588d82015-08-29 22:12:56 -0500173
174 Musl does this despite the fact that a nommu system can't even run
175 standard ELF binaries, and requires specially packaged executables.
Rob Landley8c588d82015-08-29 22:12:56 -0500176 So our only choice is to manually provide a musl nommu bug workaround
177 you can manually select to enable (larger, slower) nommu support with
178 musl.
179
landley5257cf52006-10-31 23:30:06 -0500180endmenu