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