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