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"

Связанный контент