mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
tools: check go compiler version if present
Currently, no minimum go compiler version is required by the configure scripts. However, the go bindings actually will not build with some older versions of go. Add a check for a minimum go version of 1.11.1 in accordance with tools/golang/xenlight/go.mod. Signed-off-by: Nick Rosbrook <rosbrookn@ainfosec.com> Acked-by: George Dunlap <george.dunlap@citrix.com> Tested-by: Nick Rosbrook <rosbrookn@ainfosec.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Release-acked-by: Paul Durrant <paul@xen.org>
This commit is contained in:
1 parent
b91825f628
commit
fec6a7af5c
3 files changed
+60
No files matched your search
@@ -1,4 +1,8 @@
|
||||
AC_DEFUN([AC_PROG_GO], [
|
||||
dnl Check for the go compiler
|
||||
AC_CHECK_TOOL([GO],[go],[no])
|
||||
|
||||
if test "$GO" != "no"; then
|
||||
GOVERSION=`$GO version | cut -d " " -f 3 | sed "s/go//"`
|
||||
fi
|
||||
])
|
||||
Vendored
+49
@@ -6833,6 +6833,10 @@ else
|
||||
fi
|
||||
|
||||
|
||||
if test "$GO" != "no"; then
|
||||
GOVERSION=`$GO version | cut -d " " -f 3 | sed "s/go//"`
|
||||
fi
|
||||
|
||||
if test "x$GO" = "xno"; then :
|
||||
|
||||
if test "x$enable_golang" = "xyes"; then :
|
||||
@@ -6842,6 +6846,51 @@ fi
|
||||
fi
|
||||
golang="n"
|
||||
|
||||
else
|
||||
|
||||
|
||||
|
||||
|
||||
# Used to indicate true or false condition
|
||||
ax_compare_version=false
|
||||
|
||||
# Convert the two version strings to be compared into a format that
|
||||
# allows a simple string comparison. The end result is that a version
|
||||
# string of the form 1.12.5-r617 will be converted to the form
|
||||
# 0001001200050617. In other words, each number is zero padded to four
|
||||
# digits, and non digits are removed.
|
||||
|
||||
ax_compare_version_A=`echo "$GOVERSION" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
|
||||
-e 's/Z\([0-9]\)Z/Z0\1Z/g' \
|
||||
-e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
|
||||
-e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
|
||||
-e 's/[^0-9]//g'`
|
||||
|
||||
|
||||
ax_compare_version_B=`echo "1.11.1" | sed -e 's/\([0-9]*\)/Z\1Z/g' \
|
||||
-e 's/Z\([0-9]\)Z/Z0\1Z/g' \
|
||||
-e 's/Z\([0-9][0-9]\)Z/Z0\1Z/g' \
|
||||
-e 's/Z\([0-9][0-9][0-9]\)Z/Z0\1Z/g' \
|
||||
-e 's/[^0-9]//g'`
|
||||
|
||||
|
||||
ax_compare_version=`echo "x$ax_compare_version_A
|
||||
x$ax_compare_version_B" | sed 's/^ *//' | sort -r | sed "s/x${ax_compare_version_A}/false/;s/x${ax_compare_version_B}/true/;1q"`
|
||||
|
||||
|
||||
|
||||
if test "$ax_compare_version" = "true" ; then
|
||||
|
||||
if test "x$enable_golang" = "xyes"; then :
|
||||
|
||||
as_fn_error $? "\"Your version of go: $GOVERSION is not supported\"" "$LINENO" 5
|
||||
|
||||
fi
|
||||
golang="n"
|
||||
|
||||
fi
|
||||
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
@@ -338,6 +338,13 @@ AS_IF([test "x$golang" = "xy"], [
|
||||
AC_MSG_ERROR([Go tools enabled, but missing go compiler])
|
||||
])
|
||||
golang="n"
|
||||
], [
|
||||
AX_COMPARE_VERSION([$GOVERSION], [lt], [1.11.1], [
|
||||
AS_IF([test "x$enable_golang" = "xyes"], [
|
||||
AC_MSG_ERROR(["Your version of go: $GOVERSION is not supported"])
|
||||
])
|
||||
golang="n"
|
||||
])
|
||||
])
|
||||
])
|
||||
|
||||
|
||||