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