使用autoconf/automake如何在系统上找到GCC版本?查找GCC版本
要安装python版本,您需要使用AM_PATH_PYTHON,然后PYTHON_VERSION变量将可用。 GCC版本有类似的东西吗?
(而且,是有可能得到GCC的主要,次要和补丁级别?)
使用autoconf/automake如何在系统上找到GCC版本?查找GCC版本
要安装python版本,您需要使用AM_PATH_PYTHON,然后PYTHON_VERSION变量将可用。 GCC版本有类似的东西吗?
(而且,是有可能得到GCC的主要,次要和补丁级别?)
快速搜索揭示了ax_gcc_version宏应该给你GCC_VERSION
变量。
不幸的是,该宏依赖于AX_GCC_OPTION
,最近deprecated in favour of的AX_*_CHECK_FLAG
。
这mailing list post提出了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)
我有一个问题:为什么您需要将值缓存在'ax_cv_gcc_version'中,然后将其设置为' GCC_VERSION'到它?我 – Bionix1441
如果甚至没有安装gcc,你会怎么做? –
哭。我个人并不支持非gcc编译器(并且在物理学界我不认为这是一个大问题)。 – VolatileStorm