From: Jarek Poplawski A warning note from Sam Ravnborg about kconfig's select evilness, dependencies and the future (slightly corrected). Signed-off-by: Jarek Poplawski Cc: Sam Ravnborg Cc: Roman Zippel Signed-off-by: Andrew Morton --- Documentation/kbuild/kconfig-language.txt | 9 +++++++++ 1 files changed, 9 insertions(+) diff -puN Documentation/kbuild/kconfig-language.txt~docs-note-about-select-in-kconfig-languagetxt Documentation/kbuild/kconfig-language.txt --- a/Documentation/kbuild/kconfig-language.txt~docs-note-about-select-in-kconfig-languagetxt +++ a/Documentation/kbuild/kconfig-language.txt @@ -98,6 +98,15 @@ applicable everywhere (see syntax). times, the limit is set to the largest selection. Reverse dependencies can only be used with boolean or tristate symbols. + Note: + select is evil.... select will by brute force set a symbol + equal to 'y' without visiting the dependencies. So abusing + select you are able to select a symbol FOO even if FOO depends + on BAR that is not set. In general use select only for + non-visible symbols (no promts anywhere) and for symbols with + no dependencies. That will limit the usefulness but on the + other hand avoid the illegal configurations all over. kconfig + should one day warn about such things. - numerical ranges: "range" ["if" ] This allows to limit the range of possible input values for int _