Une recherche rapide révèle la ax_gcc_version macro qui devrait vous donner la variable GCC_VERSION
. Malheureusement, cette macro dépend de AX_GCC_OPTION
qui a été récemment deprecated in favour of de AX_*_CHECK_FLAG
.
Ce mailing list post suggère un patch pour ax_gcc_version
ce qui revient à:
AC_DEFUN([AX_GCC_VERSION], [
GCC_VERSION=""
AX_CHECK_COMPILE_FLAG([-dumpversion],
[ax_gcc_version_option=yes],
[ax_gcc_version_option=no])
AS_IF([test "x$GCC" = "xyes"],[
AS_IF([test "x$ax_gcc_version_option" != "xno"],[
AC_CACHE_CHECK([gcc version],[ax_cv_gcc_version],[
ax_cv_gcc_version="`$CC -dumpversion`"
AS_IF([test "x$ax_cv_gcc_version" = "x"],[
ax_cv_gcc_version=""
])
])
GCC_VERSION=$ax_cv_gcc_version
])
])
AC_SUBST([GCC_VERSION])
])
Je n'ai pas testé, mais il semble raisonnable.
(Aussi, est-il possible d'obtenir le majeur, le niveau mineur et le patch de gcc?)
Une fois que vous avez la chaîne de version en GCC_VERSION
, vous pouvez diviser manuellement la chaîne à obtenir les versions majeure, mineure et patch. Voici une solution simple:
GCC_VERSION_MAJOR=$(echo $GCC_VERSION | cut -d'.' -f1)
GCC_VERSION_MINOR=$(echo $GCC_VERSION | cut -d'.' -f2)
GCC_VERSION_PATCH=$(echo $GCC_VERSION | cut -d'.' -f3)
Que ferez-vous si gcc n'est même pas installé? –
Cry. Personnellement, je ne supporte pas les compilateurs non-gcc (et dans la communauté de physique je ne pense pas que ce soit un gros problème.) – VolatileStorm