Autoconf - definindo sinalizadores de compilador para verificações

1

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"
    
por cdeterman 06.11.2015 / 18:50

1 resposta

0

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.

    
por 06.11.2015 / 19:27

Tags