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