OSDN Git Service

Snap for 4623514 from 12285d088a3e672a5f3964952dac3b443f67574c to pi-release
[android-x86/external-toybox.git] / Config.in
1 mainmenu "Toybox Configuration"
2
3
4 source generated/Config.probed
5 source generated/Config.in
6
7 comment ""
8
9 menu "Toybox global settings"
10
11 # This entry controls the multiplexer, disabled for single command builds
12 config 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
36 config 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
47 choice
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
54 config 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           
61 config 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
67 config TOYBOX_SMACK
68         bool "SMACK support"
69         help
70           Include SMACK options in commands like ls for systems like Tizen.
71
72 endchoice
73
74 config TOYBOX_LIBCRYPTO
75        bool "Use libcrypto (OpenSSL/BoringSSL)"
76        default n
77        help
78          Use faster hash functions out of exteral -lcrypto library.
79
80 config TOYBOX_LIBZ
81        bool "Use libz (zlib)"
82        default n
83        help
84          Use libz for gz support.
85
86 config 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
93 config TOYBOX_HELP
94         bool "Help messages"
95         default y
96         help
97           Include help text for each command.
98
99 config 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
108 config TOYBOX_I18N
109         bool "Internationalization support"
110         default y
111         help
112           Support for UTF-8 character sets, and some locale support.
113
114 config 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
124 config 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
137 config 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
144 config TOYBOX_PEDANTIC_ARGS
145         bool "Pedantic argument checking"
146         default n
147         help
148           Check arguments for commands that have no arguments.
149
150 config 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
156 config 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
162 config 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
180 endmenu