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