シェルがどのように機能するかを知っていると思う瞬間、何かが現れ、私をパニックにさせます。次のコマンドは、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