dnl Process this file with autoconf to produce a configure script. AC_INIT AC_CONFIG_SRCDIR([libmng.h]) AC_PREREQ(2.52) dnl this call will define PACKAGE and VERSION dnl please use this as the primary reference for the version number AM_INIT_AUTOMAKE(libmng, 1.0.9) dnl pass the version string on the the makefiles AC_SUBST(PACKAGE) AC_SUBST(VERSION) dnl Checks for programs. AC_PROG_CC AC_ISC_POSIX AM_C_PROTOTYPES if test "x$U" != "x"; then AC_MSG_ERROR(Compiler not ANSI compliant) fi AM_PROG_LIBTOOL AC_PROG_INSTALL dnl support for files >2GB AC_SYS_LARGEFILE dnl Check for required header files AC_HEADER_STDC dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST dnl need pow and fabs AC_CHECK_FUNC(pow, , AC_CHECK_LIB(m, pow, LIBS="$LIBS -lm")) dnl what functionality we want to add (read, write, display). dnl all on by default. see libmng_conf.h for full descriptions dnl not building a standard shared object? AC_ARG_ENABLE(buildso, [ --disable-buildso disable building standard shared object]) if test "x$enable_buildso" != "xno"; then AC_DEFINE(MNG_BUILD_SO) fi dnl we only support the full mng spec for now (no LC or VLC) AC_DEFINE(MNG_SUPPORT_FULL) dnl remove support in library to read images? AC_ARG_ENABLE(read, [ --disable-read remove read support from library]) if test "x$enable_read" != "xno"; then AC_DEFINE(MNG_SUPPORT_READ) fi dnl remove support in library to write images? AC_ARG_ENABLE(write, [ --disable-write remove write support from library]) if test "x$enable_write" != "xno"; then AC_DEFINE(MNG_SUPPORT_WRITE) fi dnl remove support in library to display images? AC_ARG_ENABLE(display, [ --disable-display remove display support from library]) if test "x$enable_display" != "xno"; then AC_DEFINE(MNG_SUPPORT_DISPLAY) fi dnl remove support for 'dynamic' MNG? AC_ARG_ENABLE(dynamic, [ --disable-dynamic remove dynamic MNG support from library]) if test "x$enable_dynamic" != "xno"; then AC_DEFINE(MNG_SUPPORT_DYNAMICMNG) fi dnl remove support in library to access chunks? AC_ARG_ENABLE(chunks, [ --disable-chunks remove support for chunk access]) if test "x$enable_chunks" != "xno"; then AC_DEFINE(MNG_ACCESS_CHUNKS) fi dnl disable support for accessing chunks that have been previously read? AC_ARG_ENABLE(storechunks, [ --disable-storechunks remove support for access of previous chunks]) if test "x$enable_storechunks" != "xno"; then AC_DEFINE(MNG_STORE_CHUNKS) fi dnl enable support for debug tracing callbacks and messages? AC_ARG_ENABLE(trace, [ --enable-trace include support for debug tracing callbacks],[ if test "x$enable_trace" = "xyes"; then AC_DEFINE(MNG_SUPPORT_TRACE) AC_DEFINE(MNG_TRACE_TELLTALE) fi ]) dnl verbose error text dnl this should always be on AC_DEFINE(MNG_ERROR_TELLTALE) dnl libz is required. AC_ARG_WITH(zlib, [ --with-zlib[=DIR] use zlib include/library files in DIR],[ if test -d "$withval"; then CPPFLAGS="$CPPFLAGS -I$withval/include" LDFLAGS="$LDFLAGS -L$withval/lib" fi ]) AC_CHECK_HEADER(zlib.h, AC_CHECK_LIB(z, gzread, , AC_MSG_ERROR(zlib library not found)), AC_MSG_ERROR(zlib header not found) ) dnl check for jpeg library AC_ARG_WITH(jpeg, [ --with-jpeg[=DIR] use jpeg include/library files in DIR], [with_jpeg=$withval],[with_jpeg=_auto]) if test "x$with_jpeg" != "xno" -a "x$with_jpeg" != "xyes" -a \ "x$with_jpeg" != "x_auto"; then # Save in case test with directory specified fails _cppflags=${CPPFLAGS} _ldflags=${LDFLAGS} _restore=1 CPPFLAGS="${CPPFLAGS} -I$withval/include" LDFLAGS="${LDFLAGS} -L$withval/lib" else _restore=0 fi if test "x$with_jpeg" != "xno"; then AC_CHECK_HEADER(jpeglib.h, AC_CHECK_LIB(jpeg, jpeg_read_header, [ LIBS="$LIBS -ljpeg" AC_DEFINE(HAVE_LIBJPEG) _restore=0 ], AC_MSG_WARN(jpeg library not found)), AC_MSG_WARN(jpeg header not found) ) fi test $_restore -eq 1 && CPPFLAGS=$_cppflags LDFLAGS=$_ldflags dnl check for lcms library AC_ARG_WITH(lcms, [ --with-lcms[=DIR] use lcms include/library files in DIR], [with_lcms=$withval],[with_lcms=_auto]) if test "x$with_lcms" != "xno" -a "x$with_lcms" != "xyes" -a \ "x$with_lcms" != "x_auto"; then # Save in case test with directory specified fails _cppflags=$CPPFLAGS _ldflags=$LDFLAGS _restore=1 CPPFLAGS="$CPPFLAGS -I$withval/include" LDFLAGS="$LDFLAGS -L$withval/lib" else _restore=0 fi if test "x$with_lcms" != "xno"; then AC_CHECK_HEADER(lcms.h, [ have_lcms=yes AC_CHECK_LIB(lcms, cmsCreateRGBProfile, [ LIBS="$LIBS -llcms" AC_DEFINE(HAVE_LIBLCMS) dnl for now this implies MNG_INCLUDE_LCMS in the headers: AC_DEFINE(MNG_FULL_CMS) _restore=0 have_lcms=yes ],[ have_lcms=no ]) ]) dnl give feedback only if the user asked specifically for lcms if test "x$with_lcms" != "x_auto" -a "x$have_lcms" != "xyes"; then AC_MSG_WARN([lcms not found... disabling CMS support]) fi fi test $_restore -eq 1 && CPPFLAGS=$_cppflags LDFLAGS=$_ldflags AC_CONFIG_FILES([Makefile]) AC_OUTPUT