Back to the Main Page. | check_zlib |
Download the M4 Source. |
CHECK_ZLIB()
1.1.1.1 (2001/07/26) Installed_Packages @ ac-archive-0.5.39
Loic Dachary <loic@senga.org>
This macro searches for an installed zlib library. If nothing was specified when calling configure, it searches first in /usr/local and then in /usr. If the --with-zlib=DIR is specified, it will try to find it in DIR/include/zlib.h and DIR/lib/libz.a. If --without-zlib is specified, the library is not searched at all.
If either the header file (zlib.h) or the library (libz) is not found, the configuration exits on error, asking for a valid zlib installation directory or --without-zlib.
The macro defines the symbol HAVE_LIBZ if the library is found. You should use autoheader to include a definition for this symbol in a config.h file. Sample usage in a C/C++ source is as follows:
#ifdef HAVE_LIBZ
#include <zlib.h>
#endif /* HAVE_LIBZ */
AC_DEFUN([CHECK_ZLIB], # # Handle user hints # [AC_MSG_CHECKING(if zlib is wanted) AC_ARG_WITH(zlib, [ --with-zlib=DIR root directory path of zlib installation [defaults to /usr/local or /usr if not found in /usr/local] --without-zlib to disable zlib usage completely], [if test "$withval" != no ; then AC_MSG_RESULT(yes) ZLIB_HOME="$withval" else AC_MSG_RESULT(no) fi], [ AC_MSG_RESULT(yes) ZLIB_HOME=/usr/local if test ! -f "${ZLIB_HOME}/include/zlib.h" then ZLIB_HOME=/usr fi ]) # # Locate zlib, if wanted # if test -n "${ZLIB_HOME}" then ZLIB_OLD_LDFLAGS=$LDFLAGS ZLIB_OLD_CPPFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" AC_LANG_SAVE AC_LANG_C AC_CHECK_LIB(z, inflateEnd, [zlib_cv_libz=yes], [zlib_cv_libz=no]) AC_CHECK_HEADER(zlib.h, [zlib_cv_zlib_h=yes], [zlib_cvs_zlib_h=no]) AC_LANG_RESTORE if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" then # # If both library and header were found, use them # AC_CHECK_LIB(z, inflateEnd) AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) AC_MSG_RESULT(ok) else # # If either header or library was not found, revert and bomb # AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) LDFLAGS="$ZLIB_OLD_LDFLAGS" CPPFLAGS="$ZLIB_OLD_CPPFLAGS" AC_MSG_RESULT(failed) AC_MSG_ERROR(either specify a valid zlib installation with --with-zlib=DIR or disable zlib usage with --without-zlib) fi fi ])