[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] tools: check go compiler version if present
commit fec6a7af5c5760b9bccd9e7c3eaf29f0401af264 Author: Nick Rosbrook <rosbrookn@xxxxxxxxx> AuthorDate: Fri Jun 12 15:31:02 2020 +0100 Commit: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> CommitDate: Mon Jun 15 15:49:13 2020 +0100 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@xxxxxxxxxxxx> Acked-by: George Dunlap <george.dunlap@xxxxxxxxxx> Tested-by: Nick Rosbrook <rosbrookn@xxxxxxxxxxxx> Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Release-acked-by: Paul Durrant <paul@xxxxxxx> --- m4/golang.m4 | 4 ++++ tools/configure | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ tools/configure.ac | 7 +++++++ 3 files changed, 60 insertions(+) diff --git a/m4/golang.m4 b/m4/golang.m4 index 0b4bd54ce0..9cfd7e00a5 100644 --- a/m4/golang.m4 +++ b/m4/golang.m4 @@ -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 ]) diff --git a/tools/configure b/tools/configure index 3df1a01ff9..15ba28211a 100755 --- a/tools/configure +++ b/tools/configure @@ -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 diff --git a/tools/configure.ac b/tools/configure.ac index a9af0a21c6..9d126b7a14 100644 --- a/tools/configure.ac +++ b/tools/configure.ac @@ -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" + ]) ]) ]) -- generated by git-patchbot for /home/xen/git/xen.git#staging
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |