diff options
Diffstat (limited to 'm4/ax_check_bzlib.m4')
| -rw-r--r-- | m4/ax_check_bzlib.m4 | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/m4/ax_check_bzlib.m4 b/m4/ax_check_bzlib.m4 new file mode 100644 index 0000000..8c79c68 --- /dev/null +++ b/m4/ax_check_bzlib.m4 @@ -0,0 +1,75 @@ +AC_DEFUN([AX_CHECK_BZLIB], +# +# Handle user hints +# +[AC_MSG_CHECKING(if bzip2 is wanted) +bzlib_places="/usr/local /usr /opt/local /sw" +AC_ARG_WITH([bzip2], +[ --with-bzip2=DIR root directory path of bzip2 installation @<:@defaults to + /usr/local or /usr if not found in /usr/local@:>@ + --without-bzip2 to disable bzip2 usage completely], +[if test "$withval" != no ; then + AC_MSG_RESULT(yes) + if test -d "$withval" + then + bzlib_places="$withval $bzlib_places" + else + AC_MSG_WARN([Sorry, $withval does not exist, checking usual places]) + fi +else + bzlib_places= + AC_MSG_RESULT(no) +fi], +[AC_MSG_RESULT(yes)]) + +# +# Locate bzip2, if wanted +# +if test -n "${bzlib_places}" +then + # check the user supplied or any other more or less 'standard' place: + # Most UNIX systems : /usr/local and /usr + # MacPorts / Fink on OSX : /opt/local respectively /sw + for bzlib_HOME in ${bzlib_places} ; do + if test -f "${bzlib_HOME}/include/bzlib.h"; then break; fi + bzlib_HOME="" + done + + bzlib_OLD_LDFLAGS=$LDFLAGS + bzlib_OLD_CPPFLAGS=$CPPFLAGS + if test -n "${bzlib_HOME}"; then + LDFLAGS="$LDFLAGS -L${bzlib_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${bzlib_HOME}/include" + fi + AC_LANG_SAVE + AC_LANG_C + AC_CHECK_LIB([bz2], [BZ2_bzDecompressInit], [bzlib_cv_libbz2=yes], [bzlib_cv_libbz2=no]) + AC_CHECK_HEADER([bzlib.h], [bzlib_cv_bzlib_h=yes], [bzlib_cv_bzlib_h=no]) + AC_LANG_RESTORE + if test "$bzlib_cv_libbz2" = "yes" && test "$bzlib_cv_bzlib_h" = "yes" + then + # + # If both library and header were found, action-if-found + # + m4_ifblank([$1],[ + CPPFLAGS="$CPPFLAGS -I${bzlib_HOME}/include" + LDFLAGS="$LDFLAGS -L${bzlib_HOME}/lib" + LIBS="-lbz2 $LIBS" + AC_DEFINE([HAVE_BZLIB], [1], + [Define to 1 if you have `bz2' library (-lbz2)]) + ],[ + # Restore variables + LDFLAGS="$bzlib_OLD_LDFLAGS" + CPPFLAGS="$bzlib_OLD_CPPFLAGS" + $1 + ]) + else + # + # If either header or library was not found, action-if-not-found + # + m4_default([$2],[ + AC_MSG_ERROR([either specify a valid bzip2 installation with --with-bzip2=DIR or disable bzip2 usage with --without-bzip2]) + ]) + fi +fi +]) |
