• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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, "--" 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
36config TOYBOX_SUID
37	bool "SUID support"
38	default y
39	help
40	  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
46
47choice
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
61config TOYBOX_SELINUX
62	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
73
74config TOYBOX_LIBCRYPTO
75       bool "Use libcrypto (OpenSSL/BoringSSL)"
76       default n
77       help
78         Use faster hash functions out of exteral -lcrypto library.
79
80config TOYBOX_LIBZ
81       bool "Use libz (zlib)"
82       default n
83       help
84         Use libz for gz support.
85
86config 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
93config TOYBOX_HELP
94	bool "Help messages"
95	default y
96	help
97	  Include help text for each command.
98
99config TOYBOX_HELP_DASHDASH
100	bool "--help and --version"
101	default y
102	depends on TOYBOX_HELP
103	help
104	  Support --help argument in all commands, even ones with a NULL
105	  optstring. (Use TOYFLAG_NOHELP to disable.) Produces the same output
106	  as "help command". --version shows toybox version.
107
108config TOYBOX_I18N
109	bool "Internationalization support"
110	default y
111	help
112	  Support for UTF-8 character sets, and some locale support.
113
114config TOYBOX_FREE
115	bool "Free memory unnecessarily"
116	default n
117	help
118	  When a program exits, the operating system will clean up after it
119	  (free memory, close files, etc). To save size, toybox usually relies
120	  on this behavior. If you're running toybox under a debugger or
121	  without a real OS (ala newlib+libgloss), enable this to make toybox
122	  clean up after itself.
123
124config 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
137config TOYBOX_DEBUG
138	bool "Debugging tests"
139	default n
140	help
141	  Enable extra checks for debugging purposes. All of them catch
142	  things that can only go wrong at development time, not runtime.
143
144config TOYBOX_PEDANTIC_ARGS
145	bool "Pedantic argument checking"
146	default n
147	help
148	  Check arguments for commands that have no arguments.
149
150config 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.
161
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
172	  nommu system. (It doesn't even #define __MUSL__ in features.h.)
173
174	  Musl does this despite the fact that a nommu system can't even run
175	  standard ELF binaries, and requires specially packaged executables.
176	  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
180endmenu
181