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