diff options
Diffstat (limited to 'build/ac-macros/zlib.m4')
-rw-r--r-- | build/ac-macros/zlib.m4 | 86 |
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 +]) |