summaryrefslogtreecommitdiff
path: root/scripts/kconfig/lkc-language.txt
Unidiff
Diffstat (limited to 'scripts/kconfig/lkc-language.txt') (more/less context) (show whitespace changes)
-rw-r--r--scripts/kconfig/lkc-language.txt52
1 files changed, 38 insertions, 14 deletions
diff --git a/scripts/kconfig/lkc-language.txt b/scripts/kconfig/lkc-language.txt
index a3037ff..40f8583 100644
--- a/scripts/kconfig/lkc-language.txt
+++ b/scripts/kconfig/lkc-language.txt
@@ -19,5 +19,5 @@ organized in a tree structure:
19 19
20Every entry has its own dependencies. These dependencies are used 20Every entry has its own dependencies. These dependencies are used
21to determine the visible of an entry. Any child entry is only 21to determine the visibility of an entry. Any child entry is only
22visible if its parent entry is also visible. 22visible if its parent entry is also visible.
23 23
@@ -51,5 +51,5 @@ applicable everywhere (see syntax).
51- type definition: "bool"/"tristate"/"string"/"hex"/"integer" 51- type definition: "bool"/"tristate"/"string"/"hex"/"integer"
52 Every config option must have a type. There are only two basic types: 52 Every config option must have a type. There are only two basic types:
53 tristate and string, the other types base on these two. The type 53 tristate and string, the other types are based on these two. The type
54 definition optionally accepts an input prompt, so these two examples 54 definition optionally accepts an input prompt, so these two examples
55 are equivalent: 55 are equivalent:
@@ -65,10 +65,10 @@ applicable everywhere (see syntax).
65 with "if". 65 with "if".
66 66
67- default value: "default" <symbol> ["if" <expr>] 67- default value: "default" <expr> ["if" <expr>]
68 A config option can have any number of default values. If multiple 68 A config option can have any number of default values. If multiple
69 default values are visible, only the first defined one is active. 69 default values are visible, only the first defined one is active.
70 Default values are not limited to the menu entry, where they are 70 Default values are not limited to the menu entry, where they are
71 defined, this means the default can be defined somewhere else or be 71 defined, this means the default can be defined somewhere else or be
72 overriden by an earlier definition. 72 overridden by an earlier definition.
73 The default value is only assigned to the config symbol if no other 73 The default value is only assigned to the config symbol if no other
74 value was set by the user (via the input prompt above). If an input 74 value was set by the user (via the input prompt above). If an input
@@ -82,5 +82,5 @@ applicable everywhere (see syntax).
82 dependencies are defined they are connected with '&&'. Dependencies 82 dependencies are defined they are connected with '&&'. Dependencies
83 are applied to all other options within this menu entry (which also 83 are applied to all other options within this menu entry (which also
84 accept "if" expression), so these two examples are equivalent: 84 accept an "if" expression), so these two examples are equivalent:
85 85
86 bool "foo" if BAR 86 bool "foo" if BAR
@@ -91,7 +91,22 @@ applicable everywhere (see syntax).
91 default y 91 default y
92 92
93- reverse dependencies: "select" <symbol> ["if" <expr>]
94 While normal dependencies reduce the upper limit of a symbol (see
95 below), reverse dependencies can be used to force a lower limit of
96 another symbol. The value of the current menu symbol is used as the
97 minimal value <symbol> can be set to. If <symbol> is selected multiple
98 times, the limit is set to the largest selection.
99 Reverse dependencies can only be used with boolean or tristate
100 symbols.
101
102- numerical ranges: "range" <symbol> <symbol> ["if" <expr>]
103 This allows to limit the range of possible input values for integer
104 and hex symbols. The user can only input a value which is larger than
105 or equal to the first symbol and smaller than or equal to the second
106 symbol.
107
93- help text: "help" 108- help text: "help"
94 This defines a help text. The end of the help text is determined by 109 This defines a help text. The end of the help text is determined by
95 the level indentation, this means it ends at the first line which has 110 the indentation level, this means it ends at the first line which has
96 a smaller indentation than the first line of the help text. 111 a smaller indentation than the first line of the help text.
97 112
@@ -124,6 +139,6 @@ Expressions are listed in decreasing order of precedence.
124(4) Returns the value of the expression. Used to override precedence. 139(4) Returns the value of the expression. Used to override precedence.
125(5) Returns the result of (2-/expr/). 140(5) Returns the result of (2-/expr/).
126(6) Returns the result of min(/expr/, /expr/). 141(6) Returns the result of max(/expr/, /expr/).
127(7) Returns the result of max(/expr/, /expr/). 142(7) Returns the result of min(/expr/, /expr/).
128 143
129An expression can have a value of 'n', 'm' or 'y' (or 0, 1, 2 144An expression can have a value of 'n', 'm' or 'y' (or 0, 1, 2
@@ -131,5 +146,5 @@ respectively for calculations). A menu entry becomes visible when it's
131expression evaluates to 'm' or 'y'. 146expression evaluates to 'm' or 'y'.
132 147
133There are two type of symbols: constant and nonconstant symbols. 148There are two types of symbols: constant and nonconstant symbols.
134Nonconstant symbols are the most common ones and are defined with the 149Nonconstant symbols are the most common ones and are defined with the
135'config' statement. Nonconstant symbols consist entirely of alphanumeric 150'config' statement. Nonconstant symbols consist entirely of alphanumeric
@@ -143,5 +158,5 @@ Menu structure
143 158
144The position of a menu entry in the tree is determined in two ways. First 159The position of a menu entry in the tree is determined in two ways. First
145it can be specified explicitely: 160it can be specified explicitly:
146 161
147menu "Network device support" 162menu "Network device support"
@@ -160,6 +175,6 @@ dependency list of the config option NETDEVICES.
160The other way to generate the menu structure is done by analyzing the 175The other way to generate the menu structure is done by analyzing the
161dependencies. If a menu entry somehow depends on the previous entry, it 176dependencies. If a menu entry somehow depends on the previous entry, it
162can be made a submenu of it. First the the previous (parent) symbol must 177can be made a submenu of it. First, the previous (parent) symbol must
163be part of the dependency list and then one of these two condititions 178be part of the dependency list and then one of these two conditions
164must be true: 179must be true:
165- the child entry must become invisible, if the parent is set to 'n' 180- the child entry must become invisible, if the parent is set to 'n'
@@ -178,5 +193,5 @@ comment "module support disabled"
178MODVERSIONS directly depends on MODULES, this means it's only visible if 193MODVERSIONS directly depends on MODULES, this means it's only visible if
179MODULES is different from 'n'. The comment on the other hand is always 194MODULES is different from 'n'. The comment on the other hand is always
180visible when MODULES it's visible (the (empty) dependency of MODULES is 195visible when MODULES is visible (the (empty) dependency of MODULES is
181also part of the comment dependencies). 196also part of the comment dependencies).
182 197
@@ -189,4 +204,5 @@ line starts with a keyword (except help texts). The following keywords
189end a menu entry: 204end a menu entry:
190- config 205- config
206- menuconfig
191- choice/endchoice 207- choice/endchoice
192- comment 208- comment
@@ -194,5 +210,5 @@ end a menu entry:
194- if/endif 210- if/endif
195- source 211- source
196The first four also start the definition of a menu entry. 212The first five also start the definition of a menu entry.
197 213
198config: 214config:
@@ -204,4 +220,12 @@ This defines a config symbol <symbol> and accepts any of above
204attributes as options. 220attributes as options.
205 221
222menuconfig:
223 "menuconfig" <symbol>
224 <config options>
225
226This is similiar to the simple config entry above, but it also gives a
227hint to front ends, that all suboptions should be displayed as a
228separate list of options.
229
206choices: 230choices:
207 231