]> granicus.if.org Git - imagemagick/blob - configure.ac
Always unlock the semaphore on return or error return from the PNG codec.
[imagemagick] / configure.ac
1 #  Copyright 1999-2012 ImageMagick Studio LLC, a non-profit organization
2 #  dedicated to making software imaging solutions freely available.
3 #
4 #  You may not use this file except in compliance with the License.  You may
5 #  obtain a copy of the License at
6 #
7 #    http://www.imagemagick.org/script/license.php
8 #
9 #  Unless required by applicable law or agreed to in writing, software
10 #  distributed under the License is distributed on an "AS IS" BASIS,
11 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 #  See the License for the specific language governing permissions and
13 #  limitations under the License.
14 #
15 #  Copyright (C) 2003 - 2008 GraphicsMagick Group
16
17 AC_PREREQ(2.67)
18
19 m4_define([magick_major_version], [7])
20 m4_define([magick_minor_version], [0])
21 m4_define([magick_micro_version], [0])
22 m4_define([magick_patchlevel_version], [0])
23 m4_define([magick_version],
24           [magick_major_version.magick_minor_version.magick_micro_version-magick_patchlevel_version])
25 m4_define([magick_svn_revision], esyscmd([sh -c "svnversion | sed -r 's/([0-9]+).*/\1/'"]))
26
27 AC_INIT([ImageMagick],[magick_version],[http://www.imagemagick.org],[ImageMagick])
28 AC_CONFIG_SRCDIR([MagickCore/MagickCore.h])
29 AC_CONFIG_AUX_DIR([config])
30 AC_CONFIG_MACRO_DIR([m4])
31 AC_CONFIG_LIBOBJ_DIR([ltdl])
32 AC_CONFIG_HEADERS([config/config.h])
33 AX_PREFIX_CONFIG_H([MagickCore/magick-config.h],[MagickCore])
34 AC_CONFIG_FILES([\
35     config/configure.xml \
36     config/delegates.xml \
37     config/ImageMagick.rdf \
38     config/MagickCore.dox \
39     config/MagickWand.dox \
40     config/type-dejavu.xml \
41     config/type-ghostscript.xml \
42     config/type-windows.xml \
43     config/type.xml \
44     ImageMagick.spec \
45     Magick++/bin/Magick++-config \
46     MagickCore/ImageMagick.pc \
47     Magick++/lib/ImageMagick++.pc \
48     Magick++/lib/Magick++.pc \
49     MagickCore/MagickCore-config \
50     MagickCore/MagickCore.pc \
51     MagickCore/version.h \
52     Makefile \
53     magick.sh \
54     PerlMagick/Magick.pm \
55     PerlMagick/Makefile.PL \
56     PerlMagick/check.sh \
57     utilities/animate.1 \
58     utilities/compare.1 \
59     utilities/composite.1 \
60     utilities/conjure.1 \
61     utilities/convert.1 \
62     utilities/display.1 \
63     utilities/identify.1 \
64     utilities/ImageMagick.1 \
65     utilities/import.1 \
66     utilities/mogrify.1 \
67     utilities/montage.1 \
68     utilities/stream.1 \
69     MagickWand/MagickWand-config \
70     MagickWand/MagickWand.pc ])
71
72 #
73 # Save initial user-tunable values
74 #
75 USER_LIBS=$LIBS
76 for var in CC CFLAGS CPPFLAGS CXX CXXCPP LDFLAGS LIBS ; do
77   eval isset=\${$var+set}
78     if test "$isset" = 'set'; then
79         eval val=$`echo $var`
80         DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS}'${var}=${val}' "
81     fi
82 done
83 AC_SUBST(DISTCHECK_CONFIG_FLAGS)
84
85 CONFIGURE_ARGS="$0 ${ac_configure_args}"
86 AC_SUBST(CONFIGURE_ARGS)
87
88 # Source file containing package/library versioning information.
89 . ${srcdir}/version.sh
90
91 echo "configuring ${PACKAGE_NAME} ${PACKAGE_VERSION}${PACKAGE_VERSION_ADDENDUM}"
92 AC_CANONICAL_SYSTEM
93 AC_CANONICAL_BUILD
94 AC_CANONICAL_HOST
95
96 MAGICK_TARGET_CPU=$host_cpu
97 AC_SUBST(MAGICK_TARGET_CPU)
98
99 MAGICK_TARGET_VENDOR=$host_vendor
100 AC_SUBST(MAGICK_TARGET_VENDOR)
101
102 MAGICK_TARGET_OS=$host_os
103 AC_SUBST(MAGICK_TARGET_OS)
104
105 # Substitute library versioning
106 AC_SUBST(MAGICK_LIBRARY_CURRENT)dnl
107 AC_SUBST(MAGICK_LIBRARY_REVISION)dnl
108 AC_SUBST(MAGICK_LIBRARY_AGE)dnl
109 AC_SUBST([MAGICK_LIBRARY_CURRENT_MIN],
110          [`expr $MAGICK_LIBRARY_CURRENT - $MAGICK_LIBRARY_AGE`])
111 AC_SUBST([MAGICK_LIBRARY_VERSION_INFO],
112          [$MAGICK_LIBRARY_CURRENT:$MAGICK_LIBRARY_REVISION:$MAGICK_LIBRARY_AGE])
113 AC_SUBST([MAGICK_SVN_REVISION],[magick_svn_revision])
114
115 AC_SUBST(PACKAGE_NAME)dnl
116 AC_SUBST(PACKAGE_VERSION)dnl
117 AC_SUBST(PACKAGE_PERL_VERSION)dnl
118 AC_SUBST(PACKAGE_RELEASE)dnl
119 AC_SUBST(PACKAGE_CHANGE_DATE)dnl
120 AC_SUBST(PACKAGE_LIB_VERSION)dnl
121 AC_SUBST(PACKAGE_LIB_VERSION_NUMBER)dnl
122 AC_SUBST(PACKAGE_RELEASE_DATE)dnl
123 AC_SUBST(PACKAGE_VERSION_ADDENDUM)dnl
124
125 # Ensure that make can run correctly
126 AM_SANITY_CHECK
127
128 AM_INIT_AUTOMAKE([1.11 color-tests foreign parallel-tests silent-rules subdir-objects dist-bzip2 dist-lzip dist-xz dist-zip])
129
130 # Enable support for silent build rules
131 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
132
133 MAGICK_LIB_VERSION="0x"
134 if test ${MAGICK_LIBRARY_CURRENT} -lt 10 ; then
135   MAGICK_LIB_VERSION=${MAGICK_LIB_VERSION}0
136 fi
137 MAGICK_LIB_VERSION=${MAGICK_LIB_VERSION}${MAGICK_LIBRARY_CURRENT}
138 if test ${MAGICK_LIBRARY_AGE} -lt 10 ; then
139   MAGICK_LIB_VERSION=${MAGICK_LIB_VERSION}0
140 fi
141 MAGICK_LIB_VERSION=${MAGICK_LIB_VERSION}${MAGICK_LIBRARY_AGE}
142 if test ${MAGICK_LIBRARY_REVISION} -lt 10 ; then
143   MAGICK_LIB_VERSION=${MAGICK_LIB_VERSION}0
144 fi
145 MAGICK_LIB_VERSION=${MAGICK_LIB_VERSION}${MAGICK_LIBRARY_REVISION}
146 AC_SUBST(MAGICK_LIB_VERSION)
147
148 # Definition used to define MagickLibVersionText in version.h
149 MAGICK_LIB_VERSION_TEXT="${PACKAGE_VERSION}"
150 AC_SUBST(MAGICK_LIB_VERSION_TEXT)
151
152 # Definition used to define MagickLibVersionNumber in version.h
153 MAGICK_LIB_VERSION_NUMBER="${MAGICK_LIBRARY_CURRENT},${MAGICK_LIBRARY_AGE},${MAGICK_LIBRARY_REVISION}"
154 AC_SUBST(MAGICK_LIB_VERSION_NUMBER)
155
156 # Regenerate config.status if ChangeLog or version.sh is updated.
157 AC_SUBST([CONFIG_STATUS_DEPENDENCIES],['$(top_srcdir)/version.sh'])
158
159 PERLMAINCC=$CC
160
161 MAGICK_CFLAGS=''
162 MAGICK_CPPFLAGS=$CPPFLAGS_USER
163 MAGICK_PCFLAGS=$CPPFLAGS_USER
164 MAGICK_LDFLAGS=''
165 MAGICK_LIBS=''
166 MAGICK_FEATURES=''
167
168 #
169 # Evaluate shell variable equivalents to Makefile directory variables
170 #
171 if test "x$prefix" = xNONE; then
172     prefix=$ac_default_prefix
173 fi
174 # Let make expand exec_prefix.
175 if test "x$exec_prefix" = xNONE; then
176     exec_prefix='${prefix}'
177 fi
178
179 #
180 eval "eval PREFIX_DIR=${prefix}"
181 AC_SUBST(PREFIX_DIR)
182 eval "eval EXEC_PREFIX_DIR=${exec_prefix}"
183 AC_SUBST(EXEC_PREFIX_DIR)
184 eval "eval BIN_DIR=$bindir"
185 AC_SUBST(BIN_DIR)
186 eval "eval SBIN_DIR=$sbindir"
187 AC_SUBST(SBIN_DIR)
188 eval "eval LIBEXEC_DIR=$libexecdir"
189 AC_SUBST(LIBEXEC_DIR)
190 eval "eval DATA_DIR=$datadir"
191 AC_SUBST(DATA_DIR)
192 eval "eval DOC_DIR=$datadir/doc"
193 AC_SUBST(DOC_DIR)
194 eval "eval SYSCONF_DIR=$sysconfdir"
195 AC_SUBST(SYSCONF_DIR)
196 eval "eval SHAREDSTATE_DIR=$sharedstatedir"
197 AC_SUBST(SHAREDSTATE_DIR)
198 eval "eval LOCALSTATE_DIR=$localstatedir"
199 AC_SUBST(LOCALSTATE_DIR)
200 eval "eval LIB_DIR=$libdir"
201 AC_SUBST(LIB_DIR)
202 eval "eval INCLUDE_DIR=$includedir"
203 AC_SUBST(INCLUDE_DIR)
204 eval "eval PERSISTINCLUDE_DIR=$oldincludedir"
205 AC_SUBST(PERSISTINCLUDE_DIR)
206 eval "eval INFO_DIR=$infodir"
207 AC_SUBST(INFO_DIR)
208 eval "eval MAN_DIR=$mandir"
209 AC_SUBST(MAN_DIR)
210
211 # Get full paths to source and build directories
212 srcdirfull="`cd $srcdir && pwd`"
213 builddir="`pwd`"
214
215 #
216 # Compute variables useful for running uninstalled software.
217 #
218 MAGICK_CODER_MODULE_PATH="${builddir}/coders"
219 MAGICK_CONFIGURE_SRC_PATH="${srcdirfull}/config"
220 MAGICK_CONFIGURE_BUILD_PATH="${builddir}/config"
221 MAGICK_FILTER_MODULE_PATH="${builddir}/filters"
222 DIRSEP=':'
223 case "${build_os}" in
224     mingw* )
225         MAGICK_CODER_MODULE_PATH=`$WinPathScript "${MAGICK_CODER_MODULE_PATH}" 0`
226         MAGICK_CONFIGURE_SRC_PATH=`$WinPathScript "${MAGICK_CONFIGURE_SRC_PATH}" 0`
227         MAGICK_CONFIGURE_BUILD_PATH=`$WinPathScript "${MAGICK_CONFIGURE_BUILD_PATH}" 0`
228         MAGICK_FILTER_MODULE_PATH=`$WinPathScript "${MAGICK_FILTER_MODULE_PATH}" 0`
229         DIRSEP=';'
230     ;;
231 esac
232 case "${host_os}" in
233   mingw* )
234     DIRSEP=';'
235     ;;
236 esac
237 AC_SUBST(MAGICK_CODER_MODULE_PATH)
238 AC_SUBST(MAGICK_CONFIGURE_SRC_PATH)
239 AC_SUBST(MAGICK_CONFIGURE_BUILD_PATH)
240 AC_SUBST(MAGICK_FILTER_MODULE_PATH)
241 AC_SUBST(DIRSEP)
242
243
244 #
245 # Enable OS features.
246 #
247 AC_USE_SYSTEM_EXTENSIONS
248
249 # Check for programs
250 AC_PROG_CC
251 AC_PROG_CXX
252 AC_PROG_CC_STDC
253 AC_PROG_CPP
254 AC_PROG_LD
255 AC_SUBST(LD)
256 AC_PROG_CC_C99
257 AM_PROG_CC_C_O
258 AX_CFLAGS_WARN_ALL
259 AC_PROG_INSTALL
260 AC_PROG_MAKE_SET
261 AC_PROG_LN_S
262 AM_WITH_DMALLOC
263 AX_C___ATTRIBUTE__
264 AX_GCC_ARCHFLAG([no])
265 PKG_PROG_PKG_CONFIG
266
267 #
268 # Enable run-time checking.
269 #
270 AC_ARG_ENABLE([bounds-checking],
271     [AC_HELP_STRING([--enable-bounds-checking],
272                     [enable run-time bounds-checking])],
273     [enable_bounds_checking=$enableval],
274     [enable_bounds_checking='no'])
275
276 if test "$enable_bounds_checking" = yes; then
277   AC_DEFINE([_FORTIFY_SOURCE], [2],
278     [enable run-time bounds-checking])
279 fi
280
281 #
282 # Tests for Windows
283 #
284 AC_EXEEXT
285 AC_OBJEXT
286 AX_LANG_COMPILER_MS
287
288 GDI32_LIBS=''
289 native_win32_build='no'
290 cygwin_build='no'
291 case "${host_os}" in
292     cygwin* )
293         cygwin_build='yes'
294         GDI32_LIBS='-lgdi32'
295     ;;
296     mingw* )
297         native_win32_build='yes'
298         GDI32_LIBS='-lgdi32'
299     ;;
300 esac
301 if test "${GDI32_LIBS}x" != 'x'; then
302     AC_DEFINE(WINGDI32_DELEGATE,1,Define to use the Windows GDI32 library)
303 fi
304 AC_SUBST(GDI32_LIBS)
305 AM_CONDITIONAL(WINGDI32_DELEGATE, test "${GDI32_LIBS}x" != 'x' )
306 AM_CONDITIONAL(WIN32_NATIVE_BUILD, test "${native_win32_build}" = 'yes' )
307 AM_CONDITIONAL(CYGWIN_BUILD, test "${cygwin_build}" = 'yes' )
308 AM_CONDITIONAL(USING_CL, test "x${CC}" = 'xcl.exe' )
309
310 WinPathScript="${srcdirfull}/winpath.sh"
311 AC_SUBST(WinPathScript)
312
313 #
314 # Compiler flags tweaks
315 #
316 if test "${GCC}" != "yes"; then
317     case "${host}" in
318         *-*-hpux* )
319             # aCC: HP ANSI C++ B3910B A.03.34
320             CFLAGS="${CFLAGS} -Wp,-H30000"
321             if test -n "${CXXFLAGS}"; then
322                 CXXFLAGS='-AA'
323             else
324                 CXXFLAGS="${CXXFLAGS} -AA"
325             fi
326         ;;
327         *-dec-osf5.* )
328             # Compaq alphaev68-dec-osf5.1 compiler
329             if test -n "${CXXFLAGS}"; then
330                 CXXFLAGS='-std strict_ansi -noimplicit_include'
331             else
332                 CXXFLAGS="${CXXFLAGS} -std strict_ansi -noimplicit_include"
333             fi
334   esac
335 fi
336
337 # Check for lazy-loading.
338 AC_CACHE_CHECK([for linker lazyload option],[im_cv_ld_lazyload],
339 [
340 im_cv_ld_lazyload='none'
341 case "${host}" in
342   *-*-solaris2.8 | *-*-solaris2.9 | *-*-solaris2.1? )
343     if test "$lt_cv_prog_gnu_ld" != 'yes' ; then
344        im_cv_ld_lazyload='-Wl,-zlazyload'
345     fi
346     ;;
347 esac
348 ])
349 if test "${im_cv_ld_lazyload}" != 'none' ; then
350   if test -z "${LDFLAGS}" ; then
351     LDFLAGS="${im_cv_ld_lazyload}"
352   else
353     LDFLAGS="${im_cv_ld_lazyload} ${LDFLAGS}"
354   fi
355 fi
356
357 dnl Platform-specific stuff
358 case "$host" in
359 *darwin* | *-macos10*)
360   dnl OS X universal binary support, requires --disable-dependency-tracking
361   AC_ARG_ENABLE([osx-universal-binary],
362         AC_HELP_STRING([--enable-osx-universal-binary],
363            [build universal binary on OS X [[default=no]]]),
364         [build_osxuniversal="${enableval}"], [build_osxuniversal=no])
365
366   if test "${build_osxuniversal}" != no ; then
367     if test "$enable_dependency_tracking" != no ; then
368       AC_MSG_ERROR([--enable-osx-universal-binary requires --disable-dependency-tracking.
369 Please re-run configure with these options:
370   --disable-dependency-tracking --enable-osx-universal-binary
371         ])
372     fi
373     CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch ppc -arch i386"
374     CXXFLAGS="$CXXFLAGS -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch ppc -arch i386"
375     LDFLAGS="$LDFLAGS -Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -arch ppc -arch i386"
376   fi
377   ;;
378 esac
379
380 #
381 # ARCH specific include directory
382 #
383 AC_ARG_WITH([includearch-dir],
384     [AC_HELP_STRING([--includearch-dir=DIR],
385                     [ARCH specific include directory])],
386                     [includearch_dir=$withval],
387                     [includearch_dir=$INCLUDE_DIR])
388
389 eval "eval INCLUDEARCH_DIR=$includearch_dir"
390 AC_SUBST(INCLUDEARCH_DIR)
391
392 #
393 # ARCH specific configuration directory
394 #
395 AC_ARG_WITH([sharearch-dir],
396     [AC_HELP_STRING([--sharearch-dir=DIR],
397                     [ARCH specific config directory])],
398                     [sharearch_dir=$withval],
399                     [sharearch_dir="${LIB_DIR}"])
400
401 eval "eval SHAREARCH_DIR=$sharearch_dir"
402 SHAREARCH_DIR="$sharearch_dir"
403 AC_SUBST(SHAREARCH_DIR)
404
405 #
406 # Enable support for threads
407 AC_ARG_WITH([threads],
408     [AC_HELP_STRING([--without-threads], [disable threads support])],
409     [with_threads=$withval],
410     [with_threads='yes'])
411
412 have_threads=no
413 if test "$with_threads" != 'no'; then
414     AX_PTHREAD()
415     if test "$ax_pthread_ok" = yes; then
416         have_threads=yes
417         DEF_THREAD="$PTHREAD_CFLAGS"
418         CFLAGS="$CFLAGS $DEF_THREAD"
419         CXXFLAGS="$CXXFLAGS $DEF_THREAD"
420         if test "$CC" != "$PTHREAD_CC"; then
421             AC_MSG_WARN([Replacing compiler $CC with compiler $PTHREAD_CC to support pthreads.])
422             CC="$PTHREAD_CC"
423         fi
424         AC_DEFINE(THREAD_SUPPORT,1,[Define if you have POSIX threads libraries and header files.])
425     fi
426 fi
427
428 # Enable support for OpenMP
429 if test "$have_threads" != 'yes'; then
430   ac_cv_prog_c_openmp=unsupported
431 fi
432 AC_OPENMP([C])
433 CFLAGS="$OPENMP_CFLAGS $CFLAGS"
434 MAGICK_PCFLAGS="$MAGICK_PCFLAGS $OPENMP_CFLAGS"
435 AC_SUBST(OPENMP_CFLAGS)
436 if test "$enable_openmp" != no; then
437   if test "$ac_cv_prog_c_openmp" != 'unsupported'; then
438     MAGICK_FEATURES="OpenMP $MAGICK_FEATURES"
439   fi
440 fi
441
442 # Enable support for OpenCL
443 AX_OPENCL([C])
444 CFLAGS="$CL_CFLAGS $CFLAGS"
445 LIBS="$CL_LIBS $LIBS"
446 AC_SUBST(CL_CFLAGS)
447 if test "$enable_opencl" != no; then
448   if test "X$ax_cv_check_cl_libcl" != Xno; then :
449     MAGICK_FEATURES="OpenCL $MAGICK_FEATURES"
450   fi
451 fi
452
453 ########
454 #
455 # Check for large file support
456 #
457 ########
458 AC_SYS_LARGEFILE
459 AC_FUNC_FSEEKO
460 LFS_CPPFLAGS=''
461 if test "$enable_largefile" != no; then
462     case $ac_cv_sys_file_offset_bits in
463     no)
464         # nothing to do here as the host supports LFS fine
465         ;;
466     unknown)
467         AC_MSG_CHECKING([for native large file support])
468         AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <unistd.h>
469           main () {
470           exit(!(sizeof(off_t) == 8));
471         }])],
472         [ac_cv_sys_file_offset_bits=64; AC_DEFINE(_FILE_OFFSET_BITS,64)
473          AC_MSG_NOTICE([yes])],
474         [AC_MSG_NOTICE([no])])
475         ;;
476     *)
477         LFS_CPPFLAGS="$LFS_CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
478         ;;
479     esac
480     if test "$ac_cv_sys_large_files" != 'no'; then
481         LFS_CPPFLAGS="$LFS_CPPFLAGS -D_LARGE_FILES=1"
482     fi
483     if test "$ac_cv_sys_largefile_source" != 'no'; then
484         LFS_CPPFLAGS="$LFS_CPPFLAGS -D_LARGEFILE_SOURCE=1"
485     fi
486 fi
487 AC_SUBST(LFS_CPPFLAGS)
488
489 # Configure libtool
490 AC_LIBTOOL_DLOPEN
491 LT_INIT([win32-dll])
492 LT_LANG([C++])
493 AC_SUBST(LIBTOOL_DEPS)
494
495 # Configure libltdl
496 LT_CONFIG_LTDL_DIR([ltdl])
497 LTDL_INIT([convenience nonrecursive])
498
499 # Check to see if building shared libraries
500 libtool_build_shared_libs='no'
501 if test "$enable_shared" = 'yes'; then
502     libtool_build_shared_libs='yes'
503 fi
504
505 # Check to see if building static libraries
506 libtool_build_static_libs='no'
507 if test "$enable_static" = 'yes'; then
508     libtool_build_static_libs='yes'
509 fi
510
511 AM_CONDITIONAL(WITH_SHARED_LIBS, test "${libtool_build_shared_libs}" = 'yes')
512 #
513 # Enable support for building loadable modules
514 #
515 AC_ARG_WITH([modules],
516     [AC_HELP_STRING([--with-modules],
517                     [enable building dynamically loadable modules])],
518     [with_modules=$withval],
519     [with_modules='no'])
520
521 # Only allow building loadable modules if we are building shared libraries
522 if test "$with_modules" != 'no' ; then
523     if test "$libtool_build_shared_libs" = 'no'; then
524         AC_MSG_WARN([Modules may only be built if building shared libraries is enabled.])
525         with_modules='no'
526     fi
527 fi
528 if test "$with_modules" != 'no'; then
529     AC_DEFINE(BUILD_MODULES,1,Define if coders and filters are to be built as modules.)
530 fi
531 AM_CONDITIONAL(WITH_MODULES, test "$with_modules" != 'no')
532
533 # Enable building/use of libltdl if we are building shared libraries regardless
534 # of whether modules are built or not.
535 with_ltdl='no'
536 if test "$libtool_build_shared_libs" != 'no'; then
537     with_ltdl='yes'
538 fi
539
540 AM_CONDITIONAL(WITH_LTDL, test "$with_ltdl" != 'no')
541 if test "$with_ltdl" != 'no'; then
542     AC_DEFINE(LTDL_DELEGATE,1,Define if using libltdl to support dynamically loadable modules)
543
544     # Set DLLDFLAGS
545     if test X"$enable_shared" = Xyes; then
546         DLLDFLAGS=-export-dynamic
547         AC_SUBST(DLLDFLAGS)
548     fi
549 fi
550
551 # Enable build using delegate libraries built in subdirectories rather than installed
552 # delegate libraries (bzlib fftw fpx gslib jp2 jbig jpeg lcms lzma png tiff ttf wmf xml zlib)
553 AC_ARG_ENABLE([delegate-build],
554     [AC_HELP_STRING([--enable-delegate-build],
555                     [look for delegate libraries in build directory])],
556     [enable_delegate_build=$enableval],
557     [enable_delegate_build='no'])
558
559 AC_ARG_ENABLE([deprecated],
560     [AC_HELP_STRING([--disable-deprecated],
561                     [exclude deprecated methods in MagickCore and MagickWand API's])],
562     [enable_deprecated=$enableval],
563     [enable_deprecated='no'])
564
565 if test "$enable_deprecated" = 'yes'; then
566   AC_DEFINE(EXCLUDE_DEPRECATED,1,[exclude deprecated methods in MagickCore API])
567 else
568   DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --disable-deprecated "
569 fi
570
571 # Build a version of ImageMagick which operates uninstalled.
572 # Used to build distributions located via MAGICK_HOME / executable path
573 AC_ARG_ENABLE([installed],
574     [AC_HELP_STRING([--disable-installed],
575                     [Formally install ImageMagick under PREFIX])],
576     [enable_installed=$enableval],
577     [enable_installed='yes'])
578
579 if test "$enable_installed" = 'yes'; then
580     AC_DEFINE(INSTALLED_SUPPORT,1,[ImageMagick is formally installed under prefix])
581 else
582     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --disable-installed "
583 fi
584
585 # Permit enciphering and deciphering image pixels.
586 AC_ARG_ENABLE([cipher],
587     [AC_HELP_STRING([--disable-cipher],
588                     [disable enciphering and deciphering image pixels])],
589     [enable_cipher=$enableval],
590     [enable_cipher='yes'])
591
592 if test "$enable_cipher" = 'yes'; then
593     AC_DEFINE(CIPHER_SUPPORT,1,[permit enciphering and deciphering image pixels])
594 fi
595
596 # Build a zero-configuration version of ImageMagick.
597 AC_ARG_ENABLE([zero-configuration],
598     [AC_HELP_STRING([--enable-zero-configuration],
599                     [enable self-contained, embeddable, zero-configuration ImageMagick])],
600     [enable_zero_configuration=$enableval],
601     [enable_zero_configuration='no'])
602
603 if test "$enable_zero_configuration" = 'yes'; then
604     AC_DEFINE(ZERO_CONFIGURATION_SUPPORT,1,[Build self-contained, embeddable, zero-configuration ImageMagick])
605     MAGICK_FEATURES="Zero-Configuration $MAGICK_FEATURES"
606 fi
607
608 # Build a high dynamic range version of ImageMagick.
609 AC_ARG_ENABLE([hdri],
610     [AC_HELP_STRING([--enable-hdri],
611                     [accurately represent the wide range of intensity levels found in real scenes])],
612     [enable_hdri=$enableval],
613     [enable_hdri='no'])
614
615 MAGICK_HDRI=""
616 if test "$enable_hdri" = 'yes'; then
617     MAGICK_HDRI="HDRI"
618     AC_DEFINE(HDRI_SUPPORT,1,[accurately represent the wide range of intensity levels in real scenes])
619     MAGICK_FEATURES="HDRI $MAGICK_FEATURES"
620 fi
621 AC_SUBST(MAGICK_HDRI)dnl
622
623 # Build a version of ImageMagick with assert statements.
624 AC_ARG_ENABLE([assert],
625     [AC_HELP_STRING([--disable-assert],
626                     [disable assert() statements in build])],
627     [enable_assert=$enableval],
628     [enable_assert='yes'])
629
630 if test "$enable_assert" = 'no'; then
631     AC_DEFINE(NDEBUG,1,[Turn off assert statements])
632 fi
633
634 # Don't emit "rebuild rules" for configure, Makefile.ins, etc.
635 AM_MAINTAINER_MODE
636
637 # Enable ccmalloc memory debugging support
638 AC_ARG_ENABLE([ccmalloc],
639     [AC_HELP_STRING([--enable-ccmalloc],
640                     [enable 'ccmalloc' memory debug support])],
641     [enable_ccmalloc=$enableval],
642     [enable_ccmalloc='no'])
643
644 # Enable Electric Fence memory debugging support
645 AC_ARG_ENABLE([efence],
646     [AC_HELP_STRING([--enable-efence],
647                     [enable 'efence' memory debug support])],
648     [enable_efence=$enableval],
649     [enable_efence='no'])
650
651 # Enable prof-based profiling support
652 AC_ARG_ENABLE([prof],
653     [AC_HELP_STRING([--enable-prof],
654                     [enable 'prof' profiling support])],
655     [enable_prof=$enableval],
656     [enable_prof='no'])
657
658 # Enable gprof-based profiling support
659 AC_ARG_ENABLE([gprof],
660     [AC_HELP_STRING([--enable-gprof],
661                     [enable 'gprof' profiling support])],
662     [enable_gprof=$enableval],
663     [enable_gprof='no'])
664
665 # Enable gcov-based profiling support
666 AC_ARG_ENABLE([gcov],
667     [AC_HELP_STRING([--enable-gcov],
668                     [enable 'gcov' profiling support])],
669     [enable_gcov=$enableval],
670     [enable_gcov='no'])
671
672 enable_profiling='no'
673 if test "$enable_prof" = 'yes' || test "$enable_gprof" = 'yes' || test "$enable_gcov" = 'yes'; then
674     enable_profiling='yes'
675     if test "$libtool_build_shared_libs" = 'yes'; then
676         echo "Warning: Can not profile code using shared libraries"
677     fi
678 fi
679
680 # Magick API method prefix
681 AC_ARG_WITH([method-prefix],
682     [AC_HELP_STRING([--with-method-prefix=PREFIX],
683                     [prefix MagickCore API methods])],
684     [with_method_prefix=$withval],
685     [with_method_prefix='no'])
686
687 if test "$with_method_prefix" != 'no'; then
688     AC_DEFINE_UNQUOTED(NAMESPACE_PREFIX,$with_method_prefix,[Magick API method prefix])
689     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-method-prefix "
690 fi
691
692 # Enable legacy support (default no)
693 AC_ARG_ENABLE(legacy-support,
694               [  --enable-legacy-support  install legacy command-line utilities (default disabled)],
695               [with_legacy_support=$enableval],
696               [with_legacy_support='no'])
697 AM_CONDITIONAL(LEGACY_SUPPORT, test "$with_legacy_support" != 'no')
698
699 # Number of bits in a Quantum
700 AC_ARG_WITH([quantum-depth],
701     [AC_HELP_STRING([--with-quantum-depth=DEPTH],
702                     [number of bits in a pixel quantum (default 16)])],
703     [with_quantum_depth=$withval],
704     [with_quantum_depth=16])
705
706 if test "$with_quantum_depth" != '8'; then
707     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-quantum-depth=$with_quantum_depth "
708 fi
709
710 case "${with_quantum_depth}" in
711     8 ) ;;
712     16 ) ;;
713     32 ) ;;
714     64 ) ;;
715     * ) AC_MSG_ERROR("Pixel quantum depth must have value of 8, 16, 32, or 64") ;;
716 esac
717 QUANTUM_DEPTH="$with_quantum_depth"
718 AC_DEFINE_UNQUOTED(QUANTUM_DEPTH,$QUANTUM_DEPTH,[Number of bits in a pixel Quantum (8/16/32/64)])
719 AC_SUBST(QUANTUM_DEPTH)dnl
720
721 # Set pixel cache threshold
722 AC_ARG_WITH([cache],
723     [AC_HELP_STRING([--with-cache=THRESHOLD],
724                     [set pixel cache threshhold in MB (default available memory)])],
725     [with_cache=$withval],
726     [with_cache=''])
727
728 if test "$with_cache" != ''; then
729     AC_DEFINE_UNQUOTED(PixelCacheThreshold,$with_cache,[Pixel cache threshold in MB (defaults to available memory)])
730     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-cache=$with_cache "
731 fi
732
733 # Disable/Enable support for full delegate paths
734 AC_ARG_WITH([frozenpaths],
735     [AC_HELP_STRING([--with-frozenpaths],
736                     [freeze delegate paths])],
737     [with_frozenpaths=$withval],
738     [with_frozenpaths='no'])
739
740 # Enable build/install of Magick++
741 AC_ARG_WITH([magick-plus-plus],
742     [AC_HELP_STRING([--without-magick-plus-plus],
743                     [disable build/install of Magick++])],
744     [with_magick_plus_plus=$withval],
745     [with_magick_plus_plus='yes'])
746
747 # Disable build/install of PerlMagick.
748 AC_ARG_WITH([perl],
749     [AC_HELP_STRING([--with-perl],
750                     [enable build/install of PerlMagick])],
751     [with_perl=$withval],
752     [with_perl='no'])
753
754 # Options to pass when configuring PerlMagick
755 AC_ARG_WITH([perl-options],
756     [AC_HELP_STRING([--with-perl-options=OPTIONS],
757                     [options to pass on command-line when generating PerlMagick build file])],
758 PERL_MAKE_OPTIONS=$withval)
759 AC_SUBST(PERL_MAKE_OPTIONS)
760
761 # Enable umem, object-caching memory allocation library.
762 AC_ARG_WITH(umem,
763         [  --with-umem             enable umem memory allocation library support],
764         [with_umem=$withval],
765         [with_umem='no'])
766 if test "$with_umem" != 'yes' ; then
767     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-umem=$with_umem "
768 fi
769
770 #
771 # Specify path to shared libstdc++ if not in normal location
772 #
773 AC_ARG_WITH([libstdc],
774     [AC_HELP_STRING([--with-libstdc=DIR],
775                     [ use libstdc++ in DIR (for GNU C++)])],
776     [with_libstdc=$withval],
777     [with_libstdc=''])
778
779 if test "$with_libstdc" != ''; then
780     if test -d "$with_libstdc"; then
781         LIBSTDCLDFLAGS="-L$with_libstdc"
782     fi
783 fi
784 AC_SUBST(LIBSTDCLDFLAGS)
785
786 # Does gcc required -traditional?
787 AC_PROG_GCC_TRADITIONAL
788
789 ########
790 #
791 # Set defines required to build DLLs and modules using MinGW
792 #
793 ########
794 # These options are set for multi-thread DLL module build
795 #  libMagickCore:           _DLL _MAGICKMOD_ _MAGICKLIB_
796 #  module:              _DLL
797 #  executable/Magick++: _DLL _MAGICKMOD_
798 MODULE_EXTRA_CPPFLAGS=''
799 LIBRARY_EXTRA_CPPFLAGS=''
800 if test "${native_win32_build}" = 'yes'; then
801     if test "${libtool_build_shared_libs}" = 'yes'; then
802         CPPFLAGS="$CPPFLAGS -D_DLL"
803         MAGICK_CPPFLAGS="$MAGICK_CPPFLAGS -D_DLL"
804         MAGICK_PCFLAGS="$MAGICK_PCFLAGS -D_DLL"
805         LIBRARY_EXTRA_CPPFLAGS="$LIBRARY_EXTRA_CPPFLAGS -D_MAGICKLIB_"
806         if test "$with_modules" = 'yes'; then
807             LIBRARY_EXTRA_CPPFLAGS="$LIBRARY_EXTRA_CPPFLAGS -D_MAGICKMOD_"
808         else
809             MODULE_EXTRA_CPPFLAGS="$MODULE_EXTRA_CPPFLAGS -D_MAGICKLIB_"
810         fi
811     else
812         CPPFLAGS="$CPPFLAGS -D_LIB"
813         MAGICK_CPPFLAGS="$MAGICK_CPPFLAGS -D_LIB"
814         MAGICK_PCFLAGS="$MAGICK_PCFLAGS -D_LIB"
815     fi
816     if test "$with_threads" = 'yes'; then
817          CPPFLAGS="$CPPFLAGS -D_MT"
818          MAGICK_CPPFLAGS="$MAGICK_CPPFLAGS -D_MT"
819          MAGICK_PCFLAGS="$MAGICK_PCFLAGS -D_MT"
820     fi
821 fi
822 AC_SUBST(MODULE_EXTRA_CPPFLAGS)
823 AC_SUBST(LIBRARY_EXTRA_CPPFLAGS)
824
825 # Check standard headers
826 AC_HEADER_STDC
827 if ! test x"$ac_cv_header_stdc" = x"yes"; then
828     AC_MSG_WARN([configure has detected that you do not have the ANSI standard C
829     header files.  Compilation cannot proceed.  Please install the ANSI C
830     headers and rerun this script.]);
831 fi
832 AC_HEADER_ASSERT
833 AC_HEADER_DIRENT
834
835 # Check additional headers
836 AC_CHECK_HEADERS(arm/limits.h complex.h errno.h fcntl.h limits.h linux/unistd.h locale.h machine/param.h mach-o/dyld.h OS.h process.h stdarg.h sys/ipc.h sys/resource.h sys/syslimits.h sys/time.h sys/timeb.h sys/times.h sys/wait.h wchar.h xlocale.h)
837
838 ########
839 #
840 # Checks for typedefs, structures, and compiler characteristics.
841 #
842 ########
843
844 AC_HEADER_STDBOOL
845 AC_C_VOLATILE
846 AC_C_STRINGIZE
847 AC_HEADER_STAT
848 AC_HEADER_TIME
849 AC_STRUCT_TM
850 AC_STRUCT_TIMEZONE
851 AC_SYS_INTERPRETER
852
853 # If the C compiler supports the keyword inline, do nothing. Otherwise
854 # define inline to __inline__ or __inline if it accepts one of those,
855 # otherwise define inline to be empty.
856 AC_C_INLINE
857
858 # If the C compiler supports the keyword restrict, do nothing. Otherwise
859 # define restrict to __restrict__ or __restrict if it accepts one of those,
860 # otherwise define restrict to be empty.
861 AC_C_RESTRICT
862
863 # If words are stored with the most significant byte first (like
864 # Motorola and SPARC CPUs), define `WORDS_BIGENDIAN'.
865 AC_C_BIGENDIAN
866
867 # Define to a suitable type, if standard headers do not define it.
868 AC_TYPE_INT8_T
869 AC_TYPE_INT16_T
870 AC_TYPE_INT32_T
871 AC_TYPE_INT64_T
872 AC_TYPE_INTMAX_T
873 AC_TYPE_INTPTR_T
874 AC_TYPE_LONG_DOUBLE
875 AC_TYPE_LONG_DOUBLE_WIDER
876 AC_TYPE_LONG_LONG_INT
877 AC_TYPE_MBSTATE_T
878 AC_TYPE_MODE_T
879 AC_TYPE_OFF_T
880 AC_TYPE_PID_T
881 AC_TYPE_SIZE_T
882 AC_TYPE_SSIZE_T
883 AC_TYPE_UID_T
884 AC_TYPE_UINT8_T
885 AC_TYPE_UINT16_T
886 AC_TYPE_UINT32_T
887 AC_TYPE_UINT64_T
888 AC_TYPE_UINTMAX_T
889 AC_TYPE_UINTPTR_T
890 AC_TYPE_UNSIGNED_LONG_LONG_INT
891
892 # If the C type char is unsigned, define __CHAR_UNSIGNED__, unless the
893 # C compiler predefines it.
894 AC_C_CHAR_UNSIGNED
895
896 # Obtain size of an 'signed short' and define as SIZEOF_SIGNED_SHORT
897 AC_CHECK_SIZEOF(signed short)
898
899 # Obtain size of an 'unsigned short' and define as SIZEOF_UNSIGNED_SHORT
900 AC_CHECK_SIZEOF(unsigned short)
901
902 # Obtain size of an 'signed int' and define as SIZEOF_SIGNED_INT
903 AC_CHECK_SIZEOF(signed int)
904
905 # Obtain size of an 'unsigned int' and define as SIZEOF_UNSIGNED_INT
906 AC_CHECK_SIZEOF(unsigned int)
907
908 # Obtain size of a 'signed long' and define as SIZEOF_SIGNED_LONG
909 AC_CHECK_SIZEOF(signed long)
910
911 # Obtain size of a 'unsigned long' and define as SIZEOF_UNSIGNED_LONG
912 AC_CHECK_SIZEOF(unsigned long)
913
914 # Obtain size of a 'long long' and define as SIZEOF_SIGNED_LONG_LONG.  If
915 # 'signed long long' is not supported then the value defined is zero.
916 AC_CHECK_SIZEOF(signed long long)
917
918 # Obtain size of a 'unsigned long long' and define as
919 # SIZEOF_UNSIGNED_LONG_LONG.  If 'unsigned long long' is not
920 # supported then the value defined is zero.
921 AC_CHECK_SIZEOF(unsigned long long)
922
923 # Obtain size of off_t and define as SIZEOF_OFF_T
924 AC_CHECK_SIZEOF(off_t)
925
926 # Obtain size of size_t and define as SIZEOF_SIZE_T
927 AC_CHECK_SIZEOF(size_t)
928
929 # Obtain size of ssize_t and define as SIZEOF_SSIZE_T
930 AC_CHECK_SIZEOF(ssize_t)
931
932 # Obtain size of an unsigned int pointer and define as SIZEOF_UNSIGNED_INTP
933 AC_CHECK_SIZEOF(unsigned int*)
934
935 #
936 # Compute sized types for current CPU and compiler options.
937 #
938
939 AC_MSG_CHECKING(for signed 8-bit type)
940 INT8_T='signed char'
941 AC_MSG_NOTICE($INT8_T)
942 AC_SUBST(INT8_T)
943
944 AC_MSG_CHECKING(for unsigned 8-bit type)
945 UINT8_T='unsigned char'
946 AC_MSG_NOTICE($UINT8_T)
947 AC_SUBST(UINT8_T)
948
949 AC_MSG_CHECKING(for signed 16-bit type)
950 INT16_T='signed short'
951 AC_MSG_NOTICE($INT16_T)
952 AC_SUBST(INT16_T)
953
954 AC_MSG_CHECKING(for unsigned 16-bit type)
955 UINT16_T='unsigned short'
956 AC_MSG_NOTICE($UINT16_T)
957 AC_SUBST(UINT16_T)
958
959 AC_MSG_CHECKING(for signed 32-bit type)
960 INT32_T='none'
961 INT32_F='none'
962 if test $ac_cv_sizeof_signed_int -eq 4; then
963   INT32_T='signed int'
964   INT32_F='""'
965 elif test $ac_cv_sizeof_signed_long -eq 4; then
966   INT32_T='signed long'
967   INT32_F='"l"'
968 fi
969 AC_MSG_NOTICE($INT32_T)
970 AC_SUBST(INT32_T)
971 AC_SUBST(INT32_F)
972
973 AC_MSG_CHECKING(for unsigned 32-bit type)
974 UINT32_T='none'
975 UINT32_F='none'
976 if test $ac_cv_sizeof_unsigned_int -eq 4; then
977   UINT32_T='unsigned int'
978   UINT32_F='""'
979 elif test $ac_cv_sizeof_unsigned_long -eq 4; then
980   UINT32_T='unsigned long'
981   UINT32_F='"l"'
982 fi
983 AC_MSG_NOTICE($UINT32_T)
984 AC_SUBST(UINT32_T)
985 AC_SUBST(UINT32_F)
986
987 AC_MSG_CHECKING(for signed 64-bit type)
988 INT64_T='none'
989 INT64_F='none'
990 if test $ac_cv_sizeof_signed_long -eq 8; then
991   INT64_T='signed long'
992   INT64_F='"l"'
993 elif test $ac_cv_sizeof_signed_long_long -eq 8; then
994   INT64_T='signed long long'
995   INT64_F='"ll"'
996 fi
997 case "${host_os}" in
998   mingw* )
999     INT64_F='"I64"'
1000     ;;
1001 esac
1002 AC_MSG_NOTICE($INT64_T)
1003 AC_SUBST(INT64_T)
1004 AC_SUBST(INT64_F)
1005
1006 AC_MSG_CHECKING(for unsigned 64-bit type)
1007 UINT64_T='none'
1008 UINT64_F='none'
1009 if test $ac_cv_sizeof_unsigned_long -eq 8; then
1010   UINT64_T='unsigned long'
1011   UINT64_F='"l"'
1012 elif test $ac_cv_sizeof_unsigned_long_long -eq 8; then
1013   UINT64_T='unsigned long long'
1014   UINT64_F='"ll"'
1015 fi
1016 case "${host_os}" in
1017   mingw* )
1018     UINT64_F='"I64"'
1019     ;;
1020 esac
1021 AC_MSG_NOTICE($UINT64_T)
1022 AC_SUBST(UINT64_T)
1023 AC_SUBST(UINT64_F)
1024
1025 AC_MSG_CHECKING(for unsigned maximum type)
1026 UINTMAX_T='none'
1027 UINTMAX_F='none'
1028 if test "$UINT64_T" != 'none'; then
1029   UINTMAX_T=$UINT64_T
1030   UINTMAX_F=$UINT64_F
1031 elif test "$UINT32_T" != 'none'; then
1032   UINTMAX_T=$UINT32_T
1033   UINTMAX_F=$UINT32_F
1034 fi
1035 AC_MSG_NOTICE($UINTMAX_T)
1036 AC_SUBST(UINTMAX_T)
1037 AC_SUBST(UINTMAX_F)
1038
1039 AC_MSG_CHECKING(for pointer difference type)
1040 UINTPTR_T='none'
1041 UINTPTR_F='none'
1042 if test $ac_cv_sizeof_unsigned_long -eq $ac_cv_sizeof_unsigned_intp; then
1043   UINTPTR_T='unsigned long'
1044   UINTPTR_F='"l"'
1045 elif test $ac_cv_sizeof_unsigned_long_long -eq $ac_cv_sizeof_unsigned_intp; then
1046   UINTPTR_T='unsigned long long'
1047   UINTPTR_F='"ll"'
1048 fi
1049 AC_MSG_NOTICE($UINTPTR_T)
1050 AC_SUBST(UINTPTR_T)
1051 AC_SUBST(UINTPTR_F)
1052
1053 AC_MSG_CHECKING([whether our compiler supports __func__])
1054 AC_TRY_COMPILE([],
1055  [{ const char *func = __func__; return(func != 0 ? 0 : 1); }],
1056  AC_MSG_NOTICE([yes]),
1057  AC_MSG_NOTICE([no])
1058  AC_MSG_CHECKING([whether our compiler supports __FUNCTION__])
1059  AC_TRY_COMPILE([],
1060    [{ const char *func = __FUNCTION__; return(func != 0 ? 0 : 1); }],
1061    AC_MSG_NOTICE([yes])
1062    AC_DEFINE(__func__, __FUNCTION__,
1063      [Define to appropriate substitue if compiler does not have __func__]),
1064    AC_MSG_NOTICE([no])
1065    AC_DEFINE(__func__, __FILE__,
1066      [Define to appropriate substitue if compiler does not have __func__])))
1067
1068 ########
1069 #
1070 # Check for functions
1071 #
1072 ########
1073 MAGICK_FUNC_MMAP_FILEIO
1074 AC_FUNC_CLOSEDIR_VOID
1075 AC_FUNC_MMAP
1076 AC_FUNC_FORK
1077 AC_FUNC_MEMCMP
1078 AC_FUNC_SELECT_ARGTYPES
1079 AC_FUNC_SETVBUF_REVERSED
1080 AC_TYPE_SIGNAL
1081 AC_FUNC_STRTOD
1082 AC_FUNC_STRERROR_R
1083 AC_FUNC_VPRINTF
1084
1085 #
1086 # Find math library
1087 #
1088 MATH_LIBS=''
1089 AC_CHECK_LIB(m,sqrt,MATH_LIBS="-lm",,)
1090 LIBS="$MATH_LIBS $LIBS"
1091 AC_SUBST(MATH_LIBS)
1092
1093 AC_CHECK_FUNCS([acosh asinh atanh 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 isnan j0 j1 lltostr localtime_r lstat memmove memset mkstemp munmap nanosleep newlocale _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 strrchr strcspn strdup strpbrk strspn strstr strtod strtod_l strtol strtoul symlink sysconf sigemptyset sigaction spawnvp strerror strlcat strlcpy strcasecmp strncasecmp telldir tempnam times ulltostr uselocale usleep utime vfprintf vfprintf_l vsprintf vsnprintf vsnprintf_l waitpid _wfopen _wstat])
1094
1095 #
1096 # Check for clock_gettime().
1097 #
1098 AC_SEARCH_LIBS(clock_gettime, rt,
1099 [
1100   AC_DEFINE([HAVE_CLOCK_GETTIME],[1],[Define to 1 if you have clock_gettime.])
1101   AC_MSG_CHECKING([whether clock_gettime supports CLOCK_REALTIME])
1102   AC_COMPILE_IFELSE([
1103     AC_LANG_PROGRAM(
1104       [[#include <time.h>]],
1105        [[clockid_t clockType = CLOCK_REALTIME;]])],
1106       [
1107         AC_MSG_NOTICE(yes)
1108         AC_DEFINE([HAVE_CLOCK_REALTIME],[1],
1109           [Define to 1 if clock_gettime supports CLOCK_REALTIME.])
1110       ],
1111       AC_MSG_NOTICE(no)
1112     )
1113   ],
1114   [
1115     AC_CHECK_FUNCS([gettimeofday ftime], [break])
1116   ]
1117 )
1118
1119 ########
1120 #
1121 # Check for function prototypes
1122 #
1123 ########
1124
1125 AC_CHECK_DECLS([pread, pwrite],[],[],[
1126 #include <unistd.h>])
1127
1128 AC_CHECK_DECLS([strlcpy],[],[],[
1129 #include <strings.h>])
1130
1131 AC_CHECK_DECLS([vsnprintf],[],[],[
1132 #include <stdio.h>
1133 #include <stdarg.h>])
1134
1135 ########
1136 #
1137 # C++ Support Tests (For Magick++)
1138 #
1139 ########
1140 have_magick_plus_plus='no'
1141 if test "$with_magick_plus_plus" = 'yes'; then
1142     OLIBS="$LIBS"
1143     LIBS=''
1144     AC_LANG_PUSH(C++)
1145
1146     # Full set of headers used...
1147     # algorithm cctype cerrno cmath cstdio cstdlib cstring ctime exception
1148     # functional iomanip iosfwd iostream iterator list string strstream utility
1149     AC_LANG([C++])
1150     AC_PROG_CXX
1151     AX_CXX_BOOL
1152     AX_CXX_NAMESPACES
1153     AX_CXX_NAMESPACE_STD
1154     AC_CXX_HAVE_STD_LIBS
1155     AC_OPENMP([C++])
1156     AC_LANG_POP
1157
1158     AC_MSG_CHECKING([whether C++ compiler is sufficient for Magick++])
1159     if \
1160         test $ax_cv_cxx_bool = 'yes' && \
1161         test $ax_cv_cxx_namespaces = 'yes' && \
1162         test $ac_cv_cxx_have_std_libs = 'yes' && \
1163         test $ax_cv_cxx_have_std_namespace = 'yes'; then
1164         have_magick_plus_plus='yes'
1165     else
1166         have_magick_plus_plus='no (failed tests)'
1167     fi
1168     AC_MSG_NOTICE([$have_magick_plus_plus])
1169     LIBS="$OLIBS"
1170 fi
1171 AM_CONDITIONAL(WITH_MAGICK_PLUS_PLUS, test "$have_magick_plus_plus" = 'yes')
1172
1173 # Only check for delegate libraries in subdirectories if requested.
1174 if test "$enable_delegate_build" != 'no'; then
1175     # Check for delegate sub-directories and add -I & -L options as required.
1176     # This presumes that delegates are installed as detailed in the ImageMagick
1177     # README. If delegates are installed in a standard location where the
1178     # compiler will automatically find them then these options should not be
1179     # required.
1180
1181     #
1182     # Most delegates have includes in the same directory as the library, but not all...
1183     #
1184     # Includes
1185     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 webp wmf/include xml/include zlib; do
1186         if test -d "$builddir/$dir"; then
1187             CPPFLAGS="$CPPFLAGS -I$builddir/$dir"
1188         else
1189             if test -d "$srcdirfull/$dir"; then
1190                 CPPFLAGS="$CPPFLAGS -I$srcdirfull/$dir"
1191             fi
1192         fi
1193     done
1194
1195     # Libraries
1196     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 webp wmf/src xml zlib; do
1197     if test -d "$builddir/$dir/.libs"; then
1198         LDFLAGS="$LDFLAGS -L$builddir/$dir/.libs"
1199     else
1200         if test -d "$srcdirfull/$dir/.libs"; then
1201             LDFLAGS="$LDFLAGS -L$srcdirfull/$dir/.libs"
1202         fi
1203     fi
1204     if test -d "$builddir/$dir"; then
1205         LDFLAGS="$LDFLAGS -L$builddir/$dir"
1206     else
1207         if test -d "$srcdirfull/$dir"; then
1208             LDFLAGS="$LDFLAGS -L$srcdirfull/$dir"
1209         fi
1210     fi
1211   done
1212 fi
1213
1214 # Assume that delegate headers reside under same directory as ImageMagick
1215 # installation prefix.
1216 MAGICK_CPPFLAGS="-I$INCLUDE_DIR/ImageMagick $MAGICK_CPPFLAGS"
1217
1218 #
1219 # Find the X11 RGB database
1220 #
1221 AC_CACHE_CHECK(for X11 configure files,im_cv_x_configure,
1222 [# Look for the header file in a standard set of common directories.
1223 # Check X11 before X11Rn because it is often a symlink to the current release.
1224     for ac_dir in          \
1225     /lib/usr/lib/X11       \
1226     /usr/X11/lib           \
1227     /usr/X11R4/lib         \
1228     /usr/X11R5/lib         \
1229     /usr/X11R6/lib         \
1230     /usr/X11R7/lib         \
1231     /usr/X386/lib          \
1232     /usr/XFree86/lib/X11   \
1233     /usr/athena/lib        \
1234     /usr/lib               \
1235     /usr/lib/X11           \
1236     /usr/lib/X11R4         \
1237     /usr/lib/X11R5         \
1238     /usr/lib/X11R6         \
1239     /usr/lib/X11R7         \
1240     /usr/local/X11/lib     \
1241     /usr/local/X11R4/lib   \
1242     /usr/local/X11R5/lib   \
1243     /usr/local/X11R6/lib   \
1244     /usr/local/lib         \
1245     /usr/local/lib/X11     \
1246     /usr/local/lib/X11R4   \
1247     /usr/local/lib/X11R5   \
1248     /usr/local/lib/X11R6   \
1249     /usr/local/lib/X11R7   \
1250     /usr/local/x11r5/lib   \
1251     /usr/lpp/Xamples/lib   \
1252     /usr/openwin/lib       \
1253     /usr/openwin/share/lib \
1254     /usr/unsupported/lib   \
1255     /usr/x386/lib          \
1256     ; do
1257     if test -f "$ac_dir/X11/rgb.txt"; then
1258       im_cv_x_configure="$ac_dir/X11/"
1259       break
1260     elif test -f "$ac_dir/rgb.txt"; then
1261       im_cv_x_configure="$ac_dir/"
1262       break
1263     fi
1264
1265   done])
1266 X11_CONFIGURE_PATH="$im_cv_x_configure"
1267 case "${build_os}" in
1268   mingw* )
1269     X11ConfigurePath=`$WinPathScript "$X11ConfigurePath=" 1`
1270   ;;
1271 esac
1272 AC_DEFINE_UNQUOTED(X11_CONFIGURE_PATH,"$X11ConfigurePath",Location of X11 configure files)
1273
1274 #
1275 # Find OpenMP library
1276 #
1277 GOMP_LIBS=''
1278 if test "$enable_openmp" != 'no'; then
1279   if test "${GCC}" = "yes"; then
1280     # Open64 (passes for GCC but uses different OpenMP implementation)
1281     if test "x$GOMP_LIBS" = x ; then
1282       if $CC --version 2>&1 | grep Open64 > /dev/null ; then
1283         AC_CHECK_LIB(openmp,omp_get_num_procs,GOMP_LIBS="-lopenmp",,)
1284       fi
1285     fi
1286     # GCC
1287     if test "x$GOMP_LIBS" = x ; then
1288       AC_CHECK_LIB(gomp,GOMP_parallel_start,GOMP_LIBS="-lgomp",,)
1289     fi
1290   else
1291     # Sun CC
1292     if test "x$GOMP_LIBS" = x ; then
1293       AC_CHECK_LIB(mtsk,sunw_mp_register_warn,GOMP_LIBS="-lmtsk",,)
1294     fi
1295     # AIX xlc
1296     if test "x$GOMP_LIBS" = x ; then
1297     AC_CHECK_LIB(xlsmp,_xlsmpFlush,GOMP_LIBS="-lxlsmp",,)
1298     fi
1299     # SGI IRIX 6.5 MIPSpro C/C++
1300     if test "x$GOMP_LIBS" = x ; then
1301     AC_CHECK_LIB(mp,mp_destroy,GOMP_LIBS="-lmp",,)
1302     fi
1303   fi
1304   LIBS="$GOMP_LIBS $LIBS"
1305 fi
1306 AC_SUBST(GOMP_LIBS)
1307
1308 #
1309 # Find Posix threads library
1310 #
1311 THREAD_LIBS=''
1312 if test "$with_threads" != 'no' && test "$have_threads" = 'yes'; then
1313
1314     if test "x$PTHREAD_LIBS" = "x"; then
1315     case "${host_cpu}-${host_os}" in
1316       *-freebsd*)
1317         MAGICK_CHECK_PTHREAD_LIB(c_r,PTHREAD_LIBS=-lc_r) ;;
1318     esac
1319     fi
1320
1321     for lib in pthread pthreads; do
1322         if test "x$PTHREAD_LIBS" = "x"; then
1323             MAGICK_CHECK_PTHREAD_LIB([$lib],[PTHREAD_LIBS=-l$lib])
1324         fi
1325     done
1326
1327     THREAD_LIBS="$PTHREAD_LIBS"
1328     LIBS="$LIBS $THREAD_LIBS"
1329 fi
1330 AC_SUBST(THREAD_LIBS)
1331
1332 #
1333 # Check for umem.
1334 #
1335 have_umem='no'
1336 UMEM_LIBS=''
1337 if test "$with_umem" != 'no'; then
1338   AC_MSG_CHECKING(for UMEM support )
1339   AC_MSG_NOTICE()
1340   failed=0
1341   passed=0
1342   AC_CHECK_HEADER(umem.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
1343   AC_CHECK_LIB(umem,umem_alloc,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
1344   AC_CHECK_LIB(umem,umem_free,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
1345   AC_MSG_CHECKING(if umem memory allocation library is complete)
1346   if test $passed -gt 0; then
1347     if test $failed -gt 0; then
1348       AC_MSG_NOTICE(no -- some components failed test)
1349       have_umem='no (failed tests)'
1350     else
1351       UMEM_LIBS='-lumem'
1352       LIBS="$UMEM_LIBS $LIBS"
1353       AC_DEFINE(HasUMEM,1,Define if you have umem memory allocation library)
1354       AC_MSG_NOTICE(yes)
1355       have_umem='yes'
1356     fi
1357   else
1358     AC_MSG_NOTICE(no)
1359   fi
1360 fi
1361 AM_CONDITIONAL(HasUMEM, test "$have_umem" = 'yes')
1362 AC_SUBST(UMEM_LIBS)
1363
1364 #
1365 # Add support for ccmalloc memory debugging library if requested
1366 #
1367 have_ccmalloc='no'
1368 CCMALLOC_LIBS=''
1369 if test "$enable_ccmalloc" = 'yes'; then
1370     AC_PATH_PROG(CCMALLOCDelegate,ccmalloc,)
1371     if test -n "$CCMALLOCDelegate"; then
1372         eval `grep PREFIX= $CCMALLOCDelegate | sed -e 's/PREFIX/CCMALLOC_PREFIX/'`
1373         OLIBS="$LIBS"
1374         # Assume that gcc is used with ccmalloc.
1375         LIBS="$LIBS $CCMALLOC_PREFIX/lib/ccmalloc-gcc.o"
1376        AC_CHECK_LIB(ccmalloc,ccmalloc_malloc,CCMALLOC_LIBS="$CCMALLOC_PREFIX/lib/ccmalloc-gcc.o -lccmalloc -ldl",,-ldl)
1377         if test -n "$CCMALLOC_LIBS"; then
1378             LIBS="$OLIBS"
1379             LIBS="$LIBS $CCMALLOC_LIBS"
1380             have_ccmalloc='yes'
1381         else
1382             LIBS="$OLIBS"
1383         fi
1384     fi
1385 fi
1386
1387 #
1388 # Add support for efence memory debugging library if requested
1389 #
1390 if test "$enable_efence" = 'yes'; then
1391     EFENCE_LIBS='-lefence'
1392     LIBS="$EFENCE_LIBS $LIBS"
1393 fi
1394
1395 dnl ===========================================================================
1396
1397 #
1398 # Check for BZLIB
1399 #
1400
1401 AC_ARG_WITH([bzlib],
1402     [AC_HELP_STRING([--without-bzlib],
1403                     [disable BZLIB support])],
1404     [with_bzlib=$withval],
1405     [with_bzlib='yes'])
1406
1407 if test "$with_bzlib" != 'yes'; then
1408     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-bzlib=$with_bzlib "
1409 fi
1410
1411 have_bzlib='no'
1412 if test "$with_bzlib" != 'no'; then
1413     BZLIB_LIBS=''
1414     AC_MSG_NOTICE([-------------------------------------------------------------])
1415     AC_MSG_CHECKING([for BZLIB])
1416     AC_MSG_NOTICE([])
1417     failed=0
1418     passed=0
1419     found_libbz=0
1420     AC_CHECK_HEADER(bzlib.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
1421     AC_CHECK_LIB(bz2,BZ2_bzDecompress,found_libbz=`expr $found_libbz + 1`,,)
1422     if test "$native_win32_build" = 'yes'; then
1423       AC_CHECK_LIB(bz2,_imp__BZ2_decompress,found_libbz=`expr $found_libbz + 1`,,)
1424     fi
1425     if test $found_libbz -gt 0; then
1426       passed=`expr $passed + 1`
1427     else
1428       failed=`expr $failed + 1`
1429     fi
1430     AC_MSG_CHECKING(if BZLIB package is complete)
1431     if test $passed -gt 0; then
1432       if test $failed -gt 0; then
1433         AC_MSG_NOTICE(no -- some components failed test)
1434         have_bzlib='no (failed tests)'
1435       else
1436         BZLIB_LIBS='-lbz2'
1437         LIBS="$BZLIB_LIBS $LIBS"
1438         AC_DEFINE(BZLIB_DELEGATE,1,Define if you have the bzip2 library)
1439         AC_MSG_NOTICE(yes)
1440         have_bzlib='yes'
1441       fi
1442     else
1443       AC_MSG_NOTICE(no)
1444     fi
1445 fi
1446 AM_CONDITIONAL(BZLIB_DELEGATE, test "$have_bzlib" = 'yes')
1447 AC_SUBST(BZLIB_LIBS)
1448
1449 #
1450 # Find the X11 include and library directories.
1451 #
1452 IPC_LIBS=''
1453 X11_LIBS=''
1454 XEXT_LIBS=''
1455 XT_LIBS=''
1456 AC_PATH_XTRA
1457 if test "$no_x" != 'yes'; then
1458     AC_MSG_NOTICE([-------------------------------------------------------------])
1459     AC_MSG_CHECKING([for X11])
1460     AC_MSG_NOTICE([])
1461     LDFLAGS="$LDFLAGS $X_LIBS"
1462     X11_LIBS="$X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
1463     LIBS="$X11_LIBS $LIBS"
1464     CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1465
1466     AC_DEFINE(X11_DELEGATE,1,Define if you have X11 library)dnl
1467
1468     #
1469     # Check for X11 shared memory extension
1470     #
1471     # shmctl is required to support the shared memory extension
1472     AC_CHECK_FUNC([shmctl],[have_shmctl='yes'],[])
1473     if test "$have_shmctl" != 'yes'; then
1474         PERSIST_LIBS=$LIBS
1475         LIBS="$LIBS -lcygipc"
1476         AC_TRY_LINK_FUNC([shmctl],[have_shmctl='yes'; IPC_LIBS='-lcygipc'],[])
1477         LIBS=$PERSIST_LIBS
1478     fi
1479
1480     if test "$have_shmctl" = 'yes'; then
1481         AC_CHECK_LIB([Xext],[XShmAttach],[XEXT_LIBS='-lXext' ; AC_DEFINE(HAVE_SHARED_MEMORY,1,X11 server supports shared memory extension)],[],[])
1482     fi
1483
1484     #
1485     # Check for X11 shape extension
1486     #
1487     AC_CHECK_LIB([Xext],[XShapeCombineMask],[XEXT_LIBS='-lXext' ; AC_DEFINE(HAVE_SHAPE,1,X11 server supports shape extension)],[],[])
1488     AC_CHECK_LIB(Xt,XtSetEventDispatcher,XT_LIBS='-lXt',,)
1489     LIBS="$XEXT_LIBS $XT_LIBS $LIBS"
1490 fi
1491 if test "$no_x" != 'yes'; then
1492   have_x='yes'
1493 else
1494   have_x='no'
1495 fi
1496 AM_CONDITIONAL(X11_DELEGATE, test "$have_x" = 'yes')
1497 AC_SUBST(X11_LIBS)
1498 AC_SUBST(XEXT_LIBS)
1499
1500 dnl ===========================================================================
1501
1502 #
1503 # Check for ZLIB
1504 #
1505 AC_ARG_WITH([zlib],
1506     [AC_HELP_STRING([--without-zlib],
1507                     [disable ZLIB support])],
1508     [with_zlib=$withval],
1509     [with_zlib='yes'])
1510
1511 if test "$with_zlib" != 'yes'; then
1512     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-zlib=$with_zlib "
1513 fi
1514
1515 have_zlib='no'
1516 ZLIB_LIBS=''
1517 dnl PNG requires zlib so enable zlib check if PNG is requested
1518 if test "$with_zlib" != 'no' || test "$with_png" != 'no'; then
1519     AC_MSG_NOTICE([-------------------------------------------------------------])
1520     AC_MSG_CHECKING([for ZLIB])
1521     AC_MSG_NOTICE([])
1522     ZLIB_LIBS=''
1523     failed=0
1524     passed=0
1525     AC_CHECK_HEADER(zconf.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
1526     AC_CHECK_HEADER(zlib.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
1527     AC_CHECK_LIB(z,compress,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
1528     AC_CHECK_LIB(z,uncompress,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
1529     AC_CHECK_LIB(z,deflate,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
1530     AC_CHECK_LIB(z,inflate,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
1531     AC_CHECK_LIB(z,gzseek,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
1532     AC_CHECK_LIB(z,gztell,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
1533     AC_MSG_CHECKING([if ZLIB package is complete])
1534     if test $passed -gt 0; then
1535         if test $failed -gt 0; then
1536             AC_MSG_NOTICE([no -- some components failed test])
1537             have_zlib='no (failed tests)'
1538         else
1539             ZLIB_LIBS='-lz'
1540             LIBS="$ZLIB_LIBS $LIBS"
1541             AC_DEFINE(ZLIB_DELEGATE,1,Define if you have zlib compression library)
1542             AC_MSG_NOTICE([yes])
1543             have_zlib='yes'
1544         fi
1545     else
1546         AC_MSG_NOTICE([no])
1547     fi
1548 fi
1549 AM_CONDITIONAL(ZLIB_DELEGATE, test "$have_zlib" = 'yes')
1550 AC_SUBST(ZLIB_LIBS)
1551
1552 #
1553 # If profiling, then check for -ldl and dlopen (required for Solaris & gcc)
1554 #
1555 LIB_DL=''
1556 if test "$enable_profiling" = 'yes'; then
1557     AC_CHECK_LIB(dl,dlopen,LIB_DL='-ldl',,)
1558     LIBS="$LIB_DL $LIBS"
1559 fi
1560 AC_SUBST(LIB_DL)
1561
1562 dnl ===========================================================================
1563
1564 #
1565 # Check for Autotrace delegate library.
1566 #
1567 AC_ARG_WITH([autotrace],
1568     [AC_HELP_STRING([--with-autotrace],
1569                     [enable autotrace support])],
1570         [with_autotrace=$withval],
1571         [with_autotrace='no'])
1572
1573 if test "$with_autotrace" != 'yes'; then
1574     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-autotrace=$with_autotrace "
1575 fi
1576
1577 have_autotrace='no'
1578 AUTOTRACE_CFLAGS=""
1579 AUTOTRACE_LIBS=""
1580 AUTOTRACE_PKG=""
1581 if test "x$with_autotrace" = "xyes"; then
1582     AC_MSG_NOTICE([-------------------------------------------------------------])
1583     PKG_CHECK_MODULES(AUTOTRACE,[autotrace >= 0.31.1], have_autotrace=yes, have_autotrace=no)
1584     AC_MSG_NOTICE([])
1585 fi
1586
1587 if test "$have_autotrace" = 'yes'; then
1588     failed=0
1589     AC_DEFINE(AUTOTRACE_DELEGATE,1,Define if you have AUTOTRACE library)
1590     if test "$with_modules" = 'no'; then
1591     CPPFLAGS="$AUTOTRACE_CFLAGS $CPPFLAGS"
1592     fi
1593 fi
1594
1595 AM_CONDITIONAL(AUTOTRACE_DELEGATE,test "$have_autotrace" = 'yes')
1596 AC_SUBST(AUTOTRACE_CFLAGS)
1597 AC_SUBST(AUTOTRACE_LIBS)
1598
1599 dnl ===========================================================================
1600
1601 #
1602 # Check for Display Postscript delegate library.
1603 #
1604 AC_ARG_WITH([dps],
1605     [AC_HELP_STRING([--without-dps],
1606                     [disable Display Postscript support])],
1607     [with_dps=$withval],
1608     [with_dps='yes'])
1609
1610 if test "$with_dps" != 'yes'; then
1611     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-dps=$with_dps "
1612 fi
1613
1614 have_dps='no'
1615 DPS_LIBS=''
1616 if test "$with_dps" != 'no' && test "$with_x" != 'no'; then
1617     AC_MSG_NOTICE([-------------------------------------------------------------])
1618     AC_MSG_CHECKING([for DPS])
1619     AC_MSG_NOTICE([])
1620     failed=0
1621     passed=0
1622     PERSIST_CPPFLAGS="$CPPFLAGS"
1623     CPPFLAGS="$CPPFLAGS -I${ac_x_includes}/X11"
1624     AC_CHECK_HEADER(DPS/dpsXclient.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
1625     # DPS issues:
1626     # XFree86-4.x needs -lXt to provide XtMalloc for -ldps.
1627     # Cygwin doesn't deliver -lXt as a DLL, which prevents a DLL build.
1628     # Adobe DPS (as delivered on Solaris) doesn't require -lXt.
1629     # ImageMagick itself doesn't use -lXt.
1630     have_libdps='no'
1631     LIBDPS_XT=''
1632     AC_CHECK_LIB(dps,DPSInitialize,have_libdps='yes',have_libdps='no',)
1633     if test "$have_libdps" != 'yes'; then
1634         # Unset cache variable so we can try again.
1635         unset ac_cv_lib_dps_DPSInitialize
1636         AC_CHECK_LIB(dps,DPSInitialize,have_libdps='yes',have_libdps='no',-lXt)
1637         if test "$have_libdps" = 'yes'; then
1638             LIBDPS_XT='-lXt'
1639         fi
1640     fi
1641     if test "$have_libdps" = 'yes'; then
1642         passed=`expr $passed + 1`
1643     else
1644         failed=`expr $failed + 1`
1645     fi
1646     AC_CHECK_LIB(dpstk,XDPSPixelsPerPoint,passed=`expr $passed + 1`,failed=`expr $failed + 1`,-ldps $LIBDPS_XT)
1647     AC_MSG_CHECKING([if DPS package is complete])
1648     if test $passed -gt 0; then
1649         if test $failed -gt 0; then
1650             AC_MSG_NOTICE([no -- some components failed test])
1651             have_dps='no (failed tests)'
1652             CPPFLAGS="$PERSIST_CPPFLAGS"
1653         else
1654             DPS_LIBS="-ldpstk -ldps ${LIBDPS_XT}"
1655             LIBS="$DPS_LIBS $LIBS"
1656             AC_DEFINE(DPS_DELEGATE,1,Define if you have Display Postscript)
1657             AC_MSG_NOTICE([yes])
1658             have_dps='yes'
1659         fi
1660     else
1661         AC_MSG_NOTICE([no])
1662         CPPFLAGS=$PERSIST_CPPFLAGS
1663     fi
1664 fi
1665 AM_CONDITIONAL(DPS_DELEGATE, test "$have_dps" = 'yes')
1666 AC_SUBST(DPS_LIBS)
1667
1668 dnl ===========================================================================
1669
1670 #
1671 # Check for DJVU delegate library.
1672 #
1673 AC_ARG_WITH([djvu],
1674     [AC_HELP_STRING([--without-djvu],
1675                     [disable DjVu support])],
1676     [with_djvu=$withval],
1677     [with_djvu='yes'])
1678
1679 if test "$with_djvu" != 'yes'; then
1680     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-djvu=$with_djvu "
1681 fi
1682
1683 have_djvu='no'
1684 DJVU_LIBS=''
1685 if test "$with_djvu" != 'no'; then
1686     AC_MSG_NOTICE([-------------------------------------------------------------])
1687     AC_MSG_CHECKING([for DJVU])
1688     AC_MSG_NOTICE([])
1689     failed=0
1690     passed=0
1691     AC_CHECK_HEADER(libdjvu/ddjvuapi.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
1692     AC_CHECK_LIB(djvulibre,ddjvu_context_create,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
1693     AC_MSG_CHECKING([if DJVU package is complete])
1694     if test $passed -gt 0; then
1695         if test $failed -gt 0; then
1696             AC_MSG_NOTICE([no -- some components failed test])
1697             have_djvu='no (failed tests)'
1698         else
1699             DJVU_LIBS='-ldjvulibre'
1700             LIBS="$DJVU_LIBS $LIBS"
1701             AC_DEFINE(DJVU_DELEGATE,1,Define if you have DJVU library)
1702             AC_MSG_NOTICE([yes])
1703             have_djvu='yes'
1704         fi
1705     else
1706         AC_MSG_NOTICE([no])
1707     fi
1708 fi
1709 AM_CONDITIONAL(DJVU_DELEGATE, test "$have_djvu" = 'yes')
1710 AC_SUBST(DJVU_LIBS)
1711
1712 dnl ===========================================================================
1713
1714 #
1715 # Set DejaVu font directory.
1716 #
1717 AC_ARG_WITH([dejavu-font-dir],
1718     [AC_HELP_STRING([--with-dejavu-font-dir=DIR],
1719                     [DejaVu font directory])],
1720     [with_dejavu_font_dir=$withval],
1721     [with_dejavu_font_dir='default'])
1722
1723 if test "$with_dejavu_font_dir" != 'default'; then
1724     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-dejavu-font-dir=$with_dejavu_font_dir "
1725 fi
1726
1727 dnl ===========================================================================
1728
1729 #
1730 # Check for FFTW delegate library.
1731 #
1732 AC_ARG_WITH([fftw],
1733     [AC_HELP_STRING([--without-fftw],
1734                     [disable FFTW support])],
1735     [with_fftw=$withval],
1736     [with_fftw='yes'])
1737
1738 if test "$with_fftw" != 'yes'; then
1739     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-fftw=$with_fftw "
1740 fi
1741
1742 have_fftw='no'
1743 FFTW_LIBS=''
1744 if test "$with_fftw" != 'no'; then
1745     AC_MSG_NOTICE([-------------------------------------------------------------])
1746     AC_MSG_CHECKING([for FFTW])
1747     AC_MSG_NOTICE([])
1748     failed=0
1749     passed=0
1750     AC_CHECK_HEADER(fftw3.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
1751     AC_CHECK_LIB(fftw3,fftw_execute,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
1752     AC_MSG_CHECKING([if FFTW package is complete])
1753     if test $passed -gt 0; then
1754         if test $failed -gt 0; then
1755             AC_MSG_NOTICE([no -- some components failed test])
1756             have_fftw='no (failed tests)'
1757         else
1758             FFTW_LIBS='-lfftw3'
1759             LIBS="$FFTW_LIBS $LIBS"
1760             AC_DEFINE(FFTW_DELEGATE,1,Define if you have FFTW library)
1761             AC_MSG_NOTICE([yes])
1762             have_fftw='yes'
1763         fi
1764     else
1765         AC_MSG_NOTICE([no])
1766     fi
1767 fi
1768 AM_CONDITIONAL(FFTW_DELEGATE, test "$have_fftw" = 'yes')
1769 AC_SUBST(FFTW_LIBS)
1770
1771 dnl ===========================================================================
1772
1773 #
1774 # Check for FlashPIX delegate library.
1775 #
1776 AC_ARG_WITH([fpx],
1777     [AC_HELP_STRING([--without-fpx],
1778                     [disable FlashPIX support])],
1779     [with_fpx=$withval],
1780     [with_fpx='yes'])
1781
1782 if test "$with_fpx" != 'yes'; then
1783     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-fpx=$with_fpx "
1784 fi
1785
1786 have_fpx='no'
1787 FPX_LIBS=''
1788 if test "$with_fpx" != 'no'; then
1789     AC_MSG_NOTICE([-------------------------------------------------------------])
1790     AC_MSG_CHECKING([for FlashPIX])
1791     AC_MSG_NOTICE([])
1792     failed=0
1793     passed=0
1794     AC_LANG_PUSH(C++)
1795     AC_CHECK_HEADER(fpxlib.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
1796     AC_CHECK_LIB(fpx,FPX_OpenImageByFilename,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
1797     AC_LANG_POP
1798     AC_MSG_CHECKING([if FlashPIX package is complete])
1799     if test $passed -gt 0; then
1800         if test $failed -gt 0; then
1801             AC_MSG_NOTICE([no -- some components failed test])
1802             have_fpx='no (failed tests)'
1803         else
1804             FPX_LIBS='-lfpx'
1805             AC_DEFINE(FPX_DELEGATE,1,Define if you have FlashPIX library)
1806             AC_MSG_NOTICE([yes])
1807             have_fpx='yes'
1808             PERLMAINCC="$CXX"
1809         fi
1810     else
1811         AC_MSG_NOTICE([no])
1812     fi
1813 fi
1814 AM_CONDITIONAL(FPX_DELEGATE, test "$have_fpx" = 'yes')
1815 AC_SUBST(FPX_LIBS)
1816
1817 dnl ===========================================================================
1818
1819 #
1820 # Check for fontconfig delegate library.
1821 #
1822 AC_ARG_WITH([fontconfig],
1823     [AC_HELP_STRING([--without-fontconfig],
1824                     [disable fontconfig support])],
1825         [with_fontconfig=$withval],
1826         [with_fontconfig='yes'])
1827
1828 if test "$with_fontconfig" != 'yes'; then
1829     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-fontconfig=$with_fontconfig "
1830 fi
1831
1832 have_fontconfig='no'
1833 FONTCONFIG_CFLAGS=""
1834 FONTCONFIG_LIBS=""
1835 FONTCONFIG_PKG=""
1836 if test "x$with_fontconfig" = "xyes"; then
1837     AC_MSG_NOTICE([-------------------------------------------------------------])
1838     PKG_CHECK_MODULES(FONTCONFIG,[fontconfig >= 2.1.0], have_fontconfig=yes, have_fontconfig=no)
1839     AC_MSG_NOTICE([])
1840 fi
1841
1842 if test "$have_fontconfig" = 'yes'; then
1843   AC_DEFINE(FONTCONFIG_DELEGATE,1,Define if you have FONTCONFIG library)
1844   if test "$with_modules" = 'no'; then
1845     CPPFLAGS="$FONTCONFIG_CFLAGS $CPPFLAGS"
1846   fi
1847 fi
1848
1849 AM_CONDITIONAL(FONTCONFIG_DELEGATE,test "$have_fontconfig" = 'yes')
1850 AC_SUBST(FONTCONFIG_CFLAGS)
1851 AC_SUBST(FONTCONFIG_LIBS)
1852
1853 dnl ===========================================================================
1854
1855 #
1856 # Check for freetype delegate library.
1857 #
1858 AC_ARG_WITH([freetype],
1859     [AC_HELP_STRING([--without-freetype],
1860                     [disable Freetype support])],
1861     [with_freetype=$withval],
1862     [with_freetype='yes'])
1863
1864
1865 if test "$with_freetype" != 'yes'; then
1866     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-freetype=$with_freetype "
1867 fi
1868
1869 have_freetype='no'
1870 FREETYPE_LIBS=''
1871 if test "$with_freetype" != 'no'; then
1872     AC_MSG_NOTICE([-------------------------------------------------------------])
1873     AC_MSG_CHECKING(for FreeType 2.0 )
1874     AC_MSG_NOTICE()
1875     failed=0
1876     passed=0
1877     PERSIST_LDFLAGS="$LDFLAGS"
1878     PERSIST_CPPFLAGS="$CPPFLAGS"
1879     freetype_config=''
1880     # Allow the user to specify the location of freetype.
1881     if test "$with_freetype" != 'yes'; then
1882       if test -x "${with_freetype}/bin/freetype-config"; then
1883         freetype_config="${with_freetype}/bin/freetype-config"
1884       elif test -x "${with_freetype}"; then
1885         freetype_config=${with_freetype}
1886       fi
1887     fi
1888     if test -z "$freetype_config"; then
1889       AC_PATH_PROG(freetype_config,freetype-config,)dnl
1890     fi
1891     if test -n "$freetype_config"; then
1892       freetype_prefix=`${freetype_config} --prefix`
1893       freetype_exec_prefix=`${freetype_config} --exec-prefix`
1894       LDFLAGS="$LDFLAGS -L${freetype_exec_prefix}/lib"
1895       CPPFLAGS="$CPPFLAGS -I${freetype_prefix}/include/freetype2"
1896     fi
1897
1898 dnl First see if there is a library
1899     if test "$FREETYPE_LIBS" = ''; then
1900       AC_CHECK_LIB(freetype,FT_Init_FreeType,FREETYPE_LIBS='-lfreetype',,)
1901       if test "$FREETYPE_LIBS" != ''; then
1902         passed=`expr $passed + 1`
1903       else
1904         failed=`expr $failed + 1`
1905         LDFLAGS="$PERSIST_LDFLAGS"
1906       fi
1907     fi
1908
1909 dnl Now test for the headers
1910     AC_CHECK_HEADER([ft2build.h],[FT2BUILD_H='#include <ft2build.h>'],[ft2build=''],[])
1911     AC_CHECK_HEADER(freetype/freetype.h,[have_freetype_h='yes'],[have_freetype_h='no'],[$FT2BUILD_H])
1912     if test "$have_freetype_h" = 'yes'; then
1913       passed=`expr $passed + 1`
1914     else
1915       failed=`expr $failed + 1`
1916       CPPFLAGS="$PERSIST_CPPFLAGS"
1917     fi
1918
1919     AC_MSG_CHECKING(if FreeType package is complete)
1920     if test $passed -gt 0; then
1921       if test $failed -gt 0; then
1922         FREETYPE_LIBS=''
1923         AC_MSG_NOTICE(no -- some components failed test)
1924         have_freetype='no (failed tests)'
1925       else
1926         LIBS="$FREETYPE_LIBS $LIBS"
1927         AC_DEFINE(FREETYPE_DELEGATE,1,Define if you have FreeType (TrueType font) library)
1928         if test "$ac_cv_header_ft2build_h" = 'yes'; then
1929           AC_DEFINE([HAVE_FT2BUILD_H],[1],[Define to 1 if you have the <ft2build.h> header file.])
1930         fi
1931         AC_MSG_NOTICE(yes)
1932         have_freetype='yes'
1933       fi
1934     else
1935       AC_MSG_NOTICE(no)
1936     fi
1937 fi
1938 AM_CONDITIONAL(FREETYPE_DELEGATE, test "$have_freetype" = 'yes')
1939 AC_SUBST(FREETYPE_LIBS)
1940
1941 dnl ===========================================================================
1942
1943 #
1944 # Check for Ghostscript library or framework.
1945 #
1946 # Test for iapi.h & test for gsapi_new_instance in -lgs
1947 # or -framework Ghostscript
1948
1949 AC_ARG_WITH([gslib],
1950     [AC_HELP_STRING([--without-gslib],
1951                     [enable Ghostscript library support])],
1952     [with_gslib=$withval],
1953     [with_gslib='no'])
1954
1955 gslib_framework='no'
1956 if test "$with_gslib" != 'yes'; then
1957     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-gslib=$with_gslib "
1958 fi
1959
1960 have_gslib='no'
1961 GS_LIBS=''
1962 if test "$with_gslib" != 'no'; then
1963     AC_MSG_NOTICE([-------------------------------------------------------------])
1964     AC_MSG_CHECKING([for Ghostscript])
1965     AC_MSG_NOTICE([])
1966     framework=0
1967     failed=0
1968     passed=0
1969     AC_CHECK_HEADER(ghostscript/iapi.h,passed=`expr $passed + 1`,
1970         failed=`expr $failed + 1`,)
1971     AC_CHECK_HEADER(ghostscript/ierrors.h,passed=`expr $passed + 1`,
1972         failed=`expr $failed + 1`,)
1973     AC_CHECK_FRAMEWORK(Ghostscript,gsapi_new_instance,framework=`expr $framework + 1`,
1974     AC_CHECK_LIB(gs,gsapi_new_instance,passed=`expr $passed + 1`,failed=`expr $failed + 1`,),)
1975     AC_MSG_CHECKING([if Ghostscript package is complete])
1976     if test $passed -gt 0; then
1977         if test $failed -gt 0; then
1978             AC_MSG_NOTICE([no -- some components failed test])
1979             have_gslib='no (failed tests)'
1980         else
1981             if test $framework -gt 0; then
1982                 GS_LIBS='-framework Ghostscript'
1983                 gslib_framework='yes'
1984                 AC_MSG_NOTICE([yes, using framework.])
1985             else
1986                 AC_MSG_NOTICE([yes, using library.])
1987                 GS_LIBS='-lgs'
1988             fi
1989             LIBS="$GS_LIBS $LIBS"
1990             AC_DEFINE(GS_DELEGATE,1,Define if you have Ghostscript library or framework)
1991             have_gslib='yes'
1992         fi
1993     else
1994         AC_MSG_NOTICE([no])
1995     fi
1996 fi
1997 AM_CONDITIONAL(GS_DELEGATE, test "$have_gslib" = 'yes')
1998 AC_SUBST(GS_LIBS)
1999
2000 # Set default font search path
2001 AC_ARG_WITH([fontpath],
2002     [AC_HELP_STRING([--with-fontpath=DIR],
2003                     [prepend to default font search path])],
2004     [with_fontpath=$withval],
2005     [with_fontpath=''])
2006
2007 if test "$with_fontpath" != "yes" && test -z "$with_fontpath"; then
2008     with_fontpath=''
2009 else
2010     AC_DEFINE_UNQUOTED(MAGICK_FONT_PATH,"$with_fontpath",Define to prepend to default font search path.)
2011 fi
2012 if test "$with_fontpath=" != ''; then
2013     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-fontpath=$with_fontpath "
2014 fi
2015
2016 # Set Ghostscript font directory
2017 AC_ARG_WITH([gs-font-dir],
2018     [AC_HELP_STRING([--with-gs-font-dir=DIR],
2019                     [Ghostscript font directory])],
2020     [with_gs_font_dir=$withval],
2021     [with_gs_font_dir='default'])
2022
2023 if test "$with_gs_font_dir" != 'default'; then
2024     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-gs-font-dir=$with_gs_font_dir "
2025 fi
2026
2027 dnl ===========================================================================
2028
2029 #
2030 # Check for GVC delegate library.
2031 #
2032 AC_ARG_WITH(gvc,
2033     [AC_HELP_STRING([--without-gvc],
2034                     [disable GVC support])],
2035     [with_gvc=$withval],
2036     [with_gvc='yes'])
2037
2038 if test "$with_gvc" != 'yes'; then
2039     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-gvc=$with_gvc "
2040 fi
2041
2042 GVC_PKG=""
2043 if test "x$with_gvc" = "xyes"; then
2044     AC_MSG_NOTICE([-------------------------------------------------------------])
2045     PKG_CHECK_MODULES(GVC,[libgvc >= 2.9.0], have_gvc=yes, have_gvc=no)
2046     AC_MSG_NOTICE([])
2047 fi
2048
2049 if test "$have_gvc" = 'yes'; then
2050     AC_DEFINE(GVC_DELEGATE,1,Define if you have GVC library)
2051     if test "$with_modules" = 'no'; then
2052         CPPFLAGS="$GVC_CFLAGS $CPPFLAGS"
2053     fi
2054 fi
2055
2056 AM_CONDITIONAL(GVC_DELEGATE, test "$have_gvc" = 'yes')
2057 AC_SUBST(GVC_CFLAGS)
2058 AC_SUBST(GVC_LIBS)
2059
2060 dnl ===========================================================================
2061
2062 #
2063 # Check for JBIG delegate library.
2064 #
2065
2066 AC_ARG_WITH([jbig],
2067     [AC_HELP_STRING([--without-jbig],
2068                     [disable JBIG support])],
2069     [with_jbig=$withval],
2070     [with_jbig='yes'])
2071
2072 have_jbig='no'
2073 JBIG_LIBS=''
2074 if test "$with_jbig" != 'no'; then
2075     AC_MSG_NOTICE([-------------------------------------------------------------])
2076     AC_MSG_CHECKING([for JBIG])
2077     AC_MSG_NOTICE([])
2078     failed=0
2079     passed=0
2080     AC_CHECK_HEADER(jbig.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
2081     AC_CHECK_LIB(jbig,jbg_dec_init,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
2082     AC_MSG_CHECKING([if JBIG package is complete])
2083     if test $passed -gt 0; then
2084         if test $failed -gt 0; then
2085             AC_MSG_NOTICE([no -- some components failed test])
2086             have_jbig='no (failed tests)'
2087         else
2088             JBIG_LIBS='-ljbig'
2089             LIBS="$JBIG_LIBS $LIBS"
2090             AC_DEFINE(JBIG_DELEGATE,1,Define if you have JBIG library)
2091             AC_MSG_NOTICE([yes])
2092             have_jbig='yes'
2093         fi
2094     else
2095         AC_MSG_NOTICE([no])
2096     fi
2097 fi
2098 AM_CONDITIONAL(JBIG_DELEGATE, test "$have_jbig" = 'yes')
2099 AC_SUBST(JBIG_LIBS)
2100
2101 dnl ===========================================================================
2102
2103 #
2104 # Check for JPEG delegate library.
2105 #
2106 AC_ARG_WITH([jpeg],
2107     [AC_HELP_STRING([--without-jpeg],
2108                     [disable JPEG support])],
2109     [with_jpeg=$withval],
2110     [with_jpeg='yes'])
2111
2112 if test "$with_jpeg" != 'yes'; then
2113     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-jpeg=$with_jpeg "
2114 fi
2115
2116 have_jpeg='no'
2117 JPEG_LIBS=''
2118 if test "$with_jpeg" != 'no'; then
2119     AC_MSG_NOTICE([-------------------------------------------------------------])
2120     AC_MSG_CHECKING([for JPEG])
2121     AC_MSG_NOTICE([])
2122     failed=0
2123     passed=0
2124     AC_CHECK_HEADER(jconfig.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
2125     AC_CHECK_HEADER(jerror.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
2126     AC_CHECK_HEADER(jmorecfg.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
2127     AC_CHECK_HEADER(jpeglib.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
2128     AC_CHECK_LIB(jpeg,jpeg_read_header,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
2129
2130 # Test for compatible JPEG library
2131 if test "$ac_cv_jpeg_version_ok" != 'yes'; then
2132 AC_CACHE_CHECK(for JPEG library is version 6b or later, ac_cv_jpeg_version_ok,
2133 [AC_TRY_COMPILE(
2134 #include <stdio.h>
2135 #include <stdlib.h>
2136 #include <jpeglib.h>
2137 ,
2138 changequote(<<, >>)dnl
2139 <<
2140 #if JPEG_LIB_VERSION < 62
2141 #error IJG JPEG library must be version 6b or newer!
2142 #endif
2143 return 0;
2144 >>,
2145 changequote([, ])dnl
2146 ac_cv_jpeg_version_ok='yes'; passed=`expr $passed + 1`,
2147 ac_cv_jpeg_version_ok='no'; failed=`expr $failed + 1`)])
2148 fi
2149     AC_MSG_CHECKING([if JPEG package is complete])
2150     if test $passed -gt 0; then
2151         if test $failed -gt 0; then
2152             AC_MSG_NOTICE([no -- some components failed test])
2153             have_jpeg='no (failed tests)'
2154         else
2155             JPEG_LIBS='-ljpeg'
2156             LIBS="$JPEG_LIBS $LIBS"
2157             AC_DEFINE(JPEG_DELEGATE,1,Define if you have JPEG library)
2158             AC_MSG_NOTICE([yes])
2159             have_jpeg='yes'
2160         fi
2161     else
2162         AC_MSG_NOTICE([no])
2163     fi
2164 fi
2165 AM_CONDITIONAL(JPEG_DELEGATE, test "$have_jpeg" = 'yes')
2166 AC_SUBST(JPEG_LIBS)
2167
2168 dnl ===========================================================================
2169
2170 #
2171 # Check for JPEG Version 2 delegate library.
2172 #
2173 AC_ARG_WITH([jp2],
2174     [AC_HELP_STRING([--without-jp2],
2175                     [disable JPEG-2000 support])],
2176     [with_jp2=$withval],
2177     [with_jp2='yes'])
2178
2179 if test "$with_jp2" != 'yes'; then
2180     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-jp2=$with_jp2 "
2181 fi
2182
2183 have_jp2='no'
2184 JP2_LIBS=''
2185 if test "$with_jp2" != 'no'; then
2186     AC_MSG_NOTICE([-------------------------------------------------------------])
2187     AC_MSG_CHECKING([for JPEG Version 2])
2188     AC_MSG_NOTICE([])
2189     failed=0
2190     passed=0
2191     AC_CHECK_HEADER(jasper/jasper.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
2192     AC_CHECK_LIB(jasper,jas_stream_fopen,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
2193     AC_MSG_CHECKING([if JPEG version 2 support package is complete])
2194     if test $passed -gt 0; then
2195         if test $failed -gt 0; then
2196             AC_MSG_NOTICE([no -- some components failed test])
2197             have_jp2='no (failed tests)'
2198         else
2199             JP2_LIBS='-ljasper'
2200             LIBS="$JP2_LIBS $LIBS"
2201             AC_DEFINE(JP2_DELEGATE,1,Define if you have JPEG version 2 "Jasper" library)
2202             AC_MSG_NOTICE([yes])
2203             have_jp2='yes'
2204         fi
2205     else
2206         AC_MSG_NOTICE([no])
2207     fi
2208 fi
2209 AM_CONDITIONAL(JP2_DELEGATE, test "$have_jp2" = 'yes')
2210 AC_SUBST(JP2_LIBS)
2211
2212 dnl ===========================================================================
2213
2214 #
2215 # Check for LCMS delegate library.
2216 #
2217 # Disable LCMS.
2218 AC_ARG_WITH(lcms,
2219         [  --without-lcms          disable lcms (v1.1X) support],
2220         [with_lcms=$withval],
2221         [with_lcms='yes'])
2222 if test "$with_lcms" != 'yes' ; then
2223     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-lcms=$with_lcms "
2224 fi
2225
2226 # Disable LCMS2.
2227 AC_ARG_WITH(lcms2,
2228         [  --without-lcms2         disable lcms (v2.X) support],
2229         [with_lcms2=$withval],
2230         [with_lcms2='yes'])
2231 if test "$with_lcms2" != 'yes' ; then
2232     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-lcms2=$with_lcms2 "
2233 fi
2234
2235 have_lcms2='no'
2236 LCMS_LIBS=''
2237 if test "$with_lcms2" != 'no'; then
2238     AC_MSG_NOTICE([-------------------------------------------------------------])
2239     AC_MSG_CHECKING([for LCMS v2])
2240     AC_MSG_NOTICE()
2241     failed=0
2242     passed=0
2243     have_lcms_header='no'
2244
2245     # Check for <lcms2.h>
2246     AC_CHECK_HEADER(lcms2.h,have_lcms_header='yes',,)
2247     if test "$have_lcms_header" = 'yes'; then
2248        AC_DEFINE(HAVE_LCMS2_H,1,Define if you have the <lcms2.h> header file.)
2249        passed=`expr $passed + 1`
2250     fi
2251
2252     # Check for <lcms2/lcms2.h)
2253     if test "$have_lcms_header" != 'yes'; then
2254       AC_CHECK_HEADER(lcms2/lcms2.h,have_lcms_header='yes',,)
2255       if test "$have_lcms_header" = 'yes'; then
2256         passed=`expr $passed + 1`
2257         AC_DEFINE(HAVE_LCMS2_LCMS2_H,1,Define if you have the <lcms2/lcms2.h> header file.)
2258       fi
2259     fi
2260
2261     # Failed to find lcms header?
2262     if test "$have_lcms_header" != 'yes'; then
2263       failed=`expr $failed + 1`
2264     fi
2265
2266     AC_CHECK_LIB(lcms2,cmsSetLogErrorHandler,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
2267     AC_MSG_CHECKING(if LCMS v2 package is complete)
2268     if test $passed -gt 0; then
2269       if test $failed -gt 0; then
2270         AC_MSG_NOTICE(no -- some components failed test)
2271         have_lcms2='no (failed tests)'
2272       else
2273         LCMS_LIBS='-llcms2'
2274         LIBS="$LCMS_LIBS $LIBS"
2275         AC_MSG_NOTICE(yes)
2276         have_lcms2='yes'
2277       fi
2278     else
2279       AC_MSG_NOTICE(no)
2280     fi
2281 fi
2282
2283 #
2284 # Check for LCMS v1 (1.11 or later)
2285 #
2286 if test $have_lcms2 = 'yes'; then
2287   with_lcms='no'
2288 fi
2289
2290 have_lcms='no'
2291 if test "$with_lcms" != 'no'; then
2292     AC_MSG_NOTICE([-------------------------------------------------------------])
2293     AC_MSG_CHECKING([for LCMS v1.1X])
2294     AC_MSG_NOTICE()
2295     failed=0
2296     passed=0
2297     have_lcms_header='no'
2298
2299     # Check for <lcms.h>
2300     if test "$have_lcms_header" != 'yes'; then
2301       AC_CHECK_HEADER(lcms.h,have_lcms_header='yes',,)
2302       if test "$have_lcms_header" = 'yes'; then
2303         passed=`expr $passed + 1`
2304         AC_DEFINE(HAVE_LCMS_H,1,Define if you have the <lcms.h> header file.)
2305       fi
2306     fi
2307
2308     # Check for <lcms/lcms.h>
2309     if test "$have_lcms_header" != 'yes'; then
2310       AC_CHECK_HEADER(lcms/lcms.h,have_lcms_header='yes',,)
2311       if test "$have_lcms_header" = 'yes'; then
2312         passed=`expr $passed + 1`
2313         AC_DEFINE(HAVE_LCMS_LCMS_H,1,Define if you have the <lcms/lcms.h> header file.)
2314       fi
2315     fi
2316
2317     # Failed to find lcms header?
2318     if test "$have_lcms_header" != 'yes'; then
2319       failed=`expr $failed + 1`
2320     fi
2321
2322     AC_CHECK_LIB(lcms,cmsSetErrorHandler,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
2323     AC_MSG_CHECKING(if LCMS package is complete)
2324     if test $passed -gt 0; then
2325       if test $failed -gt 0; then
2326         AC_MSG_NOTICE(no -- some components failed test)
2327         have_lcms='no (failed tests)'
2328       else
2329         LCMS_LIBS='-llcms'
2330         LIBS="$LCMS_LIBS $LIBS"
2331         AC_MSG_NOTICE(yes)
2332         have_lcms='yes'
2333       fi
2334     else
2335       AC_MSG_NOTICE(no)
2336     fi
2337 fi
2338
2339 AM_CONDITIONAL(LCMS_DELEGATE, test "$have_lcms2" = 'yes' -o "$have_lcms" = 'yes')
2340 if test "$have_lcms2" = 'yes' -o "$have_lcms" = 'yes'; then
2341   AC_DEFINE(LCMS_DELEGATE,1,[Define if you have LCMS (v1.11 or later) library])
2342 fi
2343 AC_SUBST(LCMS_LIBS)
2344
2345
2346 dnl ===========================================================================
2347
2348 #
2349 # Check for the LQR (Liquid Rescale) delegate library.
2350 #
2351 AC_ARG_WITH([lqr],
2352     [AC_HELP_STRING([--without-lqr],
2353                     [disable Liquid Rescale support])],
2354     [with_lqr=$withval],
2355     [with_lqr='yes'])
2356
2357 if test "$with_lqr" != 'yes'; then
2358     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-lqr=$with_lqr "
2359 fi
2360
2361 have_lqr='no'
2362 LQR_CFLAGS=""
2363 LQR_LIBS=""
2364 LQR_PKG=""
2365 if test "x$with_lqr" = "xyes"; then
2366     AC_MSG_NOTICE([-------------------------------------------------------------])
2367     PKG_CHECK_MODULES(LQR,[lqr-1 >= 0.1.0], have_lqr=yes, have_lqr=no)
2368     AC_MSG_NOTICE([])
2369 fi
2370
2371 if test "$have_lqr" = 'yes'; then
2372     AC_DEFINE(LQR_DELEGATE,1,Define if you have LQR library)
2373     CFLAGS="$LQR_CFLAGS $CFLAGS"
2374 fi
2375
2376 AM_CONDITIONAL(LQR_DELEGATE, test "$have_lqr" = 'yes')
2377 AC_SUBST(LQR_CFLAGS)
2378 AC_SUBST(LQR_LIBS)
2379
2380 dnl ===========================================================================
2381
2382 # Disable LZMA (lzma library)
2383 AC_ARG_WITH(lzma,
2384               [  --without-lzma          disable LZMA support],
2385               [with_lzma=$withval],
2386               [with_lzma='yes'])
2387 if test "$with_lzma" != 'yes' ; then
2388     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-lzma=$with_lzma "
2389 fi
2390
2391 LZMA_PKG=""
2392 if test "x$with_lzma" = "xyes"; then
2393     AC_MSG_NOTICE([-------------------------------------------------------------])
2394     PKG_CHECK_MODULES(LZMA,[liblzma >= 2.9.0], have_lzma=yes, have_lzma=no)
2395     AC_MSG_NOTICE([])
2396 fi
2397
2398 if test "$have_lzma" = 'yes'; then
2399     AC_DEFINE(LZMA_DELEGATE,1,Define if you have LZMA library)
2400     if test "$with_modules" = 'no'; then
2401         CPPFLAGS="$LZMA_CFLAGS $CPPFLAGS"
2402     fi
2403 fi
2404
2405 AM_CONDITIONAL(LZMA_DELEGATE, test "$have_lzma" = 'yes')
2406 AC_SUBST(LZMA_CFLAGS)
2407 AC_SUBST(LZMA_LIBS)
2408
2409 dnl ===========================================================================
2410
2411 #
2412 # Check for the OpenEXR delegate library.
2413 #
2414 AC_ARG_WITH([openexr],
2415     [AC_HELP_STRING([--without-openexr],
2416                     [disable OpenEXR support])],
2417     [with_openexr=$withval],
2418     [with_openexr='yes'])
2419
2420 if test "$with_openexr" != 'yes'; then
2421     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-openexr=$with_openexr "
2422 fi
2423
2424 have_openexr='no'
2425 OPENEXR_CFLAGS=""
2426 OPENEXR_LIBS=""
2427 OPENEXR_PKG=""
2428 if test "x$with_openexr" = "xyes"; then
2429     AC_MSG_NOTICE([-------------------------------------------------------------])
2430     PKG_CHECK_MODULES(OPENEXR,[OpenEXR >= 1.0.6], have_openexr=yes, have_openexr=no)
2431     AC_MSG_NOTICE([])
2432 fi
2433
2434 if test "$have_openexr" = 'yes'; then
2435     AC_DEFINE(OPENEXR_DELEGATE,1,Define if you have OPENEXR library)
2436     if test "$with_modules" = 'no'; then
2437         CFLAGS="$OPENEXR_CFLAGS $CFLAGS"
2438     fi
2439 fi
2440
2441 AM_CONDITIONAL(OPENEXR_DELEGATE, test "$have_openexr" = 'yes')
2442 AC_SUBST(OPENEXR_CFLAGS)
2443 AC_SUBST(OPENEXR_LIBS)
2444
2445 dnl ===========================================================================
2446
2447 #
2448 # Check for PANGO delegate library.
2449 #
2450 AC_ARG_WITH([pango],
2451     [AC_HELP_STRING([--without-pango],
2452                     [disable PANGO support])],
2453     [with_pango=$withval],
2454     [with_pango='yes'])
2455
2456 if test "$with_pango" != 'yes'; then
2457     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-pango=$with_pango "
2458 fi
2459
2460 have_pango='no'
2461 have_pangocairo='no'
2462 PANGO_CFLAGS=""
2463 PANGO_LIBS=""
2464 PANGO_PKG=""
2465 if test "x$with_pango" = "xyes"; then
2466     AC_MSG_RESULT([-------------------------------------------------------------])
2467     PKG_CHECK_MODULES(PANGO, [pangocairo >= 1.28.1], have_pangocairo=yes, have_pangocairo=no)
2468     AC_MSG_RESULT([])
2469     PKG_CHECK_MODULES(PANGO, [pango >= 1.28.1], have_pango=yes, have_pango=no)
2470     AC_MSG_RESULT([])
2471 fi
2472
2473 if test "$have_pango" = 'yes'; then
2474     AC_DEFINE(PANGO_DELEGATE,1,Define if you have PANGO library)
2475     if test "$with_modules" = 'no'; then
2476         CPPFLAGS="$PANGO_CFLAGS $CPPFLAGS"
2477     fi
2478 fi
2479
2480 if test "$have_pangocairo" = 'yes'; then
2481     AC_DEFINE(PANGOCAIRO_DELEGATE,1,Define if you have PANGOCAIRO library)
2482     if test "$with_modules" = 'no'; then
2483         CPPFLAGS="$PANGOCAIRO_CFLAGS $CPPFLAGS"
2484     fi
2485 fi
2486
2487 AM_CONDITIONAL(PANGO_DELEGATE, test "$have_pango" = 'yes')
2488 AM_CONDITIONAL(PANGOCAIRO_DELEGATE, test "$have_pangocairo" = 'yes')
2489 AC_SUBST(PANGO_CFLAGS)
2490 AC_SUBST(PANGO_LIBS)
2491
2492 dnl ===========================================================================
2493
2494 #
2495 # Check for PNG delegate library.
2496 #
2497 AC_ARG_WITH(png,
2498     [AC_HELP_STRING([--without-png],
2499                     [disable PNG support])],
2500     [with_png=$withval],
2501     [with_png='yes'])
2502
2503 if test "$with_png" != 'yes'; then
2504     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-png=$with_png "
2505 fi
2506
2507 have_png='no'
2508 PNG_LIBS=''
2509
2510 if test "$with_png" != 'no' -a  "$have_zlib" != 'no' ; then
2511   AC_MSG_NOTICE([-------------------------------------------------------------])
2512   AC_MSG_CHECKING(for PNG support )
2513   AC_MSG_NOTICE()
2514   failed=0
2515   passed=0
2516   AC_CHECK_HEADER(png.h,passed=`expr $passed + 1`,
2517      failed=`expr $failed + 1`,)
2518
2519   if test $passed -gt 0; then
2520     for var in 5 4 2 '' ; do
2521       if test "$have_png" = 'no' ; then
2522         if test "x${var}" = 'x' ; then
2523           pnglib='png'
2524         else
2525           pnglib="png1${var}"
2526         fi
2527
2528 #       Test for compatible LIBPNG library
2529         failed=0
2530         passed=0
2531         if test "$with_png" = 'yes' -o "$with_png" = "libpng1${var}" ; then
2532           if test "${pnglib}" != 'png' ; then
2533             AC_MSG_CHECKING(for LIBPNG1${var} support )
2534             AC_TRY_COMPILE(
2535 #include <stdio.h>
2536 #include <stdlib.h>
2537 #include <png.h>
2538 ,
2539 changequote(<<, >>)dnl
2540 <<
2541 #if PNG_LIBPNG_VER_MINOR != ${var}
2542 #error LIBPNG library must be version 1${var}!
2543 Kaboom, Kaboom
2544 #endif
2545 return 0;
2546 >>,
2547             changequote([, ])dnl
2548             ac_cv_libpng_ok='yes',
2549             ac_cv_libpng_ok='no')
2550             if test "$ac_cv_libpng_ok" = 'yes' ; then
2551               passed=`expr $passed + 1`
2552               AC_MSG_NOTICE(yes)
2553             else
2554               failed=`expr $failed + 1`
2555               AC_MSG_NOTICE(no)
2556             fi
2557           else
2558             passed=`expr $passed + 1`
2559             AC_MSG_NOTICE(yes)
2560           fi
2561         fi
2562
2563         if test $passed -gt 0 -a $failed -le 0; then
2564           if test "1${var}" = '15' ; then
2565             AC_CHECK_LIB(png15,png_get_io_ptr,passed=`expr $passed + 1`,
2566                failed=`expr $failed + 1`,)
2567             AC_CHECK_LIB(png15,png_longjmp,passed=`expr $passed + 1`,
2568                failed=`expr $failed + 1`,)
2569           fi
2570           if test "1${var}" = '14' ; then
2571             AC_CHECK_LIB(png14,png_get_io_ptr,passed=`expr $passed + 1`,
2572                failed=`expr $failed + 1`,)
2573             AC_CHECK_LIB(png14,png_get_io_state,passed=`expr $passed + 1`,
2574                failed=`expr $failed + 1`,)
2575           fi
2576           if test "1${var}" = '12' ; then
2577             AC_CHECK_LIB(png12,png_get_io_ptr,passed=`expr $passed + 1`,
2578                failed=`expr $failed + 1`,)
2579           fi
2580           if test "1${var}" = '1' ; then
2581               AC_CHECK_LIB(png,png_get_io_ptr,passed=`expr $passed + 1`,
2582                  failed=`expr $failed + 1`,)
2583           fi
2584           if test $passed -gt 0 -a $failed -le 0 ; then
2585             AC_MSG_CHECKING(if ${pnglib} package is complete)
2586             if test $passed -gt 0 ; then
2587               if test $failed -gt 0 ; then
2588                   AC_MSG_NOTICE(no -- some components failed test)
2589                   have_png='no (failed tests)'
2590               else
2591                   PNG_LIBS="-l${pnglib}"
2592                   LIBS="$PNG_LIBS $LIBS"
2593                   AC_DEFINE(PNG_DELEGATE,1,Define if you have PNG library)
2594                   AC_MSG_NOTICE(yes)
2595                   have_png='yes'
2596               fi
2597             fi
2598           fi
2599         fi
2600       fi
2601     done
2602   fi
2603 fi
2604
2605 AM_CONDITIONAL(PNG_DELEGATE,test "$have_png" = 'yes')
2606 AC_SUBST(PNG_LIBS)
2607
2608
2609 dnl ===========================================================================
2610
2611 #
2612 # Check for RSVG delegate library.
2613 #
2614 AC_ARG_WITH([rsvg],
2615     [AC_HELP_STRING([--without-rsvg],
2616                     [disable RSVG support])],
2617     [with_rsvg=$withval],
2618     [with_rsvg='yes'])
2619
2620 if test "$with_rsvg" != 'yes'; then
2621     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-rsvg=$with_rsvg "
2622 fi
2623
2624 have_rsvg='no'
2625 have_cairo='no'
2626 RSVG_CFLAGS=""
2627 RSVG_LIBS=""
2628 RSVG_PKG=""
2629 if test "x$with_rsvg" = "xyes"; then
2630     AC_MSG_NOTICE([-------------------------------------------------------------])
2631     PKG_CHECK_MODULES(RSVG,[librsvg-2.0 >= 2.9.0], have_rsvg=yes, have_rsvg=no)
2632     AC_MSG_NOTICE([])
2633     PKG_CHECK_MODULES(CAIRO_SVG, cairo-svg, have_cairo=yes, have_cairo=no)
2634     AC_MSG_NOTICE([])
2635 fi
2636
2637 if test "$have_rsvg" = 'yes'; then
2638     AC_DEFINE(RSVG_DELEGATE,1,Define if you have RSVG library)
2639     if test "$with_modules" = 'no'; then
2640         CPPFLAGS="$RSVG_CFLAGS $CPPFLAGS"
2641     fi
2642 fi
2643
2644 if test "$have_cairo" = 'yes'; then
2645     AC_DEFINE(CAIRO_DELEGATE,1,Define if you have CAIRO library)
2646     if test "$with_modules" = 'no'; then
2647         CPPFLAGS="$CAIRO_SVG_CFLAGS $CPPFLAGS"
2648     fi
2649 fi
2650
2651 AM_CONDITIONAL(RSVG_DELEGATE, test "$have_rsvg" = 'yes')
2652 AM_CONDITIONAL(CAIRO_DELEGATE, test "$have_cairo" = 'yes')
2653 AC_SUBST(RSVG_CFLAGS)
2654 AC_SUBST(RSVG_LIBS)
2655
2656 dnl ===========================================================================
2657
2658 #
2659 # Check for TIFF delegate library.
2660 #
2661 AC_ARG_WITH([tiff],
2662     [AC_HELP_STRING([--without-tiff],
2663                     [disable TIFF support])],
2664     [with_tiff=$withval],
2665     [with_tiff='yes'])
2666
2667 if test "$with_tiff" != 'yes'; then
2668     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-tiff=$with_tiff "
2669 fi
2670
2671 have_tiff='no'
2672 TIFF_LIBS=''
2673 if test "$with_tiff" != 'no'; then
2674     AC_MSG_NOTICE([-------------------------------------------------------------])
2675     AC_MSG_CHECKING([for TIFF])
2676     AC_MSG_NOTICE([])
2677     failed=0
2678     passed=0
2679     AC_CHECK_HEADER(tiff.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
2680     AC_CHECK_HEADER(tiffio.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
2681     AC_CHECK_LIB(tiff,TIFFOpen,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
2682     AC_CHECK_LIB(tiff,TIFFClientOpen,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
2683     AC_CHECK_LIB(tiff,TIFFIsByteSwapped,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
2684     AC_CHECK_LIB(tiff,TIFFReadRGBATile,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
2685     AC_CHECK_LIB(tiff,TIFFReadRGBAStrip,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
2686     AC_MSG_CHECKING([if TIFF package is complete])
2687     if test $passed -gt 0; then
2688         if test $failed -gt 0; then
2689             AC_MSG_NOTICE([no -- some components failed test])
2690             have_tiff='no (failed tests)'
2691         else
2692             TIFF_LIBS='-ltiff'
2693             LIBS="$TIFF_LIBS $LIBS"
2694             AC_DEFINE(TIFF_DELEGATE,1,Define if you have TIFF library)
2695             AC_MSG_NOTICE([yes])
2696             have_tiff='yes'
2697             AC_CHECK_HEADERS(tiffconf.h)
2698             AC_CHECK_FUNCS([TIFFIsCODECConfigured TIFFMergeFieldInfo \
2699               TIFFIsBigEndian TIFFReadEXIFDirectory TIFFSetErrorHandlerExt \
2700               TIFFSetTagExtender TIFFSetWarningHandlerExt \
2701               TIFFSwabArrayOfTriples])
2702         fi
2703     else
2704         AC_MSG_NOTICE([no])
2705     fi
2706 fi
2707 AM_CONDITIONAL(TIFF_DELEGATE, test "$have_tiff" = 'yes')
2708 AC_SUBST(TIFF_LIBS)
2709
2710 dnl ===========================================================================
2711
2712 #
2713 # Check for WEBP delegate library.
2714 #
2715 AC_ARG_WITH(webp,
2716     [AC_HELP_STRING([--without-webp],
2717                     [disable WEBP support])],
2718     [with_webp=$withval],
2719     [with_webp='yes'])
2720
2721 if test "$with_webp" != 'yes'; then
2722     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-webp=$with_webp "
2723 fi
2724
2725 have_webp='no'
2726 WEBP_LIBS=''
2727 if test "$with_webp" != 'no'; then
2728     AC_MSG_NOTICE([-------------------------------------------------------------])
2729     AC_MSG_CHECKING([for WEBP])
2730     AC_MSG_NOTICE([])
2731     failed=0
2732     passed=0
2733     AC_CHECK_HEADER(webp/decode.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
2734     AC_CHECK_LIB(webp,WebPDecodeRGB,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
2735     AC_MSG_CHECKING([if WEBP package is complete])
2736     if test $passed -gt 0; then
2737         if test $failed -gt 0; then
2738             AC_MSG_NOTICE([no -- some components failed test])
2739             have_webp='no (failed tests)'
2740         else
2741             WEBP_LIBS='-lwebp'
2742             LIBS="$WEBP_LIBS $LIBS"
2743             AC_DEFINE(WEBP_DELEGATE,1,Define if you have WEBP library)
2744             AC_MSG_NOTICE([yes])
2745             have_webp='yes'
2746         fi
2747     else
2748         AC_MSG_NOTICE([no])
2749     fi
2750 fi
2751 AM_CONDITIONAL(WEBP_DELEGATE,test "$have_webp" = 'yes')
2752 AC_SUBST(WEBP_LIBS)
2753
2754 dnl ===========================================================================
2755
2756 #
2757 # Set Windows font directory.
2758 #
2759 AC_ARG_WITH([windows-font-dir],
2760     [AC_HELP_STRING([--with-windows-font-dir=DIR],
2761                     [directory containing MS-Windows fonts])],
2762                     [with_windows_font_dir=$withval],
2763                     [with_windows_font_dir=''])
2764 if test "$with_windows_font_dir" != '' ; then
2765     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-windows-font-dir=$with_windows_font_dir "
2766 fi
2767
2768 dnl ===========================================================================
2769
2770 #
2771 # Check for WMF delegate library.
2772 #
2773 AC_ARG_WITH([wmf],
2774     [AC_HELP_STRING([--with-wmf],
2775                     [enable WMF support])],
2776     [with_wmf=$withval],
2777     [with_wmf='no'])
2778
2779 if test "$with_wmf" != 'yes'; then
2780     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-wmf=$with_wmf "
2781 fi
2782
2783 have_wmf='no'
2784 WMF_LIBS=''
2785 WMF_LIBS_DEPS=''
2786 OLIBS="$LIBS"
2787 if test "$with_wmf" != 'no'; then
2788     AC_MSG_RESULT([-------------------------------------------------------------])
2789     AC_MSG_CHECKING([for WMF])
2790     AC_MSG_RESULT([])
2791     have_libwmf='no'
2792     have_libwmflite='no'
2793     have_libwmf_ipa_h='no'
2794
2795     AC_CHECK_HEADER([libwmf/ipa.h],[have_libwmf_ipa_h='yes'],,[$FT2BUILD_H])
2796     if test "$have_libwmf_ipa_h" = 'yes'; then
2797         AC_CHECK_LIB(wmflite,wmf_lite_create,have_libwmflite='yes',,)
2798         if test "$have_libwmflite" = 'yes'; then
2799             AC_DEFINE(WMFLITE_DELEGATE,1,Define if you have wmflite library)
2800             WMF_LIBS='-lwmflite'
2801             LIBS="$WMF_LIBS $LIBS"
2802             have_wmf='yes'
2803         else
2804             WMF_LIBS_DEPS=''
2805             WMF_CONFIG_LIBS=`libwmf-config --libs`
2806             for lib in xml2 expat freetype jpeg png z; do
2807                 testlib="-l${lib}"
2808                 echo "$WMF_CONFIG_LIBS" | grep -- "$testlib" > /dev/null && WMF_LIBS_DEPS="$WMF_LIBS_DEPS $testlib"
2809             done
2810             AC_CHECK_LIB(wmf,wmf_api_create,have_libwmf='yes',,$WMF_LIBS_DEPS)
2811             if test "$have_libwmf" = 'yes'; then
2812                 AC_DEFINE(WMF_DELEGATE,1,Define if you have wmf library)
2813                 WMF_LIBS='-lwmf'
2814                 LIBS="$WMF_LIBS $LIBS"
2815                 have_wmf='yes'
2816             else
2817                 AC_MSG_RESULT([no -- some components failed test])
2818                 have_wmf='no (failed tests)'
2819                 have_wmflite='no (failed tests)'
2820                 LIBS="$OLIBS"
2821                 WMF_LIBS=''
2822             fi
2823         fi
2824     fi
2825     AC_MSG_CHECKING([if WMF package is complete])
2826     if test "$have_wmf" = 'yes'; then
2827         AC_MSG_RESULT([yes])
2828     else
2829         AC_MSG_RESULT([no])
2830     fi
2831 fi
2832 AM_CONDITIONAL(WMF_DELEGATE, test "$have_wmf" = 'yes')
2833 AC_SUBST(WMF_LIBS)
2834 AC_SUBST(WMF_LIBS_DEPS)
2835
2836
2837 dnl ===========================================================================
2838
2839 #
2840 # Check for XML delegate library.
2841 #
2842 AC_ARG_WITH([xml],
2843     [AC_HELP_STRING([--without-xml],
2844                     [disable XML support])],
2845     [with_xml=$withval],
2846     [with_xml='yes'])
2847
2848 if test "$with_xml" != 'yes' ; then
2849     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-xml=$with_xml "
2850 fi
2851
2852 have_xml='no'
2853 XML_LIBS=''
2854 if test "$with_xml" != 'no'; then
2855     AC_MSG_NOTICE([-------------------------------------------------------------])
2856     AC_MSG_CHECKING([for XML])
2857     AC_MSG_NOTICE([])
2858     PERSIST_LDFLAGS=$LDFLAGS
2859     PERSIST_CPPFLAGS=$CPPFLAGS
2860     xml2_config=''
2861     AC_PATH_PROG(xml2_config,xml2-config,)dnl
2862     if test -n "$xml2_config"; then
2863         # Debian installs libxml headers under /usr/include/libxml2/libxml with
2864         # the shared library installed under /usr/lib, whereas the package
2865         # installs itself under $prefix/libxml and $prefix/lib.
2866         xml2_prefix=`xml2-config --prefix`
2867         if test -d "${xml2_prefix}/include/libxml2"; then
2868             CPPFLAGS="$CPPFLAGS -I${xml2_prefix}/include/libxml2"
2869         fi
2870         if test "${xml2_prefix}" != '/usr'; then
2871             LDFLAGS="$LDFLAGS -L${xml2_prefix}/lib"
2872         fi
2873     fi
2874     failed=0
2875     passed=0
2876     AC_CHECK_HEADER(libxml/parser.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`)
2877     AC_CHECK_LIB(xml2,xmlSAXVersion,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
2878     AC_CHECK_LIB(xml2,xmlParseChunk,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
2879     AC_CHECK_LIB(xml2,xmlCreatePushParserCtxt,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
2880     AC_MSG_CHECKING([if XML package is complete])
2881     if test $passed -gt 0; then
2882         if test $failed -gt 0; then
2883             AC_MSG_NOTICE([no -- some components failed test])
2884             have_xml='no (failed tests)'
2885             LDFLAGS="$PERSIST_LDFLAGS"
2886             CPPFLAGS="$PERSIST_CPPFLAGS"
2887         else
2888             XML_LIBS='-lxml2'
2889             LIBS="$XML_LIBS $LIBS"
2890             AC_DEFINE(XML_DELEGATE,1,Define if you have XML library)
2891             AC_MSG_NOTICE([yes])
2892             have_xml='yes'
2893         fi
2894     else
2895         AC_MSG_NOTICE([no])
2896     fi
2897 fi
2898 AM_CONDITIONAL(XML_DELEGATE,test "$have_xml" = 'yes')
2899 AC_SUBST(XML_LIBS)
2900
2901 dnl ===========================================================================
2902
2903 # Substitute compiler name to build/link PerlMagick
2904 #
2905 AC_SUBST(PERLMAINCC)
2906
2907 #
2908 # Configure install Paths
2909 #
2910
2911 # Path to ImageMagick header files
2912 INCLUDE_RELATIVE_PATH="ImageMagick"
2913 INCLUDE_PATH="${INCLUDEARCH_DIR}/${INCLUDE_RELATIVE_PATH}"
2914 DEFINE_INCLUDE_PATH="${INCLUDEARCH_DIR}/${INCLUDE_RELATIVE_PATH}/"
2915 case "${build_os}" in
2916   mingw* )
2917     DEFINE_INCLUDE_PATH=`$WinPathScript "$DEFINE_INCLUDE_PATH" 1`
2918     ;;
2919 esac
2920 AC_DEFINE_UNQUOTED(INCLUDE_PATH,"$DEFINE_INCLUDE_PATH",Directory where ImageMagick headers live.)
2921 AC_SUBST(INCLUDE_PATH)
2922
2923 # Subdirectory under lib to place ImageMagick lib files
2924 LIBRARY_RELATIVE_PATH="${PACKAGE_NAME}-${PACKAGE_VERSION}"
2925 AC_DEFINE_UNQUOTED(LIBRARY_RELATIVE_PATH,"$LIBRARY_RELATIVE_PATH",Subdirectory of lib where ImageMagick architecture dependent files are installed)
2926
2927 # Path to ImageMagick bin directory
2928 EXECUTABLE_PATH="${BIN_DIR}"
2929 DEFINE_EXECUTABLE_PATH="${BIN_DIR}/"
2930 case "${build_os}" in
2931   mingw* )
2932     DEFINE_EXECUTABLE_PATH=`$WinPathScript "$DEFINE_EXECUTABLE_PATH" 1`
2933     ;;
2934 esac
2935 AC_DEFINE_UNQUOTED(EXECUTABLE_PATH,"$DEFINE_EXECUTABLE_PATH",Directory where executables are installed.)
2936 AC_SUBST(EXECUTABLE_PATH)
2937
2938 # Path to ImageMagick lib
2939 LIBRARY_PATH="${LIB_DIR}/${LIBRARY_RELATIVE_PATH}"
2940 DEFINE_LIBRARY_PATH="${LIB_DIR}/${LIBRARY_RELATIVE_PATH}/"
2941 case "${build_os}" in
2942   mingw* )
2943     DEFINE_LIBRARY_PATH=`$WinPathScript "$DEFINE_LIBRARY_PATH" 1`
2944     ;;
2945 esac
2946 AC_DEFINE_UNQUOTED(LIBRARY_PATH,"$DEFINE_LIBRARY_PATH",Directory where architecture-dependent files live.)
2947 AC_SUBST(LIBRARY_PATH)
2948
2949 #
2950 # Subdirectory under lib to place ImageMagick coder module files
2951 CODER_RELATIVE_PATH="${LIBRARY_RELATIVE_PATH}/modules-Q${QUANTUM_DEPTH}/coders"
2952 AC_DEFINE_UNQUOTED(CODER_RELATIVE_PATH,"$CODER_RELATIVE_PATH",Subdirectory of lib where coder modules are installed)
2953 CODER_PATH="${LIB_DIR}/${CODER_RELATIVE_PATH}"
2954 DEFINE_CODER_PATH="${LIB_DIR}/${CODER_RELATIVE_PATH}/"
2955 case "${build_os}" in
2956   mingw* )
2957     DEFINE_CODER_PATH=`$WinPathScript "$DEFINE_CODER_PATH" 1`
2958     ;;
2959 esac
2960 AC_DEFINE_UNQUOTED(CODER_PATH,"$DEFINE_CODER_PATH",Location of coder modules)
2961 AC_SUBST(CODER_PATH)
2962
2963 #
2964 # Subdirectory under lib to place ImageMagick filter module files
2965 FILTER_RELATIVE_PATH="${LIBRARY_RELATIVE_PATH}/modules-Q${QUANTUM_DEPTH}/filters"
2966 AC_DEFINE_UNQUOTED(FILTER_RELATIVE_PATH,"$FILTER_RELATIVE_PATH",Subdirectory of lib where filter modules are installed)
2967 FILTER_PATH="${LIB_DIR}/${FILTER_RELATIVE_PATH}"
2968 DEFINE_FILTER_PATH="${LIB_DIR}/${FILTER_RELATIVE_PATH}/"
2969 case "${build_os}" in
2970   mingw* )
2971     DEFINE_FILTER_PATH=`$WinPathScript "$DEFINE_FILTER_PATH" 1`
2972     ;;
2973 esac
2974 AC_DEFINE_UNQUOTED(FILTER_PATH,"$DEFINE_FILTER_PATH",Location of filter modules)
2975 AC_SUBST(FILTER_PATH)
2976
2977 #
2978 # Path to ImageMagick documentation files
2979 DOCUMENTATION_RELATIVE_PATH="${PACKAGE_NAME}-${PACKAGE_VERSION}"
2980 DOCUMENTATION_PATH="${DOC_DIR}/${DOCUMENTATION_RELATIVE_PATH}"
2981 DEFINE_DOCUMENTATION_PATH="${DOC_DIR}/${DOCUMENTATION_RELATIVE_PATH}/"
2982 case "${build_os}" in
2983   mingw* )
2984     DEFINE_DOCUMENTATION_PATH=`$WinPathScript "$DEFINE_DOCUMENTATION_PATH" 1`
2985     ;;
2986 esac
2987 AC_DEFINE_UNQUOTED(DOCUMENTATION_PATH,"$DEFINE_DOCUMENTATION_PATH",Directory where ImageMagick documents live.)
2988 AC_SUBST(DOCUMENTATION_PATH)
2989
2990 # Subdirectory to place architecture-dependent configuration files
2991 CONFIGURE_RELATIVE_PATH="${PACKAGE_NAME}"
2992 AC_DEFINE_UNQUOTED(CONFIGURE_RELATIVE_PATH,"$CONFIGURE_RELATIVE_PATH",Subdirectory of lib where architecture-dependent configuration files live.)
2993 CONFIGURE_PATH="${SYSCONF_DIR}/${CONFIGURE_RELATIVE_PATH}/"
2994 DEFINE_CONFIGURE_PATH="${SYSCONF_DIR}/${CONFIGURE_RELATIVE_PATH}/"
2995 case "${build_os}" in
2996   mingw* )
2997     DEFINE_CONFIGURE_PATH=`$WinPathScript "$DEFINE_CONFIGURE_PATH" 1`
2998     ;;
2999 esac
3000 AC_DEFINE_UNQUOTED(CONFIGURE_PATH,"$DEFINE_CONFIGURE_PATH",Directory where architecture-dependent configuration files live.)
3001 AC_SUBST(CONFIGURE_PATH)
3002
3003 # Subdirectory to place architecture-independent configuration files
3004 SHARE_RELATIVE_PATH="${LIBRARY_RELATIVE_PATH}"
3005 AC_DEFINE_UNQUOTED(SHARE_RELATIVE_PATH,"$SHARE_RELATIVE_PATH",Subdirectory of lib where architecture-independent configuration files live.)
3006 SHARE_PATH="${DATA_DIR}/${SHARE_RELATIVE_PATH}"
3007 DEFINE_SHARE_PATH="${DATA_DIR}/${SHARE_RELATIVE_PATH}/"
3008 case "${build_os}" in
3009   mingw* )
3010     DEFINE_SHARE_PATH=`$WinPathScript "$DEFINE_SHARE_PATH" 1`
3011     ;;
3012 esac
3013 AC_DEFINE_UNQUOTED(SHARE_PATH,"$DEFINE_SHARE_PATH",Directory where architecture-independent configuration files live.)
3014 AC_SUBST(SHARE_PATH)
3015
3016 # Subdirectory to place architecture-dependent configuration files
3017 SHAREARCH_RELATIVE_PATH="${LIBRARY_RELATIVE_PATH}/config"
3018 AC_DEFINE_UNQUOTED(SHAREARCH_RELATIVE_PATH,"$SHAREARCH_RELATIVE_PATH",Subdirectory of lib where architecture-independent configuration files live.)
3019 SHAREARCH_PATH="${SHAREARCH_DIR}/${SHAREARCH_RELATIVE_PATH}"
3020 DEFINE_SHAREARCH_PATH="${SHAREARCH_DIR}/${SHAREARCH_RELATIVE_PATH}/"
3021 case "${build_os}" in
3022   mingw* )
3023     DEFINE_SHAREARCH_PATH=`$WinPathScript "$DEFINE_SHAREARCH_PATH" 1`
3024     ;;
3025 esac
3026 AC_DEFINE_UNQUOTED(SHAREARCH_PATH,"$DEFINE_SHAREARCH_PATH",Directory where architecture-independent configuration files live.)
3027 AC_SUBST(SHAREARCH_PATH)
3028
3029 #
3030 # program_transform_name is formed for use in a Makefile, so create a
3031 # modified version for use in a shell script.
3032 configure_transform_name=`echo ${program_transform_name} | sed 's,\\$\\$,$,'`
3033
3034 # Default delegate definitions
3035 AC_MSG_NOTICE([-------------------------------------------------------------])
3036 AC_MSG_CHECKING([for ImageMagick delegate programs])
3037 AC_MSG_NOTICE([])
3038 AutotraceDecodeDelegateDefault='autotrace'
3039 BlenderDecodeDelegateDefault='blender'
3040 BZIPDelegateDefault='bzip2'
3041 BrowseDelegateDefault='xdg-open'
3042 CGMDecodeDelegateDefault='ralcgm'
3043 CatDelegateDefault='cat'
3044 DNGDecodeDelegateDefault='ufraw-batch'
3045 GVCDecodeDelegateDefault='dot'
3046 DVIDecodeDelegateDefault='dvips'
3047 EchoDelegateDefault='echo'
3048 EditorDelegateDefault='xterm'
3049 FIGDecodeDelegateDefault='fig2dev'
3050 ConvertDelegateDefault=`echo convert | sed ${configure_transform_name}`
3051 DisplayDelegateDefault=`echo display | sed ${configure_transform_name}`
3052 MogrifyDelegateDefault=`echo mogrify | sed ${configure_transform_name}`
3053 GnuplotDecodeDelegateDefault='gnuplot'
3054 HPGLDecodeDelegateDefault='hp2xx'
3055 HTMLDecodeDelegateDefault='html2ps'
3056 ILBMDecodeDelegateDefault='ilbmtoppm'
3057 ILBMEncodeDelegateDefault='ppmtoilbm'
3058 LPDelegateDefault='lp'
3059 LPRDelegateDefault='lpr'
3060 LZWDecodeDelegateDefault='uncompress'
3061 LZWEncodeDelegateDefault='compress'
3062 LaunchDelegateDefault='gimp'
3063 MANDelegateDefault='groff'
3064 MPEGDecodeDelegateDefault='ffmpeg'
3065 MPEGEncodeDelegateDefault='ffmpeg'
3066 MrSIDDecodeDelegateDefault='mrsidgeodecode'
3067 MVDelegateDefault='mv'
3068 PCLDelegateDefault='pcl6'
3069 PGPDecodeDelegateDefault='pgpv'
3070 POVDelegateDefault='povray'
3071 if test "$native_win32_build" = 'yes'; then
3072     PSDelegateDefault='gswin32c'
3073 elif test "$gslib_framework" = 'yes'; then
3074     PSDelegateDefault='gsc'
3075 else
3076     PSDelegateDefault='gs'
3077 fi
3078 RLEEncodeDelegateDefault='rawtorle'
3079 RMDelegateDefault='rm'
3080 RSVGDecodeDelegateDefault='rsvg-convert'
3081 SCANDecodeDelegateDefault='scanimage'
3082 TXTDelegateDefault='enscript'
3083 UniconvertorDelegateDefault='uniconvertor'
3084 WMFDecodeDelegateDefault='wmf2eps'
3085 WWWDecodeDelegateDefault='curl'
3086 XPSDelegateDefault='gxps'
3087 ZipDelegateDefault='gzip'
3088
3089 # Search for delegates
3090 AC_PATH_PROG(AutotraceDecodeDelegate, "$AutotraceDecodeDelegateDefault", "$AutotraceDecodeDelegateDefault")
3091 AC_PATH_PROG(BlenderDecodeDelegate, "$BlenderDecodeDelegateDefault", "$BlenderDecodeDelegateDefault")
3092 AC_PATH_PROG(BZIPDelegate, "$BZIPDelegateDefault", "$BZIPDelegateDefault")
3093 AC_PATH_PROG(BrowseDelegate, "$BrowseDelegateDefault" mozilla firefox netscape, "$BrowseDelegateDefault")
3094 AC_PATH_PROG(CGMDecodeDelegate, "$CGMDecodeDelegateDefault", "$CGMDecodeDelegateDefault")
3095 AC_PATH_PROG(CatDelegate, "$CatDelegateDefault", "$CatDelegateDefault")
3096 AC_PATH_PROG(DNGDecodeDelegate, "$DNGDecodeDelegateDefault", "$DNGDecodeDelegateDefault")
3097 AC_PATH_PROG(GVCDecodeDelegate, "$GVCDecodeDelegateDefault", "$GVCDecodeDelegateDefault")
3098 AC_PATH_PROG(DVIDecodeDelegate, "$DVIDecodeDelegateDefault", "$DVIDecodeDelegateDefault")
3099 AC_PATH_PROG(EchoDelegate, "$EchoDelegateDefault", "$EchoDelegateDefault")
3100 AC_PATH_PROG(EditorDelegate, "$EditorDelegateDefault", "$EditorDelegateDefault")
3101 AC_PATH_PROG(FIGDecodeDelegate, "$FIGDecodeDelegateDefault", "$FIGDecodeDelegateDefault")
3102 AC_PATH_PROG(ConvertDelegate, "$ConvertDelegateDefault", "$ConvertDelegateDefault")
3103 AC_PATH_PROG(DisplayDelegate, "$DisplayDelegateDefault", "$DisplayDelegateDefault")
3104 AC_PATH_PROG(MogrifyDelegate, "$MogrifyDelegateDefault", "$MogrifyDelegateDefault")
3105 AC_PATH_PROG(GnuplotDecodeDelegate, "$GnuplotDecodeDelegateDefault", "$GnuplotDecodeDelegateDefault")
3106 AC_PATH_PROG(HPGLDecodeDelegate, "$HPGLDecodeDelegateDefault", "$HPGLDecodeDelegateDefault")
3107 AC_PATH_PROG(HTMLDecodeDelegate, "$HTMLDecodeDelegateDefault", "$HTMLDecodeDelegateDefault")
3108 AC_PATH_PROG(ILBMDecodeDelegate, "$ILBMDecodeDelegateDefault", "$ILBMDecodeDelegateDefault")
3109 AC_PATH_PROG(ILBMEncodeDelegate, "$ILBMEncodeDelegateDefault", "$ILBMEncodeDelegateDefault")
3110 AC_PATH_PROG(LPDelegate, "$LPDelegateDefault", no)
3111 AC_PATH_PROG(LPRDelegate, "$LPRDelegateDefault", "$LPRDelegateDefault")
3112 AC_PATH_PROG(LZWDecodeDelegate, "$LZWDecodeDelegateDefault", "$LZWDecodeDelegateDefault")
3113 AC_PATH_PROG(LZWEncodeDelegate, "$LZWEncodeDelegateDefault", "$LZWEncodeDelegateDefault")
3114 AC_PATH_PROG(LaunchDelegate, "$LaunchDelegateDefault", "$LaunchDelegateDefault")
3115 AC_PATH_PROG(MANDelegate, "$MANDelegateDefault", "$MANDelegateDefault")
3116 AC_PATH_PROG(MPEGDecodeDelegate, "$MPEGDecodeDelegateDefault", "$MPEGDecodeDelegateDefault")
3117 AC_PATH_PROG(MPEGEncodeDelegate, "$MPEGEncodeDelegateDefault", "$MPEGEncodeDelegateDefault")
3118 AC_PATH_PROG(MrSIDDecodeDelegate, "$MrSIDDecodeDelegateDefault", "$MrSIDDecodeDelegateDefault")
3119 AC_PATH_PROG(MVDelegate, "$MVDelegateDefault", "$MVDelegateDefault")
3120 AC_PATH_PROG(PCLDelegate, "$PCLDelegateDefault", "$PCLDelegateDefault")
3121 AC_PATH_PROG(PGPDecodeDelegate, "$PGPDecodeDelegateDefault", "$PGPDecodeDelegateDefault")
3122 AC_PATH_PROG(POVDelegate, "$POVDelegateDefault", "$POVDelegateDefault")
3123 AC_PATH_PROGS(PSDelegate, gsx gsc "$PSDelegateDefault", "$PSDelegateDefault")
3124 AC_PATH_PROG(RLEEncodeDelegate, "$RLEEncodeDelegateDefault", "$RLEEncodeDelegateDefault")
3125 AC_PATH_PROG(RMDelegate, "$RMDelegateDefault", "$RMDelegateDefault")
3126 AC_PATH_PROG(RSVGDecodeDelegate, "$RSVGDecodeDelegateDefault", "$RSVGDecodeDelegateDefault")
3127 AC_PATH_PROG(SCANDecodeDelegate, "$SCANDecodeDelegateDefault", "$SCANDecodeDelegateDefault")
3128 AC_PATH_PROG(TXTDelegate, "$TXTDelegateDefault", "$TXTDelegateDefault")
3129 AC_PATH_PROG(UniconvertorDelegate, "$UniconvertorDelegateDefault", "$UniconvertorDelegateDefault")
3130 AC_PATH_PROG(WMFDecodeDelegate, "$WMFDecodeDelegateDefault", "$WMFDecodeDelegateDefault")
3131 AC_PATH_PROG(WWWDecodeDelegate, "$WWWDecodeDelegateDefault", "$WWWDecodeDelegateDefault")
3132 AC_PATH_PROG(XPSDelegate, "$XPSDelegateDefault", "$XPSDelegateDefault")
3133 AC_PATH_PROG(ZipDelegate, "$ZipDelegateDefault", "$ZipDelegateDefault")
3134
3135 # Prefer lpr to lp; lp needs options tacked on.
3136 if test "$LPRDelegate" != no; then
3137     PrintDelegate="$LPRDelegate"
3138 else
3139     PrintDelegate="$LPDelegate -c -s"
3140 fi
3141 AC_SUBST(PrintDelegate)
3142
3143 # Installed ImageMagick utiltity paths
3144 ConvertDelegate="${BIN_DIR}/${ConvertDelegateDefault}"
3145 DisplayDelegate="${BIN_DIR}/${DisplayDelegateDefault}"
3146 MogrifyDelegate="${BIN_DIR}/${MogrifyDelegateDefault}"
3147
3148 # Set delegate booleans
3149 have_ffmpeg='no'; if test "$MPEGDecodeDelegate" != "$MPEGDecodeDelegateDefault" ; then have_ffmpeg='yes'; fi
3150 have_fig2dev='no'    ; if test "$FIGDecodeDelegate" != "$FIGDecodeDelegateDefault" ; then have_fig2dev='yes'; fi
3151 have_gs='no'         ; if test "$PSDelegate" != "$PSDelegateDefault"; then have_gs='yes'; fi
3152 have_hp2xx='no'      ; if test "$HPGLDecodeDelegate" !=  "$HPGLDecodeDelegateDefault" ; then have_hp2xx='yes'; fi
3153 have_ilbmtoppm='no'  ; if test "$ILBMDecodeDelegate" != "$ILBMDecodeDelegateDefault" ; then have_ilbmtoppm='yes'; fi
3154 have_mrsid='no'; if test "$MrSIDDecodeDelegate" != "$MrSIDDecodeDelegateDefault" ; then have_mrsid='yes'; fi
3155 have_pcl='no'        ; if test "$PCLDelegate" != "$PCLDelegateDefault"; then have_pcl='yes'; fi
3156 have_ppmtoilbm='no'  ; if test "$ILBMEncodeDelegate" != "$ILBMEncodeDelegateDefault" ; then have_ppmtoilbm='yes'; fi
3157 have_ralcgm='no'     ; if test "$CGMDecodeDelegate" != "$CGMDecodeDelegateDefault" ; then have_ralcgm='yes'; fi
3158 have_xps='no'        ; if test "$XPSDelegate" != "$XPSDelegateDefault"; then have_xps='yes'; fi
3159
3160 #
3161 # Test for font directories
3162 #
3163 type_include_files=''
3164
3165 # Dejavu fonts.
3166 AC_MSG_CHECKING(for Dejavu fonts directory)
3167 dejavu_font_dir=''
3168 if test "${with_dejavu_font_dir}" != 'default'; then
3169   dejavu_font_dir="${with_dejavu_font_dir}/"
3170 else
3171   for font_dir in "${prefix}/share/dejavu/fonts/" '/usr/share/fonts/dejavu/'; do
3172     if test -f "${font_dir}DejaVuSerif.ttf"; then
3173       dejavu_font_dir="${font_dir}"
3174       break 1
3175     fi
3176   done
3177 fi
3178 if test "${dejavu_font_dir}x" != 'x'; then
3179   type_include_files="${type_include_files} "'<include file="type-dejavu.xml" />'
3180   AC_MSG_NOTICE([$dejavu_font_dir])
3181 else
3182   AC_MSG_NOTICE([not found!]);
3183 fi
3184 AC_SUBST(dejavu_font_dir)
3185
3186 # Windows
3187 windows_font_dir=''
3188 if test "$with_windows_font_dir" != "no" && test -n "$with_windows_font_dir"; then
3189    windows_font_dir="${with_windows_font_dir}/"
3190 fi
3191 if test "${windows_font_dir}x" != 'x'; then
3192     if test -f '/usr/X11R6/lib/X11/fonts/truetype/arial.ttf'; then
3193       windows_font_dir='/usr/X11R6/lib/X11/fonts/truetype/'
3194     fi
3195     if test -f '/usr/X11R7/lib/X11/fonts/truetype/arial.ttf'; then
3196       windows_font_dir='/usr/X11R7/lib/X11/fonts/truetype/'
3197     fi
3198     if test -f '/usr/share/fonts/msttcore/arial.ttf'; then
3199       windows_font_dir='/usr/share/fonts/msttcore/truetype/'
3200     fi
3201 fi
3202 if test "${windows_font_dir}x" != 'x'; then
3203   type_include_files="$type_include_files "'<include file="type-windows.xml" />'
3204 fi
3205 AC_SUBST(windows_font_dir)
3206
3207 # Ghostscript
3208 AC_MSG_CHECKING(for Ghostscript fonts directory)
3209 ghostscript_font_dir=''
3210 if test "${with_gs_font_dir}" != 'default'; then
3211   ghostscript_font_dir="${with_gs_font_dir}/"
3212 else
3213   if test "${native_win32_build}" = 'yes'; then
3214     # Native Windows Build
3215     for font_dir in "c:\\Program Files\\gs\\fonts\\" "c:\\Program Files \(x86\)\\gs\\fonts\\" "c:\\gs\\fonts\\"; do
3216       if test -f "${font_dir}a010013l.pfb"; then
3217         ghostscript_font_dir="$font_dir"
3218         break 1
3219       fi
3220     done
3221     if test "${PSDelegate}" != 'gswin32c'; then
3222       ghostscript_font_dir=`echo "${PSDelegate}" | sed -e 's:/gs/.*:/gs:;s:^/::;s/./&:/;s:/:\\\\:g'`"\\fonts\\"
3223     fi
3224   else
3225     # Linux / Mac OS X / Unix Build
3226     for font_dir in "${prefix}/share/ghostscript/fonts/" '/usr/share/fonts/default/Type1/' '/usr/share/ghostscript/fonts/' '/usr/share/fonts/ghostscript/' '/usr/share/fonts/type1/gsfonts/' '/opt/local/share/ghostscript/fonts/' '/sw/share/ghostscript/fonts/' '/System/Library/Frameworks/Ghostscript.framework/Resources/fonts/'; do
3227       if test -f "${font_dir}a010013l.pfb"; then
3228         ghostscript_font_dir="${font_dir}"
3229         break 1
3230       fi
3231     done
3232     if test "${ghostscript_font_dir}x" = 'x'; then
3233       if test "$PSDelegate" != 'gs'; then
3234         ghostscript_font_dir=`echo "$PSDelegate" | sed -e 's:/bin/gs:/share/ghostscript/fonts:'`"/"
3235       fi
3236     fi
3237   fi
3238 fi
3239 if test "${ghostscript_font_dir}x" != 'x'; then
3240   type_include_files="${type_include_files} "'<include file="type-ghostscript.xml" />'
3241   AC_MSG_NOTICE([$ghostscript_font_dir])
3242 else
3243   AC_MSG_NOTICE([not found!]);
3244 fi
3245 AC_SUBST(ghostscript_font_dir)
3246 case "${build_os}" in
3247   mingw* )
3248     PSDelegate=`$WinPathScript "$PSDelegate" 1`
3249     ;;
3250 esac
3251
3252 AC_SUBST(type_include_files)
3253
3254 #
3255 # Handle case where user doesn't want frozen paths
3256 #
3257 if test "$with_frozenpaths" != 'yes'; then
3258   # Re-set delegate definitions to default (no paths)
3259   AutotraceDecodeDelegate="$AutotraceDecodeDelegateDefault"
3260   BlenderDecodeDelegate="$BlenderDecodeDelegateDefault"
3261   BZIPDelegate="$BZIPDelegateDefault"
3262   BrowseDelegate="$BrowseDelegateDefault"
3263   CGMDecodeDelegate="$CGMDecodeDelegateDefault"
3264   CatDelegate="$CatDelegateDefault"
3265   ConvertDelegate="$ConvertDelegateDefault"
3266   GVCDecodeDelegate="$GVCDecodeDelegateDefault"
3267   DVIDecodeDelegate="$DVIDecodeDelegateDefault"
3268   EchoDelegate="$EchoDelegateDefault"
3269   EditorDelegate="$EditorDelegateDefault"
3270   FIGDecodeDelegate="$FIGDecodeDelegateDefault"
3271   GnuplotDecodeDelegate="$GnuplotDecodeDelegateDefault"
3272   HPGLDecodeDelegate="$HPGLDecodeDelegateDefault"
3273   HTMLDecodeDelegate="$HTMLDecodeDelegateDefault"
3274   ILBMDecodeDelegate="$ILBMDecodeDelegateDefault"
3275   ILBMEncodeDelegate="$ILBMEncodeDelegateDefault"
3276   LPDelegate="$LPDelegateDefault"
3277   LZWDecodeDelegate="$LZWDecodeDelegateDefault"
3278   LZWEncodeDelegate="$LZWEncodeDelegateDefault"
3279   LaunchDelegate="$LaunchDelegateDefault"
3280   MANDelegate="$MANDelegateDefault"
3281   MPEGDecodeDelegate="$MPEGDecodeDelegateDefault"
3282   MPEGEncodeDelegate="$MPEGEncodeDelegateDefault"
3283   MogrifyDelegate="$MogrifyDelegateDefault"
3284   MrSIDDecodeDelegate="$MrSIDDecodeDelegateDefault"
3285   MVDelegate="$MVDelegateDefault"
3286   PCLDelegate="$PCLDelegateDefault"
3287   PGPDecodeDelegate="$PGPDecodeDelegateDefault"
3288   POVDelegate="$POVDelegateDefault"
3289   PSDelegate="$PSDelegateDefault"
3290   RLEEncodeDelegate="$RLEEncodeDelegateDefault"
3291   RMDelegate="$RMDelegateDefault"
3292   RSVGDecodeDelegate="$RSVGDecodeDelegateDefault"
3293   SCANDecodeDelegate="$SCANDecodeDelegateDefault"
3294   ShowImageDelegate="$ShowImageDelegateDefault"
3295   TXTDelegate="$TXTDelegateDefault"
3296   UniconvertorDelegate="$UniconvertorDelegateDefault"
3297   WMFDecodeDelegate="$WMFDecodeDelegateDefault"
3298   WWWDecodeDelegate="$WWWDecodeDelegateDefault"
3299   XPSDelegate="$XPSDelegateDefault"
3300   ZipDelegate="$ZipDelegateDefault"
3301 fi
3302
3303 # Delegate substitutions
3304 AC_SUBST(AutotraceDecodeDelegate)
3305 AC_SUBST(BlenderDecodeDelegate)
3306 AC_SUBST(BZIPDelegate)
3307 AC_SUBST(BrowseDelegate)
3308 AC_SUBST(CGMDecodeDelegate)
3309 AC_SUBST(CatDelegate)
3310 AC_SUBST(ConvertDelegate)
3311 AC_SUBST(GVCDecodeDelegate)
3312 AC_SUBST(DVIDecodeDelegate)
3313 AC_SUBST(EchoDelegate)
3314 AC_SUBST(EditorDelegate)
3315 AC_SUBST(FIGDecodeDelegate)
3316 AC_SUBST(GnuplotDecodeDelegate)
3317 AC_SUBST(HPGLDecodeDelegate)
3318 AC_SUBST(HTMLDecodeDelegate)
3319 AC_SUBST(ILBMDecodeDelegate)
3320 AC_SUBST(ILBMEncodeDelegate)
3321 AC_SUBST(LPDelegate)
3322 AC_SUBST(LZWDecodeDelegate)
3323 AC_SUBST(LZWEncodeDelegate)
3324 AC_SUBST(LaunchDelegate)
3325 AC_SUBST(MANDelegate)
3326 AC_SUBST(MPEGDecodeDelegate)
3327 AC_SUBST(MPEGEncodeDelegate)
3328 AC_SUBST(MogrifyDelegate)
3329 AC_SUBST(MrSIDDecodeDelegate)
3330 AC_SUBST(MVDelegate)
3331 AC_SUBST(PCLDelegate)
3332 AC_SUBST(PGPDecodeDelegate)
3333 AC_SUBST(POVDelegate)
3334 AC_SUBST(PSDelegate)
3335 AC_SUBST(RLEEncodeDelegate)
3336 AC_SUBST(RMDelegate)
3337 AC_SUBST(SCANDecodeDelegate)
3338 AC_SUBST(ShowImageDelegate)
3339 AC_SUBST(TXTDelegate)
3340 AC_SUBST(UniconvertorDelegate)
3341 AC_SUBST(WMFDecodeDelegate)
3342 AC_SUBST(WWWDecodeDelegate)
3343 AC_SUBST(XPSDelegate)
3344 AC_SUBST(ZipDelegate)
3345
3346 #
3347 # RPM support.
3348 #
3349 RPM=''
3350 AC_CHECK_PROGS(TAR,gnutar gtar tar)
3351 AC_CHECK_PROGS(PERL,perl)
3352 AC_CHECK_PROGS(RPM,rpmbuild rpm)
3353 AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
3354 AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
3355 AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
3356 AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
3357 AC_SUBST(RPM)
3358 AM_CONDITIONAL(RPM_DELEGATE, test "x$RPM" != "x" )
3359
3360 #
3361 # 7ZIP support (http://p7zip.sourceforge.net/)
3362 #
3363 P7ZIP=''
3364 AC_CHECK_PROGS(P7ZIP,[7za])
3365 AC_SUBST(P7ZIP)
3366 AM_CONDITIONAL(P7ZIP_DELEGATE, test "x$P7ZIP" != "x" )
3367
3368 #
3369 # ZIP support (http://www.info-zip.org/Zip.html)
3370 #
3371 ZIP=''
3372 AC_CHECK_PROGS(ZIP,[zip])
3373 AC_SUBST(ZIP)
3374 AM_CONDITIONAL(ZIP_DELEGATE, test "x$ZIP" != "x" )
3375
3376 #
3377 # GhostPCL related configuration.
3378 #
3379 PCLColorDevice=ppmraw
3380 PCLCMYKDevice=pamcmyk32
3381 PCLMonoDevice=pbmraw
3382 if test -z "$PCLVersion"; then
3383     PCLVersion='unknown'
3384 fi
3385 if test $have_pcl = 'yes'; then
3386     AC_MSG_NOTICE([-------------------------------------------------------------])
3387     AC_MSG_CHECKING([for PCL])
3388     AC_MSG_NOTICE([])
3389     # PCLColorDevice
3390     AC_MSG_CHECKING([for pcl color device])
3391     if $PCLDelegate -dBATCH -sDEVICE=$PCLColorDevice -sOutputFile=/dev/null < /dev/null 2> /dev/null; then
3392         :
3393     else
3394         PCLColorDevice=ppmraw
3395     fi
3396     AC_MSG_NOTICE([$PCLColorDevice])
3397
3398     # PCLCMYKDevice
3399     AC_MSG_CHECKING([for pcl CMYK device])
3400     if $PCLDelegate -dBATCH -sDEVICE=$PCLColorDevice -sOutputFile=/dev/null < /dev/null 2> /dev/null; then
3401         :
3402     else
3403         PCLCMYKDevice=$PCLColorDevice
3404     fi
3405     AC_MSG_NOTICE([$PCLCMYKDevice])
3406
3407     # PCLMonoDevice
3408     AC_MSG_CHECKING([for pcl mono device])
3409     if $PCLDelegate -dBATCH -sDEVICE=$PCLMonoDevice -sOutputFile=/dev/null < /dev/null 2> /dev/null; then
3410         :
3411     else
3412         PCLMonoDevice=$PCLColorDevice
3413     fi
3414     AC_MSG_NOTICE([$PCLMonoDevice])
3415 fi
3416
3417 AC_SUBST(PCLMonoDevice)
3418 AC_SUBST(PCLColorDevice)
3419 AC_SUBST(PCLCMYKDevice)
3420 AC_SUBST(PCLVersion)
3421
3422 #
3423 # GhostXPS related configuration.
3424 #
3425 XPSColorDevice=ppmraw
3426 XPSCMYKDevice=bmpsep8
3427 XPSMonoDevice=pbmraw
3428 if test -z "$XPSVersion"; then
3429     XPSVersion='unknown'
3430 fi
3431 if test $have_xps = 'yes'; then
3432     AC_MSG_NOTICE([-------------------------------------------------------------])
3433     AC_MSG_CHECKING([for XPS])
3434     AC_MSG_NOTICE([])
3435     # XPSColorDevice
3436     AC_MSG_CHECKING([for xps color device])
3437     if $XPSDelegate -dBATCH -sDEVICE=$XPSColorDevice -sOutputFile=/dev/null < /dev/null 2> /dev/null; then
3438         :
3439     else
3440         XPSColorDevice=ppmraw
3441     fi
3442     AC_MSG_NOTICE([$XPSColorDevice])
3443
3444     # XPSCMYKDevice
3445     AC_MSG_CHECKING([for xps CMYK device])
3446     if $XPSDelegate -dBATCH -sDEVICE=$XPSColorDevice -sOutputFile=/dev/null < /dev/null 2> /dev/null; then
3447         :
3448     else
3449         XPSCMYKDevice=$XPSColorDevice
3450     fi
3451     AC_MSG_NOTICE([$XPSCMYKDevice])
3452
3453     # XPSMonoDevice
3454     AC_MSG_CHECKING([for xps mono device])
3455     if $XPSDelegate -dBATCH -sDEVICE=$XPSMonoDevice -sOutputFile=/dev/null < /dev/null 2> /dev/null; then
3456         :
3457     else
3458         XPSMonoDevice=$XPSColorDevice
3459     fi
3460     AC_MSG_NOTICE([$XPSMonoDevice])
3461 fi
3462
3463 AC_SUBST(XPSMonoDevice)
3464 AC_SUBST(XPSColorDevice)
3465 AC_SUBST(XPSCMYKDevice)
3466 AC_SUBST(XPSVersion)
3467
3468 #
3469 # Ghostscript related configuration.
3470 #
3471 GSAlphaDevice=pngalpha
3472 GSColorDevice=pnmraw
3473 GSCMYKDevice=pam
3474 GSMonoDevice=pbmraw
3475 GSPDFDevice=pdfwrite
3476 GSPSDevice=pswrite
3477 GSEPSDevice=epswrite
3478 GSVersion='unknown'
3479 if test $have_gs = 'yes'; then
3480     AC_MSG_NOTICE([-------------------------------------------------------------])
3481     AC_MSG_CHECKING([for Ghostscript])
3482     AC_MSG_NOTICE([])
3483     AC_MSG_CHECKING([for Ghostscript version])
3484     if GSVersion=`$PSDelegate --version`; then
3485         :
3486     else
3487         GSVersion=`$PSDelegate --help | sed -e '1q' | awk '{ print $3 }'`
3488     fi
3489     AC_MSG_NOTICE([$GSVersion])
3490
3491     # GSAlphaDevice
3492     AC_MSG_CHECKING([for gs alpha device])
3493     if $PSDelegate -q -dBATCH -sDEVICE=$GSAlphaDevice -sOutputFile=/dev/null < /dev/null 2> /dev/null; then
3494         :
3495     else
3496         GSAlphaDevice=pnmraw
3497     fi
3498     AC_MSG_NOTICE([$GSAlphaDevice])
3499
3500     # GSColorDevice
3501     AC_MSG_CHECKING([for gs color device])
3502     if $PSDelegate -q -dBATCH -sDEVICE=$GSColorDevice -sOutputFile=/dev/null < /dev/null 2> /dev/null; then
3503         :
3504     else
3505         GSColorDevice=pnmraw
3506     fi
3507     AC_MSG_NOTICE([$GSColorDevice])
3508
3509     # GSCMYKDevice
3510     AC_MSG_CHECKING([for gs CMYK device])
3511     if $PSDelegate -q -dBATCH -sDEVICE=$GSCMYKDevice -sOutputFile=/dev/null < /dev/null 2> /dev/null; then
3512         :
3513     else
3514         GSCMYKDevice=bmpsep8
3515     fi
3516     AC_MSG_NOTICE([$GSCMYKDevice])
3517
3518     # GSMonoDevice
3519     AC_MSG_CHECKING([for gs mono device])
3520     if $PSDelegate -q -dBATCH -sDEVICE=$GSMonoDevice -sOutputFile=/dev/null < /dev/null 2> /dev/null; then
3521         :
3522     else
3523         GSMonoDevice=$GSColorDevice
3524     fi
3525     AC_MSG_NOTICE([$GSMonoDevice])
3526
3527     # GSPDFDevice
3528     AC_MSG_CHECKING([for gs PDF writing device])
3529     if $PSDelegate -q -dBATCH -sDEVICE=$GSPDFDevice -sOutputFile=/dev/null < /dev/null 2> /dev/null; then
3530         :
3531     else
3532         GSPDFDevice=nodevice
3533     fi
3534         AC_MSG_NOTICE([$GSPDFDevice])
3535
3536     # GSPSDevice
3537     AC_MSG_CHECKING([for gs PS writing device])
3538     if $PSDelegate -q -dBATCH -sDEVICE=$GSPSDevice -sOutputFile=/dev/null < /dev/null 2> /dev/null; then
3539         :
3540     else
3541         GSPSDevice=nodevice
3542     fi
3543     AC_MSG_NOTICE([$GSPSDevice])
3544
3545     # GSEPSDevice
3546     AC_MSG_CHECKING([for gs EPS writing device])
3547     if $PSDelegate -q -dBATCH -sDEVICE=$GSEPSDevice -sOutputFile=/dev/null < /dev/null 2> /dev/null; then
3548         :
3549     else
3550         GSEPSDevice=nodevice
3551     fi
3552     AC_MSG_NOTICE([$GSEPSDevice])
3553 fi
3554
3555 AC_SUBST(GSAlphaDevice)
3556 AC_SUBST(GSCMYKDevice)
3557 AC_SUBST(GSColorDevice)
3558 AC_SUBST(GSEPSDevice)
3559 AC_SUBST(GSMonoDevice)
3560 AC_SUBST(GSPDFDevice)
3561 AC_SUBST(GSPSDevice)
3562 AC_SUBST(GSVersion)
3563
3564 #
3565 # PerlMagick-related configuration
3566 #
3567
3568 # Look for PERL if PerlMagick requested
3569 # If name/path of desired PERL interpreter is specified, look for that one first
3570 have_perl='no'
3571 if test "$with_perl" != 'no'; then
3572     AC_MSG_NOTICE([-------------------------------------------------------------])
3573     AC_MSG_CHECKING([for Perl])
3574     AC_MSG_NOTICE([])
3575     if test "$with_perl" != 'yes'; then
3576         AC_CACHE_CHECK(for perl,ac_cv_path_PERL,ac_cv_path_PERL="$with_perl");
3577         PERL=$ac_cv_path_PERL
3578         AC_SUBST(PERL)dnl
3579         have_perl="$ac_cv_path_PERL"
3580     else
3581         AC_PATH_PROGS(PERL,perl perl5,)dnl
3582         if test "$ac_cv_path_PERL"; then
3583             have_perl="$ac_cv_path_PERL"
3584         fi
3585     fi
3586 fi
3587
3588 if test "$with_perl" != 'yes' ; then
3589     DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-perl=$with_perl "
3590 fi
3591
3592 PERL_SUPPORTS_DESTDIR='no'
3593
3594 with_perl_static='no'
3595 with_perl_dynamic='no'
3596 if test "$have_perl" != 'no'; then
3597     if test "$with_perl" != 'no' && test "$libtool_build_shared_libs" = 'no'; then
3598         with_perl_static='yes'
3599     fi
3600     if test "$with_perl" != 'no' && test "$libtool_build_shared_libs" = 'yes'; then
3601         with_perl_dynamic='yes'
3602     fi
3603     # Is PERL's MakeMaker new enough to support DESTDIR?
3604     AX_PROG_PERL_VERSION(5.8.1,[PERL_SUPPORTS_DESTDIR='yes'],[PERL_SUPPORTS_DESTDIR='no'])
3605 fi
3606 AM_CONDITIONAL(WITH_PERL, test "$have_perl" != 'no')
3607 AM_CONDITIONAL(WITH_PERL_STATIC, test $with_perl_static = 'yes')
3608 AM_CONDITIONAL(WITH_PERL_DYNAMIC, test $with_perl_dynamic = 'yes')
3609 AC_SUBST(PERL_SUPPORTS_DESTDIR)
3610
3611 # Determine path to pick up MagickCore library from for use with building PerlMagick
3612 MAGICKCORE_PATH="${LIB_DIR}"
3613 if test $with_perl_static = 'yes'; then
3614     # Find out where libtool hides its uninstalled libraries (as libtool_objdir)
3615     libtool_objdir=$objdir
3616
3617     # Linker search path to library, followed by -lMagickCore
3618     MAGICKCORE_PATH="${builddir}/MagickCore/${libtool_objdir}"
3619 fi
3620 AC_SUBST(MAGICKCORE_PATH)
3621
3622 # Create a simple string containing format names for all delegate libraries
3623 DELEGATES=''
3624 if test "$have_autotrace"  = 'yes'; then DELEGATES="$DELEGATES autotrace"; fi
3625 if test "$have_bzlib"      = 'yes'; then DELEGATES="$DELEGATES bzlib"; fi
3626 if test "$have_djvu"       = 'yes'; then DELEGATES="$DELEGATES djvu"; fi
3627 if test "$have_dps"        = 'yes'; then DELEGATES="$DELEGATES dps"; fi
3628 if test "$have_fftw"       = 'yes'; then DELEGATES="$DELEGATES fftw"; fi
3629 if test "$have_fpx"        = 'yes'; then DELEGATES="$DELEGATES fpx"; fi
3630 if test "$have_fontconfig" = 'yes'; then DELEGATES="$DELEGATES fontconfig"; fi
3631 if test "$have_freetype"   = 'yes'; then DELEGATES="$DELEGATES freetype"; fi
3632 if test "$have_gslib"      = 'yes'; then DELEGATES="$DELEGATES gs"; fi
3633 if test "$have_gvc"        = 'yes'; then DELEGATES="$DELEGATES gvc"; fi
3634 if test "$have_jbig"       = 'yes'; then DELEGATES="$DELEGATES jbig"; fi
3635 if test "$have_jpeg"       = 'yes'; then
3636   DELEGATES="$DELEGATES jpeg";
3637   if test "$have_png"      = 'yes'; then DELEGATES="$DELEGATES jng"; fi
3638 fi
3639 if test "$have_jp2"        = 'yes'; then DELEGATES="$DELEGATES jp2"; fi
3640 if test "$have_lcms2"      = 'yes'; then DELEGATES="$DELEGATES lcms2"; fi
3641 if test "$have_lcms"       = 'yes'; then DELEGATES="$DELEGATES lcms"; fi
3642 if test "$have_lqr"        = 'yes'; then DELEGATES="$DELEGATES lqr"; fi
3643 if test "$have_lzma"       = 'yes'; then DELEGATES="$DELEGATES lzma"; fi
3644 if test "$have_ffmpeg"     = 'yes'; then DELEGATES="$DELEGATES mpeg"; fi
3645 if test "$have_openexr"    = 'yes'; then DELEGATES="$DELEGATES openexr"; fi
3646 if test "$have_pango"      = 'yes'; then DELEGATES="$DELEGATES pango"; fi
3647 if test "$have_png"        = 'yes'; then DELEGATES="$DELEGATES png"; fi
3648 if test "$have_rsvg"       = 'yes'; then DELEGATES="$DELEGATES rsvg"; fi
3649 if test "$have_tiff"       = 'yes'; then DELEGATES="$DELEGATES tiff"; fi
3650 if test "$have_x"          = 'yes'; then DELEGATES="$DELEGATES x11"; fi
3651 if test "$have_xml"        = 'yes'; then DELEGATES="$DELEGATES xml"; fi
3652 if test "$have_wmf"        = 'yes'; then DELEGATES="$DELEGATES wmf"; fi
3653 if test "$have_zlib"       = 'yes'; then DELEGATES="$DELEGATES zlib"; fi
3654
3655 AC_SUBST(DELEGATES)
3656
3657 #
3658 # Handle special compiler flags
3659 #
3660
3661 # Add '-p' if prof source profiling support enabled
3662 if test "$enable_prof" = 'yes'; then
3663     CFLAGS="-p $CFLAGS"
3664     CXXFLAGS="-p $CXXFLAGS"
3665     LDFLAGS="-p $LDFLAGS"
3666 fi
3667
3668 # Add '-pg' if gprof source profiling support enabled
3669 if test "$enable_gprof" = 'yes'; then
3670     CFLAGS="-pg $CFLAGS"
3671     CXXFLAGS="-pg $CXXFLAGS"
3672     LDFLAGS="-pg $LDFLAGS"
3673 fi
3674
3675 # Add '-ftest-coverage -fprofile-arcs' if gcov source profiling support enabled
3676 # This is a gcc-specific feature
3677 if test "$enable_gcov" = 'yes'; then
3678     AC_CHECK_LIB(gcov,_gcov_init)
3679     AC_CHECK_LIB(gcov,__gcov_init)
3680     case "$target_os" in
3681         darwin*)
3682             OSX_GCOV_LDFLAG="-Wl,-single_module"
3683         ;;
3684         *)
3685             OSX_GCOV_LDFLAG=""
3686         ;;
3687     esac
3688     AC_SUBST(OSX_GCOV_LDFLAG)
3689     CFLAGS="-ftest-coverage -fprofile-arcs  $CFLAGS"
3690     CXXFLAGS="-ftest-coverage -fprofile-arcs  $CXXFLAGS"
3691     LDFLAGS="-ftest-coverage -fprofile-arcs $LDFLAGS"
3692 fi
3693
3694 #
3695 # Build library dependency list for libMagickCore
3696 #
3697
3698 MAGICK_LIBLTDL='' # Libltdl for build
3699 MAGICK_API_LIBLTDL=''   # libltdl for dependent application (API) build
3700 MAGICK_LTDLDEPS=''      # extra libltdl dependencies
3701 if test "$with_ltdl" != 'no'
3702 then
3703   if test \( "$with_included_ltdl" = 'no' -o "$enable_ltdl_convenience" = 'no' \) -o "$enable_ltdl_install" = 'yes'; then
3704     MAGICK_API_LIBLTDL='-lltdl'
3705   fi
3706   MAGICK_LIBLTDL=${LIBLTDL}
3707   MAGICK_LTDLDEPS=${LTDLDEPS}
3708 fi
3709 AC_SUBST(MAGICK_LIBLTDL)
3710 AC_SUBST(MAGICK_LTDLDEPS)
3711
3712 if test "$with_modules" != 'no'; then
3713     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"
3714 else
3715     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 $PANGO_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"
3716 fi
3717 AC_SUBST(MAGICK_DEP_LIBS)
3718
3719 #
3720 # Remove extraneous spaces from output variables (asthetic)
3721 #
3722 X_CFLAGS=`echo $X_CFLAGS | sed -e 's/  */ /g'`
3723 X_PRE_LIBS=`echo $X_PRE_LIBS | sed -e 's/  */ /g'`
3724 X_LIBS=`echo $X_LIBS | sed -e 's/  */ /g'`
3725 X_EXTRA_LIBS=`echo $X_EXTRA_LIBS | sed -e 's/  */ /g'`
3726
3727 CC=`echo $CC | sed -e 's/  */ /g'`
3728 CFLAGS=`echo $CFLAGS | sed -e 's/  */ /g'`
3729 CPPFLAGS=`echo $CPPFLAGS | sed -e 's/  */ /g'`
3730 CXXFLAGS=`echo $CXXFLAGS | sed -e 's/  */ /g'`
3731 DELEGATES=`echo $DELEGATES | sed -e 's/^ //g'`
3732 DISTCHECK_CONFIG_FLAGS=`echo $DISTCHECK_CONFIG_FLAGS | sed -e 's/  */ /g'`
3733 LDFLAGS=`echo $LDFLAGS | sed -e 's/  */ /g'`
3734 TESTED_LIBS=`echo $LIBS | sed -e 's/  */ /g'`
3735 MAGICK_DEP_LIBS=`echo $MAGICK_DEP_LIBS | sed -e 's/  */ /g'`
3736 #LIBS=`echo $LIBS | sed -e 's/  */ /g'`
3737
3738 # Pass only user-provided LIBS as "global" libraries
3739 LIBS=$USER_LIBS
3740
3741 #AC_SUBST(CPPFLAGS)
3742 AC_SUBST(X_CFLAGS)
3743 #AC_SUBST(LDFLAGS)
3744 #AC_SUBST(X_PRE_LIBS)
3745 #AC_SUBST(X_LIBS)
3746 #AC_SUBST(X_EXTRA_LIBS)
3747
3748 MAGICK_CFLAGS=$CFLAGS
3749 MAGICK_CXXFLAGS="$CXXFLAGS"
3750 MAGICK_CPPFLAGS=`echo $MAGICK_CPPFLAGS | sed -e 's/  */ /g'`
3751 MAGICK_PCFLAGS=`echo $MAGICK_PCFLAGS | sed -e 's/  */ /g'`
3752 MAGICK_LDFLAGS="-L$LIB_DIR $LDFLAGS"
3753 MAGICK_LIBS="-lMagickCore $MAGICK_DEP_LIBS $MAGICK_API_LIBLTDL"
3754
3755 AC_SUBST(MAGICK_CFLAGS)
3756 AC_SUBST(MAGICK_CXXFLAGS)
3757 AC_SUBST(MAGICK_CPPFLAGS)
3758 AC_SUBST(MAGICK_PCFLAGS)
3759 AC_SUBST(MAGICK_LDFLAGS)
3760 AC_SUBST(MAGICK_LIBS)
3761 AC_SUBST(MAGICK_FEATURES)
3762
3763 # Set configured scripts to executable.
3764 AC_CONFIG_COMMANDS([default],[],[])
3765 AC_CONFIG_COMMANDS([MagickCore-config.in],[chmod +x MagickCore/MagickCore-config])
3766 AC_CONFIG_COMMANDS([MagickWand-config.in],[chmod +x MagickWand/MagickWand-config])
3767 AC_CONFIG_COMMANDS([Magick++-config.in],[chmod +x Magick++/bin/Magick++-config])
3768 AC_CONFIG_COMMANDS([PerlMagick/check.sh.in],[chmod +x PerlMagick/check.sh])
3769
3770 AC_MSG_NOTICE([-------------------------------------------------------------])
3771 AC_MSG_NOTICE([Update ImageMagick configuration])
3772 AC_OUTPUT
3773
3774 rm -f magick-version
3775
3776 result_dejavu_font_dir='none'
3777 if test "${dejavu_font_dir}x" != 'x'; then
3778     result_dejavu_font_dir=$dejavu_font_dir
3779 fi
3780
3781 result_ghostscript_font_dir='none'
3782 if test "${ghostscript_font_dir}x" != 'x'; then
3783     result_ghostscript_font_dir=$ghostscript_font_dir
3784 fi
3785
3786 result_windows_font_dir='none'
3787 if test "${windows_font_dir}x" != 'x'; then
3788     result_windows_font_dir=${windows_font_dir}
3789 fi
3790
3791 AC_MSG_NOTICE([
3792 ImageMagick is configured as follows. Please verify that this configuration
3793 matches your expectations.
3794
3795 Host system type: $host
3796 Build system type: $build
3797
3798                   Option                        Value
3799 -------------------------------------------------------------------------------
3800 Shared libraries  --enable-shared=$enable_shared                $libtool_build_shared_libs
3801 Static libraries  --enable-static=$enable_static                $libtool_build_static_libs
3802 Module support    --with-modules=$with_modules          $with_modules
3803 GNU ld            --with-gnu-ld=$with_gnu_ld            $lt_cv_prog_gnu_ld
3804 Quantum depth     --with-quantum-depth=$with_quantum_depth      $with_quantum_depth
3805 High Dynamic Range Imagery
3806                   --enable-hdri=$enable_hdri            $enable_hdri
3807
3808 Delegate Configuration:
3809 BZLIB             --with-bzlib=$with_bzlib              $have_bzlib
3810 Autotrace         --with-autotrace=$with_autotrace              $have_autotrace
3811 Dejavu fonts      --with-dejavu-font-dir=$with_dejavu_font_dir  $result_dejavu_font_dir
3812 DJVU              --with-djvu=$with_djvu                $have_djvu
3813 DPS               --with-dps=$with_dps          $have_dps
3814 FFTW              --with-fftw=$with_fftw                $have_fftw
3815 FlashPIX          --with-fpx=$with_fpx          $have_fpx
3816 FontConfig        --with-fontconfig=$with_fontconfig            $have_fontconfig
3817 FreeType          --with-freetype=$with_freetype                $have_freetype
3818 GhostPCL          None                          $PCLDelegate ($PCLVersion)
3819 GhostXPS          None                          $XPSDelegate ($XPSVersion)
3820 Ghostscript       None                          $PSDelegate ($GSVersion)
3821 Ghostscript fonts --with-gs-font-dir=$with_gs_font_dir  $result_ghostscript_font_dir
3822 Ghostscript lib   --with-gslib=$with_gslib              $have_gslib
3823 Graphviz          --with-gvc=$with_gvc          $have_gvc
3824 JBIG              --with-jbig=$with_jbig                $have_jbig
3825 JPEG v1           --with-jpeg=$with_jpeg                $have_jpeg
3826 JPEG-2000         --with-jp2=$with_jp2          $have_jp2
3827 LCMS v1           --with-lcms=$with_lcms                $have_lcms
3828 LCMS v2           --with-lcms2=$with_lcms2              $have_lcms2
3829 LQR               --with-lqr=$with_lqr          $have_lqr
3830 LZMA              --with-lzma=$with_lzma                $have_lzma
3831 Magick++          --with-magick-plus-plus=$with_magick_plus_plus        $have_magick_plus_plus
3832 OpenEXR           --with-openexr=$with_openexr          $have_openexr
3833 PANGO             --with-pango=$with_pango              $have_pango
3834 PERL              --with-perl=$with_perl                $have_perl
3835 PNG               --with-png=$with_png          $have_png
3836 RSVG              --with-rsvg=$with_rsvg                $have_rsvg
3837 TIFF              --with-tiff=$with_tiff                $have_tiff
3838 WEBP              --with-webp=$with_webp                $have_webp
3839 Windows fonts     --with-windows-font-dir=$with_windows_font_dir        $result_windows_font_dir
3840 WMF               --with-wmf=$with_wmf          $have_wmf
3841 X11               --with-x=$with_x                      $have_x
3842 XML               --with-xml=$with_xml          $have_xml
3843 ZLIB              --with-zlib=$with_zlib                $have_zlib
3844
3845 X11 Configuration:
3846       X_CFLAGS        = $X_CFLAGS
3847       X_PRE_LIBS      = $X_PRE_LIBS
3848       X_LIBS          = $X_LIBS
3849       X_EXTRA_LIBS    = $X_EXTRA_LIBS
3850
3851 Options used to compile and link:
3852   PREFIX          = $PREFIX_DIR
3853   EXEC-PREFIX     = $EXEC_PREFIX_DIR
3854   VERSION         = $PACKAGE_VERSION
3855   CC              = $CC
3856   CFLAGS          = $CFLAGS
3857   CPPFLAGS        = $MAGICK_CPPFLAGS
3858   PCFLAGS         = $MAGICK_PCFLAGS
3859   DEFS            = $DEFS
3860   LDFLAGS         = $LDFLAGS
3861   MAGICK_LDFLAGS  = $MAGICK_LDFLAGS
3862   LIBS            = $MAGICK_LIBS
3863   CXX             = $CXX
3864   CXXFLAGS        = $CXXFLAGS
3865   FEATURES        = $MAGICK_FEATURES
3866 ])