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