diff options
author | Darren Tucker <dtucker@zip.com.au> | 2005-04-24 17:52:22 +1000 |
---|---|---|
committer | Darren Tucker <dtucker@zip.com.au> | 2005-04-24 17:52:22 +1000 |
commit | 2f0b5c4869bab45bccb8472590bbd3edb44c092a (patch) | |
tree | 0e78c475d3a9448c6cdb2befcb2070fa1c240f59 /configure.ac | |
parent | 4149ebc0db98cf6b51dbb5083a11c20c9695e744 (diff) |
- (dtucker) [INSTALL configure.ac] Make zlib version check test for 1.1.4 or
1.2.1.2 or higher. With tim@, ok djm@
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/configure.ac b/configure.ac index 8d8688bfb..20c8f1587 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -1,4 +1,4 @@ | |||
1 | # $Id: configure.ac,v 1.259 2005/04/12 02:00:18 tim Exp $ | 1 | # $Id: configure.ac,v 1.260 2005/04/24 07:52:23 dtucker Exp $ |
2 | # | 2 | # |
3 | # Copyright (c) 1999-2004 Damien Miller | 3 | # Copyright (c) 1999-2004 Damien Miller |
4 | # | 4 | # |
@@ -643,29 +643,40 @@ AC_ARG_WITH(zlib-version-check, | |||
643 | ] | 643 | ] |
644 | ) | 644 | ) |
645 | 645 | ||
646 | AC_MSG_CHECKING(for zlib 1.1.4 or greater) | 646 | AC_MSG_CHECKING(for possibly buggy zlib) |
647 | AC_RUN_IFELSE([AC_LANG_SOURCE([[ | 647 | AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
648 | #include <stdio.h> | ||
648 | #include <zlib.h> | 649 | #include <zlib.h> |
649 | int main() | 650 | int main() |
650 | { | 651 | { |
651 | int a, b, c, v; | 652 | int a=0, b=0, c=0, d=0, n, v; |
652 | if (sscanf(ZLIB_VERSION, "%d.%d.%d", &a, &b, &c) != 3) | 653 | n = sscanf(ZLIB_VERSION, "%d.%d.%d.%d", &a, &b, &c, &d); |
654 | if (n != 3 && n != 4) | ||
653 | exit(1); | 655 | exit(1); |
654 | v = a*1000000 + b*1000 + c; | 656 | v = a*1000000 + b*10000 + c*100 + d; |
655 | if (v >= 1001004) | 657 | fprintf(stderr, "found zlib version %s (%d)\n", ZLIB_VERSION, v); |
658 | |||
659 | /* 1.1.4 is OK */ | ||
660 | if (a == 1 && b == 1 && c >= 4) | ||
661 | exit(0); | ||
662 | |||
663 | /* 1.2.1.2 and up are OK */ | ||
664 | if (v >= 1020102) | ||
656 | exit(0); | 665 | exit(0); |
666 | |||
657 | exit(2); | 667 | exit(2); |
658 | } | 668 | } |
659 | ]])], | 669 | ]])], |
660 | AC_MSG_RESULT(yes), | 670 | AC_MSG_RESULT(no), |
661 | [ AC_MSG_RESULT(no) | 671 | [ AC_MSG_RESULT(yes) |
662 | if test -z "$zlib_check_nonfatal" ; then | 672 | if test -z "$zlib_check_nonfatal" ; then |
663 | AC_MSG_ERROR([*** zlib too old - check config.log *** | 673 | AC_MSG_ERROR([*** zlib too old - check config.log *** |
664 | Your reported zlib version has known security problems. It's possible your | 674 | Your reported zlib version has known security problems. It's possible your |
665 | vendor has fixed these problems without changing the version number. If you | 675 | vendor has fixed these problems without changing the version number. If you |
666 | are sure this is the case, you can disable the check by running | 676 | are sure this is the case, you can disable the check by running |
667 | "./configure --without-zlib-version-check". | 677 | "./configure --without-zlib-version-check". |
668 | If you are in doubt, upgrade zlib to version 1.1.4 or greater.]) | 678 | If you are in doubt, upgrade zlib to version 1.2.1.2 or greater. |
679 | See http://www.gzip.org/zlib/ for details.]) | ||
669 | else | 680 | else |
670 | AC_MSG_WARN([zlib version may have security problems]) | 681 | AC_MSG_WARN([zlib version may have security problems]) |
671 | fi | 682 | fi |