-# Copyright 1999-2010 ImageMagick Studio LLC, a non-profit organization
+# Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization
# dedicated to making software imaging solutions freely available.
#
# You may not use this file except in compliance with the License. You may
#
# Copyright (C) 2003 - 2008 GraphicsMagick Group
-AC_PREREQ(2.63)
-AC_INIT([ImageMagick],[6.6.2],[http://www.imagemagick.org],[ImageMagick])
+AC_PREREQ(2.64)
+
+m4_define([magick_major_version], [6])
+m4_define([magick_minor_version], [6])
+m4_define([magick_micro_version], [9])
+m4_define([magick_version],
+ [magick_major_version.magick_minor_version.magick_micro_version])
+m4_define([magick_svn_revision], esyscmd([sh -c "svnversion | sed -r 's/([0-9]+).*/\1/'"]))
+
+AC_INIT([ImageMagick],[magick_version],[http://www.imagemagick.org],[ImageMagick-magick_version])
AC_CONFIG_SRCDIR([magick/MagickCore.h])
AC_CONFIG_AUX_DIR([config])
AC_CONFIG_MACRO_DIR([m4])
AC_CANONICAL_SYSTEM
AC_CANONICAL_BUILD
AC_CANONICAL_HOST
-AC_CANONICAL_TARGET([])
-MAGICK_TARGET_CPU=$target_cpu
+MAGICK_TARGET_CPU=$host_cpu
AC_SUBST(MAGICK_TARGET_CPU)
-MAGICK_TARGET_VENDOR=$target_vendor
+MAGICK_TARGET_VENDOR=$host_vendor
AC_SUBST(MAGICK_TARGET_VENDOR)
-MAGICK_TARGET_OS=$target_os
+MAGICK_TARGET_OS=$host_os
AC_SUBST(MAGICK_TARGET_OS)
# Substitute library versioning
[`expr $MAGICK_LIBRARY_CURRENT - $MAGICK_LIBRARY_AGE`])
AC_SUBST([MAGICK_LIBRARY_VERSION_INFO],
[$MAGICK_LIBRARY_CURRENT:$MAGICK_LIBRARY_REVISION:$MAGICK_LIBRARY_AGE])
+AC_SUBST([MAGICK_SVN_REVISION],[magick_svn_revision])
AC_SUBST(PACKAGE_NAME)dnl
AC_SUBST(PACKAGE_VERSION)dnl
AM_INIT_AUTOMAKE($PACKAGE_NAME,"${PACKAGE_VERSION}${PACKAGE_VERSION_ADDENDUM}", ' ')
# Enable support for silent build rules
-AM_SILENT_RULES([yes])
+m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
MAGICK_LIB_VERSION="0x"
if test ${MAGICK_LIBRARY_CURRENT} -lt 10 ; then
MAGICK_PCFLAGS=$CPPFLAGS_USER
MAGICK_LDFLAGS=''
MAGICK_LIBS=''
+MAGICK_FEATURES=''
#
# Evaluate shell variable equivalents to Makefile directory variables
AC_SUBST(LIBEXEC_DIR)
eval "eval DATA_DIR=$datadir"
AC_SUBST(DATA_DIR)
+eval "eval DOC_DIR=$docdir"
+AC_SUBST(DOC_DIR)
eval "eval SYSCONF_DIR=$sysconfdir"
AC_SUBST(SYSCONF_DIR)
eval "eval SHAREDSTATE_DIR=$sharedstatedir"
AC_PROG_CC_C99
AM_PROG_CC_C_O
AX_CFLAGS_WARN_ALL
-AC_INCLUDES_DEFAULT
AC_PROG_INSTALL
AC_PROG_MAKE_SET
AC_PROG_LN_S
# Enable support for threads
AC_ARG_WITH([threads],
- [AC_HELP_STRING([--without-threads],
- [disable threads support])],
+ [AC_HELP_STRING([--without-threads], [disable threads support])],
[with_threads=$withval],
[with_threads='yes'])
AC_MSG_WARN([Replacing compiler $CC with compiler $PTHREAD_CC to support pthreads.])
CC="$PTHREAD_CC"
fi
+ AC_DEFINE(THREAD_SUPPORT,1,[Define if you have POSIX threads libraries and header files.])
fi
fi
CFLAGS="$OPENMP_CFLAGS $CFLAGS"
MAGICK_PCFLAGS="$MAGICK_PCFLAGS $OPENMP_CFLAGS"
AC_SUBST(OPENMP_CFLAGS)
+if test "$enable_openmp" != no; then
+ if test "$ac_cv_prog_c_openmp" != 'unsupported'; then
+ MAGICK_FEATURES="OpenMP $MAGICK_FEATURES"
+ fi
+fi
# Enable support for OpenCL
AX_OPENCL([C])
CFLAGS="$CL_CFLAGS $CFLAGS"
LIBS="$CL_LIBS $LIBS"
AC_SUBST(CL_CFLAGS)
+if test "$enable_opencl" != no; then
+ if test "_OPENCL" = '1'; then
+ MAGICK_FEATURES="OpenCL $MAGICK_FEATURES"
+ fi
+fi
########
#
LFS_CPPFLAGS="$LFS_CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
else
AC_MSG_CHECKING([for native large file support])
- AC_RUN_IFELSE([#include <unistd.h>
+ AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <unistd.h>
main () {
exit(!(sizeof(off_t) == 8));
- }],
+ }])],
[ac_cv_sys_file_offset_bits=64; AC_DEFINE(_FILE_OFFSET_BITS,64)
AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])])
fi
# Enable build using delegate libraries built in subdirectories rather than installed
-# delegate libraries (bzlib fftw fpx gslib jp2 jbig jpeg lcms png tiff ttf wmf xml zlib)
+# delegate libraries (bzlib fftw fpx gslib jp2 jbig jpeg lcms lzma png tiff ttf wmf xml zlib)
AC_ARG_ENABLE([delegate-build],
[AC_HELP_STRING([--enable-delegate-build],
[look for delegate libraries in build directory])],
if test "$enable_hdri" = 'yes'; then
MAGICK_HDRI="HDRI"
AC_DEFINE(HDRI_SUPPORT,1,[accurately represent the wide range of intensity levels in real scenes])
+ MAGICK_FEATURES="HDRI $MAGICK_FEATURES"
fi
AC_SUBST(MAGICK_HDRI)dnl
16 ) ;;
32 ) ;;
64 ) ;;
- * ) AC_MSG_ERROR("Pixel quantum depth must have value of 8, 16, or 32") ;;
+ * ) AC_MSG_ERROR("Pixel quantum depth must have value of 8, 16, 32, or 64") ;;
esac
+if test "$enable_hdri" = 'yes'; then
+ with_quantum_depth=16
+fi
QUANTUM_DEPTH="$with_quantum_depth"
AC_DEFINE_UNQUOTED(QUANTUM_DEPTH,$QUANTUM_DEPTH,[Number of bits in a pixel Quantum (8/16/32/64)])
AC_SUBST(QUANTUM_DEPTH)dnl
AC_MSG_CHECKING(for signed 32-bit type)
INT32_T='none'
+INT32_F='none'
if test $ac_cv_sizeof_signed_int -eq 4; then
INT32_T='signed int'
+ INT32_F='""'
elif test $ac_cv_sizeof_signed_long -eq 4; then
INT32_T='signed long'
+ INT32_F='"l"'
fi
AC_MSG_RESULT($INT32_T)
AC_SUBST(INT32_T)
+AC_SUBST(INT32_F)
AC_MSG_CHECKING(for unsigned 32-bit type)
UINT32_T='none'
+UINT32_F='none'
if test $ac_cv_sizeof_unsigned_int -eq 4; then
UINT32_T='unsigned int'
+ UINT32_F='""'
elif test $ac_cv_sizeof_unsigned_long -eq 4; then
UINT32_T='unsigned long'
+ UINT32_F='"l"'
fi
AC_MSG_RESULT($UINT32_T)
AC_SUBST(UINT32_T)
+AC_SUBST(UINT32_F)
AC_MSG_CHECKING(for signed 64-bit type)
INT64_T='none'
+INT64_F='none'
if test $ac_cv_sizeof_signed_long -eq 8; then
INT64_T='signed long'
+ INT64_F='"l"'
elif test $ac_cv_sizeof_signed_long_long -eq 8; then
INT64_T='signed long long'
+ INT64_F='"ll"'
fi
+case "${build_os}" in
+ mingw* )
+ INT64_F='"I64"'
+ ;;
+esac
AC_MSG_RESULT($INT64_T)
AC_SUBST(INT64_T)
+AC_SUBST(INT64_F)
AC_MSG_CHECKING(for unsigned 64-bit type)
UINT64_T='none'
+UINT64_F='none'
if test $ac_cv_sizeof_unsigned_long -eq 8; then
UINT64_T='unsigned long'
+ UINT64_F='"l"'
elif test $ac_cv_sizeof_unsigned_long_long -eq 8; then
UINT64_T='unsigned long long'
+ UINT64_F='"ll"'
fi
+case "${build_os}" in
+ mingw* )
+ UINT64_F='"I64"'
+ ;;
+esac
AC_MSG_RESULT($UINT64_T)
AC_SUBST(UINT64_T)
+AC_SUBST(UINT64_F)
AC_MSG_CHECKING(for unsigned maximum type)
UINTMAX_T='none'
+UINTMAX_F='none'
if test "$UINT64_T" != 'none'; then
UINTMAX_T=$UINT64_T
+ UINTMAX_F=$UINT64_F
elif test "$UINT32_T" != 'none'; then
UINTMAX_T=$UINT32_T
+ UINTMAX_F=$UINT32_F
fi
AC_MSG_RESULT($UINTMAX_T)
AC_SUBST(UINTMAX_T)
+AC_SUBST(UINTMAX_F)
AC_MSG_CHECKING(for pointer difference type)
UINTPTR_T='none'
+UINTPTR_F='none'
if test $ac_cv_sizeof_unsigned_long -eq $ac_cv_sizeof_unsigned_intp; then
UINTPTR_T='unsigned long'
+ UINTPTR_F='"l"'
elif test $ac_cv_sizeof_unsigned_long_long -eq $ac_cv_sizeof_unsigned_intp; then
UINTPTR_T='unsigned long long'
+ UINTPTR_F='"ll"'
fi
AC_MSG_RESULT($UINTPTR_T)
AC_SUBST(UINTPTR_T)
+AC_SUBST(UINTPTR_F)
AC_MSG_CHECKING([whether our compiler supports __func__])
AC_TRY_COMPILE([],
LIBS="$MATH_LIBS $LIBS"
AC_SUBST(MATH_LIBS)
-AC_CHECK_FUNCS([_exit atexit cimag clock directio execvp fchmod floor fork ftime ftruncate getcwd getpid getexecname getdtablesize getpagesize getrlimit getrusage gettimeofday gmtime_r j0 j1 localtime_r lstat memmove memset mkstemp munmap _NSGetExecutablePath pclose _pclose poll popen _popen posix_fadvise posix_fallocate posix_madvise posix_memalign pow pread pwrite raise rand_r readlink readdir_r realpath select seekdir setlocale sqrt setvbuf stat strchr strerror_r strrchr strcspn strdup strpbrk strspn strstr strtol strtoul symlink sysconf sigemptyset sigaction spawnvp strerror strlcat strlcpy strcasecmp strncasecmp telldir tempnam times usleep utime vsprintf vsnprintf waitpid _wfopen _wstat])
+AC_CHECK_FUNCS([atoll atexit cabs carg cimag creal clock ctime_r directio _exit execvp fchmod floor fork ftime ftruncate getc_unlocked getcwd getpid getexecname getdtablesize getpagesize getrlimit getrusage gettimeofday gmtime_r j0 j1 lltostr localtime_r lstat memmove memset mkstemp munmap nanosleep _NSGetExecutablePath pclose _pclose poll popen _popen posix_fadvise posix_fallocate posix_madvise posix_memalign posix_spawnp pow pread pwrite qsort_r raise rand_r readlink readdir_r realpath select seekdir setlocale sqrt setvbuf stat strchr strerror_r strrchr strcspn strdup strpbrk strspn strstr strtol strtoul symlink sysconf sigemptyset sigaction spawnvp strerror strlcat strlcpy strcasecmp strncasecmp telldir tempnam times ulltostr usleep utime vsprintf vsnprintf waitpid _wfopen _wstat])
#
# Check for clock_gettime().
[
AC_DEFINE([HAVE_CLOCK_GETTIME],[1],[Define to 1 if you have clock_gettime.])
AC_MSG_CHECKING([whether clock_gettime supports CLOCK_REALTIME])
- AC_COMPILE_IFELSE(
+ AC_COMPILE_IFELSE([
AC_LANG_PROGRAM(
[[#include <time.h>]],
- [[clockid_t clockType = CLOCK_REALTIME;]]),
+ [[clockid_t clockType = CLOCK_REALTIME;]])],
[
AC_MSG_RESULT(yes)
AC_DEFINE([HAVE_CLOCK_REALTIME],[1],
AX_CXX_NAMESPACES
AX_CXX_NAMESPACE_STD
AC_CXX_HAVE_STD_LIBS
- AC_CXX_HAVE_LSTRING
AC_OPENMP([C++])
AC_LANG_POP
AC_MSG_CHECKING([whether C++ compiler is sufficient for Magick++])
if \
test $ax_cv_cxx_bool = 'yes' && \
- test $ac_cv_cxx_have_lstring = 'yes' && \
test $ax_cv_cxx_namespaces = 'yes' && \
test $ac_cv_cxx_have_std_libs = 'yes' && \
test $ax_cv_cxx_have_std_namespace = 'yes'; then
# Most delegates have includes in the same directory as the library, but not all...
#
# Includes
- for dir in bzlib fftw fpx gslib/src jp2 jp2/src/libjasper/include jbig/libjbig jpeg lcms/include magick png tiff/libtiff ttf/include wand wmf/include xml/include zlib; do
+ for dir in bzlib fftw fpx gslib/src jp2 jp2/src/libjasper/include jbig/libjbig jpeg lcms/include lzma magick png tiff/libtiff ttf/include wand wmf/include xml/include zlib; do
if test -d "$builddir/$dir"; then
CPPFLAGS="$CPPFLAGS -I$builddir/$dir"
else
done
# Libraries
- for dir in bzlib fftw fpx gslib/src jp2 jp2/src/libjasper jbig/libjbig jpeg lcms/src magick png tiff/libtiff ttf/objs wand wmf/src xml zlib; do
+ for dir in bzlib fftw fpx gslib/src jp2 jp2/src/libjasper jbig/libjbig jpeg lcms/src lzma magick png tiff/libtiff ttf/objs wand wmf/src xml zlib; do
if test -d "$builddir/$dir/.libs"; then
LDFLAGS="$LDFLAGS -L$builddir/$dir/.libs"
else
#
# Check for LCMS delegate library.
#
+# Disable LCMS.
AC_ARG_WITH(lcms,
- [AC_HELP_STRING([--without-lcms],
- [disable LCMS support])],
- [with_lcms=$withval],
- [with_lcms='yes'])
-
-if test "$with_lcms" != 'yes'; then
+ [ --without-lcms disable lcms (v1.1X) support],
+ [with_lcms=$withval],
+ [with_lcms='yes'])
+if test "$with_lcms" != 'yes' ; then
DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-lcms=$with_lcms "
fi
-have_lcms='no'
+# Disable LCMS2.
+AC_ARG_WITH(lcms2,
+ [ --without-lcms2 disable lcms (v2.X) support],
+ [with_lcms2=$withval],
+ [with_lcms2='yes'])
+if test "$with_lcms2" != 'yes' ; then
+ DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-lcms2=$with_lcms2 "
+fi
+
+have_lcms2='no'
LCMS_LIBS=''
-if test "$with_lcms" != 'no'; then
+if test "$with_lcms2" != 'no'; then
AC_MSG_RESULT([-------------------------------------------------------------])
- AC_MSG_CHECKING([for LCMS])
- AC_MSG_RESULT([])
+ AC_MSG_CHECKING([for LCMS v2])
+ AC_MSG_RESULT()
failed=0
passed=0
have_lcms_header='no'
+
+ # Check for <lcms2.h>
AC_CHECK_HEADER(lcms2.h,have_lcms_header='yes',,)
if test "$have_lcms_header" = 'yes'; then
+ AC_DEFINE(HAVE_LCMS2_H,1,Define if you have the <lcms2.h> header file.)
+ passed=`expr $passed + 1`
+ fi
+
+ # Check for <lcms2/lcms2.h)
+ if test "$have_lcms_header" != 'yes'; then
+ AC_CHECK_HEADER(lcms2/lcms2.h,have_lcms_header='yes',,)
+ if test "$have_lcms_header" = 'yes'; then
passed=`expr $passed + 1`
- AC_DEFINE(HAVE_LCMS2_H,1,Define if you have the <lcms2.h> header file.)
- else
- AC_CHECK_HEADER(lcms/lcms2.h,have_lcms_header='yes',,)
- if test "$have_lcms_header" = 'yes'; then
- passed=`expr $passed + 1`
- AC_DEFINE(HAVE_LCMS_LCMS2_H,1,Define if you have the <lcms/lcms2.h> header file.)
- else
- failed=`expr $failed + 1`
- fi
+ AC_DEFINE(HAVE_LCMS2_LCMS2_H,1,Define if you have the <lcms2/lcms2.h> header file.)
+ fi
+ fi
+
+ # Failed to find lcms header?
+ if test "$have_lcms_header" != 'yes'; then
+ failed=`expr $failed + 1`
fi
- AC_CHECK_LIB(lcms2,cmsOpenProfileFromMem,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
- AC_MSG_CHECKING([if LCMS2 package is complete])
+
+ AC_CHECK_LIB(lcms2,cmsSetLogErrorHandler,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
+ AC_MSG_CHECKING(if LCMS v2 package is complete)
if test $passed -gt 0; then
- if test $failed -gt 0; then
- AC_MSG_RESULT([no -- some components failed test])
- have_lcms='no (failed tests)'
- else
- LCMS_LIBS='-llcms2'
- LIBS="$LCMS_LIBS $LIBS"
- AC_DEFINE(LCMS_DELEGATE,1,Define if you have LCMS library)
- AC_MSG_RESULT([yes])
- have_lcms='yes'
- fi
+ if test $failed -gt 0; then
+ AC_MSG_RESULT(no -- some components failed test)
+ have_lcms2='no (failed tests)'
+ else
+ LCMS_LIBS='-llcms2'
+ LIBS="$LCMS_LIBS $LIBS"
+ AC_MSG_RESULT(yes)
+ have_lcms2='yes'
+ fi
else
- AC_MSG_RESULT([no])
+ AC_MSG_RESULT(no)
fi
fi
+#
+# Check for LCMS v1 (1.11 or later)
+#
+if test $have_lcms2 = 'yes'; then
+ with_lcms='no'
+fi
+
+have_lcms='no'
if test "$with_lcms" != 'no'; then
-if test "$have_lcms" == 'no'; then
AC_MSG_RESULT([-------------------------------------------------------------])
- AC_MSG_CHECKING([for LCMS])
- AC_MSG_RESULT([])
+ AC_MSG_CHECKING([for LCMS v1.1X])
+ AC_MSG_RESULT()
failed=0
passed=0
have_lcms_header='no'
- AC_CHECK_HEADER(lcms.h,have_lcms_header='yes',,)
- if test "$have_lcms_header" = 'yes'; then
+
+ # Check for <lcms.h>
+ if test "$have_lcms_header" != 'yes'; then
+ AC_CHECK_HEADER(lcms.h,have_lcms_header='yes',,)
+ if test "$have_lcms_header" = 'yes'; then
passed=`expr $passed + 1`
AC_DEFINE(HAVE_LCMS_H,1,Define if you have the <lcms.h> header file.)
- else
- AC_CHECK_HEADER(lcms/lcms.h,have_lcms_header='yes',,)
- if test "$have_lcms_header" = 'yes'; then
- passed=`expr $passed + 1`
- AC_DEFINE(HAVE_LCMS_LCMS_H,1,Define if you have the <lcms/lcms.h> header file.)
- else
- failed=`expr $failed + 1`
- fi
+ fi
+ fi
+
+ # Check for <lcms/lcms.h>
+ if test "$have_lcms_header" != 'yes'; then
+ AC_CHECK_HEADER(lcms/lcms.h,have_lcms_header='yes',,)
+ if test "$have_lcms_header" = 'yes'; then
+ passed=`expr $passed + 1`
+ AC_DEFINE(HAVE_LCMS_LCMS_H,1,Define if you have the <lcms/lcms.h> header file.)
+ fi
+ fi
+
+ # Failed to find lcms header?
+ if test "$have_lcms_header" != 'yes'; then
+ failed=`expr $failed + 1`
fi
- AC_CHECK_LIB(lcms,cmsOpenProfileFromMem,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
- AC_MSG_CHECKING([if LCMS package is complete])
+
+ AC_CHECK_LIB(lcms,cmsSetErrorHandler,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
+ AC_MSG_CHECKING(if LCMS package is complete)
if test $passed -gt 0; then
- if test $failed -gt 0; then
- AC_MSG_RESULT([no -- some components failed test])
- have_lcms='no (failed tests)'
- else
- LCMS_LIBS='-llcms'
- LIBS="$LCMS_LIBS $LIBS"
- AC_DEFINE(LCMS_DELEGATE,1,Define if you have LCMS library)
- AC_MSG_RESULT([yes])
- have_lcms='yes'
- fi
+ if test $failed -gt 0; then
+ AC_MSG_RESULT(no -- some components failed test)
+ have_lcms='no (failed tests)'
+ else
+ LCMS_LIBS='-llcms'
+ LIBS="$LCMS_LIBS $LIBS"
+ AC_MSG_RESULT(yes)
+ have_lcms='yes'
+ fi
else
- AC_MSG_RESULT([no])
+ AC_MSG_RESULT(no)
fi
fi
+
+AM_CONDITIONAL(LCMS_DELEGATE, test "$have_lcms2" = 'yes' -o "$have_lcms" = 'yes')
+if test "$have_lcms2" = 'yes' -o "$have_lcms" = 'yes'; then
+ AC_DEFINE(LCMS_DELEGATE,1,[Define if you have LCMS (v1.11 or later) library])
fi
-AM_CONDITIONAL(LCMS_DELEGATE, test "$have_lcms" = 'yes')
AC_SUBST(LCMS_LIBS)
+
dnl ===========================================================================
#
dnl ===========================================================================
+# Disable LZMA (lzma library)
+AC_ARG_WITH(lzma,
+ [ --without-lzma disable LZMA support],
+ [with_lzma=$withval],
+ [with_lzma='yes'])
+if test "$with_lzma" != 'yes' ; then
+ DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-lzma=$with_lzma "
+fi
+
+#
+# Check for LZMA
+#
+have_lzma='no'
+LZMA_LIBS=''
+if test "$with_lzma" != 'no' || test "$with_tiff" != 'no'; then
+ AC_MSG_RESULT([-------------------------------------------------------------])
+ AC_MSG_CHECKING(for LZMA)
+ AC_MSG_RESULT()
+ failed=0
+ passed=0
+ AC_CHECK_HEADER(lzma.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
+ AC_CHECK_LIB(lzma,lzma_code,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
+ AC_MSG_CHECKING(if LZMA package is complete)
+ if test $passed -gt 0; then
+ if test $failed -gt 0; then
+ AC_MSG_RESULT(no -- some components failed test)
+ have_lzma='no (failed tests)'
+ else
+ LZMA_LIBS='-llzma'
+ LIBS="$LZMA_LIBS $LIBS"
+ AC_DEFINE(LZMA_DELEGATE,1,Define if you have lzma compression library)
+ AC_MSG_RESULT(yes)
+ have_lzma='yes'
+ fi
+ else
+ AC_MSG_RESULT(no)
+ fi
+fi
+AM_CONDITIONAL(LZMA_DELEGATE, test "$have_lzma" = 'yes')
+AC_SUBST(LZMA_LIBS)
+
+dnl ===========================================================================
+
#
# Check for the OpenEXR delegate library.
#
AC_CHECK_HEADER(tiffio.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
AC_CHECK_LIB(tiff,TIFFOpen,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
AC_CHECK_LIB(tiff,TIFFClientOpen,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
+ AC_CHECK_LIB(tiff,TIFFIsBigEndian,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
AC_CHECK_LIB(tiff,TIFFIsByteSwapped,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
AC_CHECK_LIB(tiff,TIFFReadRGBATile,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
AC_CHECK_LIB(tiff,TIFFReadRGBAStrip,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
dnl ===========================================================================
+#
+# Check for WEBP delegate library.
+#
+AC_ARG_WITH(webp,
+ [AC_HELP_STRING([--without-webp],
+ [disable WEBP support])],
+ [with_webp=$withval],
+ [with_webp='yes'])
+
+if test "$with_webp" != 'yes'; then
+ DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-webp=$with_webp "
+fi
+
+have_webp='no'
+WEBP_LIBS=''
+if test "$with_webp" != 'no'; then
+ AC_MSG_RESULT([-------------------------------------------------------------])
+ AC_MSG_CHECKING([for WEBP])
+ AC_MSG_RESULT([])
+ failed=0
+ passed=0
+ AC_CHECK_HEADER(webp/decode.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
+ AC_CHECK_LIB(webp,WebPDecodeRGB,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
+ AC_MSG_CHECKING([if WEBP package is complete])
+ if test $passed -gt 0; then
+ if test $failed -gt 0; then
+ AC_MSG_RESULT([no -- some components failed test])
+ have_webp='no (failed tests)'
+ else
+ WEBP_LIBS='-lwebp'
+ LIBS="$WEBP_LIBS $LIBS"
+ AC_DEFINE(WEBP_DELEGATE,1,Define if you have WEBP library)
+ AC_MSG_RESULT([yes])
+ have_webp='yes'
+ fi
+ else
+ AC_MSG_RESULT([no])
+ fi
+fi
+AM_CONDITIONAL(WEBP_DELEGATE,test "$have_webp" = 'yes')
+AC_SUBST(WEBP_LIBS)
+
+dnl ===========================================================================
+
#
# Set Windows font directory.
#
AC_DEFINE_UNQUOTED(LIBRARY_PATH,"$DEFINE_LIBRARY_PATH",Directory where architecture-dependent files live.)
AC_SUBST(LIBRARY_PATH)
-# Subdirectory under lib to place ImageMagick configuration files
-CONFIGURE_RELATIVE_PATH="${LIBRARY_RELATIVE_PATH}/config"
-AC_DEFINE_UNQUOTED(CONFIGURE_RELATIVE_PATH,"$CONFIGURE_RELATIVE_PATH",Subdirectory of lib where architecture-dependent configuration files live.)
-CONFIGURE_PATH="${LIB_DIR}/${CONFIGURE_RELATIVE_PATH}/"
-DEFINE_CONFIGURE_PATH="${LIB_DIR}/${CONFIGURE_RELATIVE_PATH}/"
-case "${build_os}" in
- mingw* )
- DEFINE_CONFIGURE_PATH=`$WinPathScript "$DEFINE_CONFIGURE_PATH" 1`
- ;;
-esac
-AC_DEFINE_UNQUOTED(CONFIGURE_PATH,"$DEFINE_CONFIGURE_PATH",Directory where architecture-dependent configuration files live.)
-AC_SUBST(CONFIGURE_PATH)
-
#
# Subdirectory under lib to place ImageMagick coder module files
CODER_RELATIVE_PATH="${LIBRARY_RELATIVE_PATH}/modules-Q${QUANTUM_DEPTH}/coders"
#
# Path to ImageMagick documentation files
-DOCUMENTATION_RELATIVE_PATH="${PACKAGE_NAME}-${PACKAGE_VERSION}"
-DOCUMENTATION_PATH="${DATA_DIR}/doc/${DOCUMENTATION_RELATIVE_PATH}"
-DEFINE_DOCUMENTATION_PATH="${DATA_DIR}/doc/${DOCUMENTATION_RELATIVE_PATH}/"
+DOCUMENTATION_RELATIVE_PATH=""
+DOCUMENTATION_PATH="${DOC_DIR}/${DOCUMENTATION_RELATIVE_PATH}"
+DEFINE_DOCUMENTATION_PATH="${DOC_DIR}/${DOCUMENTATION_RELATIVE_PATH}/"
case "${build_os}" in
mingw* )
DEFINE_DOCUMENTATION_PATH=`$WinPathScript "$DEFINE_DOCUMENTATION_PATH" 1`
AC_DEFINE_UNQUOTED(DOCUMENTATION_PATH,"$DEFINE_DOCUMENTATION_PATH",Directory where ImageMagick documents live.)
AC_SUBST(DOCUMENTATION_PATH)
-#
-# Path to ImageMagick share files
-SHARE_RELATIVE_PATH="${PACKAGE_NAME}-${PACKAGE_VERSION}"
-SHARE_PATH="${DATA_DIR}/${SHARE_RELATIVE_PATH}"
-DEFINE_SHARE_PATH="${DATA_DIR}/${SHARE_RELATIVE_PATH}/"
+# Subdirectory to place ImageMagick configuration files
+CONFIGURE_RELATIVE_PATH="${PACKAGE_NAME}"
+AC_DEFINE_UNQUOTED(CONFIGURE_RELATIVE_PATH,"$CONFIGURE_RELATIVE_PATH",Subdirectory of lib where architecture-dependent configuration files live.)
+CONFIGURE_PATH="${SYSCONF_DIR}/${CONFIGURE_RELATIVE_PATH}/"
+DEFINE_CONFIGURE_PATH="${SYSCONF_DIR}/${CONFIGURE_RELATIVE_PATH}/"
case "${build_os}" in
mingw* )
- DEFINE_SHARE_PATH=`$WinPathScript "$DEFINE_SHARE_PATH" 1`
+ DEFINE_CONFIGURE_PATH=`$WinPathScript "$DEFINE_CONFIGURE_PATH" 1`
;;
esac
-AC_DEFINE_UNQUOTED(SHARE_PATH,"$DEFINE_SHARE_PATH",Directory where architecture-independent files live.)
-AC_SUBST(SHARE_PATH)
+AC_DEFINE_UNQUOTED(CONFIGURE_PATH,"$DEFINE_CONFIGURE_PATH",Directory where architecture-dependent configuration files live.)
+AC_SUBST(CONFIGURE_PATH)
-# Subdirectory under share to place ImageMagick configuration files
-SHARE_CONFIGURE_RELATIVE_PATH="${LIBRARY_RELATIVE_PATH}/config"
-AC_DEFINE_UNQUOTED(SHARE_CONFIGURE_RELATIVE_PATH,"$SHARE_CONFIGURE_RELATIVE_PATH",Subdirectory of lib where architecture-independent configuration files live.)
-SHARE_CONFIGURE_PATH="${DATA_DIR}/${SHARE_CONFIGURE_RELATIVE_PATH}"
-DEFINE_SHARE_CONFIGURE_PATH="${DATA_DIR}/${SHARE_CONFIGURE_RELATIVE_PATH}/"
+# Subdirectory to place ImageMagick configuration files
+SHARE_RELATIVE_PATH="${LIBRARY_RELATIVE_PATH}"
+AC_DEFINE_UNQUOTED(SHARE_RELATIVE_PATH,"$SHARE_RELATIVE_PATH",Subdirectory of lib where architecture-independent configuration files live.)
+SHARE_PATH="${DATA_DIR}/${SHARE_RELATIVE_PATH}"
+DEFINE_SHARE_PATH="${DATA_DIR}/${SHARE_RELATIVE_PATH}/"
case "${build_os}" in
mingw* )
- DEFINE_SHARE_CONFIGURE_PATH=`$WinPathScript "$DEFINE_SHARE_CONFIGURE_PATH" 1`
+ DEFINE_SHARE_PATH=`$WinPathScript "$DEFINE_SHARE_PATH" 1`
;;
esac
-AC_DEFINE_UNQUOTED(SHARE_CONFIGURE_PATH,"$DEFINE_SHARE_CONFIGURE_PATH",Directory where architecture-independent configuration files live.)
-AC_SUBST(SHARE_CONFIGURE_PATH)
+AC_DEFINE_UNQUOTED(SHARE_PATH,"$DEFINE_SHARE_PATH",Directory where architecture-independent configuration files live.)
+AC_SUBST(SHARE_PATH)
#
# program_transform_name is formed for use in a Makefile, so create a
AC_MSG_CHECKING([for ImageMagick delegate programs])
AC_MSG_RESULT([])
AutotraceDecodeDelegateDefault='autotrace'
-AVIDecodeDelegateDefault='mplayer'
BlenderDecodeDelegateDefault='blender'
BZIPDelegateDefault='bzip2'
BrowseDelegateDefault='xdg-open'
DisplayDelegateDefault=`echo display | sed ${configure_transform_name}`
MogrifyDelegateDefault=`echo mogrify | sed ${configure_transform_name}`
GnuplotDecodeDelegateDefault='gnuplot'
-HDRDecodeDelegateDefault='ra_pfm'
HPGLDecodeDelegateDefault='hp2xx'
HTMLDecodeDelegateDefault='html2ps'
ILBMDecodeDelegateDefault='ilbmtoppm'
RSVGDecodeDelegateDefault='rsvg'
SCANDecodeDelegateDefault='scanimage'
TXTDelegateDefault='enscript'
+UniconvertorDelegateDefault='uniconvertor'
WMFDecodeDelegateDefault='wmf2eps'
WWWDecodeDelegateDefault='curl'
XPSDelegateDefault='gxps'
# Search for delegates
AC_PATH_PROG(AutotraceDecodeDelegate, "$AutotraceDecodeDelegateDefault", "$AutotraceDecodeDelegateDefault")
-AC_PATH_PROG(AVIDecodeDelegate, "$AVIDecodeDelegateDefault", "$AVIDecodeDelegateDefault")
AC_PATH_PROG(BlenderDecodeDelegate, "$BlenderDecodeDelegateDefault", "$BlenderDecodeDelegateDefault")
AC_PATH_PROG(BZIPDelegate, "$BZIPDelegateDefault", "$BZIPDelegateDefault")
AC_PATH_PROG(BrowseDelegate, "$BrowseDelegateDefault" mozilla firefox netscape, "$BrowseDelegateDefault")
AC_PATH_PROG(DisplayDelegate, "$DisplayDelegateDefault", "$DisplayDelegateDefault")
AC_PATH_PROG(MogrifyDelegate, "$MogrifyDelegateDefault", "$MogrifyDelegateDefault")
AC_PATH_PROG(GnuplotDecodeDelegate, "$GnuplotDecodeDelegateDefault", "$GnuplotDecodeDelegateDefault")
-AC_PATH_PROG(HDRDecodeDelegate, "$HDRDecodeDelegateDefault", "$HDRDecodeDelegateDefault")
AC_PATH_PROG(HPGLDecodeDelegate, "$HPGLDecodeDelegateDefault", "$HPGLDecodeDelegateDefault")
AC_PATH_PROG(HTMLDecodeDelegate, "$HTMLDecodeDelegateDefault", "$HTMLDecodeDelegateDefault")
AC_PATH_PROG(ILBMDecodeDelegate, "$ILBMDecodeDelegateDefault", "$ILBMDecodeDelegateDefault")
AC_PATH_PROG(RSVGDecodeDelegate, "$RSVGDecodeDelegateDefault", "$RSVGDecodeDelegateDefault")
AC_PATH_PROG(SCANDecodeDelegate, "$SCANDecodeDelegateDefault", "$SCANDecodeDelegateDefault")
AC_PATH_PROG(TXTDelegate, "$TXTDelegateDefault", "$TXTDelegateDefault")
+AC_PATH_PROG(UniconvertorDelegate, "$UniconvertorDelegateDefault", "$UniconvertorDelegateDefault")
AC_PATH_PROG(WMFDecodeDelegate, "$WMFDecodeDelegateDefault", "$WMFDecodeDelegateDefault")
AC_PATH_PROG(WWWDecodeDelegate, "$WWWDecodeDelegateDefault", "$WWWDecodeDelegateDefault")
AC_PATH_PROG(XPSDelegate, "$XPSDelegateDefault", "$XPSDelegateDefault")
have_gs='no' ; if test "$PSDelegate" != "$PSDelegateDefault"; then have_gs='yes'; fi
have_hp2xx='no' ; if test "$HPGLDecodeDelegate" != "$HPGLDecodeDelegateDefault" ; then have_hp2xx='yes'; fi
have_ilbmtoppm='no' ; if test "$ILBMDecodeDelegate" != "$ILBMDecodeDelegateDefault" ; then have_ilbmtoppm='yes'; fi
-have_mplayer='no'; if test "$AVIDecodeDelegate" != "$AVIDecodeDelegateDefault" ; then have_mplayer='yes'; fi
have_mrsid='no'; if test "$MrSIDDecodeDelegate" != "$MrSIDDecodeDelegateDefault" ; then have_mrsid='yes'; fi
have_pcl='no' ; if test "$PCLDelegate" != "$PCLDelegateDefault"; then have_pcl='yes'; fi
have_ppmtoilbm='no' ; if test "$ILBMEncodeDelegate" != "$ILBMEncodeDelegateDefault" ; then have_ppmtoilbm='yes'; fi
-have_ra_pfm='no' ; if test "$HDRDecodeDelegate" != "$HDRDecodeDelegateDefault" ; then have_ra_pfm='yes'; fi
have_ralcgm='no' ; if test "$CGMDecodeDelegate" != "$CGMDecodeDelegateDefault" ; then have_ralcgm='yes'; fi
have_xps='no' ; if test "$XPSDelegate" != "$XPSDelegateDefault"; then have_xps='yes'; fi
if test "$with_frozenpaths" != 'yes'; then
# Re-set delegate definitions to default (no paths)
AutotraceDecodeDelegate="$AutotraceDecodeDelegateDefault"
- AVIDecodeDelegate="$AVIDecodeDelegateDefault"
BlenderDecodeDelegate="$BlenderDecodeDelegateDefault"
BZIPDelegate="$BZIPDelegateDefault"
BrowseDelegate="$BrowseDelegateDefault"
PGPDecodeDelegate="$PGPDecodeDelegateDefault"
POVDelegate="$POVDelegateDefault"
PSDelegate="$PSDelegateDefault"
- HDRDecodeDelegate="$HDRDecodeDelegateDefault"
RLEEncodeDelegate="$RLEEncodeDelegateDefault"
RMDelegate="$RMDelegateDefault"
RSVGDecodeDelegate="$RSVGDecodeDelegateDefault"
SCANDecodeDelegate="$SCANDecodeDelegateDefault"
ShowImageDelegate="$ShowImageDelegateDefault"
TXTDelegate="$TXTDelegateDefault"
+ UniconvertorDelegate="$UniconvertorDelegateDefault"
WMFDecodeDelegate="$WMFDecodeDelegateDefault"
WWWDecodeDelegate="$WWWDecodeDelegateDefault"
XPSDelegate="$XPSDelegateDefault"
# Delegate substitutions
AC_SUBST(AutotraceDecodeDelegate)
-AC_SUBST(AVIDecodeDelegate)
AC_SUBST(BlenderDecodeDelegate)
AC_SUBST(BZIPDelegate)
AC_SUBST(BrowseDelegate)
AC_SUBST(EditorDelegate)
AC_SUBST(FIGDecodeDelegate)
AC_SUBST(GnuplotDecodeDelegate)
-AC_SUBST(HDRDecodeDelegate)
AC_SUBST(HPGLDecodeDelegate)
AC_SUBST(HTMLDecodeDelegate)
AC_SUBST(ILBMDecodeDelegate)
AC_SUBST(SCANDecodeDelegate)
AC_SUBST(ShowImageDelegate)
AC_SUBST(TXTDelegate)
+AC_SUBST(UniconvertorDelegate)
AC_SUBST(WMFDecodeDelegate)
AC_SUBST(WWWDecodeDelegate)
AC_SUBST(XPSDelegate)
#
# Ghostscript related configuration.
#
-if test "$have_png" = 'yes'; then
- GSAlphaDevice=pngalpha
-else
- GSAlphaDevice=pnmraw
-fi
+GSAlphaDevice=pngalpha
GSColorDevice=pnmraw
GSCMYKDevice=pam
GSMonoDevice=pbmraw
if test "$have_png" = 'yes'; then DELEGATES="$DELEGATES jng"; fi
fi
if test "$have_jp2" = 'yes'; then DELEGATES="$DELEGATES jp2"; fi
+if test "$have_lcms2" = 'yes'; then DELEGATES="$DELEGATES lcms2"; fi
if test "$have_lcms" = 'yes'; then DELEGATES="$DELEGATES lcms"; fi
if test "$have_lqr" = 'yes'; then DELEGATES="$DELEGATES lqr"; fi
+if test "$have_lzma" = 'yes'; then DELEGATES="$DELEGATES lzma"; fi
if test "$have_ffmpeg" = 'yes'; then DELEGATES="$DELEGATES mpeg"; fi
if test "$have_openexr" = 'yes'; then DELEGATES="$DELEGATES openexr"; fi
if test "$have_png" = 'yes'; then DELEGATES="$DELEGATES png"; fi
AC_SUBST(MAGICK_LTDLDEPS)
if test "$with_modules" != 'no'; then
- MAGICK_DEP_LIBS="$LCMS_LIBS $TIFF_LIBS $FREETYPE_LIBS $JPEG_LIBS $LQR_LIBS $FFTW_LIBS $FONTCONFIG_LIBS $XEXT_LIBS $IPC_LIBS $X11_LIBS $XT_LIBS $BZLIB_LIBS $ZLIB_LIBS $GDI32_LIBS $MATH_LIBS $CCMALLOC_LIBS $EFENCE_LIBS $UMEM_LIBS $GOMP_LIBS $CL_LIBS $THREAD_LIBS"
+ MAGICK_DEP_LIBS="$LCMS_LIBS $TIFF_LIBS $FREETYPE_LIBS $JPEG_LIBS $LQR_LIBS $FFTW_LIBS $FONTCONFIG_LIBS $XEXT_LIBS $IPC_LIBS $X11_LIBS $XT_LIBS $LZMA_LIBS $BZLIB_LIBS $ZLIB_LIBS $GDI32_LIBS $MATH_LIBS $CCMALLOC_LIBS $EFENCE_LIBS $UMEM_LIBS $GOMP_LIBS $CL_LIBS $THREAD_LIBS"
else
- MAGICK_DEP_LIBS="$JBIG_LIBS $LCMS_LIBS $TIFF_LIBS $FREETYPE_LIBS $JP2_LIBS $JPEG_LIBS $GS_LIBS $LQR_LIBS $PNG_LIBS $AUTOTRACE_LIBS $DJVU_LIBS $FFTW_LIBS $FPX_LIBS $FONTCONFIG_LIBS $WMF_LIBS $DPS_LIBS $XEXT_LIBS $XT_LIBS $IPC_LIBS $X11_LIBS $BZLIB_LIBS $OPENEXR_LIBS $RSVG_LIBS $XML_LIBS $GVC_LIBS $ZLIB_LIBS $GDI32_LIBS $MATH_LIBS $CCMALLOC_LIBS $EFENCE_LIBS $UMEM_LIBS $GOMP_LIBS $CL_LIBS $THREAD_LIBS"
+ MAGICK_DEP_LIBS="$JBIG_LIBS $LCMS_LIBS $TIFF_LIBS $FREETYPE_LIBS $JP2_LIBS $JPEG_LIBS $GS_LIBS $LQR_LIBS $PNG_LIBS $AUTOTRACE_LIBS $DJVU_LIBS $FFTW_LIBS $FPX_LIBS $FONTCONFIG_LIBS $WEBP_LIBS $WMF_LIBS $DPS_LIBS $XEXT_LIBS $XT_LIBS $IPC_LIBS $X11_LIBS $LZMA_LIBS $BZLIB_LIBS $OPENEXR_LIBS $RSVG_LIBS $XML_LIBS $GVC_LIBS $ZLIB_LIBS $GDI32_LIBS $MATH_LIBS $CCMALLOC_LIBS $EFENCE_LIBS $UMEM_LIBS $GOMP_LIBS $CL_LIBS $THREAD_LIBS"
fi
AC_SUBST(MAGICK_DEP_LIBS)
AC_SUBST(MAGICK_PCFLAGS)
AC_SUBST(MAGICK_LDFLAGS)
AC_SUBST(MAGICK_LIBS)
+AC_SUBST(MAGICK_FEATURES)
# Set configured scripts to executable.
AC_CONFIG_COMMANDS([default],[],[])
JBIG --with-jbig=$with_jbig $have_jbig
JPEG v1 --with-jpeg=$with_jpeg $have_jpeg
JPEG-2000 --with-jp2=$with_jp2 $have_jp2
-LCMS --with-lcms=$with_lcms $have_lcms
+LCMS v1 --with-lcms=$with_lcms $have_lcms
+LCMS v2 --with-lcms2=$with_lcms2 $have_lcms2
LQR --with-lqr=$with_lqr $have_lqr
+LZMA --with-lzma=$with_lzma $have_lzma
Magick++ --with-magick-plus-plus=$with_magick_plus_plus $have_magick_plus_plus
OpenEXR --with-openexr=$with_openexr $have_openexr
PERL --with-perl=$with_perl $have_perl
PNG --with-png=$with_png $have_png
RSVG --with-rsvg=$with_rsvg $have_rsvg
TIFF --with-tiff=$with_tiff $have_tiff
+WEBP --with-webp=$with_webp $have_webp
Windows fonts --with-windows-font-dir=$with_windows_font_dir $result_windows_font_dir
WMF --with-wmf=$with_wmf $have_wmf
X11 --with-x=$with_x $have_x
LIBS = $MAGICK_LIBS
CXX = $CXX
CXXFLAGS = $CXXFLAGS
+ FEATURES = $MAGICK_FEATURES
])