kconfig: allow use of relations other than (in)equality
authorJan Beulich <JBeulich@suse.com>
Mon, 15 Jun 2015 12:00:21 +0000 (13:00 +0100)
committerMichal Marek <mmarek@suse.cz>
Mon, 15 Jun 2015 12:05:58 +0000 (14:05 +0200)
commit31847b67bec0e989961118520406a63fdeac7246
tree1c38fb180047884dd1428b1d84beccf78c37ccc7
parent2e0d737fc76f8d31e2265b3f0392749f75efd735
kconfig: allow use of relations other than (in)equality

Over the years I found it desirable to be able to use all sorts of
relations, not just (in)equality. And apparently I'm not the only one,
as there's at least one example in the tree where the programmer
assumed this would work (see DEBUG_UART_8250_WORD in
arch/arm/Kconfig.debug). Another possible use would e.g. be to fold the
two SMP/NR_CPUS prompts into one: SMP could be promptless, simply
depending on NR_CPUS > 1.

A (desirable) side effect of this change - resulting from numeric
values now necessarily being compared as numbers rather than as
strings - is that comparing hex values now works as expected: Other
than int ones (which aren't allowed to have leading zeroes), zeroes
following the 0x prefix made them compare unequal even if their values
were equal.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
scripts/kconfig/expr.c
scripts/kconfig/expr.h
scripts/kconfig/symbol.c
scripts/kconfig/zconf.l
scripts/kconfig/zconf.y