使用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