谁能给我提供在 Kconfig 文件中获取环境变量值的语法?
根据环境变量的值,我需要有条件地获取另一个 Kconfig 文件。
您需要使用“option env”在配置符号中捕获环境变量的值,如下所示:
配置 ENV_VAR 细绳 选项 env="ENV_VAR" 如果 ENV_VAR = "foo" 源“foo_file” 万一
作为旁注,“源”语句中的 $-references 指的是配置变量,而不是环境变量。你不能做类似的事情
来源“foo/$ENV_VAR/Kconfig”
你将需要做
配置 ENV_VAR_SYM 细绳 选项 env="ENV_VAR" 源“foo/$ENV_VAR_SYM/Kconfig”
(ENV_VAR_SYM 当然也可以称为 ENV_VAR;我只是更改了名称以澄清事情。)
另一个示例,请参见内核根目录中的顶级 Kconfig 文件。
(我是 Kconfiglib Kconfiglib的作者,这是一个用于处理基于 Kconfig 的配置系统的库。)
根据kconfig 文档:
<expr> ::= <symbol> (1)
<symbol> '=' <symbol> (2)
<symbol> '!=' <symbol> (3)
'(' <expr> ')' (4)
'!' <expr> (5)
<expr> '&&' <expr> (6)
<expr> '||' <expr> (7)
- misc options: "option" <symbol>[=<value>]
- "env"=<value>
This imports the environment variable into Kconfig.
if:
"if" <expr>
<if block>
"endif"
This defines an if block. The dependency expression <expr> is appended
to all enclosed menu entries.
source:
"source" <prompt>
This reads the specified configuration file. This file is always parsed.
所以我会尝试
option env="YOURVAR"
if YOURVAR=foo
source "somefile"
endif
if YOURVAR!=foo
source "someotherfile"
endif