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