summaryrefslogtreecommitdiff
path: root/build/ac-macros/zlib.m4
diff options
context:
space:
mode:
Diffstat (limited to 'build/ac-macros/zlib.m4')
-rw-r--r--build/ac-macros/zlib.m486
1 files changed, 58 insertions, 28 deletions
diff --git a/build/ac-macros/zlib.m4 b/build/ac-macros/zlib.m4
index e6ad31c..978fb39 100644
--- a/build/ac-macros/zlib.m4
+++ b/build/ac-macros/zlib.m4
@@ -26,47 +26,77 @@ dnl
AC_DEFUN(SVN_LIB_Z,
[
zlib_found=no
+ zlib_skip=no
AC_ARG_WITH(zlib,AS_HELP_STRING([--with-zlib=PREFIX],
[zlib compression library]),
[
- if test "$withval" = "yes" ; then
- AC_CHECK_HEADER(zlib.h, [
- AC_CHECK_LIB(z, inflate, [zlib_found="builtin"])
- ])
- elif test "$withval" = "no" ; then
- AC_MSG_ERROR([cannot compile without zlib.])
+ if test "$withval" = "yes"; then
+ zlib_skip=no
+ elif test "$withval" = "no"; then
+ zlib_skip=yes
else
- AC_MSG_NOTICE([zlib library configuration])
- zlib_prefix=$withval
- save_cppflags="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS -I$zlib_prefix/include"
- AC_CHECK_HEADERS(zlib.h,[
- save_ldflags="$LDFLAGS"
- LDFLAGS="$LDFLAGS -L$zlib_prefix/lib"
- AC_CHECK_LIB(z, inflate, [zlib_found="yes"])
- LDFLAGS="$save_ldflags"
- ])
- CPPFLAGS="$save_cppflags"
+ zlib_skip=no
+ zlib_prefix="$withval"
fi
- ],
- [
- AC_CHECK_HEADER(zlib.h, [
- AC_CHECK_LIB(z, inflate, [zlib_found="builtin"])
- ])
])
- if test "$zlib_found" = "no"; then
+ if test "$zlib_skip" = "yes"; then
AC_MSG_ERROR([subversion requires zlib])
fi
- if test "$zlib_found" = "yes"; then
- SVN_ZLIB_INCLUDES="-I$zlib_prefix/include"
- LDFLAGS="$LDFLAGS `SVN_REMOVE_STANDARD_LIB_DIRS(-L$zlib_prefix/lib)`"
- fi
+ if test -n "$zlib_prefix"; then
+ AC_MSG_NOTICE([zlib library configuration via prefix])
+ save_cppflags="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -I$zlib_prefix/include"
+ AC_CHECK_HEADERS(zlib.h,[
+ save_ldflags="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -L$zlib_prefix/lib"
+ AC_CHECK_LIB(z, inflate, [
+ zlib_found="yes"
+ SVN_ZLIB_INCLUDES="-I$zlib_prefix/include"
+ SVN_ZLIB_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS(-L$zlib_prefix/lib)` -lz"
+ ])
+ LDFLAGS="$save_ldflags"
+ ])
+ CPPFLAGS="$save_cppflags"
+ else
+ SVN_ZLIB_PKG_CONFIG()
- SVN_ZLIB_LIBS="-lz"
+ if test "$zlib_found" = "no"; then
+ AC_MSG_NOTICE([zlib library configuration])
+ AC_CHECK_HEADER(zlib.h, [
+ AC_CHECK_LIB(z, inflate, [
+ zlib_found="builtin"
+ SVN_ZLIB_LIBS="-lz"
+ ])
+ ])
+ fi
+ fi
+
+ if test "$zlib_found" = "no"; then
+ AC_MSG_ERROR([subversion requires zlib])
+ fi
AC_SUBST(SVN_ZLIB_INCLUDES)
AC_SUBST(SVN_ZLIB_LIBS)
])
+
+dnl SVN_ZLIB_PKG_CONFIG()
+dnl Use pkg-config to try and detect and configure zlib
+AC_DEFUN(SVN_ZLIB_PKG_CONFIG,
+[
+ AC_MSG_NOTICE([zlib library configuration via pkg-config])
+ if test -n "$PKG_CONFIG"; then
+ AC_MSG_CHECKING([for zlib library])
+ if $PKG_CONFIG zlib --exists; then
+ AC_MSG_RESULT([yes])
+ zlib_found=yes
+ SVN_ZLIB_INCLUDES=`$PKG_CONFIG zlib --cflags`
+ SVN_ZLIB_LIBS=`$PKG_CONFIG zlib --libs`
+ SVN_ZLIB_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($SVN_ZLIB_LIBS)`"
+ else
+ AC_MSG_RESULT([no])
+ fi
+ fi
+])