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