設定のためにbash変数を介してCFLAGSを渡します。

設定のためにbash変数を介してCFLAGSを渡します。

シェルがどのように機能するかを知っていると思う瞬間、何かが現れ、私をパニックにさせます。次のコマンドは、GNU bash バージョン 3.2.25 で実行されます。

./configure共通の設定オプションのセットをすべて共有するいくつかのスクリプトがありますCFLAGS

これには2つの変数があります

CFLAGS="-fPIC -O3"
COMMON_CONFIGURE_OPTIONS="CFLAGS=\"$CFLAGS\" --enable-static --disable-shared --prefix=$PREFIX"

「./configure」に渡されると、次のようになります。

"$FOO/configure" $COMMON_CONFIGURE_OPTIONS

私の人生では、私はそれを正しく拡張できないようです。$CFLAGS値を手動で$COMMON_CONFIGURE_OPTIONS。一重引用符と二重引用符のすべての組み合わせを試しました。 "CFLAGS=..." パラメータ全体を引用してみました。

上記のバージョンは、次の結果を生成します(set -x有効な場合)

../configure 'CFLAGS="-fPIC' '-O3"' --enable-static --disable-shared --prefix=../install
configure: error: unrecognized option: `-O3"'
Try `../configure --help' for more information

私が期待するもの、私が望むものはconfigureこう呼ばれるもの

./configure CFLAGS="-fPIC -O3" --enable-static --disable-shared --prefix="$PREFIX"

私が望むことをどのように達成することができますし、今後この問題を回避するための良いリソース/ヒントがありますか?

ベストアンサー1

私はこれがうまくいくと思います:

CFLAGS="-fPIC -O3" ./configure --enable-static --disable-shared --prefix="$PREFIX"

2番目のオプション:

CFLAGS="-fPIC -O3"
COMMON_CONFIGURE_OPTIONS="--enable-static --disable-shared --prefix=$PREFIX"

CFLAGS="$CFLAGS" ./configure $COMMON_CONFIGURE_OPTIONS

おすすめ記事