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