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