分享

Kconfig学习(转载)-(2)

 黄浦江中的一条鱼 2009-07-29
如果菜单选项在一定程度上依赖于前面的选项,它就能成为该选
项的子菜单。首先,前面的(父)选项必须是依赖列表中的一部分并且它们中必须有满足下面两个条件的选项:
- 如果父选项为'n',子选项必须不可见。
- 如果父选项可见,子选项才能可见。

config MODULES
    bool "Enable loadable module support"

config MODVERSIONS
    bool "Set version information on all module symbols"
    depends MODULES

comment "module support disabled"
    depends !MODULES

MODVERSIONS 直接依赖 MODULES,这就意味着如果MODULES不为'n',该选项才可见。换句话说,当
MODULES可见时,选项才可见(MODULES的(空)依赖关系也是选项依赖关系的一部分)。

Kconfig 语法
------------

配置文件描述了菜单选项,每行都是以一关键字开头(除了帮助信息)。下面的关键字结束一菜单选项:
- config
- menuconfig
- choice/endchoice
- comment
- menu/endmenu
- if/endif
- source
前5个同样可以用在菜单选项定义的开始。

config:

    "config" <symbol>
    <config options>

定义了一配置选项 <symbol> 并且可以接受任何前面介绍的属性。

menuconfig:
    "menuconfig" <symbol>
    <config options>

此关键字和前面的关键字很相似,但它在前面的基础上要求所有的子选项作为独立的行显示。(This is
similar to the simple config entry above, but it also gives a hint to front
ends, that all suboptions should be displayed as a separate list of options.)

choices:

    "choice"
    <choice options>
    <choice block>
    "endchoice"

该关键字定义了一组选择项,并且选项可以是前面描述的任何属性。尽管boolean只允许选择一个配置选项,
tristate可以抒多个配置选项设为'm',但选项只能是boolean或tristate类型。这可以在一个硬件有多
个驱动的情况下使用,最终只有一个驱动被编译进/加载到内核,,但所有的驱动都可以编译成模块。
选项可以接受的另一个选项是"optional",这样选项就被设置为'n',没有被选中的。

comment:

    "comment" <prompt>
    <comment options>

这里定义了在配置过程中显示给用户的注释,该注释还将写进输出文件中。唯一可用的可选项是依赖关系。

menu:

    "menu" <prompt>
    <menu options>
    <menu block>
    "endmenu"

这里定义了一个菜单,详细信息请看前面的"菜单结构"。唯一可用的可选项是依赖关系。

if:

    "if" <expr>
    <if block>
    "endif"

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多