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