mirror of
https://github.com/openwrt/openwrt.git
synced 2024-11-23 18:05:20 +08:00
75dcaf3d23
Since commit 31847b67bec0 ("kconfig: allow use of relations other than (in)equality") it is possible to use relational operators in Kconfig statements. However, those operators give unexpected results when applied to bool/tristate values: (n < y) = y (correct) (m < y) = y (correct) (n < m) = n (wrong) This happens because relational operators process bool and tristate symbols as strings and m sorts before n. It makes little sense to do a lexicographical compare on bool and tristate values though. Documentation/kbuild/kconfig-language.txt states that expression can have a value of 'n', 'm' or 'y' (or 0, 1, 2 respectively for calculations). Let's make it so for relational comparisons with bool/tristate expressions as well and document them. If at least one symbol is an actual string then the lexicographical compare works just as before. Signed-off-by: Nicolas Pitre <nico@linaro.org> Acked-by: Randy Dunlap <rdunlap@infradead.org> Tested-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> [rebased against OpenWrt kconfig, slightly reword commit message] (backported from upstream 9059a3493efea6492451430c7e2fa0af799a2abb) Signed-off-by: Jo-Philipp Wich <jo@mein.io> |
||
---|---|---|
.. | ||
lxdialog | ||
.gitignore | ||
conf.c | ||
confdata.c | ||
expr.c | ||
expr.h | ||
images.c | ||
list.h | ||
lkc_proto.h | ||
lkc.h | ||
Makefile | ||
mconf.c | ||
menu.c | ||
qconf.cc | ||
qconf.h | ||
README | ||
symbol.c | ||
util.c | ||
zconf.gperf | ||
zconf.hash.c_shipped | ||
zconf.l | ||
zconf.lex.c_shipped | ||
zconf.tab.c_shipped | ||
zconf.y |
These files were taken from the Linux 3.9 Kernel Configuration System and modified for the OpenWrt Buildroot.