diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1999-12-04 03:58:56 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1999-12-04 03:58:56 +0000 |
commit | 1d67e90f19a7acfd9a05dc59678e7d0c5090bd0d (patch) | |
tree | 357efc7b93f8f5102110d20d293f41360ec212fc /Documentation/kbuild | |
parent | aea27b2e18d69af87e673972246e66657b4fa274 (diff) |
Merge with Linux 2.3.21.
Diffstat (limited to 'Documentation/kbuild')
-rw-r--r-- | Documentation/kbuild/config-language.txt | 68 |
1 files changed, 38 insertions, 30 deletions
diff --git a/Documentation/kbuild/config-language.txt b/Documentation/kbuild/config-language.txt index 079f0c751..dce6086f9 100644 --- a/Documentation/kbuild/config-language.txt +++ b/Documentation/kbuild/config-language.txt @@ -1,5 +1,5 @@ Config Language Specification -21 January 1999 +28 September 1999 Michael Elizabeth Chastain, <mailto:mec@shout.net> @@ -82,7 +82,10 @@ Here are the basic grammar elements. double-quoted string. If the word is unquoted or double quoted, then $-substition will be performed on the word. - A /symbol/ is a single unquoted word. + A /symbol/ is a single unquoted word. A symbol must have a name of + the form CONFIG_*. scripts/mkdep.c relies on this convention in order + to generate dependencies on individual CONFIG_* symbols instead of + making one massive dependency on include/linux/autoconf.h. A /dep/ is a dependency. Syntactically, it is a /word/. At run time, a /dep/ must evaluate to "y", "m", "n", or "". @@ -355,8 +358,8 @@ This verb assigns the value of /word/ to /symbol/. Any hexadecimal number is a legal value. Configure: implemented -Menuconfig: not implemented -Xconfig: not implemented +Menuconfig: implemented +Xconfig: implemented mconfig: implemented Example: @@ -377,8 +380,8 @@ This verb assigns /symbol/ the value /word/. Any decimal number is a legal value. Configure: implemented -Menuconfig: not implemented -Xconfig: not implemented +Menuconfig: implemented +Xconfig: implemented mconfig: implemented Example: @@ -394,8 +397,8 @@ This verb assigns the value of /word/ to /symbol/. Legal input values are any ASCII string, except for the characters '"' and '\\'. Configure: implemented -Menuconfig: not implemented -Xconfig: not implemented +Menuconfig: implemented +Xconfig: implemented mconfig: implemented Example @@ -414,9 +417,9 @@ As soon as this verb is implemented in all interpreters, please use it instead of define_bool to define tristate values. This aids in static type checking. -Configure: not implemented -Menuconfig: not implemented -Xconfig: not implemented +Configure: implemented +Menuconfig: implemented +Xconfig: implemented mconfig: implemented Example: @@ -433,22 +436,27 @@ Example: This verb evaluates all of the dependencies in the dependency list. Any dependency which has a value of "y" does not restrict the input -range. Any dependency which has a value of "n", or which has some -other value, restricts the input range to "n". +range. Any dependency which has an empty value is ignored. +Any dependency which has a value of "n", or which has some other value, +restricts the input range to "n". Quoting dependencies is not allowed. +Using dependencies with an empty value possible is not recommended. If the input range is restricted to the single choice "n", dep_bool silently assigns "n" to /symbol/. If the input range has more than one choice, dep_bool displays /prompt/ to the user, accepts a value from the user, and assigns that value to /symbol/. -Configure: not implemented -Menuconfig: not implemented -XConfig: not implemented +Configure: implemented +Menuconfig: implemented +XConfig: implemented mconfig: implemented # not from the corpus dep_bool 'RZ1000 chipset bugfix/support' CONFIG_BLK_DEV_RZ1000 $CONFIG_PCI +Known bugs: +- Xconfig does not write "# foo is not set" to .config (as well as + "#unset foo" to autoconf.h) if command is disabled by its dependencies. === dep_hex /prompt/ /symbol/ /word/ /dep/ ... @@ -464,13 +472,15 @@ mconfig: not implemented -=== dep_tristate /prompt/ /symbol /dep/ ... +=== dep_tristate /prompt/ /symbol/ /dep/ ... This verb evaluates all of the dependencies in the dependency list. -Any dependency which as a value of "y" does not restrict the input range. +Any dependency which has a value of "y" does not restrict the input range. Any dependency which has a value of "m" restricts the input range to -"m" or "n". Any dependency which has a value of "n", or which has some -other value, restricts the input range to "n". +"m" or "n". Any dependency which has an empty value is ignored. +Any dependency which has a value of "n", or which has some other value, +restricts the input range to "n". Quoting dependencies is not allowed. +Using dependencies with an empty value possible is not recommended. If the input range is restricted to the single choice "n", dep_tristate silently assigns "n" to /symbol/. If the input range has more than @@ -478,10 +488,13 @@ one choice, dep_tristate displays /prompt/ to the user, accepts a value from the user, and assigns that value to /symbol/. Configure: implemented -Menuconfig: implemented (but silently ignores dependencies after the first) -Xconfig: implemented (but silently ignores dependencies after the first) +Menuconfig: implemented +Xconfig: implemented mconfig: implemented +Known bugs: +- Xconfig does not write "# foo is not set" to .config (as well as + "#unset foo" to autoconf.h) if command is disabled by its dependencies. === unset /symbol/ ... @@ -492,7 +505,7 @@ up deeper problems with variable semantics in a random-execution language. Configure: implemented Menuconfig: implemented -Xconfig: not implemented +Xconfig: implemented (with bugs) mconfig: implemented @@ -570,14 +583,9 @@ Menuconfig: implemented XConfig: implemented, with bugs mconfig: implemented -Xconfig has several known bugs, and probably some unknown bugs too: - -- In a comparison, if the left-hand atom is a variable and that variable - is from a choice list, the right-hand atom must be "y". +Xconfig has some known bugs, and probably some unknown bugs too: -- In a comparison, if the right-hand atom is a variable and that variable - is from a choice list, you lose. tkparse will throw a segmentation - violation, silently generate bizarre TCL code, or something else. +- literals with an empty "" value are not properly handled. - tkparse gives the wrong precedence to -o, -a, and !. Don't use both -o and -a in an expression. Don't use ! at all. |