clang не может выполнить автоматическую проверку AC_CHECK_HEADER с явными путями поиска CPPFLAGS - PullRequest
1 голос
/ 11 октября 2011

В установленном проекте, управляемом autotools, который почти всегда создается с помощью GCC, я решил попробовать использовать LLVM clang в качестве замены g ++, но обнаружил, что он падает при проверке заголовка, написанной лично, в которой используется стандартный макрос AC_CHECK_HEADER.Вот проверочный код:

oldCPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS -I$GSLINCPATH"
AC_CHECK_HEADER([gsl/gsl_vector.h], [], [AC_MSG_ERROR([GSL vectors not found.])])
CPPFLAGS=$oldCPPFLAGS

и вот сообщение об ошибке:

checking gsl/gsl_vector.h usability... no
checking gsl/gsl_vector.h presence... no
checking for gsl/gsl_vector.h... no
configure: error: GSL vectors not found.

Значение $ GSLINCPATH равно / usr / include (явно проверено), / usr / include / gsl/gsl_vector.h существует, и этот контрольный код прекрасно работает с GCC.Временное включение модифицированного $ CPPFLAGS, похоже, является де-факто стандартным способом проведения этого теста, но есть ли лучший способ, который является более переносимым?Или есть другая причина этой проблемы?

...