summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--curl-config.in32
1 files changed, 22 insertions, 10 deletions
diff --git a/curl-config.in b/curl-config.in
index 2f958ca94..0a7e0353f 100644
--- a/curl-config.in
+++ b/curl-config.in
@@ -6,7 +6,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 2001 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 2001 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
@@ -107,17 +107,29 @@ while test $# -gt 0; do
# when extracting the patch part we strip off everything after a
# dash as that's used for things like version 1.2.3-CVS
cpatch=`echo $checkfor | cut -d. -f3 | cut -d- -f1`
- checknum=`echo "$cmajor*256*256 + $cminor*256 + ${cpatch:-0}" | bc`
- numuppercase=`echo @VERSIONNUM@ | tr 'a-f' 'A-F'`
- nownum=`echo "obase=10; ibase=16; $numuppercase" | bc`
- if test "$nownum" -ge "$checknum"; then
- # silent success
- exit 0
- else
- echo "requested version $checkfor is newer than existing @CURLVERSION@"
- exit 1
+ vmajor=`echo @CURLVERSION@ | cut -d. -f1`
+ vminor=`echo @CURLVERSION@ | cut -d. -f2`
+ # when extracting the patch part we strip off everything after a
+ # dash as that's used for things like version 1.2.3-CVS
+ vpatch=`echo @CURLVERSION@ | cut -d. -f3 | cut -d- -f1`
+
+ if test "$vmajor" -gt "$cmajor"; then
+ exit 0;
+ fi
+ if test "$vmajor" -eq "$cmajor"; then
+ if test "$vminor" -gt "$cminor"; then
+ exit 0
+ fi
+ if test "$vminor" -eq "$cminor"; then
+ if test "$cpatch" -le "$vpatch"; then
+ exit 0
+ fi
+ fi
fi
+
+ echo "requested version $checkfor is newer than existing @CURLVERSION@"
+ exit 1
;;
--vernum)