OSDN Git Service

Usischev Yury pointed out a use after free error.
[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 | --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
27 config 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
38 choice
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
45 config 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           
52 config 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
58 config TOYBOX_SMACK
59         bool "SMACK support"
60         help
61           Include SMACK options in commands like ls for systems like Tizen.
62
63 endchoice
64
65 config TOYBOX_LIBCRYPTO
66        bool "Use libcrypto (OpenSSL/BoringSSL)"
67        default n
68        help
69          Use faster hash functions out of exteral -lcrypto library.
70
71 config TOYBOX_FLOAT
72         bool "Floating point support"
73         default y
74         help
75           Include floating point support infrastructure and commands that
76           require it.
77
78 config TOYBOX_HELP
79         bool "Help messages"
80         default y
81         help
82           Include help text for each command.
83
84 config TOYBOX_HELP_DASHDASH
85         bool "--help"
86         default y
87         depends on TOYBOX_HELP
88         help
89           Support --help argument in all commands, even ones with a NULL
90           optstring. Produces the same output as "help command".
91
92 config TOYBOX_I18N
93         bool "Internationalization support"
94         default y
95         help
96           Support for UTF-8 character sets, and some locale support.
97
98 config TOYBOX_FREE
99         bool "Free memory unnecessarily"
100         default n
101         help
102           When a program exits, the operating system will clean up after it
103           (free memory, close files, etc). To save size, toybox usually relies
104           on this behavior. If you're running toybox under a debugger or
105           without a real OS (ala newlib+libgloss), enable this to make toybox
106           clean up after itself.
107
108 config TOYBOX_NORECURSE
109         bool "Disable recursive execution"
110         default n
111         help
112           When one toybox command calls another, usually it just calls the new
113           command's main() function rather than searching the $PATH and calling
114           exec on another file (which is much slower).
115
116           This disables that optimization, so toybox will run external commands
117           even when it has a built-in version of that command. This requires
118           toybox symlinks to be installed in the $PATH, or re-invoking the
119           "toybox" multiplexer command by name.
120
121 config TOYBOX_DEBUG
122         bool "Debugging tests"
123         default n
124         help
125           Enable extra checks for debugging purposes. All of them catch
126           things that can only go wrong at development time, not runtime.
127
128 config TOYBOX_UID_SYS
129         int "First system UID"
130         default 100
131         help
132           When commands like useradd/groupadd allocate system IDs, start here.
133
134 config TOYBOX_UID_USR
135         int "First user UID"
136         default 500
137         help
138           When commands like useradd/groupadd allocate user IDs, start here.
139
140 config TOYBOX_MUSL_NOMMU_IS_BROKEN
141         bool "Workaround for musl-libc breakage on nommu systems."
142         default n
143         help
144           When using musl-libc on a nommu system, you'll need to say "y" here.
145
146           Although uclibc lets you detect support for things like fork() and
147           daemon() at compile time, musl intentionally includes broken versions
148           that always return -ENOSYS on nommu systems, and goes out of its way
149           to prevent any cross-compile compatible compile-time probes for a
150           nommu system.
151
152           Musl does this despite the fact that a nommu system can't even run
153           standard ELF binaries, and requires specially packaged executables.
154           (You can't even check a #define to see that you're building against
155           musl, due to its maintainer's policy that musl never has bugs that
156           require workarounds.)
157
158           So our only choice is to manually provide a musl nommu bug workaround
159           you can manually select to enable (larger, slower) nommu support with
160           musl.
161
162           You don't need this for uClibc, we have a compile time probe that
163           autodetects nommu support there.
164
165 endmenu