A solução atual que sugeri é adicionar manualmente:
CXXCPP="g++ -E -std=gnu++11"
diretamente para o arquivo configure.ac
. Eu ficaria feliz em ouvir mais respostas.
Estou tentando usar autoconf
para criar um script configure
. No entanto, alguns dos cabeçalhos que desejo verificar exigem sinalizadores adicionais do compilador (por exemplo, c++11
). Eu posso chegar parcialmente com a resposta aqui onde as linhas relevantes parecem assim no arquivo configure.ac
.
AX_CXX_COMPILE_STDCXX_11(,[mandatory])
AC_CHECK_HEADER("CL/cl2.hpp")
mas o sinalizador std=gnu++11
não é passado para a etapa de pré-processamento de AC_CHECK_HEADERS
, onde acabo com o resultado estranho em que é utilizável, mas não presente:
checking CL/cl2.hpp usability... yes
checking CL/cl2.hpp presence... no
Examinar o config.log
mostra as seguintes linhas:
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
onde posso ver claramente que o sinalizador C ++ não está sendo usado. Como posso usar sinalizadores de compilador nessas etapas do pré-processador?
EDITAR
Eu posso contornar isso manualmente configurando o CXXCPP
manualmente ao executar configure
, mas gostaria que fosse executado sem que o usuário final precisasse saber disso.
./configure CXXCPP="g++ -E -std=gnu++11"
A solução atual que sugeri é adicionar manualmente:
CXXCPP="g++ -E -std=gnu++11"
diretamente para o arquivo configure.ac
. Eu ficaria feliz em ouvir mais respostas.
Tags autoconf