Быстрый поиск показывает макрос ax_gcc_version , который должен дать вам переменную GCC_VERSION
.
К сожалению, этот макрос зависит от AX_GCC_OPTION
, который недавно был устаревшим в пользу из AX_*_CHECK_FLAG
.
В этом сообщении рассылки предлагается исправление для ax_gcc_version
, которое составляет:
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])
])
Я не проверял это, но это выглядит разумно.
(Кроме того, возможно ли получить мажорный, минорный и патч уровень gcc?)
Получив строку версии в GCC_VERSION
, вы можете вручную разбить строку, чтобы получить основную, вспомогательную и патч-версии. Вот простое решение:
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)