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