summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Chimento <philip.chimento@gmail.com>2019-12-10 13:16:42 -0800
committerPhilip Chimento <philip.chimento@gmail.com>2019-12-14 13:28:41 -0800
commit698773e8134a435bf93ca8ba362ced2b6432d7bc (patch)
tree9105bb4a0a7c1938fbe1d91dc78c55375d4864c0
parentc269e929a55ee65066d2826f93832a4770d615d2 (diff)
build: Make version compare regular expressions portable
Use the POSIX -E flag to ensure they are treated as extended regular expressions. They also seem to be overescaped.
-rw-r--r--configure.ac8
-rwxr-xr-xscripts/tartan2
2 files changed, 5 insertions, 5 deletions
diff --git a/configure.ac b/configure.ac
index 796f922..688c7bc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -56,13 +56,13 @@ AS_IF([test $LLVM_CONFIG = "failed"],[
AC_MSG_CHECKING([for LLVM])
# LLVM_REQS is either (e.g.) 3.5, 3.6svn or 3.4.2
-req_major=`echo $LLVM_REQS | sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\(\.[[0-9]]*\)\?\(svn\)\?/\1/'`
-req_minor=`echo $LLVM_REQS | sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\(\.[[0-9]]*\)\?\(svn\)\?/\2/'`
+req_major=`echo $LLVM_REQS | sed -E 's/([[0-9]]*)\.([[0-9]]*)(\.[[0-9]]*)?(svn)?/\1/'`
+req_minor=`echo $LLVM_REQS | sed -E 's/([[0-9]]*)\.([[0-9]]*)(\.[[0-9]]*)?(svn)?/\2/'`
llvm_version=`$LLVM_CONFIG --version`
-major=`echo $llvm_version | sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\(\.[[0-9]]*\)\?\(svn\)\?/\1/'`
-minor=`echo $llvm_version | sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\(\.[[0-9]]*\)\?\(svn\)\?/\2/'`
+major=`echo $llvm_version | sed -E 's/([[0-9]]*)\.([[0-9]]*)(\.[[0-9]]*)?(svn)?/\1/'`
+minor=`echo $llvm_version | sed -E 's/([[0-9]]*)\.([[0-9]]*)(\.[[0-9]]*)?(svn)?/\2/'`
AS_IF([test "$major" -gt "$req_major" -o \( "$major" -eq "$req_major" -a "$minor" -ge "$req_minor" \)],[
LLVM_CPPFLAGS=`$LLVM_CONFIG --cppflags`
diff --git a/scripts/tartan b/scripts/tartan
index 85b4105..89cd9f7 100755
--- a/scripts/tartan
+++ b/scripts/tartan
@@ -33,7 +33,7 @@ fi
# Vendor-specific clang version 3.6.2-1bo1 (tags/RELEASE_362/final) (based on LLVM 3.6.2)
# Target: x86_64-unknown-linux-gnu
# Thread model: posix
-clang_version=`"$real_clang" --version | head -n1 | sed 's/\([^0-9]*\)\([[0-9]]*\)\.\([[0-9]]*\)\(\.[[0-9]]*\)\?\(svn\)\?\(.*\)/\2.\3/'`
+clang_version=`"$real_clang" --version | head -n1 | sed -E 's/([^0-9]*)([0-9]*)\.([0-9]*)(\.[0-9]*)?(svn)?(.*)/\2.\3/'`
# Sanity check.
if [ "$clang_version" == "" ]; then