[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master c4bec6c: autogen.sh: try to check for tool being pr
From: |
Glenn Morris |
Subject: |
[Emacs-diffs] master c4bec6c: autogen.sh: try to check for tool being present but broken |
Date: |
Mon, 19 Jun 2017 21:13:40 -0400 (EDT) |
branch: master
commit c4bec6cc2ad19b9910b8a502eae36d2a01ddcc85
Author: Glenn Morris <address@hidden>
Commit: Glenn Morris <address@hidden>
autogen.sh: try to check for tool being present but broken
* autogen.sh (get_version): Check return status of "--version".
(check_version): Try to distinguish between a missing tool
and a broken one. (Bug#27288)
---
autogen.sh | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/autogen.sh b/autogen.sh
index 0153f89..9fdd492 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -45,8 +45,10 @@ autoconf_min=`sed -n 's/^ *AC_PREREQ(\([0-9\.]*\)).*/\1/p'
configure.ac`
## Also note that we do not handle micro versions.
get_version ()
{
- ## Remove eg "./autogen.sh: line 50: autoconf: command not found".
- $1 --version 2>&1 | sed -e '/not found/d' -e 's/.* //' -n -e '1
s/\([0-9][0-9\.]*\).*/\1/p'
+ vers=`$1 --version 2> /dev/null`
+ [ x"$vers" = x ] && return 1
+
+ echo "$vers" | sed -n -e '1 s/.* \([0-9][0-9\.]*\).*/\1/p'
}
## $1 = version string, eg "2.59"
@@ -82,9 +84,15 @@ check_version ()
printf '%s' "(using $uprog0=$uprog) "
fi
+ found=`command -v $uprog 2> /dev/null`
+ [ x"$found" = x ] && return 1
+
have_version=`get_version $uprog`
- [ x"$have_version" = x ] && return 1
+ ## We should really check the return status of get_version.
+ ## Non-zero means a broken executable, otherwise we failed to
+ ## parse the version string.
+ [ x"$have_version" = x ] && return 4
have_maj=`major_version $have_version`
need_maj=`major_version $2`
@@ -158,6 +166,7 @@ if $do_autoconf; then
0) stat="ok" ;;
1) stat="missing" ;;
2) stat="too old" ;;
+ 4) stat="broken?" ;;
*) stat="unable to check" ;;
esac
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master c4bec6c: autogen.sh: try to check for tool being present but broken,
Glenn Morris <=