Autoconf - チェック用のコンパイラフラグの設定

Autoconf - チェック用のコンパイラフラグの設定

スクリプトのautoconf作成に使用しようとしています。configureただし、確認したいいくつかのヘッダーには追加のコンパイラフラグが必要です(たとえばc++11、.回答の一部を取得できます)。ここファイルの関連行は以下のとおりですconfigure.ac

AX_CXX_COMPILE_STDCXX_11(,[mandatory])
AC_CHECK_HEADER("CL/cl2.hpp")

ただし、std=gnu++11フラグは前処理ステップに渡されず、使用AC_CHECK_HEADERS可能ですが存在しないという奇妙な結果をもたらします。

checking CL/cl2.hpp usability... yes
checking CL/cl2.hpp presence... no

config.log次の行を確認してください。

configure:3423: checking CL/cl2.hpp presence
configure:3423: g++ -E conftest.cpp
In file included from conftest.cpp:19:0
/usr/include/CL/cl2.hpp:442:2: error #error Visual studio 2013 or another C++11-supported compiler required

C ++フラグが使用されていないことは明らかです。これらの前処理ステップでコンパイラフラグをどのように使用できますか?

編集する

CXXCPP実行時に手動で設定することでこの問題を手動で解決できますが、エンドconfigureユーザーはそれを知らなくても機能したいと思います。

./configure CXXCPP="g++ -E -std=gnu++11"

答え1

現在提案されている解決策は手動で追加することです。

CXXCPP="g++ -E -std=gnu++11"

configure.acファイルに直接。他の答えを聞きたいです。

答え2

次のように構成を実行する必要があります。

./configure CCFLAGS="-std=c++11" CXXFLAGS="-std=c++11" CXXCPP="-std=c++11"

関連情報