0

cdl_option "CYGPKG_FOO_FEATURE_A_ENABLE" を持つ CYGPKG_FOO という名前のパッケージがあるとします。この cdl_option が有効になっているときに、このパッケージの CFLAGS に特定の gcc フラグ ("-DFEATURE_A=1" など) を追加したい。

しかし、「eCos Component Writer's Guide」には次のように書かれています。

http://ecos.sourceware.org/docs-3.0/cdl-guide/build.make.html#BUILD.FLAGS

上記のリンクから、cdl_option の選択に基づいて CFLAGS を追加/削除できないようです...

ここでの私の質問は次のとおりです。最初の段落で説明したことを行うことができますか? はいの場合、どのようにしますか?

ありがとう!

4

1 に答える 1

0

-DFEATURE_A=1#define FEATURE_A 1ソースやヘッダーファイルに書き込むのと同じです。

が設定されている場合CYGPKG_FOO_FEATURE_A_ENABLE、これにより、自動生成されたインクルード ファイルにいくつかのプリプロセッサ シンボルが設定されます。install/include/pkgconf/を実行した後、ディレクトリをチェックアウトしecosconfigます。defineデフォルトが気に入らない場合は、CDL にさらに行を追加して、さらにシンボルを定義することができます。

これらのシンボルがとる値を正確に制御したい場合は、さらにcdl_option、おそらくlegal_valuesまたはcalculatedディレクティブを使用して制御できる場合があります。そうでない場合は、パッケージ内のヘッダー ファイルに適切な定義を追加して、プリプロセッサ シンボルの有無を切り替えることができます。

于 2011-05-09T22:14:47.087 に答える