mirror of
https://github.com/torvalds/linux.git
synced 2024-11-27 14:41:39 +00:00
6a1215888e
The 'choice' statement is primarily used to exclusively select one option, but the 'optional' property allows all entries to be disabled. In the following example, both A and B can be disabled simultaneously: choice prompt "choose A, B, or nothing" optional config A bool "A" config B bool "B" endchoice You can achieve the equivalent outcome by other means. A common solution is to add another option to guard the choice block. In the following example, you can set ENABLE_A_B_CHOICE=n to disable the entire choice block: choice prompt "choose A or B" depends on ENABLE_A_B_CHOICE config A bool "A" config B bool "B" endchoice Another approach is to insert one more entry: choice prompt "choose A, B, or disable both" config A bool "A" config B bool "B" config DISABLE_A_AND_B bool "choose this to disable both A and B" endchoice Some real examples are DEBUG_INFO_NONE, INITRAMFS_COMPRESSION_NONE, LTO_NONE, etc. The 'optional' property is even more unnecessary for a tristate choice. Without the 'optional' property, you can disable A and B; you can set 'm' in the choice prompt, and disable A and B individually: choice prompt "choose one built-in or make them modular" config A tristate "A" config B tristate "B" endchoice In conclusion, the 'optional' property was unneeded. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Reviewed-by: Nicolas Schier <n.schier@avm.de> |
||
---|---|---|
.. | ||
lxdialog | ||
tests | ||
.gitignore | ||
array_size.h | ||
conf.c | ||
confdata.c | ||
expr.c | ||
expr.h | ||
gconf-cfg.sh | ||
gconf.c | ||
gconf.glade | ||
hashtable.h | ||
images.c | ||
images.h | ||
internal.h | ||
lexer.l | ||
list_types.h | ||
list.h | ||
lkc_proto.h | ||
lkc.h | ||
Makefile | ||
mconf-cfg.sh | ||
mconf.c | ||
menu.c | ||
merge_config.sh | ||
mnconf-common.c | ||
mnconf-common.h | ||
nconf-cfg.sh | ||
nconf.c | ||
nconf.gui.c | ||
nconf.h | ||
parser.y | ||
preprocess.c | ||
preprocess.h | ||
qconf-cfg.sh | ||
qconf.cc | ||
qconf.h | ||
streamline_config.pl | ||
symbol.c | ||
util.c |