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