2012-04-11 32 views

答えて

2

<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. 

だから私はあなたがのように、「オプションのENV」を使用してコンフィギュレーションのシンボルに環境変数の値をキャプチャする必要があります

option env="YOURVAR" 
if YOURVAR=foo 
    source "somefile" 
endif 
if YOURVAR!=foo 
    source "someotherfile" 
endif 
+0

彼はresponse.Iことをしようとしてくれてありがとう –

2

を試してみました次のようになります。

 
config ENV_VAR 
    string 
    option env="ENV_VAR" 

if ENV_VAR = "foo" 
source "foo_file" 
endif 

「source」ステートメントの$ -referencesは、co環境変数ではなく、nfig変数。あなたが代わりに

 
config ENV_VAR_SYM 
    string 
    option env="ENV_VAR" 

source "foo/$ENV_VAR_SYM/Kconfig" 

を行う必要があります

 
source "foo/$ENV_VAR/Kconfig" 

ような何かをすることはできません(ENV_VAR_SYMはもちろん、同様ENV_VARと呼ばれることができ、私は物事を明確にするために名前を変更)

もう1つの例は、カーネルルートの最上位のKconfigファイルを参照してください。

(私はKconfiglib Kconfiglib、kconfigをベースの設定システムでの作業のためのライブラリの作者です。)

関連する問題