diff options
author | kenton@google.com <kenton@google.com@630680e5-0e50-0410-840e-4b1c322b438d> | 2009-09-15 17:15:43 +0000 |
---|---|---|
committer | kenton@google.com <kenton@google.com@630680e5-0e50-0410-840e-4b1c322b438d> | 2009-09-15 17:15:43 +0000 |
commit | 32f330f7a464dc87be4e79b21b1ea3f35e9f143b (patch) | |
tree | c2f63d4c181dd33ee51b406fd75d1288a68b6a90 /configure.ac | |
parent | f4c6e4b37e131b771a8a8eac0534ce8ade504dd7 (diff) | |
download | protobuf-32f330f7a464dc87be4e79b21b1ea3f35e9f143b.tar.gz protobuf-32f330f7a464dc87be4e79b21b1ea3f35e9f143b.tar.bz2 protobuf-32f330f7a464dc87be4e79b21b1ea3f35e9f143b.zip |
Detect whether zlib is new enough. Based on patch from Oliver Jowett.
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 38 |
1 files changed, 31 insertions, 7 deletions
diff --git a/configure.ac b/configure.ac index 754a190f..eb81a7eb 100644 --- a/configure.ac +++ b/configure.ac @@ -82,14 +82,38 @@ AC_FUNC_MEMCMP AC_FUNC_STRTOD AC_CHECK_FUNCS([ftruncate memset mkdir strchr strerror strtol]) +# Check for zlib. HAVE_ZLIB=0 -AS_IF([test "$with_zlib" != no], - [AC_SEARCH_LIBS([zlibVersion], [z], - [AC_DEFINE([HAVE_ZLIB], [1], [Enable classes using zlib compression.]) - HAVE_ZLIB=1], - [if test "$with_zlib" != check; then - AC_MSG_FAILURE([--with-zlib was given, but test for zlib failed]) - fi])]) +AS_IF([test "$with_zlib" != no], [ + AC_MSG_CHECKING([zlib version]) + + # First check the zlib header version. + AC_COMPILE_IFELSE( + AC_LANG_PROGRAM([[ + #include <zlib.h> + #if !defined(ZLIB_VERNUM) || (ZLIB_VERNUM < 0x1204) + # error zlib version too old + #endif + ]], []), [ + AC_MSG_RESULT([ok (1.2.0.4 or later)]) + + # Also need to add -lz to the linker flags and make sure this succeeds. + AC_SEARCH_LIBS([zlibVersion], [z], [ + AC_DEFINE([HAVE_ZLIB], [1], [Enable classes using zlib compression.]) + HAVE_ZLIB=1 + ], [ + AS_IF([test "$with_zlib" != check], [ + AC_MSG_FAILURE([--with-zlib was given, but no working zlib library was found]) + ]) + ]) + ], [ + AS_IF([test "$with_zlib" = check], [ + AC_MSG_RESULT([headers missing or too old (requires 1.2.0.4)]) + ], [ + AC_MSG_FAILURE([--with-zlib was given, but zlib headers were not present or were too old (requires 1.2.0.4)]) + ]) + ]) +]) AM_CONDITIONAL([HAVE_ZLIB], [test $HAVE_ZLIB = 1]) AS_IF([test "$with_protoc" != "no"], [ |