Browse Source

docs: note about select in kconfig-language.txt

A warning note from Sam Ravnborg about kconfig's select evilness,
dependencies and the future (slightly corrected).

Signed-off-by: Jarek Poplawski <jarkao2@o2.pl>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Jarek Poplawski 17 years ago
parent
commit
f8a745942b
1 changed files with 9 additions and 0 deletions
  1. 9 0
      Documentation/kbuild/kconfig-language.txt

+ 9 - 0
Documentation/kbuild/kconfig-language.txt

@@ -98,6 +98,15 @@ applicable everywhere (see syntax).
   times, the limit is set to the largest selection.
   times, the limit is set to the largest selection.
   Reverse dependencies can only be used with boolean or tristate
   Reverse dependencies can only be used with boolean or tristate
   symbols.
   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" <symbol> <symbol> ["if" <expr>]
 - numerical ranges: "range" <symbol> <symbol> ["if" <expr>]
   This allows to limit the range of possible input values for int
   This allows to limit the range of possible input values for int