版权声明:本文章参考了《Linux内核官方文档》。未经作者允许,严禁用于商业出版,否则追究法律责任。网络转载请注明出处,这是对原创者的起码的尊重!!!
1 Kconfig格式
菜单入口 "菜单入口名"
[依赖]
[反向依赖]
[引入其它Kconfig文件]
... ...
[帮助]
配置项 symbol
值类型
[输入提示]
[默认值]
[依赖]
[反向依赖]
... ...
[帮助]
2 属性
bool/tristate/int/hex/string
值类型,只有配置选项有值类型。包括: bool——值为y或n、 tristate——值为y或m或n、string——值为字符串、int——值为十进制整数、 hex——值为十六进制整数prompt "提示字符串" [if <expr>]
输入提示:每个菜单入口最多只能有一个展示给用户看的输入提示,可以使用“if”来表示输入提示的依赖性,这个依赖性是可选的。default <expr> [if <expr>]
默认值:一个配置选项可以有任意多个默认值,但只有第一个有效的。当输入提示是可见时,才能看到默认值,并且可以输入一个值将默认值覆盖。与输入提示一样,可以使用“if”来表示默认值的依赖性,这个依赖性是可选的。def_bool/def_tristate <expr> ["if" <expr>]
值类型+默认值:说明值类型时同时说明默认值。可以使用“if”来表示默认值的依赖性,这个依赖性是可选的。requires(或depends on)<expr>
,
依赖: 依赖项给菜单入口或配置项定义了一个依赖规则,只有当expr为真或被选中时,该菜单入口或配置项才有效,依赖对菜单入口或配置项中的其它属性都有效。select <symbol> ["if" <expr>]
反向依赖:当前配置项被选中时,选中symbol,忽略依赖项和手动设置值。只有boolean和tristate类型的symbol可以使用反向依赖。imply <symbol> [if <expr>]
弱反向依赖:当前配置项被选中时,选中symbol,但是symbol仍然可由依赖或者手动配置为n。range <value1> <value2> ["if"<expr>]
,
值范围:限定int和hex类型symbol的输入值。用户只能输入一个大于等于第一个symbol的值,并且小于等于第二个symbol的值。visible if <expr>
只能用于menu/endmenu中,当expr为真时菜单可见。