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 |