デバッグシンボルを使用または使用せずにプログラムをコンパイルするコンパイルスクリプトがあります。
read
bashプロンプト()を使用して、ユーザーに次のデバッグバージョンが必要かどうかを尋ねたいと思います。
compiler_options_for_debug_version=''
debug_flag=''
if [[ "$debug_switch" == "Y" ]]; then
compiler_options_for_debug_version=("CFLAGS=\"-g -O0\"")
debug_flag='--with-debug'
fi
しかし、これはCFLAGS="-g -O0"
エラーを引き起こすので、少し頭痛を引き起こします。
vagrant@node02:~$ compiler_options_for_debug_version=("CFLAGS=\"-g -O0\""); $compiler_options_for_debug_version;
CFLAGS="-g: command not found
私は試した:
compiler_options_for_debug_version=("CFLAGS=\"-g -O0\"")
compiler_options_for_debug_version="CFLAGS=\"-g -O0\""
compiler_options_for_debug_version='CFLAGS="-g -O0"'
CFLAGS="-g -O0"
私はここで次のように期待しています:
$compiler_options_for_debug_version ./configure --with-luajit --with-http_postgres_module ...
したがって、次に拡張する必要があります。
CFLAGS="-g -O0" ./configure --with-luajit --with-http_postgres_module ...
最後の手段としてif [ ... ]
ステートメントを追加してハードコードすることができますが、CFLAGS="-g -O0"
正しい方法で実行することも可能でなければなりません。
答え1
変数に値を入れてください。
compiler_options_for_debug_version=""
if something; then
compiler_options_for_debug_version="-g -O0"
fi
その後、変数を使用するときに変数を引用する必要があります。これは同様に重要です。
CFLAGS="$compiler_options_for_debug_version" ./configure ...