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