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 | --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	  --version	Show toybox version
23
24	  To install command symlinks, try:
25	    for i in $(/bin/toybox --long); do ln -s /bin/toybox $i; done
26
27config TOYBOX_SUID
28	bool "SUID support"
29	default y
30	help
31	  Support for the Set User ID bit, to install toybox suid root and drop
32	  permissions for commands which do not require root access. To use
33	  this change ownership of the file to the root user and set the suid
34	  bit in the file permissions:
35
36	  chown root:root toybox; chmod +s toybox
37
38choice
39	prompt "Security Blanket"
40	default TOYBOX_LSM_NONE
41	help
42	  Select a Linux Security Module to complicate your system
43	  until you can't find holes in it.
44
45config TOYBOX_LSM_NONE
46	bool "None"
47	help
48          Don't try to achieve "watertight" by plugging the holes in a
49          collander, instead use conventional unix security (and possibly
50          Linux Containers) for a simple straightforward system.
51
52config TOYBOX_SELINUX
53	bool "SELinux support"
54	help
55	  Include SELinux options in commands such as ls, and add
56	  SELinux-specific commands such as chcon to the Android menu.
57
58config TOYBOX_SMACK
59	bool "SMACK support"
60	help
61	  Include SMACK options in commands like ls for systems like Tizen.
62
63endchoice
64
65config TOYBOX_FLOAT
66	bool "Floating point support"
67	default y
68	help
69	  Include floating point support infrastructure and commands that
70	  require it.
71
72config TOYBOX_HELP
73	bool "Help messages"
74	default y
75	help
76	  Include help text for each command.
77
78config TOYBOX_HELP_DASHDASH
79	bool "--help"
80	default y
81	depends on TOYBOX_HELP
82	help
83	  Support --help argument in all commands, even ones with a NULL
84	  optstring. Produces the same output as "help command".
85
86config TOYBOX_I18N
87	bool "Internationalization support"
88	default y
89	help
90	  Support for UTF-8 character sets, and some locale support.
91
92config TOYBOX_FREE
93	bool "Free memory unnecessarily"
94	default n
95	help
96	  When a program exits, the operating system will clean up after it
97	  (free memory, close files, etc). To save size, toybox usually relies
98	  on this behavior. If you're running toybox under a debugger or
99	  without a real OS (ala newlib+libgloss), enable this to make toybox
100	  clean up after itself.
101
102config TOYBOX_NORECURSE
103	bool "Disable recursive execution"
104	default n
105	help
106	  When one toybox command calls another, usually it just calls the new
107	  command's main() function rather than searching the $PATH and calling
108	  exec on another file (which is much slower).
109
110	  This disables that optimization, so toybox will run external commands
111          even when it has a built-in version of that command. This requires
112          toybox symlinks to be installed in the $PATH, or re-invoking the
113          "toybox" multiplexer command by name.
114
115config TOYBOX_DEBUG
116	bool "Debugging tests"
117	default n
118	help
119	  Enable extra checks for debugging purposes. All of them catch
120	  things that can only go wrong at development time, not runtime.
121
122config TOYBOX_UID_SYS
123	int "First system UID"
124	default 100
125	help
126	  When commands like useradd/groupadd allocate system IDs, start here.
127
128config TOYBOX_UID_USR
129	int "First user UID"
130	default 500
131	help
132	  When commands like useradd/groupadd allocate user IDs, start here.
133
134config TOYBOX_MUSL_NOMMU_IS_BROKEN
135	bool "Workaround for musl-libc breakage on nommu systems."
136	default n
137	help
138	  When using musl-libc on a nommu system, you'll need to say "y" here.
139
140	  Although uclibc lets you detect support for things like fork() and
141	  daemon() at compile time, musl intentionally includes broken versions
142	  that always return -ENOSYS on nommu systems, and goes out of its way
143	  to prevent any cross-compile compatible compile-time probes for a
144	  nommu system.
145
146	  Musl does this despite the fact that a nommu system can't even run
147	  standard ELF binaries, and requires specially packaged executables.
148	  (You can't even check a #define to see that you're building against
149	  musl, due to its maintainer's policy that musl never has bugs that
150	  require workarounds.)
151
152	  So our only choice is to manually provide a musl nommu bug workaround
153	  you can manually select to enable (larger, slower) nommu support with
154	  musl.
155
156	  You don't need this for uClibc, we have a compile time probe that
157	  autodetects nommu support there.
158
159endmenu
160