1#  Copyright 1999-2021 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#    https://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#
17#  Copying and distribution of this file, with or without modification,
18#  are permitted in any medium without royalty provided the copyright
19#  notice and this notice are preserved.
20
21# Process this file with autoconf to create configure script.
22AC_PREREQ(2.69)
23
24# ==============================================================================
25# Initalize Automake
26# ==============================================================================
27m4_include([m4/version.m4])
28m4_define([magick_base_version],
29          [magick_major_version.magick_minor_version.magick_micro_version])
30m4_define([magick_version],
31          [magick_base_version-magick_patchlevel_version])m4_define([magick_lib_version_number],
32          [magick_major_version,magick_minor_version,magick_micro_version,magick_patchlevel_version])
33m4_define([magick_git_revision],
34          m4_esyscmd([
35            c=$(git log --full-history --format=tformat:. HEAD | wc -l)
36            h=$(git rev-parse --short HEAD)
37            d=$(date -u +%Y%m%d)
38            printf %s "$c:$h:$d"
39          ]))
40m4_define([magick_release_date],
41          m4_esyscmd([
42            d=$(date -u +%F -r ./ChangeLog)
43            printf %s "$d"
44          ]))
45
46AC_INIT([magick_name],
47        [magick_version],
48        [magick_bugreport],
49        [magick_tarname],
50        [magick_url])
51
52AC_CONFIG_SRCDIR([magick/MagickCore.h])
53AC_CONFIG_AUX_DIR([config])
54AC_REQUIRE_AUX_FILE([tap-driver.sh])
55AC_CONFIG_MACRO_DIR([m4])
56AC_CONFIG_HEADERS([config/config.h])
57AX_PREFIX_CONFIG_H([magick/magick-baseconfig.h],[MagickCore])
58AC_CANONICAL_SYSTEM
59AC_CANONICAL_TARGET
60
61AM_INIT_AUTOMAKE([foreign no-define color-tests parallel-tests -Wall -Wno-portability subdir-objects dist-bzip2 dist-lzip dist-xz dist-zip tar-ustar])
62
63AM_SILENT_RULES([yes])
64AC_SUBST([CONFIGURE_DEPENDENCIES],["$CONFIGURE_DEPENDENCIES \$(top_srcdir)/ChangeLog \$(top_srcdir)/m4/version.m4"])
65
66#
67# Save initial user-tunable values
68#
69USER_LIBS=$LIBS
70for var in CC CFLAGS CPPFLAGS CXX CXXCPP LDFLAGS AR_FLAGS LIBS ; do
71  eval isset=\${$var+set}
72    if test "$isset" = 'set'; then
73        eval val=$`echo $var`
74        DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS}'${var}=${val}' "
75    fi
76done
77AC_SUBST([DISTCHECK_CONFIG_FLAGS])
78
79CONFIGURE_ARGS="$0 ${ac_configure_args}"
80AC_SUBST([CONFIGURE_ARGS])
81
82echo "Configuring ${PACKAGE_NAME} ${PACKAGE_VERSION}"
83
84MAGICK_TARGET_CPU=$host_cpu
85AC_SUBST([MAGICK_TARGET_CPU])
86AC_DEFINE_UNQUOTED([MAGICK_TARGET_CPU],[$MAGICK_TARGET_CPU],[Target Host CPU])
87
88MAGICK_TARGET_VENDOR=$host_vendor
89AC_SUBST([MAGICK_TARGET_VENDOR])
90AC_DEFINE_UNQUOTED([MAGICK_TARGET_VENDOR],[$MAGICK_TARGET_VENDOR],[Target Host Vendor])
91
92MAGICK_TARGET_OS=$host_os
93AC_SUBST([MAGICK_TARGET_OS])
94AC_DEFINE_UNQUOTED([MAGICK_TARGET_OS],[$MAGICK_TARGET_OS],[Target Host OS])
95
96
97# Substitute versioning
98AC_SUBST([MAGICK_MAJOR_VERSION],[magick_major_version])
99AC_SUBST([MAGICK_MINOR_VERSION],[magick_minor_version])
100AC_SUBST([MAGICK_MICRO_VERSION],[magick_micro_version])
101AC_SUBST([MAGICK_PATCHLEVEL_VERSION],[magick_patchlevel_version])
102AC_SUBST([MAGICK_VERSION],[magick_version])
103AC_SUBST([MAGICK_GIT_REVISION],[magick_git_revision])
104
105# Substitute library versioning
106AC_SUBST([MAGICK_LIBRARY_CURRENT],[magick_library_current])dnl
107AC_SUBST([MAGICK_LIBRARY_REVISION],[magick_library_revision])dnl
108AC_SUBST([MAGICK_LIBRARY_AGE],[magick_library_age])dnl
109AC_SUBST([MAGICK_LIBRARY_CURRENT_MIN],
110         [`expr $MAGICK_LIBRARY_CURRENT - $MAGICK_LIBRARY_AGE`])
111AC_SUBST([MAGICK_LIBRARY_VERSION_INFO],
112         [$MAGICK_LIBRARY_CURRENT:$MAGICK_LIBRARY_REVISION:$MAGICK_LIBRARY_AGE])
113
114AC_SUBST([MAGICKPP_LIBRARY_CURRENT],[magickpp_library_current])dnl
115AC_SUBST([MAGICKPP_LIBRARY_REVISION],[magickpp_library_revision])dnl
116AC_SUBST([MAGICKPP_LIBRARY_AGE],[magickpp_library_age])dnl
117AC_SUBST([MAGICKPP_LIBRARY_CURRENT_MIN],
118         [`expr $MAGICKPP_LIBRARY_CURRENT - $MAGICKPP_LIBRARY_AGE`])
119AC_SUBST([MAGICKPP_LIBRARY_VERSION_INFO],
120         [$MAGICKPP_LIBRARY_CURRENT:$MAGICKPP_LIBRARY_REVISION:$MAGICKPP_LIBRARY_AGE])
121
122AC_SUBST([PACKAGE_BASE_VERSION],[magick_base_version])
123AC_SUBST([PACKAGE_PATCHLEVEL_VERSION],[magick_patchlevel_version])
124AC_SUBST([PACKAGE_VERSION_ADDENDUM],[-magick_patchlevel_version])
125AC_SUBST([PACKAGE_LIB_VERSION],[magick_lib_version])
126AC_SUBST([PACKAGE_LIB_VERSION_NUMBER],[magick_lib_version_number])
127AC_SUBST([PACKAGE_RELEASE_DATE],[magick_release_date])
128
129# Ensure that make can run correctly
130AM_SANITY_CHECK
131
132# versioning of library
133MAGICK_LIB_VERSION="0x"
134if test ${MAGICK_LIBRARY_CURRENT} -lt 10 ; then
135  MAGICK_LIB_VERSION=${MAGICK_LIB_VERSION}0
136fi
137MAGICK_LIB_VERSION=${MAGICK_LIB_VERSION}${MAGICK_LIBRARY_CURRENT}
138if test ${MAGICK_LIBRARY_AGE} -lt 10 ; then
139  MAGICK_LIB_VERSION=${MAGICK_LIB_VERSION}0
140fi
141MAGICK_LIB_VERSION=${MAGICK_LIB_VERSION}${MAGICK_LIBRARY_AGE}
142if test ${MAGICK_LIBRARY_REVISION} -lt 10 ; then
143  MAGICK_LIB_VERSION=${MAGICK_LIB_VERSION}0
144fi
145MAGICK_LIB_VERSION=${MAGICK_LIB_VERSION}${MAGICK_LIBRARY_REVISION}
146AC_SUBST([MAGICK_LIB_VERSION])
147
148# Definition used to define MagickLibVersionText in version.h
149MAGICK_LIB_VERSION_TEXT="${PACKAGE_BASE_VERSION}"
150AC_SUBST([MAGICK_LIB_VERSION_TEXT])
151
152# Definition used to define MagickLibVersionNumber in version.h
153MAGICK_LIB_VERSION_NUMBER="${MAGICK_LIBRARY_CURRENT},${MAGICK_LIBRARY_AGE},${MAGICK_LIBRARY_REVISION}"
154AC_SUBST([MAGICK_LIB_VERSION_NUMBER])
155
156MAGICKPP_LIB_VERSION="0x"
157if test ${MAGICKPP_LIBRARY_CURRENT} -lt 10 ; then
158  MAGICKPP_LIB_VERSION=${MAGICKPP_LIB_VERSION}0
159fi
160MAGICKPP_LIB_VERSION=${MAGICKPP_LIB_VERSION}${MAGICKPP_LIBRARY_CURRENT}
161if test ${MAGICKPP_LIBRARY_AGE} -lt 10 ; then
162  MAGICKPP_LIB_VERSION=${MAGICKPP_LIB_VERSION}0
163fi
164MAGICKPP_LIB_VERSION=${MAGICKPP_LIB_VERSION}${MAGICKPP_LIBRARY_AGE}
165if test ${MAGICKPP_LIBRARY_REVISION} -lt 10 ; then
166  MAGICKPP_LIB_VERSION=${MAGICKPP_LIB_VERSION}0
167fi
168MAGICKPP_LIB_VERSION=${MAGICKPP_LIB_VERSION}${MAGICKPP_LIBRARY_REVISION}
169AC_SUBST([MAGICKPP_LIB_VERSION])
170
171# Definition used to define MagickLibVersionText in version.h
172MAGICKPP_LIB_VERSION_TEXT="${PACKAGE_BASE_VERSION}"
173AC_SUBST([MAGICKPP_LIB_VERSION_TEXT])
174
175# Definition used to define MagickLibVersionNumber in version.h
176MAGICK_LIB_VERSION_NUMBER="${MAGICK_LIBRARY_CURRENT},${MAGICK_LIBRARY_AGE},${MAGICK_LIBRARY_REVISION}"
177AC_SUBST([MAGICK_LIB_VERSION_NUMBER])
178
179PERLMAINCC=$CC
180
181MAGICK_CFLAGS=''
182MAGICK_CPPFLAGS=$CPPFLAGS_USER
183MAGICK_PCFLAGS=$CPPFLAGS_USER
184MAGICK_LDFLAGS=''
185MAGICK_LIBS=''
186MAGICK_FEATURES=''
187
188#
189# Evaluate shell variable equivalents to Makefile directory variables
190#
191if test "x$prefix" = xNONE; then
192    prefix=$ac_default_prefix
193fi
194# Let make expand exec_prefix.
195if test "x$exec_prefix" = xNONE; then
196    exec_prefix='${prefix}'
197fi
198
199#
200eval "eval PREFIX_DIR=${prefix}"
201AC_SUBST([PREFIX_DIR])
202eval "eval EXEC_PREFIX_DIR=${exec_prefix}"
203AC_SUBST([EXEC_PREFIX_DIR])
204eval "eval BIN_DIR=$bindir"
205AC_SUBST([BIN_DIR])
206eval "eval SBIN_DIR=$sbindir"
207AC_SUBST([SBIN_DIR])
208eval "eval LIBEXEC_DIR=$libexecdir"
209AC_SUBST([LIBEXEC_DIR])
210eval "eval DATA_DIR=$datadir"
211AC_SUBST([DATA_DIR])
212eval "eval DOC_DIR=$datadir/doc"
213AC_SUBST([DOC_DIR])
214eval "eval SYSCONF_DIR=$sysconfdir"
215AC_SUBST([SYSCONF_DIR])
216eval "eval SHAREDSTATE_DIR=$sharedstatedir"
217AC_SUBST([SHAREDSTATE_DIR])
218eval "eval LOCALSTATE_DIR=$localstatedir"
219AC_SUBST([LOCALSTATE_DIR])
220eval "eval LIB_DIR=$libdir"
221AC_SUBST([LIB_DIR])
222eval "eval INCLUDE_DIR=$includedir"
223AC_SUBST([INCLUDE_DIR])
224eval "eval PERSISTINCLUDE_DIR=$oldincludedir"
225AC_SUBST([PERSISTINCLUDE_DIR])
226eval "eval INFO_DIR=$infodir"
227AC_SUBST([INFO_DIR])
228eval "eval MAN_DIR=$mandir"
229AC_SUBST([MAN_DIR])
230
231# Get full paths to source and build directories
232srcdirfull="`cd $srcdir && pwd`"
233builddir="`pwd`"
234
235#
236# Compute variables useful for running uninstalled software.
237#
238MAGICK_CODER_MODULE_PATH="${builddir}/coders"
239MAGICK_CONFIGURE_SRC_PATH="${srcdirfull}/config"
240MAGICK_CONFIGURE_BUILD_PATH="${builddir}/config"
241MAGICK_FILTER_MODULE_PATH="${builddir}/filters"
242DIRSEP=':'
243case "${build_os}" in
244    mingw* )
245        MAGICK_CODER_MODULE_PATH=`$WinPathScript "${MAGICK_CODER_MODULE_PATH}" 0`
246        MAGICK_CONFIGURE_SRC_PATH=`$WinPathScript "${MAGICK_CONFIGURE_SRC_PATH}" 0`
247        MAGICK_CONFIGURE_BUILD_PATH=`$WinPathScript "${MAGICK_CONFIGURE_BUILD_PATH}" 0`
248        MAGICK_FILTER_MODULE_PATH=`$WinPathScript "${MAGICK_FILTER_MODULE_PATH}" 0`
249        DIRSEP=';'
250    ;;
251esac
252case "${host_os}" in
253  mingw* )
254    DIRSEP=';'
255    ;;
256esac
257AC_SUBST([MAGICK_CODER_MODULE_PATH])
258AC_SUBST([MAGICK_CONFIGURE_SRC_PATH])
259AC_SUBST([MAGICK_CONFIGURE_BUILD_PATH])
260AC_SUBST([MAGICK_FILTER_MODULE_PATH])
261AC_SUBST([DIRSEP])
262
263
264#
265# Enable OS features.
266#
267AC_USE_SYSTEM_EXTENSIONS
268
269# ==============================================================================
270# Find required base packages
271# ==============================================================================
272m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
273AC_PROG_CC
274AC_PROG_CPP
275AC_PROG_LD
276LT_PATH_LD
277AC_SUBST([LD])
278AC_PROG_CC_C99
279AM_PROG_CC_C_O
280AX_CFLAGS_WARN_ALL
281AC_PROG_INSTALL
282AC_PROG_MAKE_SET
283AC_PROG_LN_S
284AC_PROG_SED
285AC_PROG_AWK
286AC_PROG_MKDIR_P
287AM_WITH_DMALLOC
288AX_C___ATTRIBUTE__
289AX_GCC_ARCHFLAG([yes])
290PKG_PROG_PKG_CONFIG([0.20])
291AC_CANONICAL_BUILD
292AC_CANONICAL_HOST
293
294AX_COMPILER_VENDOR
295
296if test "x$GCC" = "xyes"; then
297  CFLAGS="$CFLAGS -fexceptions"
298  touch local.exp
299else
300  cat > local.exp <<EOF
301set CC_FOR_TARGET "$CC"
302EOF
303fi
304
305# Check for linker script support
306gl_LD_VERSION_SCRIPT
307
308#
309# Enable run-time checking.
310#
311AC_ARG_ENABLE([bounds-checking],
312    [AC_HELP_STRING([--enable-bounds-checking],
313                    [enable run-time bounds-checking])],
314    [enable_bounds_checking=$enableval],
315    [enable_bounds_checking='no'])
316
317if test "$enable_bounds_checking" = yes; then
318  AC_DEFINE([_FORTIFY_SOURCE], [2],
319    [enable run-time bounds-checking])
320fi
321
322#
323# Tests for Windows
324#
325AC_EXEEXT
326AC_OBJEXT
327
328native_win32_build='no'
329cygwin_build='no'
330case "${host_os}" in
331    cygwin* )
332        cygwin_build='yes'
333    ;;
334    mingw* )
335        native_win32_build='yes'
336    ;;
337esac
338AM_CONDITIONAL([WIN32_NATIVE_BUILD],[test "${native_win32_build}" = 'yes'])
339AM_CONDITIONAL([CYGWIN_BUILD],[test "${cygwin_build}" = 'yes'])
340
341WinPathScript="${srcdirfull}/winpath.sh"
342AC_SUBST([WinPathScript])
343
344#
345# Compiler flags tweaks
346#
347if test "${GCC}" != "yes"; then
348    case "${host}" in
349        *-*-hpux* )
350            # aCC: HP ANSI C++ B3910B A.03.34
351            CFLAGS="${CFLAGS} -Wp,-H30000"
352            if test -n "${CXXFLAGS}"; then
353                CXXFLAGS='-AA'
354            else
355                CXXFLAGS="${CXXFLAGS} -AA"
356            fi
357        ;;
358        *-dec-osf5.* )
359            # Compaq alphaev68-dec-osf5.1 compiler
360            if test -n "${CXXFLAGS}"; then
361                CXXFLAGS='-std strict_ansi -noimplicit_include'
362            else
363                CXXFLAGS="${CXXFLAGS} -std strict_ansi -noimplicit_include"
364            fi
365  esac
366fi
367
368# Check for lazy-loading.
369AC_CACHE_CHECK([for linker lazyload option],[im_cv_ld_lazyload],
370[
371im_cv_ld_lazyload='none'
372case "${host}" in
373  *-*-solaris2.8 | *-*-solaris2.9 | *-*-solaris2.1? )
374    if test "$lt_cv_prog_gnu_ld" != 'yes' ; then
375       im_cv_ld_lazyload='-Wl,-zlazyload'
376    fi
377    ;;
378esac
379])
380if test "${im_cv_ld_lazyload}" != 'none' ; then
381  if test -z "${LDFLAGS}" ; then
382    LDFLAGS="${im_cv_ld_lazyload}"
383  else
384    LDFLAGS="${im_cv_ld_lazyload} ${LDFLAGS}"
385  fi
386fi
387
388dnl Platform-specific stuff
389case "$host" in
390  *darwin* | *-macos10*)
391    dnl Disable FORTIFY_SOURCE to fix a bug in LVVM / OpenMP support
392    CFLAGS="${CFLAGS} -D_FORTIFY_SOURCE=0"
393    dnl OS X universal binary support, requires --disable-dependency-tracking
394    AC_ARG_ENABLE([osx-universal-binary],
395        AC_HELP_STRING([--enable-osx-universal-binary],
396           [build universal binary on OS X [[default=no]]]),
397        [build_osxuniversal="${enableval}"], [build_osxuniversal=no])
398
399    if test "${build_osxuniversal}" != no ; then
400      if test "$enable_dependency_tracking" != no ; then
401        AC_MSG_ERROR([--enable-osx-universal-binary requires --disable-dependency-tracking.
402Please re-run configure with these options:
403  --disable-dependency-tracking --enable-osx-universal-binary
404        ])
405      fi
406      CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch ppc -arch i386"
407      CXXFLAGS="$CXXFLAGS -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch ppc -arch i386"
408      LDFLAGS="$LDFLAGS -Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -arch ppc -arch i386"
409  fi
410  ;;
411esac
412
413#
414# ARCH specific include directory
415#
416AC_ARG_WITH([includearch-dir],
417    [AC_HELP_STRING([--includearch-dir=DIR],
418                    [ARCH specific include directory])],
419                    [includearch_dir=$withval],
420                    [includearch_dir=$INCLUDE_DIR])
421
422eval "eval INCLUDEARCH_DIR=$includearch_dir"
423AC_SUBST([INCLUDEARCH_DIR])
424
425#
426# ARCH specific configuration directory
427#
428AC_ARG_WITH([sharearch-dir],
429    [AC_HELP_STRING([--sharearch-dir=DIR],
430                    [ARCH specific config directory])],
431                    [sharearch_dir=$withval],
432                    [sharearch_dir="${LIB_DIR}"])
433
434eval "eval SHAREARCH_DIR=$sharearch_dir"
435AC_SUBST([SHAREARCH_DIR])
436
437# Path to the pkgconfig folder
438AC_ARG_WITH([pkgconfigdir], AS_HELP_STRING([--with-pkgconfigdir=DIR],
439            [Path to the pkgconfig directory @<:@LIBDIR/pkgconfig@:>@]),
440            [pkgconfigdir="$withval"], [pkgconfigdir='${libdir}/pkgconfig'])
441AC_SUBST([pkgconfigdir])
442
443#
444# Enable support for POSIX thread APIs
445#
446AC_ARG_WITH([threads],
447    [AC_HELP_STRING([--without-threads], [disable POSIX threads API support])],
448    [with_threads=$withval],
449    [with_threads='yes'])
450
451THREAD_LIBS=''
452have_threads=no
453if test "$with_threads" != 'no'; then
454    AX_PTHREAD()
455    if test "$ax_pthread_ok" = yes; then
456        have_threads=yes
457        DEF_THREAD="$PTHREAD_CFLAGS"
458        CFLAGS="$CFLAGS $DEF_THREAD"
459        CXXFLAGS="$CXXFLAGS $DEF_THREAD"
460        THREAD_LIBS="$PTHREAD_LIBS"
461        if test "$CC" != "$PTHREAD_CC"; then
462            AC_MSG_WARN([Replacing compiler $CC with compiler $PTHREAD_CC to support pthreads.])
463            CC="$PTHREAD_CC"
464        fi
465        AC_DEFINE([THREAD_SUPPORT],[1],[Define if you have POSIX threads libraries and header files.])
466    fi
467fi
468LIBS="$LIBS $THREAD_LIBS"
469AC_SUBST([THREAD_LIBS])
470
471# Enable support for OpenMP
472if test "$have_threads" != 'yes'; then
473  ac_cv_prog_c_openmp=unsupported
474fi
475AC_OPENMP([C])
476CFLAGS="$OPENMP_CFLAGS $CFLAGS"
477MAGICK_PCFLAGS="$MAGICK_PCFLAGS $OPENMP_CFLAGS"
478AC_SUBST([OPENMP_CFLAGS])
479if test "$enable_openmp" != no; then
480  if test "$ac_cv_prog_c_openmp" != 'unsupported'; then
481    MAGICK_FEATURES="OpenMP $MAGICK_FEATURES"
482  fi
483fi
484
485# Enable support for OpenCL
486no_cl=yes
487AX_HAVE_OPENCL([C])
488if test "X$no_cl" != 'Xyes'; then
489  MAGICK_FEATURES="OpenCL $MAGICK_FEATURES"
490fi
491
492########
493#
494# Check for large file support
495#
496########
497AC_SYS_LARGEFILE
498AC_FUNC_FSEEKO
499LFS_CPPFLAGS=''
500if test "$enable_largefile" != no; then
501    case $ac_cv_sys_file_offset_bits in
502    no)
503        # nothing to do here as the host supports LFS fine
504        ;;
505    unknown)
506        AC_MSG_CHECKING([for native large file support])
507        AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <unistd.h>
508          main () {
509          exit(!(sizeof(off_t) == 8));
510        }])],
511        [ac_cv_sys_file_offset_bits=64; AC_DEFINE(_FILE_OFFSET_BITS,64)
512         AC_MSG_RESULT([yes])],
513        [AC_MSG_RESULT([no])])
514        ;;
515    *)
516        LFS_CPPFLAGS="$LFS_CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
517        ;;
518    esac
519    if test "$ac_cv_sys_large_files" != 'no'; then
520        LFS_CPPFLAGS="$LFS_CPPFLAGS -D_LARGE_FILES=1"
521    fi
522    if test "$ac_cv_sys_largefile_source" != 'no'; then
523        LFS_CPPFLAGS="$LFS_CPPFLAGS -D_LARGEFILE_SOURCE=1"
524    fi
525fi
526AC_SUBST([LFS_CPPFLAGS])
527
528#
529# Check for sendfile support
530#
531########
532AC_CACHE_CHECK([Linux compatible sendfile()],ac_cv_have_linux_sendfile,[
533  AC_TRY_LINK([
534    #undef _FILE_OFFSET_BITS
535    #include <sys/types.h>
536    #include <sys/socket.h>
537    #include <sys/sendfile.h>
538  ], [
539    sendfile(0, 0, (void *) 0, 0);
540  ], [
541    ac_cv_have_linux_sendfile=yes
542  ], [
543    ac_cv_have_linux_sendfile=no
544  ])
545])
546if test $ac_cv_have_linux_sendfile = yes; then
547  AC_DEFINE([HAVE_LINUX_SENDFILE],[1], [Define if you have Linux-compatible sendfile()])
548fi
549
550#
551# Set SETJMP_IS_THREAD_SAFE define.
552#
553case "${host_os}" in
554  solaris2* ) ;;
555  *) AC_DEFINE([SETJMP_IS_THREAD_SAFE],[1],[Setjmp/longjmp are thread safe]) ;;
556esac
557
558# Configure libtool
559: ${AR_FLAGS=cr}
560LT_INIT([win32-dll dlopen])
561LT_LANG([C++])
562AC_SUBST([LIBTOOL_DEPS])
563
564# Check to see if building shared libraries
565libtool_build_shared_libs='no'
566if test "$enable_shared" = 'yes'; then
567    libtool_build_shared_libs='yes'
568fi
569
570# Check to see if building static libraries
571libtool_build_static_libs='no'
572if test "$enable_static" = 'yes'; then
573    libtool_build_static_libs='yes'
574fi
575
576AM_CONDITIONAL([WITH_SHARED_LIBS],[test "${libtool_build_shared_libs}" = 'yes'])
577#
578# Enable support for building loadable modules
579#
580build_modules='no'
581AC_ARG_WITH([modules],
582    [AC_HELP_STRING([--with-modules],
583                    [enable building dynamically loadable modules])],
584    [with_modules=$withval],
585    [with_modules='no'])
586
587# Only allow building loadable modules if we are building shared libraries
588if test "$with_modules" != 'no' ; then
589    if test "$libtool_build_shared_libs" = 'no'; then
590        AC_MSG_WARN([Modules may only be built if building shared libraries is enabled.])
591    build_modules='no'
592  else
593    build_modules='yes'
594  fi
595fi
596if test "$build_modules" != 'no' ; then
597    AC_DEFINE([BUILD_MODULES],[1],[Define if coders and filters are to be built as modules.])
598    MAGICK_FEATURES="$MAGICK_FEATURES Modules"
599fi
600AM_CONDITIONAL([WITH_MODULES],[test "$build_modules" != 'no'])
601
602# Enable build using delegate libraries built in subdirectories rather than installed
603# delegate libraries (bzlib fftw fpx gslib jp2 jbig jpeg lcms lzma png tiff ttf wmf xml zlib)
604AC_ARG_ENABLE([delegate-build],
605    [AC_HELP_STRING([--enable-delegate-build],
606                    [look for delegate libraries in build directory])],
607    [enable_delegate_build=$enableval],
608    [enable_delegate_build='no'])
609
610AC_ARG_ENABLE([deprecated],
611    [AC_HELP_STRING([--disable-deprecated],
612                    [exclude deprecated methods in MagickCore and MagickWand APIs])],
613    [enable_deprecated=$enableval],
614    [enable_deprecated='no'])
615
616if test "$enable_deprecated" = 'yes'; then
617  AC_DEFINE([EXCLUDE_DEPRECATED],[1],[exclude deprecated methods in MagickCore API])
618else
619  DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --disable-deprecated "
620fi
621
622# Build a version of ImageMagick which operates uninstalled.
623# Used to build distributions located via MAGICK_HOME / executable path
624AC_ARG_ENABLE([installed],
625    [AC_HELP_STRING([--disable-installed],
626                    [Formally install ImageMagick under PREFIX])],
627    [enable_installed=$enableval],
628    [enable_installed='yes'])
629
630if test "$enable_installed" = 'yes'; then
631    AC_DEFINE([INSTALLED_SUPPORT],[1],[ImageMagick is formally installed under prefix])
632else
633    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --disable-installed "
634fi
635
636# Permit enciphering and deciphering image pixels.
637AC_ARG_ENABLE([cipher],
638    [AC_HELP_STRING([--disable-cipher],
639                    [disable enciphering and deciphering image pixels])],
640    [enable_cipher=$enableval],
641    [enable_cipher='yes'])
642
643if test "$enable_cipher" = 'yes'; then
644    AC_DEFINE([CIPHER_SUPPORT],[1],[permit enciphering and deciphering image pixels])
645    MAGICK_FEATURES="Cipher $MAGICK_FEATURES"
646fi
647
648# Build a zero-configuration version of ImageMagick.
649AC_ARG_ENABLE([zero-configuration],
650    [AC_HELP_STRING([--enable-zero-configuration],
651                    [enable self-contained, embeddable, zero-configuration ImageMagick])],
652    [enable_zero_configuration=$enableval],
653    [enable_zero_configuration='no'])
654
655if test "$enable_zero_configuration" = 'yes'; then
656    AC_DEFINE([ZERO_CONFIGURATION_SUPPORT],[1],[Build self-contained, embeddable, zero-configuration ImageMagick])
657    MAGICK_FEATURES="Zero-configuration $MAGICK_FEATURES"
658fi
659AM_CONDITIONAL([MAGICKCORE_ZERO_CONFIGURATION_SUPPORT],[test "$enable_zero_configuration" = yes])
660
661# Build a high dynamic range version of ImageMagick.
662AC_ARG_ENABLE([hdri],
663    [AC_HELP_STRING([--enable-hdri],
664                    [accurately represent the wide range of intensity levels found in real scenes])],
665    [enable_hdri=$enableval],
666    [enable_hdri='no'])
667
668MAGICK_HDRI=""
669if test "$enable_hdri" = 'yes'; then
670    MAGICK_HDRI="HDRI"
671    magick_hdri_enable='1';
672    MAGICK_FEATURES="HDRI $MAGICK_FEATURES"
673else
674    magick_hdri_enable='0'
675fi
676AC_DEFINE_UNQUOTED([HDRI_ENABLE_OBSOLETE_IN_H],[$magick_hdri_enable],[Whether hdri is enabled or not])
677AC_SUBST([MAGICK_HDRI])dnl
678MAGICK_PCFLAGS="$MAGICK_PCFLAGS -DMAGICKCORE_HDRI_ENABLE=$magick_hdri_enable"
679CFLAGS="$CFLAGS -DMAGICKCORE_HDRI_ENABLE=$magick_hdri_enable"
680CPPFLAGS="$CPPFLAGS -DMAGICKCORE_HDRI_ENABLE=$magick_hdri_enable"
681
682# Enable pipes (|) in filenames.
683AC_ARG_ENABLE([pipes],
684    [AC_HELP_STRING([--enable-pipes],
685                    [enable pipes (|) in filenames])],
686    [enable_pipes=$enableval],
687    [enable_pipes='no'])
688
689if test "$enable_pipes" = 'yes'; then
690    AC_DEFINE([PIPES_SUPPORT],[1],[enable pipes (|) in filenames])
691    MAGICK_FEATURES="Pipes $MAGICK_FEATURES"
692fi
693
694# Don't emit "rebuild rules" for configure, Makefile.ins, etc.
695AM_MAINTAINER_MODE
696
697# Enable hugepages support
698AC_ARG_ENABLE([hugepages],
699    [AC_HELP_STRING([--enable-hugepages],
700                    [enable 'huge pages' support])],
701    [enable_hugepages=$enableval],
702    [enable_hugepages='no'])
703
704# Enable ccmalloc memory debugging support
705AC_ARG_ENABLE([ccmalloc],
706    [AC_HELP_STRING([--enable-ccmalloc],
707                    [enable 'ccmalloc' memory debug support])],
708    [enable_ccmalloc=$enableval],
709    [enable_ccmalloc='no'])
710
711# Enable Electric Fence memory debugging support
712AC_ARG_ENABLE([efence],
713    [AC_HELP_STRING([--enable-efence],
714                    [enable 'efence' memory debug support])],
715    [enable_efence=$enableval],
716    [enable_efence='no'])
717
718# Enable prof-based profiling support
719AC_ARG_ENABLE([prof],
720    [AC_HELP_STRING([--enable-prof],
721                    [enable 'prof' profiling support])],
722    [enable_prof=$enableval],
723    [enable_prof='no'])
724
725# Enable gprof-based profiling support
726AC_ARG_ENABLE([gprof],
727    [AC_HELP_STRING([--enable-gprof],
728                    [enable 'gprof' profiling support])],
729    [enable_gprof=$enableval],
730    [enable_gprof='no'])
731
732# Enable gcov-based profiling support
733AC_ARG_ENABLE([gcov],
734    [AC_HELP_STRING([--enable-gcov],
735                    [enable 'gcov' profiling support])],
736    [enable_gcov=$enableval],
737    [enable_gcov='no'])
738
739enable_profiling='no'
740if test "$enable_prof" = 'yes' || test "$enable_gprof" = 'yes' || test "$enable_gcov" = 'yes'; then
741    enable_profiling='yes'
742    if test "$libtool_build_shared_libs" = 'yes'; then
743        echo "Warning: Can not profile code using shared libraries"
744    fi
745fi
746
747# Magick API method prefix
748AC_ARG_WITH([method-prefix],
749    [AC_HELP_STRING([--with-method-prefix=PREFIX],
750                    [prefix MagickCore API methods])],
751    [with_method_prefix=$withval],
752    [with_method_prefix='no'])
753
754if test "$with_method_prefix" != 'no'; then
755    AC_DEFINE_UNQUOTED([NAMESPACE_PREFIX],[$with_method_prefix],[Magick API method prefix])
756    AC_DEFINE_UNQUOTED([NAMESPACE_PREFIX_TAG],[$with_method_prefix],[Magick API method prefix tag])
757    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-method-prefix "
758fi
759
760# Enable legacy support (default no)
761AC_ARG_ENABLE([legacy-support],
762              [  --enable-legacy-support install legacy command-line utilities (default disabled)],
763              [with_legacy_support=$enableval],
764              [with_legacy_support='no'])
765AM_CONDITIONAL([LEGACY_SUPPORT],[test "$with_legacy_support" != 'no'])
766
767# Number of bits in a Quantum
768AC_ARG_WITH([quantum-depth],
769    [AC_HELP_STRING([--with-quantum-depth=DEPTH],
770                    [number of bits in a pixel quantum (default 16)])],
771    [with_quantum_depth=$withval],
772    [with_quantum_depth=16])
773
774if test "$with_quantum_depth" != '8'; then
775    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-quantum-depth=$with_quantum_depth "
776fi
777
778case "${with_quantum_depth}" in
779    8 ) ;;
780    16 ) ;;
781    32 ) ;;
782    64 ) ;;
783    * ) AC_MSG_ERROR("Pixel quantum depth must have value of 8, 16, 32, or 64") ;;
784esac
785QUANTUM_DEPTH="$with_quantum_depth"
786AC_DEFINE_UNQUOTED([QUANTUM_DEPTH_OBSOLETE_IN_H],[$QUANTUM_DEPTH],[Number of bits in a pixel Quantum (8/16/32/64)])
787AC_SUBST([QUANTUM_DEPTH])dnl
788MAGICK_PCFLAGS="$MAGICK_PCFLAGS -DMAGICKCORE_QUANTUM_DEPTH=$QUANTUM_DEPTH"
789CFLAGS="$CFLAGS -DMAGICKCORE_QUANTUM_DEPTH=$QUANTUM_DEPTH"
790CPPFLAGS="$CPPFLAGS -DMAGICKCORE_QUANTUM_DEPTH=$QUANTUM_DEPTH"
791
792# define a lib suffix for abi purpose
793MAGICK_ABI_SUFFIX="Q${QUANTUM_DEPTH}"
794if test "$enable_hdri" = 'yes'; then
795  MAGICK_ABI_SUFFIX="Q${QUANTUM_DEPTH}${MAGICK_HDRI}"
796fi
797AC_SUBST([MAGICK_ABI_SUFFIX])
798
799# Set pixel cache threshold
800AC_ARG_WITH([cache],
801    [AC_HELP_STRING([--with-cache=THRESHOLD],
802                    [set pixel cache threshhold in MB (default available memory)])],
803    [with_cache=$withval],
804    [with_cache=''])
805
806if test "$with_cache" != ''; then
807    AC_DEFINE_UNQUOTED([PixelCacheThreshold],["$with_cache"],[Pixel cache threshold in MB (defaults to available memory)])
808    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-cache=$with_cache "
809fi
810
811# Disable/Enable support for full delegate paths
812AC_ARG_WITH([frozenpaths],
813    [AC_HELP_STRING([--with-frozenpaths],
814                    [freeze delegate paths])],
815    [with_frozenpaths=$withval],
816    [with_frozenpaths='no'])
817
818# Enable build/install of Magick++
819AC_ARG_WITH([magick-plus-plus],
820    [AC_HELP_STRING([--without-magick-plus-plus],
821                    [disable build/install of Magick++])],
822    [with_magick_plus_plus=$withval],
823    [with_magick_plus_plus='yes'])
824
825# Encode the this name into the shared library.
826AC_ARG_WITH([package-release-name],
827    [AC_HELP_STRING([--with-package-release-name=NAME],
828                    [encode this name into the shared library])],
829[MAGICK_LT_RELEASE_OPTS="-release $withval"])
830AC_SUBST([MAGICK_LT_RELEASE_OPTS])
831
832# Disable build/install of PerlMagick.
833AC_ARG_WITH([perl],
834    [AC_HELP_STRING([--with-perl],
835                    [enable build/install of PerlMagick])],
836    [with_perl=$withval],
837    [with_perl='no'])
838
839# Options to pass when configuring PerlMagick
840AC_ARG_WITH([perl-options],
841    [AC_HELP_STRING([--with-perl-options=OPTIONS],
842                    [options to pass on command-line when generating PerlMagick build file])],
843PERL_MAKE_OPTIONS=$withval)
844AC_SUBST([PERL_MAKE_OPTIONS])
845
846# Enable jemalloc, object-caching memory allocation library.
847AC_ARG_WITH([jemalloc],
848        [  --with-jemalloc         enable jemalloc memory allocation library support],
849        [with_jemalloc=$withval],
850        [with_jemalloc='no'])
851if test "$with_jemalloc" != 'yes' ; then
852    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-jemalloc=$with_jemalloc "
853fi
854
855# Enable use of TCMalloc library.
856AC_ARG_WITH([tcmalloc],
857   AS_HELP_STRING([--with-tcmalloc],
858                  [enable tcmalloc memory allocation library support]),
859   [with_tcmalloc=$withval],
860   [with_tcmalloc='no'])
861if test "$with_tcmalloc" != 'no' ; then
862   DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-tcmalloc=$with_tcmalloc "
863fi
864
865# Enable umem, object-caching memory allocation library.
866AC_ARG_WITH([umem],
867        [  --with-umem             enable umem memory allocation library support],
868        [with_umem=$withval],
869        [with_umem='no'])
870if test "$with_umem" != 'yes' ; then
871    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-umem=$with_umem "
872fi
873
874#
875# Specify path to shared libstdc++ if not in normal location
876#
877AC_ARG_WITH([libstdc],
878    [AC_HELP_STRING([--with-libstdc=DIR],
879                    [ use libstdc++ in DIR (for GNU C++)])],
880    [with_libstdc=$withval],
881    [with_libstdc=''])
882
883if test "$with_libstdc" != ''; then
884    if test -d "$with_libstdc"; then
885        LIBSTDCLDFLAGS="-L$with_libstdc"
886    fi
887fi
888AC_SUBST([LIBSTDCLDFLAGS])
889
890# Does gcc required -traditional?
891AC_PROG_GCC_TRADITIONAL
892
893########
894#
895# Set defines required to build DLLs and modules using MinGW
896#
897########
898# These options are set for multi-thread DLL module build
899#  libMagickCore:           _DLL _MAGICKMOD_ _MAGICKLIB_
900#  module:              _DLL
901#  executable/Magick++: _DLL _MAGICKMOD_
902MODULE_EXTRA_CPPFLAGS=''
903LIBRARY_EXTRA_CPPFLAGS=''
904if test "${native_win32_build}" = 'yes'; then
905    if test "${libtool_build_shared_libs}" = 'yes'; then
906        CPPFLAGS="$CPPFLAGS -D_DLL"
907        MAGICK_CPPFLAGS="$MAGICK_CPPFLAGS -D_DLL"
908        MAGICK_PCFLAGS="$MAGICK_PCFLAGS -D_DLL"
909        LIBRARY_EXTRA_CPPFLAGS="$LIBRARY_EXTRA_CPPFLAGS -D_MAGICKLIB_"
910        if test "$build_modules" = 'yes'; then
911            LIBRARY_EXTRA_CPPFLAGS="$LIBRARY_EXTRA_CPPFLAGS -D_MAGICKMOD_"
912        else
913            MODULE_EXTRA_CPPFLAGS="$MODULE_EXTRA_CPPFLAGS -D_MAGICKLIB_"
914        fi
915    else
916        CPPFLAGS="$CPPFLAGS -D_LIB"
917        MAGICK_CPPFLAGS="$MAGICK_CPPFLAGS -D_LIB"
918        MAGICK_PCFLAGS="$MAGICK_PCFLAGS -D_LIB"
919    fi
920    if test "$with_threads" = 'yes'; then
921         CPPFLAGS="$CPPFLAGS -D_MT"
922         MAGICK_CPPFLAGS="$MAGICK_CPPFLAGS -D_MT"
923         MAGICK_PCFLAGS="$MAGICK_PCFLAGS -D_MT"
924    fi
925fi
926AC_SUBST([MODULE_EXTRA_CPPFLAGS])
927AC_SUBST([LIBRARY_EXTRA_CPPFLAGS])
928
929# Check standard headers
930AC_HEADER_STDC
931if ! test x"$ac_cv_header_stdc" = x"yes"; then
932    AC_MSG_WARN([configure has detected that you do not have the ANSI standard C
933    header files.  Compilation cannot proceed.  Please install the ANSI C
934    headers and rerun this script.]);
935fi
936AC_HEADER_ASSERT
937AC_HEADER_DIRENT
938
939# Check additional headers
940AC_CHECK_HEADERS(arm/limits.h arpa/inet.h complex.h errno.h fcntl.h float.h limits.h linux/unistd.h locale.h malloc.h machine/param.h mach-o/dyld.h netdb.h netinet/in.h OS.h process.h stddef.h sun_prefetch.h stdarg.h sys/ipc.h sys/mman.h sys/resource.h sys/sendfile.h sys/socket.h sys/syslimits.h sys/time.h sys/times.h sys/uio.h sys/wait.h utime.h wchar.h xlocale.h)
941
942########
943#
944# Checks for typedefs, structures, and compiler characteristics.
945#
946########
947
948AC_HEADER_STDBOOL
949AC_C_VOLATILE
950AC_C_STRINGIZE
951AC_HEADER_STAT
952AC_HEADER_TIME
953AC_STRUCT_TM
954AC_STRUCT_TIMEZONE
955AC_SYS_INTERPRETER
956
957#
958# Checks for language qualifiers and semantics.
959#
960AC_C_CHAR_UNSIGNED
961AC_C_CONST
962AC_C_INLINE
963AC_C_RESTRICT
964AC_C_VOLATILE
965
966# If words are stored with the most significant byte first (like
967# Motorola and SPARC CPUs), define `WORDS_BIGENDIAN'.
968AC_C_BIGENDIAN
969
970# Define to a suitable type, if standard headers do not define it.
971AC_TYPE_INT8_T
972AC_TYPE_INT16_T
973AC_TYPE_INT32_T
974AC_TYPE_INT64_T
975AC_TYPE_INTMAX_T
976AC_TYPE_INTPTR_T
977AC_TYPE_MBSTATE_T
978AC_TYPE_MODE_T
979AC_TYPE_OFF_T
980AC_TYPE_PID_T
981AC_TYPE_SIZE_T
982AC_TYPE_SSIZE_T
983AC_TYPE_UID_T
984AC_TYPE_UINT8_T
985AC_TYPE_UINT16_T
986AC_TYPE_UINT32_T
987AC_TYPE_UINT64_T
988AC_TYPE_UINTMAX_T
989AC_TYPE_UINTPTR_T
990
991# Float_t and double_t are intended to be the the most efficient type.
992AC_CHECK_SIZEOF([float_t], [], [[#include <math.h>]])
993AC_CHECK_SIZEOF([double_t], [], [[#include <math.h>]])
994
995# Get size of float, double and long double for comparaison.
996AC_CHECK_SIZEOF([float])
997AC_CHECK_SIZEOF([double])
998AC_CHECK_SIZEOF([long double])
999
1000# Obtain size of a 'unsigned long long' and define as
1001# SIZEOF_UNSIGNED_LONG_LONG.  If 'unsigned long long' is not
1002# supported then the value defined is zero.
1003AC_CHECK_SIZEOF([unsigned long long])
1004
1005AC_CHECK_SIZEOF([void *])
1006
1007AC_MSG_CHECKING([whether our compiler supports __func__])
1008AC_TRY_COMPILE([],
1009 [{ const char *func = __func__; return(func != 0 ? 0 : 1); }],
1010 AC_MSG_RESULT([yes]),
1011 AC_MSG_RESULT([no])
1012 AC_MSG_CHECKING([whether our compiler supports __FUNCTION__])
1013 AC_TRY_COMPILE([],
1014   [{ const char *func = __FUNCTION__; return(func != 0 ? 0 : 1); }],
1015   AC_MSG_RESULT([yes])
1016   AC_DEFINE(__func__, __FUNCTION__,
1017     [Define to appropriate substitute if compiler does not have __func__]),
1018   AC_MSG_RESULT([no])
1019   AC_DEFINE(__func__, __FILE__,
1020     [Define to appropriate substitute if compiler does not have __func__])))
1021
1022########
1023#
1024# Check for functions
1025#
1026########
1027AC_FUNC_CLOSEDIR_VOID
1028AC_FUNC_MMAP
1029AC_FUNC_FORK
1030AC_FUNC_MALLOC
1031AC_FUNC_MEMCMP
1032AC_FUNC_REALLOC
1033AC_FUNC_SELECT_ARGTYPES
1034AC_FUNC_SETVBUF_REVERSED
1035AC_FUNC_STRTOD
1036AC_FUNC_STRERROR_R
1037AC_FUNC_VPRINTF
1038
1039#
1040# Find math library
1041#
1042MATH_LIBS=''
1043AC_CHECK_LIB([m],[sqrt],[MATH_LIBS="-lm"],[])
1044LIBS="$MATH_LIBS $LIBS"
1045AC_SUBST([MATH_LIBS])
1046
1047#
1048# Find socket library
1049#
1050AC_SEARCH_LIBS(gethostbyname, resolv nsl)
1051AC_SEARCH_LIBS(socket, socket,
1052[
1053  AC_DEFINE([HAVE_SOCKET],[1],[Define to 1 if you have socket support.])
1054  MAGICK_FEATURES="DPC $MAGICK_FEATURES"
1055])
1056
1057#
1058# Check for clock_gettime().
1059#
1060AC_SEARCH_LIBS(clock_gettime, rt,
1061[
1062  AC_DEFINE([HAVE_CLOCK_GETTIME],[1],[Define to 1 if you have clock_gettime.])
1063  AC_MSG_CHECKING([whether clock_gettime supports CLOCK_REALTIME])
1064  AC_COMPILE_IFELSE([
1065    AC_LANG_PROGRAM(
1066      [[#include <time.h>]],
1067       [[clockid_t clockType = CLOCK_REALTIME;]])],
1068      [
1069        AC_MSG_RESULT([yes])
1070        AC_DEFINE([HAVE_CLOCK_REALTIME],[1],
1071          [Define to 1 if clock_gettime supports CLOCK_REALTIME.])
1072      ],
1073      AC_MSG_RESULT([no])
1074    )
1075  ],
1076  [
1077    AC_CHECK_FUNCS([gettimeofday ftime], [break])
1078  ]
1079)
1080
1081########
1082#
1083# Check for function prototypes
1084#
1085########
1086
1087AC_CHECK_DECLS([pread, pwrite],[],[],[
1088#include <unistd.h>])
1089
1090AC_CHECK_DECLS([strlcpy],[],[],[
1091#include <strings.h>])
1092
1093AC_CHECK_DECLS([vsnprintf],[],[],[
1094#include <stdio.h>
1095#include <stdarg.h>])
1096
1097########
1098#
1099# C++ Support Tests (For Magick++)
1100#
1101########
1102have_magick_plus_plus='no'
1103if test "$with_magick_plus_plus" = 'yes'; then
1104    OLIBS="$LIBS"
1105    LIBS=''
1106    AC_LANG_PUSH([C++])
1107
1108    # Full set of headers used...
1109    # algorithm cctype cerrno cmath cstdio cstdlib cstring ctime exception
1110    # functional iomanip iosfwd iostream iterator list string strstream utility
1111    AC_LANG([C++])
1112    AC_PROG_CXX
1113    AX_CXX_BOOL
1114    AX_CXX_NAMESPACES
1115    AX_CXX_NAMESPACE_STD
1116    AC_CXX_HAVE_STD_LIBS
1117    AC_OPENMP([C++])
1118    AC_LANG_POP
1119
1120    AC_MSG_CHECKING([whether C++ compiler is sufficient for Magick++])
1121    if \
1122        test $ax_cv_cxx_bool = 'yes' && \
1123        test $ax_cv_cxx_namespaces = 'yes' && \
1124        test $ac_cv_cxx_have_std_libs = 'yes' && \
1125        test $ax_cv_cxx_have_std_namespace = 'yes'; then
1126        have_magick_plus_plus='yes'
1127    else
1128        have_magick_plus_plus='no (failed tests)'
1129    fi
1130    AC_MSG_RESULT([$have_magick_plus_plus])
1131    LIBS="$OLIBS"
1132fi
1133AM_CONDITIONAL([WITH_MAGICK_PLUS_PLUS],[test "$have_magick_plus_plus" = 'yes'])
1134
1135# Only check for delegate libraries in subdirectories if requested.
1136if test "$enable_delegate_build" != 'no'; then
1137    # Check for delegate sub-directories and add -I & -L options as required.
1138    # This presumes that delegates are installed as detailed in the ImageMagick
1139    # README. If delegates are installed in a standard location where the
1140    # compiler will automatically find them then these options should not be
1141    # required.
1142
1143    #
1144    # Most delegates have includes in the same directory as the library, but not all...
1145    #
1146    # Includes
1147    for dir in bzlib fftw fpx gslib/src jp2 jbig/libjbig jpeg lcms/include lzma magick openjp2/include png tiff/libtiff ttf/include wand webp/src wmf/include xml/include zlib; do
1148        if test -d "$builddir/$dir"; then
1149            CPPFLAGS="$CPPFLAGS -I$builddir/$dir"
1150        else
1151            if test -d "$srcdirfull/$dir"; then
1152                CPPFLAGS="$CPPFLAGS -I$srcdirfull/$dir"
1153            fi
1154        fi
1155    done
1156
1157    # Libraries
1158    for dir in bzlib fftw fpx gslib/src jbig/libjbig jpeg lcms/src lzma magick openjp2 png tiff/libtiff ttf/objs wand webp wmf/src xml zlib; do
1159    if test -d "$builddir/$dir/.libs"; then
1160        LDFLAGS="$LDFLAGS -L$builddir/$dir/.libs"
1161    else
1162        if test -d "$srcdirfull/$dir/.libs"; then
1163            LDFLAGS="$LDFLAGS -L$srcdirfull/$dir/.libs"
1164        fi
1165    fi
1166    if test -d "$builddir/$dir"; then
1167        LDFLAGS="$LDFLAGS -L$builddir/$dir"
1168    else
1169        if test -d "$srcdirfull/$dir"; then
1170            LDFLAGS="$LDFLAGS -L$srcdirfull/$dir"
1171        fi
1172    fi
1173  done
1174fi
1175
1176# Assume that delegate headers reside under same directory as ImageMagick
1177# installation prefix.
1178MAGICK_CPPFLAGS="-I$INCLUDE_DIR/${PACKAGE_NAME}-$MAGICK_MAJOR_VERSION $MAGICK_CPPFLAGS"
1179
1180#
1181# Find the X11 RGB database
1182#
1183AC_CACHE_CHECK([for X11 configure files],[im_cv_x_configure],
1184[# Look for the header file in a standard set of common directories.
1185# Check X11 before X11Rn because it is often a symlink to the current release.
1186    for ac_dir in          \
1187    /lib/usr/lib/X11       \
1188    /usr/X11/lib           \
1189    /usr/X11R4/lib         \
1190    /usr/X11R5/lib         \
1191    /usr/X11R6/lib         \
1192    /usr/X11R7/lib         \
1193    /usr/X386/lib          \
1194    /usr/XFree86/lib/X11   \
1195    /usr/athena/lib        \
1196    /usr/lib               \
1197    /usr/lib/X11           \
1198    /usr/lib/X11R4         \
1199    /usr/lib/X11R5         \
1200    /usr/lib/X11R6         \
1201    /usr/lib/X11R7         \
1202    /usr/local/X11/lib     \
1203    /usr/local/X11R4/lib   \
1204    /usr/local/X11R5/lib   \
1205    /usr/local/X11R6/lib   \
1206    /usr/local/lib         \
1207    /usr/local/lib/X11     \
1208    /usr/local/lib/X11R4   \
1209    /usr/local/lib/X11R5   \
1210    /usr/local/lib/X11R6   \
1211    /usr/local/lib/X11R7   \
1212    /usr/local/x11r5/lib   \
1213    /usr/lpp/Xamples/lib   \
1214    /usr/openwin/lib       \
1215    /usr/openwin/share/lib \
1216    /usr/unsupported/lib   \
1217    /usr/x386/lib          \
1218    ; do
1219    if test -f "$ac_dir/X11/rgb.txt"; then
1220      im_cv_x_configure="$ac_dir/X11/"
1221      break
1222    elif test -f "$ac_dir/rgb.txt"; then
1223      im_cv_x_configure="$ac_dir/"
1224      break
1225    fi
1226
1227  done])
1228X11_CONFIGURE_PATH="$im_cv_x_configure"
1229case "${build_os}" in
1230  mingw* )
1231    X11ConfigurePath=`$WinPathScript "$X11ConfigurePath=" 1`
1232  ;;
1233esac
1234AC_DEFINE_UNQUOTED([X11_CONFIGURE_PATH],["$X11ConfigurePath"],[Location of X11 configure files])
1235
1236#
1237# Find OpenMP library
1238#
1239GOMP_LIBS=''
1240if test "$enable_openmp" != 'no'; then
1241  if test "${GCC}" = "yes"; then
1242    # Open64 (passes for GCC but uses different OpenMP implementation)
1243    if test "x$GOMP_LIBS" = x ; then
1244      if $CC --version 2>&1 | grep Open64 > /dev/null ; then
1245        AC_CHECK_LIB([openmp],[omp_get_num_procs],[GOMP_LIBS="-lopenmp"],[],[])
1246      fi
1247    fi
1248    # Clang (passes for GCC but uses different OpenMP implementation)
1249    if test "x$LIB_OMP" = x ; then
1250      if $CC --version 2>&1 | grep clang > /dev/null ; then
1251        AC_CHECK_LIB([omp],[GOMP_parallel_start],[LIB_OMP="-lomp"],[],[])
1252      fi
1253    fi
1254    # GCC
1255    if test "x$GOMP_LIBS" = x ; then
1256      AC_CHECK_LIB([gomp],[GOMP_parallel_start],[GOMP_LIBS="-lgomp"],[],[])
1257    fi
1258  else
1259    # Sun CC
1260    if test "x$GOMP_LIBS" = x ; then
1261      AC_CHECK_LIB([mtsk],[sunw_mp_register_warn],[GOMP_LIBS="-lmtsk"],[],[])
1262    fi
1263    # AIX xlc
1264    if test "x$GOMP_LIBS" = x ; then
1265    AC_CHECK_LIB([xlsmp],[_xlsmpFlush],[GOMP_LIBS="-lxlsmp"],[],[])
1266    fi
1267    # SGI IRIX 6.5 MIPSpro C/C++
1268    if test "x$GOMP_LIBS" = x ; then
1269    AC_CHECK_LIB([mp],[mp_destroy],[GOMP_LIBS="-lmp"],[],[])
1270    fi
1271  fi
1272  LIBS="$GOMP_LIBS $LIBS"
1273fi
1274AC_SUBST([GOMP_LIBS])
1275
1276#
1277# Check for jemalloc.
1278#
1279have_jemalloc='no'
1280JEMALLOC_LIBS=''
1281if test "$with_jemalloc" != 'no'; then
1282  AC_MSG_CHECKING([for JEMALLOC support])
1283  AC_MSG_RESULT([])
1284  failed=0
1285  passed=0
1286  AC_CHECK_HEADER([jemalloc/jemalloc.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`])
1287  AC_CHECK_LIB([jemalloc],[malloc_stats_print],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[])
1288  AC_MSG_CHECKING([if jemalloc memory allocation library is complete])
1289  if test $passed -gt 0; then
1290    if test $failed -gt 0; then
1291      AC_MSG_RESULT([no -- some components failed test])
1292      have_jemalloc='no (failed tests)'
1293    else
1294      JEMALLOC_LIBS='-ljemalloc'
1295      LIBS="$JEMALLOC_LIBS $LIBS"
1296      AC_DEFINE([HAVE_JEMALLOC],[1],[Define if you have jemalloc memory allocation library])
1297      AC_MSG_RESULT([yes])
1298      have_jemalloc='yes'
1299    fi
1300  else
1301    AC_MSG_RESULT([no])
1302  fi
1303fi
1304AM_CONDITIONAL([HAVE_JEMALLOC],[test "$have_jemalloc" = 'yes'])
1305AC_SUBST([JEMALLOC_LIBS])
1306
1307#
1308# Check for TCMalloc library
1309#
1310have_tcmalloc='no'
1311TCMALLOC_LIBS=''
1312OLIBS="$LIBS"
1313if test "$have_threads" = 'yes' -a "$with_tcmalloc" != 'no'; then
1314    AC_MSG_CHECKING([tcmalloc library support])
1315    AC_MSG_RESULT([])
1316    failed=0
1317    passed=0
1318
1319    AC_CHECK_LIB([tcmalloc_minimal],[mallinfo],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[])
1320
1321    if test $passed -gt 0; then
1322        if test $failed -gt 0; then
1323            have_tcmalloc='no (some components failed test)'
1324        else
1325            TCMALLOC_LIBS=-ltcmalloc_minimal
1326            LIBS="$TCMALLOC_LIBS $LIBS"
1327            CFLAGS="$CFLAGS -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free"
1328            AC_DEFINE([HAVE_TCMALLOC],[1],[Define if you have the tcmalloc memory allocation library])
1329            have_tcmalloc='yes'
1330        fi
1331    fi
1332    AC_MSG_CHECKING([if tcmalloc memory allocation library is complete])
1333    AC_MSG_RESULT([$have_tcmalloc])
1334fi
1335AM_CONDITIONAL([HAVE_TCMALLOC],[test "$have_tcmalloc" = 'yes'])
1336AC_SUBST([TCMALLOC_LIBS])
1337
1338#
1339# Check for umem.
1340#
1341have_umem='no'
1342UMEM_LIBS=''
1343if test "$with_umem" != 'no'; then
1344  AC_MSG_CHECKING([for UMEM support])
1345  AC_MSG_RESULT([])
1346  failed=0
1347  passed=0
1348  AC_CHECK_HEADER([umem.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`])
1349  AC_CHECK_LIB([umem],[umem_alloc],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[])
1350  AC_CHECK_LIB([umem],[umem_free],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[])
1351  AC_MSG_CHECKING([if umem memory allocation library is complete])
1352  if test $passed -gt 0; then
1353    if test $failed -gt 0; then
1354      AC_MSG_RESULT([no -- some components failed test])
1355      have_umem='no (failed tests)'
1356    else
1357      UMEM_LIBS='-lumem'
1358      LIBS="$UMEM_LIBS $LIBS"
1359      AC_DEFINE([HAVE_UMEM],[1],[Define if you have umem memory allocation library])
1360      AC_MSG_RESULT([yes])
1361      have_umem='yes'
1362    fi
1363  else
1364    AC_MSG_RESULT([no])
1365  fi
1366fi
1367AM_CONDITIONAL([HAVE_UMEM],[test "$have_umem" = 'yes'])
1368AC_SUBST([UMEM_LIBS])
1369
1370#
1371# Add support for ccmalloc memory debugging library if requested
1372#
1373have_ccmalloc='no'
1374CCMALLOC_LIBS=''
1375if test "$enable_ccmalloc" = 'yes'; then
1376    AC_PATH_PROG([CCMALLOCDelegate],[ccmalloc],[])
1377    if test -n "$CCMALLOCDelegate"; then
1378        eval `grep PREFIX= $CCMALLOCDelegate | sed -e 's/PREFIX/CCMALLOC_PREFIX/'`
1379        OLIBS="$LIBS"
1380        # Assume that gcc is used with ccmalloc.
1381        LIBS="$LIBS $CCMALLOC_PREFIX/lib/ccmalloc-gcc.o"
1382       AC_CHECK_LIB([ccmalloc],[ccmalloc_malloc],[CCMALLOC_LIBS="$CCMALLOC_PREFIX/lib/ccmalloc-gcc.o -lccmalloc -ldl"],[,-ldl])
1383        if test -n "$CCMALLOC_LIBS"; then
1384            LIBS="$OLIBS"
1385            LIBS="$LIBS $CCMALLOC_LIBS"
1386            have_ccmalloc='yes'
1387        else
1388            LIBS="$OLIBS"
1389        fi
1390    fi
1391fi
1392
1393#
1394# Add support for 'huge pages' if requested
1395#
1396AS_IF([test "x$enable_hugepages" != "xno"],[
1397  AC_DEFINE([HAVE_HUGEPAGES],[ 1],[ [Compile with hugepage support]])
1398])
1399
1400#
1401# Add support for efence memory debugging library if requested
1402#
1403if test "$enable_efence" = 'yes'; then
1404    EFENCE_LIBS='-lefence'
1405    LIBS="$EFENCE_LIBS $LIBS"
1406fi
1407
1408dnl ===========================================================================
1409
1410#
1411# Check for BZLIB
1412#
1413
1414AC_ARG_WITH([bzlib],
1415    [AC_HELP_STRING([--without-bzlib],
1416                    [disable BZLIB support])],
1417    [with_bzlib=$withval],
1418    [with_bzlib='yes'])
1419
1420if test "$with_bzlib" != 'yes'; then
1421    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-bzlib=$with_bzlib "
1422fi
1423
1424have_bzlib='no'
1425if test "$with_bzlib" != 'no'; then
1426    BZLIB_LIBS=''
1427    AC_MSG_RESULT([-------------------------------------------------------------])
1428    AC_MSG_CHECKING([for BZLIB])
1429    AC_MSG_RESULT([])
1430    failed=0
1431    passed=0
1432    found_libbz=0
1433    AC_CHECK_HEADER([bzlib.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`])
1434    AC_CHECK_LIB([bz2],[BZ2_bzDecompress],[found_libbz=`expr $found_libbz + 1`],[],[])
1435    if test "$native_win32_build" = 'yes'; then
1436      AC_CHECK_LIB([bz2],[_imp__BZ2_decompress],[found_libbz=`expr $found_libbz + 1`],[],[])
1437    fi
1438    if test $found_libbz -gt 0; then
1439      passed=`expr $passed + 1`
1440    else
1441      failed=`expr $failed + 1`
1442    fi
1443    AC_MSG_CHECKING([if BZLIB package is complete])
1444    if test $passed -gt 0; then
1445      if test $failed -gt 0; then
1446        AC_MSG_RESULT([no -- some components failed test])
1447        have_bzlib='no (failed tests)'
1448      else
1449        BZLIB_LIBS='-lbz2'
1450        LIBS="$BZLIB_LIBS $LIBS"
1451        AC_DEFINE([BZLIB_DELEGATE],[1],[Define if you have the bzip2 library])
1452        AC_MSG_RESULT([yes])
1453        have_bzlib='yes'
1454      fi
1455    else
1456      AC_MSG_RESULT([no])
1457    fi
1458fi
1459AM_CONDITIONAL([BZLIB_DELEGATE],[test "$have_bzlib" = 'yes'])
1460AC_SUBST([BZLIB_LIBS])
1461
1462#
1463# Find the X11 include and library directories.
1464#
1465IPC_LIBS=''
1466X11_LIBS=''
1467XEXT_LIBS=''
1468XT_LIBS=''
1469AC_PATH_XTRA
1470if test "$no_x" != 'yes'; then
1471    AC_MSG_RESULT([-------------------------------------------------------------])
1472    AC_MSG_CHECKING([for X11])
1473    AC_MSG_RESULT([])
1474    LDFLAGS="$LDFLAGS $X_LIBS"
1475    X11_LIBS="$X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
1476    LIBS="$X11_LIBS $LIBS"
1477    CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1478
1479    AC_DEFINE([X11_DELEGATE],[1],[Define if you have X11 library])dnl
1480
1481    #
1482    # Check for X11 shared memory extension
1483    #
1484    # shmctl is required to support the shared memory extension
1485    AC_CHECK_FUNC([shmctl],[have_shmctl='yes'],[])
1486    if test "$have_shmctl" != 'yes'; then
1487        PERSIST_LIBS=$LIBS
1488        LIBS="$LIBS -lcygipc"
1489        AC_TRY_LINK_FUNC([shmctl],[have_shmctl='yes'; IPC_LIBS='-lcygipc'],[])
1490        LIBS=$PERSIST_LIBS
1491    fi
1492
1493    if test "$have_shmctl" = 'yes'; then
1494        AC_CHECK_LIB([Xext],[XShmAttach],[XEXT_LIBS='-lXext' ; AC_DEFINE(HAVE_SHARED_MEMORY,1,X11 server supports shared memory extension)],[],[])
1495    fi
1496
1497    #
1498    # Check for X11 shape extension
1499    #
1500    AC_CHECK_LIB([Xext],[XShapeCombineMask],[XEXT_LIBS='-lXext' ; AC_DEFINE(HAVE_SHAPE,1,X11 server supports shape extension)],[],[])
1501    AC_CHECK_LIB([Xt],[XtSetEventDispatcher],[XT_LIBS='-lXt'],[],[])
1502    LIBS="$XEXT_LIBS $XT_LIBS $LIBS"
1503fi
1504if test "$no_x" != 'yes'; then
1505  have_x='yes'
1506else
1507  have_x='no'
1508fi
1509AM_CONDITIONAL([X11_DELEGATE],[test "$have_x" = 'yes'])
1510AC_SUBST([X11_LIBS])
1511AC_SUBST([XEXT_LIBS])
1512
1513dnl ===========================================================================
1514
1515#
1516# Check for ZLIB
1517#
1518AC_ARG_WITH([zlib],
1519    [AC_HELP_STRING([--without-zlib],
1520                    [disable ZLIB support])],
1521    [with_zlib=$withval],
1522    [with_zlib='yes'])
1523
1524if test "$with_zlib" != 'yes'; then
1525    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-zlib=$with_zlib "
1526fi
1527
1528have_zlib='no'
1529ZLIB_CFLAGS=""
1530ZLIB_LIBS=""
1531ZLIB_PKG=""
1532if test "x$with_zlib" = "xyes"; then
1533  AC_MSG_RESULT([-------------------------------------------------------------])
1534  PKG_CHECK_MODULES([ZLIB],[zlib >= 1.0.0],[have_zlib=yes],[have_zlib=no])
1535  AC_MSG_RESULT([])
1536fi
1537
1538if test "$have_zlib" = 'yes'; then
1539  AC_DEFINE([ZLIB_DELEGATE],[1],[Define if you have ZLIB library])
1540  CFLAGS="$ZLIB_CFLAGS $CFLAGS"
1541  LIBS="$ZLIB_LIBS $LIBS"
1542fi
1543
1544AM_CONDITIONAL([ZLIB_DELEGATE],[test "$have_zlib" = 'yes'])
1545AC_SUBST([ZLIB_CFLAGS])
1546AC_SUBST([ZLIB_LIBS])
1547
1548dnl ===========================================================================
1549
1550#
1551# Check for ZSTD
1552#
1553AC_ARG_WITH([zstd],
1554    [AC_HELP_STRING([--without-zstd],
1555                    [disable ZSTD support])],
1556    [with_zstd=$withval],
1557    [with_zstd='yes'])
1558
1559if test "$with_zstd" != 'yes'; then
1560    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-zstd=$with_zstd "
1561fi
1562
1563have_zstd='no'
1564ZSTD_CFLAGS=""
1565ZSTD_LIBS=""
1566ZSTD_PKG=""
1567if test "x$with_zstd" = "xyes"; then
1568  AC_MSG_RESULT([-------------------------------------------------------------])
1569  PKG_CHECK_MODULES([LIBZSTD],[libzstd >= 1.0.0],[have_zstd=yes],[have_zstd=no])
1570  AC_MSG_RESULT([])
1571fi
1572
1573if test "$have_zstd" = 'yes'; then
1574  AC_DEFINE([ZSTD_DELEGATE],[1],[Define if you have ZSTD library])
1575  CFLAGS="$ZSTD_CFLAGS $CFLAGS"
1576  LIBS="$ZSTD_LIBS $LIBS"
1577fi
1578
1579AM_CONDITIONAL([ZSTD_DELEGATE],[test "$have_zstd" = 'yes'])
1580AC_SUBST([ZSTD_CFLAGS])
1581AC_SUBST([ZSTD_LIBS])
1582
1583dnl ===========================================================================
1584
1585# whether modules are built or not.
1586if test "$build_modules" != 'no' || test "X$no_cl" != 'Xyes'; then
1587  with_ltdl='yes'
1588else
1589  with_ltdl='no'
1590fi
1591have_ltdl='no'
1592LTDL_LIBS=''
1593if test "$with_ltdl" = 'yes'; then
1594  AC_MSG_RESULT([-------------------------------------------------------------])
1595  AC_MSG_CHECKING([for libltdl])
1596  AC_MSG_RESULT([])
1597  failed=0
1598  passed=0
1599  AC_CHECK_HEADER([[ltdl.h]],[[passed=`expr $passed + 1`]],[[failed=`expr $failed + 1`]])
1600  AC_CHECK_LIB([ltdl],[lt_dlinit],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[])
1601  AC_MSG_CHECKING([if libltdl package is complete])
1602  if test $passed -gt 0 ; then
1603    if test $failed -gt 0 ; then
1604      AC_MSG_RESULT([no -- some components failed test])
1605      have_ltdl='no (failed tests)'
1606    else
1607      LTDL_LIBS='-lltdl'
1608      LIBS="$LTDL_LIBS $LIBS"
1609      AC_DEFINE([LTDL_DELEGATE],[1],[Define if using libltdl to support dynamically loadable modules and OpenCL])
1610      AC_DEFINE_UNQUOTED([LTDL_MODULE_EXT],["${shrext_cmds}"],[Native module suffix])
1611      AC_MSG_RESULT([yes])
1612      have_ltdl='yes'
1613    fi
1614  else
1615    AC_MSG_RESULT([no])
1616  fi
1617  if test "$have_ltdl" != 'yes' ; then
1618    AC_MSG_FAILURE([libltdl is required for modules and OpenCL builds],[1])
1619  fi
1620fi
1621AM_CONDITIONAL([WITH_LTDL],[test "$have_ltdl" != 'no'])
1622
1623#
1624# If profiling, then check for -ldl and dlopen (required for Solaris & gcc)
1625#
1626LIB_DL=''
1627if test "$enable_profiling" = 'yes'; then
1628    AC_CHECK_LIB([dl],[dlopen],[LIB_DL='-ldl'],[],[])
1629    LIBS="$LIB_DL $LIBS"
1630fi
1631AC_SUBST([LIB_DL])
1632
1633dnl ===========================================================================
1634
1635#
1636# Set Apple font directory.
1637#
1638AC_ARG_WITH([apple-font-dir],
1639    [AC_HELP_STRING([--with-apple-font-dir=DIR],
1640                    [Apple font directory])],
1641    [with_apple_font_dir=$withval],
1642    [with_apple_font_dir='default'])
1643
1644if test "$with_apple_font_dir" != 'default'; then
1645    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-apple-font-dir=$with_apple_font_dir "
1646fi
1647
1648dnl ===========================================================================
1649
1650#
1651# Check for Autotrace delegate library.
1652#
1653AC_ARG_WITH([autotrace],
1654    [AC_HELP_STRING([--with-autotrace],
1655                    [enable autotrace support])],
1656        [with_autotrace=$withval],
1657        [with_autotrace='no'])
1658
1659if test "$with_autotrace" != 'yes'; then
1660    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-autotrace=$with_autotrace "
1661fi
1662
1663have_autotrace='no'
1664AUTOTRACE_CFLAGS=""
1665AUTOTRACE_LIBS=""
1666AUTOTRACE_PKG=""
1667if test "x$with_autotrace" = "xyes"; then
1668  AC_MSG_RESULT([-------------------------------------------------------------])
1669  PKG_CHECK_MODULES([AUTOTRACE],[autotrace >= 0.31.2],[have_autotrace=yes],[have_autotrace=no])
1670  AC_MSG_RESULT([])
1671fi
1672
1673if test "$have_autotrace" = 'yes'; then
1674  AC_DEFINE([AUTOTRACE_DELEGATE],[1],[Define if you have AUTOTRACE library])
1675  CFLAGS="$AUTOTRACE_CFLAGS $CFLAGS"
1676fi
1677
1678AM_CONDITIONAL([AUTOTRACE_DELEGATE],[test "$have_autotrace" = 'yes'])
1679AC_SUBST([AUTOTRACE_CFLAGS])
1680AC_SUBST([AUTOTRACE_LIBS])
1681
1682dnl ===========================================================================
1683
1684#
1685# Check for Display Postscript delegate library.
1686#
1687AC_ARG_WITH([dps],
1688    [AC_HELP_STRING([--without-dps],
1689                    [disable Display Postscript support])],
1690    [with_dps=$withval],
1691    [with_dps='yes'])
1692
1693if test "$with_dps" != 'yes'; then
1694    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-dps=$with_dps "
1695fi
1696
1697have_dps='no'
1698DPS_LIBS=''
1699if test "$with_dps" != 'no' && test "$with_x" != 'no'; then
1700    AC_MSG_RESULT([-------------------------------------------------------------])
1701    AC_MSG_CHECKING([for DPS])
1702    AC_MSG_RESULT([])
1703    failed=0
1704    passed=0
1705    PERSIST_CPPFLAGS="$CPPFLAGS"
1706    CPPFLAGS="$CPPFLAGS -I${ac_x_includes}/X11"
1707    AC_CHECK_HEADER([DPS/dpsXclient.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`])
1708    # DPS issues:
1709    # XFree86-4.x needs -lXt to provide XtMalloc for -ldps.
1710    # Cygwin doesn't deliver -lXt as a DLL, which prevents a DLL build.
1711    # Adobe DPS (as delivered on Solaris) doesn't require -lXt.
1712    # ImageMagick itself doesn't use -lXt.
1713    have_libdps='no'
1714    LIBDPS_XT=''
1715    AC_CHECK_LIB([dps],[DPSInitialize],[have_libdps='yes'],[have_libdps='no',])
1716    if test "$have_libdps" != 'yes'; then
1717        # Unset cache variable so we can try again.
1718        unset ac_cv_lib_dps_DPSInitialize
1719        AC_CHECK_LIB([dps],[DPSInitialize],[have_libdps='yes'],[have_libdps='no',-lXt])
1720        if test "$have_libdps" = 'yes'; then
1721            LIBDPS_XT='-lXt'
1722        fi
1723    fi
1724    if test "$have_libdps" = 'yes'; then
1725        passed=`expr $passed + 1`
1726    else
1727        failed=`expr $failed + 1`
1728    fi
1729    AC_CHECK_LIB([dpstk],[XDPSPixelsPerPoint],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`,-ldps $LIBDPS_XT])
1730    AC_MSG_CHECKING([if DPS package is complete])
1731    if test $passed -gt 0; then
1732        if test $failed -gt 0; then
1733            AC_MSG_RESULT([no -- some components failed test])
1734            have_dps='no (failed tests)'
1735            CPPFLAGS="$PERSIST_CPPFLAGS"
1736        else
1737            DPS_LIBS="-ldpstk -ldps ${LIBDPS_XT}"
1738            LIBS="$DPS_LIBS $LIBS"
1739            AC_DEFINE([DPS_DELEGATE],[1],[Define if you have Display Postscript])
1740            AC_MSG_RESULT([yes])
1741            have_dps='yes'
1742        fi
1743    else
1744        AC_MSG_RESULT([no])
1745        CPPFLAGS=$PERSIST_CPPFLAGS
1746    fi
1747fi
1748AM_CONDITIONAL([DPS_DELEGATE],[test "$have_dps" = 'yes'])
1749AC_SUBST([DPS_LIBS])
1750
1751dnl ===========================================================================
1752
1753#
1754# Set DejaVu font directory.
1755#
1756AC_ARG_WITH([dejavu-font-dir],
1757    [AC_HELP_STRING([--with-dejavu-font-dir=DIR],
1758                    [DejaVu font directory])],
1759    [with_dejavu_font_dir=$withval],
1760    [with_dejavu_font_dir='default'])
1761
1762if test "$with_dejavu_font_dir" != 'default'; then
1763    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-dejavu-font-dir=$with_dejavu_font_dir "
1764fi
1765
1766dnl ===========================================================================
1767
1768#
1769# Check for FFTW delegate library.
1770#
1771AC_ARG_WITH([fftw],
1772    [AC_HELP_STRING([--with-fftw],
1773                    [enable FFTW support])],
1774    [with_fftw=$withval],
1775    [with_fftw='no'])
1776
1777if test "$with_fftw" != 'yes'; then
1778    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-fftw=$with_fftw "
1779fi
1780
1781have_fftw='no'
1782FFTW_CFLAGS=""
1783FFTW_LIBS=""
1784FFTW_PKG=""
1785if test "x$with_fftw" = "xyes"; then
1786  AC_MSG_RESULT([-------------------------------------------------------------])
1787  PKG_CHECK_MODULES([fftw3],[fftw3 >= 3.0.0],[have_fftw=yes],[have_fftw=no])
1788  AC_MSG_RESULT([])
1789fi
1790
1791if test "$have_fftw" = 'yes'; then
1792  AC_DEFINE([FFTW_DELEGATE],[1],[Define if you have FFTW library])
1793  FFTW_CFLAGS="$fftw3_CFLAGS"
1794  FFTW_LIBS="$fftw3_LIBS"
1795  CFLAGS="$fftw3_CFLAGS $CFLAGS"
1796fi
1797
1798AM_CONDITIONAL([FFTW_DELEGATE],[test "$have_fftw" = 'yes'])
1799AC_SUBST([FFTW_CFLAGS])
1800AC_SUBST([FFTW_LIBS])
1801
1802dnl ===========================================================================
1803
1804#
1805# Check for FLIF delegate library.
1806#
1807AC_ARG_WITH([flif],
1808    [AC_HELP_STRING([--without-flif],
1809                    [disable FLIF support])],
1810    [with_flif=$withval],
1811    [with_flif='yes'])
1812
1813if test "$with_flif" != 'yes'; then
1814    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-flif=$with_flif "
1815fi
1816
1817have_flif='no'
1818FLIF_LIBS=''
1819if test "$with_flif" != 'no'; then
1820    AC_MSG_RESULT([-------------------------------------------------------------])
1821    AC_MSG_CHECKING([for FLIF])
1822    AC_MSG_RESULT([])
1823    failed=0
1824    passed=0
1825    AC_CHECK_HEADER([flif.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`])
1826    AC_CHECK_LIB([flif],[flif_create_decoder],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[])
1827    AC_MSG_CHECKING([if FLIF package is complete])
1828    if test $passed -gt 0; then
1829        if test $failed -gt 0; then
1830            AC_MSG_RESULT([no -- some components failed test])
1831            have_flif='no (failed tests)'
1832        else
1833            FLIF_LIBS='-lflif'
1834            LIBS="$FLIF_LIBS $LIBS"
1835            AC_DEFINE([FLIF_DELEGATE],[1],[Define if you have FLIF library])
1836            AC_MSG_RESULT([yes])
1837            have_flif='yes'
1838        fi
1839    else
1840        AC_MSG_RESULT([no])
1841    fi
1842fi
1843AM_CONDITIONAL([FLIF_DELEGATE],[test "$have_flif" = 'yes'])
1844AC_SUBST([FLIF_LIBS])
1845
1846dnl ===========================================================================
1847
1848#
1849# Check for FlashPIX delegate library.
1850#
1851AC_ARG_WITH([fpx],
1852    [AC_HELP_STRING([--without-fpx],
1853                    [disable FlashPIX support])],
1854    [with_fpx=$withval],
1855    [with_fpx='yes'])
1856
1857if test "$with_fpx" != 'yes'; then
1858    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-fpx=$with_fpx "
1859fi
1860
1861have_fpx='no'
1862FPX_LIBS=''
1863if test "$with_fpx" != 'no'; then
1864    AC_MSG_RESULT([-------------------------------------------------------------])
1865    AC_MSG_CHECKING([for FlashPIX])
1866    AC_MSG_RESULT([])
1867    failed=0
1868    passed=0
1869    AC_LANG_PUSH([C++])
1870    AC_CHECK_HEADER([fpxlib.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`])
1871    AC_CHECK_LIB([fpx],[FPX_OpenImageByFilename],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[])
1872    AC_LANG_POP
1873    AC_MSG_CHECKING([if FlashPIX package is complete])
1874    if test $passed -gt 0; then
1875        if test $failed -gt 0; then
1876            AC_MSG_RESULT([no -- some components failed test])
1877            have_fpx='no (failed tests)'
1878        else
1879            FPX_LIBS='-lfpx'
1880            AC_DEFINE([FPX_DELEGATE],[1],[Define if you have FlashPIX library])
1881            AC_MSG_RESULT([yes])
1882            have_fpx='yes'
1883            PERLMAINCC="$CXX"
1884        fi
1885    else
1886        AC_MSG_RESULT([no])
1887    fi
1888fi
1889AM_CONDITIONAL([FPX_DELEGATE],[test "$have_fpx" = 'yes'])
1890AC_SUBST([FPX_LIBS])
1891
1892dnl ===========================================================================
1893
1894#
1895# Check for DJVU delegate library.
1896#
1897AC_ARG_WITH([djvu],
1898    [AC_HELP_STRING([--without-djvu],
1899                    [disable DjVu support])],
1900    [with_djvu=$withval],
1901    [with_djvu='yes'])
1902
1903if test "$with_djvu" != 'yes'; then
1904    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-djvu=$with_djvu "
1905fi
1906
1907have_djvu='no'
1908DJVU_CFLAGS=""
1909DJVU_LIBS=""
1910DJVU_PKG=""
1911if test "x$with_djvu" = "xyes"; then
1912  AC_MSG_RESULT([-------------------------------------------------------------])
1913  PKG_CHECK_MODULES([ddjvuapi],[ddjvuapi >= 3.5.0],[have_djvu=yes],[have_djvu=no])
1914  AC_MSG_RESULT([])
1915fi
1916
1917if test "$have_djvu" = 'yes'; then
1918  AC_DEFINE([DJVU_DELEGATE],[1],[Define if you have DJVU library])
1919  DJVU_CFLAGS="$ddjvuapi_CFLAGS"
1920  DJVU_LIBS="$ddjvuapi_LIBS"
1921  CFLAGS="$ddjvuapi_CFLAGS $CFLAGS"
1922fi
1923
1924AM_CONDITIONAL([DJVU_DELEGATE],[test "$have_djvu" = 'yes'])
1925AC_SUBST([DJVU_CFLAGS])
1926AC_SUBST([DJVU_LIBS])
1927
1928dnl ===========================================================================
1929
1930#
1931# Check for fontconfig delegate library.
1932#
1933AC_ARG_WITH([fontconfig],
1934    [AC_HELP_STRING([--without-fontconfig],
1935                    [disable fontconfig support])],
1936        [with_fontconfig=$withval],
1937        [with_fontconfig='yes'])
1938
1939if test "$with_fontconfig" != 'yes'; then
1940    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-fontconfig=$with_fontconfig "
1941fi
1942
1943have_fontconfig='no'
1944FONTCONFIG_CFLAGS=""
1945FONTCONFIG_LIBS=""
1946FONTCONFIG_PKG=""
1947if test "x$with_fontconfig" = "xyes"; then
1948  AC_MSG_RESULT([-------------------------------------------------------------])
1949  PKG_CHECK_MODULES([FONTCONFIG],[fontconfig >= 2.1.0],[have_fontconfig=yes],[have_fontconfig=no])
1950  AC_MSG_RESULT([])
1951fi
1952
1953if test "$have_fontconfig" = 'yes'; then
1954  AC_DEFINE([FONTCONFIG_DELEGATE],[1],[Define if you have FONTCONFIG library])
1955  CFLAGS="$FONTCONFIG_CFLAGS $CFLAGS"
1956fi
1957
1958AM_CONDITIONAL([FONTCONFIG_DELEGATE],[test "$have_fontconfig" = 'yes'])
1959AC_SUBST([FONTCONFIG_CFLAGS])
1960AC_SUBST([FONTCONFIG_LIBS])
1961
1962dnl ===========================================================================
1963
1964#
1965# Check for the Freetype delegate library.
1966#
1967AC_ARG_WITH([freetype],
1968    [AC_HELP_STRING([--without-freetype],
1969                    [disable Freetype support])],
1970    [with_freetype=$withval],
1971    [with_freetype='yes'])
1972
1973if test "$with_freetype" != 'yes'; then
1974    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-freetype=$with_freetype "
1975fi
1976
1977have_freetype='no'
1978FREETYPE_CFLAGS=""
1979FREETYPE_LIBS=""
1980FREETYPE_PKG=""
1981if test "x$with_freetype" = "xyes"; then
1982  AC_MSG_RESULT([-------------------------------------------------------------])
1983  PKG_CHECK_MODULES([FREETYPE],[freetype2],[have_freetype=yes],[have_freetype=no])
1984  AC_MSG_RESULT([])
1985fi
1986
1987if test "$have_freetype" = 'yes'; then
1988  AC_DEFINE([FREETYPE_DELEGATE],[1],[Define if you have FREETYPE library])
1989  CFLAGS="$FREETYPE_CFLAGS $CFLAGS"
1990  MAGICKCORE_FREETYPE_DELEGATE=1
1991else
1992  MAGICKCORE_FREETYPE_DELEGATE=0
1993fi
1994
1995AC_SUBST([FREETYPE_CFLAGS])
1996AC_SUBST([FREETYPE_LIBS])
1997AC_SUBST([MAGICKCORE_FREETYPE_DELEGATE])
1998
1999dnl ===========================================================================
2000
2001#
2002# Check for the raqm delegate library.
2003#
2004AC_ARG_WITH([raqm],
2005    [AC_HELP_STRING([--without-raqm],
2006                    [disable Raqm support])],
2007    [with_raqm=$withval],
2008    [with_raqm='yes'])
2009
2010if test "$with_raqm" != 'yes'; then
2011    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-raqm=$with_raqm "
2012fi
2013
2014have_raqm='no'
2015RAQM_CFLAGS=""
2016RAQM_LIBS=""
2017RAQM_PKG=""
2018if test "x$with_raqm" = "xyes"; then
2019  AC_MSG_RESULT([-------------------------------------------------------------])
2020  PKG_CHECK_MODULES([RAQM],[raqm],[have_raqm=yes],[have_raqm=no])
2021  AC_MSG_RESULT([])
2022fi
2023
2024if test "$have_raqm" = 'yes'; then
2025  AC_DEFINE([RAQM_DELEGATE],[1],[Define if you have RAQM library])
2026  CFLAGS="$RAQM_CFLAGS $CFLAGS"
2027fi
2028
2029AM_CONDITIONAL([RAQM_DELEGATE],[test "$have_raqm" = 'yes'])
2030AC_SUBST([RAQM_CFLAGS])
2031AC_SUBST([RAQM_LIBS])
2032
2033dnl ===========================================================================
2034
2035#
2036# Enable Windows gdi32 libraries
2037#
2038AC_ARG_WITH([gdi32],
2039    AS_HELP_STRING([--without-gdi32],
2040                   [disable Windows gdi32 support]),
2041    [with_gdi32=$withval],
2042    [with_gdi32='yes'])
2043if test "$with_gdi32" != 'yes' ; then
2044    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-gdi32=$with_gdi32 "
2045fi
2046
2047#
2048# Check for Windows gdi32 library.
2049#
2050have_gdi32='no'
2051if test "$with_gdi32" != 'no'; then
2052  GDI32_LIBS=''
2053  AC_MSG_CHECKING([for Windows GDI32 support])
2054  AC_MSG_RESULT()
2055  failed=0
2056  passed=0
2057  AC_CHECK_HEADER([windows.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`])
2058  AC_CHECK_HEADER([winuser.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[#include <windows.h>])
2059  AC_CHECK_HEADER([wingdi.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[#include <windows.h>])
2060  AC_MSG_CHECKING([if Windows GDI32 support is complete])
2061  if test "$cygwin_build" = yes -o "$native_win32_build" = yes; then
2062    passed=`expr $passed + 1`
2063  fi
2064  if test $passed -gt 0; then
2065    if test $failed -gt 0; then
2066      AC_MSG_RESULT([no -- some components failed test])
2067      have_gdi32='no (failed tests)'
2068    else
2069      GDI32_LIBS='-lgdi32 -luser32'
2070      LIBS="$GDI32_LIBS $LIBS"
2071      AC_DEFINE([WINGDI32_DELEGATE],[1],[Define to use the Windows GDI32 library])
2072      AC_MSG_RESULT([yes])
2073      have_gdi32='yes'
2074    fi
2075  else
2076    AC_MSG_RESULT([no])
2077  fi
2078fi
2079AM_CONDITIONAL([WINGDI32_DELEGATE], [test "$have_gdi32" = 'yes'])
2080AC_SUBST([GDI32_LIBS])
2081
2082dnl ===========================================================================
2083
2084#
2085# Check for Ghostscript library or framework.
2086#
2087# Test for iapi.h & test for gsapi_new_instance in -lgs
2088# or -framework Ghostscript
2089
2090AC_ARG_WITH([gslib],
2091    [AC_HELP_STRING([--with-gslib],
2092                    [enable Ghostscript library support])],
2093    [with_gslib=$withval],
2094    [with_gslib='no'])
2095
2096gslib_framework='no'
2097if test "$with_gslib" != 'yes'; then
2098    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-gslib=$with_gslib "
2099fi
2100
2101have_gslib='no'
2102GS_LIBS=''
2103if test "$with_gslib" != 'no'; then
2104    AC_MSG_RESULT([-------------------------------------------------------------])
2105    AC_MSG_CHECKING([for Ghostscript])
2106    AC_MSG_RESULT([])
2107    framework=0
2108    failed=0
2109    passed=0
2110    AC_CHECK_HEADER([ghostscript/iapi.h],[passed=`expr $passed + 1`],
2111      [failed=`expr $failed + 1`],[])
2112    AC_CHECK_HEADER([ghostscript/ierrors.h],[passed=`expr $passed + 1`],
2113      [failed=`expr $failed + 1`],[])
2114    AC_CHECK_FRAMEWORK([Ghostscript],[gsapi_new_instance],[framework=`expr $framework + 1`],
2115      AC_CHECK_LIB([gs],[gsapi_new_instance],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[]),[])
2116    AC_MSG_CHECKING([if Ghostscript package is complete])
2117    if test $passed -gt 0; then
2118        if test $failed -gt 0; then
2119            AC_MSG_RESULT([no -- some components failed test])
2120            have_gslib='no (failed tests)'
2121        else
2122            if test $framework -gt 0; then
2123                GS_LIBS='-framework Ghostscript'
2124                gslib_framework='yes'
2125                AC_MSG_RESULT([yes, using framework.])
2126            else
2127                AC_MSG_RESULT([yes, using library.])
2128                GS_LIBS='-lgs'
2129            fi
2130            LIBS="$GS_LIBS $LIBS"
2131            AC_DEFINE([GS_DELEGATE],[1],[Define if you have Ghostscript library or framework])
2132            have_gslib='yes'
2133        fi
2134    else
2135        AC_MSG_RESULT([no])
2136    fi
2137fi
2138AM_CONDITIONAL([GS_DELEGATE],[test "$have_gslib" = 'yes'])
2139AC_SUBST([GS_LIBS])
2140
2141# Set default font search path
2142AC_ARG_WITH([fontpath],
2143    [AC_HELP_STRING([--with-fontpath=DIR],
2144                    [prepend to default font search path])],
2145    [with_fontpath=$withval],
2146    [with_fontpath=''])
2147
2148if test "$with_fontpath" != "yes" && test -z "$with_fontpath"; then
2149    with_fontpath=''
2150else
2151    AC_DEFINE_UNQUOTED([MAGICK_FONT_PATH],["$with_fontpath"],[Define to prepend to default font search path.])
2152fi
2153if test "$with_fontpath=" != ''; then
2154    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-fontpath=$with_fontpath "
2155fi
2156
2157# Set Ghostscript font directory
2158AC_ARG_WITH([gs-font-dir],
2159    [AC_HELP_STRING([--with-gs-font-dir=DIR],
2160                    [Ghostscript font directory])],
2161    [with_gs_font_dir=$withval],
2162    [with_gs_font_dir='default'])
2163
2164if test "$with_gs_font_dir" != 'default'; then
2165    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-gs-font-dir=$with_gs_font_dir "
2166fi
2167
2168dnl ===========================================================================
2169
2170#
2171# Check for GVC delegate library.
2172#
2173AC_ARG_WITH([gvc],
2174    [AC_HELP_STRING([--with-gvc],
2175                    [enable GVC support])],
2176    [with_gvc=$withval],
2177    [with_gvc='yes'])
2178
2179if test "$with_gvc" != 'yes'; then
2180    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-gvc=$with_gvc "
2181fi
2182
2183GVC_PKG=""
2184if test "x$with_gvc" = "xyes"; then
2185  AC_MSG_RESULT([-------------------------------------------------------------])
2186  PKG_CHECK_MODULES([GVC],[libgvc >= 2.9.0],[have_gvc=yes],[have_gvc=no])
2187  AC_MSG_RESULT([])
2188fi
2189
2190if test "$have_gvc" = 'yes'; then
2191  AC_DEFINE([GVC_DELEGATE],[1],[Define if you have GVC library])
2192  CFLAGS="$GVC_CFLAGS $CFLAGS"
2193fi
2194
2195AM_CONDITIONAL([GVC_DELEGATE],[test "$have_gvc" = 'yes'])
2196AC_SUBST([GVC_CFLAGS])
2197AC_SUBST([GVC_LIBS])
2198
2199dnl ===========================================================================
2200
2201#
2202# Check for the HEIC delegate library.
2203#
2204AC_ARG_WITH([heic],
2205    [AC_HELP_STRING([--without-heic],
2206                    [disable HEIC support])],
2207    [with_heic=$withval],
2208    [with_heic='yes'])
2209
2210if test "$with_heic" != 'yes'; then
2211    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-heic=$with_heic "
2212fi
2213
2214have_heic='no'
2215HEIF_CFLAGS=""
2216HEIF_LIBS=""
2217HEIF_PKG=""
2218if test "x$with_heic" = "xyes"; then
2219  AC_MSG_RESULT([-------------------------------------------------------------])
2220  PKG_CHECK_MODULES([HEIF],[libheif],[have_heic=yes],[have_heic=no])
2221  AC_MSG_RESULT([])
2222fi
2223
2224if test "$have_heic" = 'yes'; then
2225  AC_DEFINE([HEIC_DELEGATE],[1],[Define if you have libheif library])
2226  CFLAGS="$HEIF_CFLAGS $CFLAGS"
2227fi
2228
2229AM_CONDITIONAL([HEIC_DELEGATE],[test "$have_heic" = 'yes'])
2230AC_SUBST([HEIF_CFLAGS])
2231AC_SUBST([HEIF_LIBS])
2232
2233
2234dnl ===========================================================================
2235
2236#
2237# Check for JBIG delegate library.
2238#
2239
2240AC_ARG_WITH([jbig],
2241    [AC_HELP_STRING([--without-jbig],
2242                    [disable JBIG support])],
2243    [with_jbig=$withval],
2244    [with_jbig='yes'])
2245
2246have_jbig='no'
2247JBIG_LIBS=''
2248if test "$with_jbig" != 'no'; then
2249    AC_MSG_RESULT([-------------------------------------------------------------])
2250    AC_MSG_CHECKING([for JBIG])
2251    AC_MSG_RESULT([])
2252    failed=0
2253    passed=0
2254    AC_CHECK_HEADER([jbig.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`])
2255    AC_CHECK_LIB([jbig],[jbg_dec_init],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[])
2256    AC_MSG_CHECKING([if JBIG package is complete])
2257    if test $passed -gt 0; then
2258        if test $failed -gt 0; then
2259            AC_MSG_RESULT([no -- some components failed test])
2260            have_jbig='no (failed tests)'
2261        else
2262            JBIG_LIBS='-ljbig'
2263            LIBS="$JBIG_LIBS $LIBS"
2264            AC_DEFINE([JBIG_DELEGATE],[1],[Define if you have JBIG library])
2265            AC_MSG_RESULT([yes])
2266            have_jbig='yes'
2267        fi
2268    else
2269        AC_MSG_RESULT([no])
2270    fi
2271fi
2272AM_CONDITIONAL([JBIG_DELEGATE],[test "$have_jbig" = 'yes'])
2273AC_SUBST([JBIG_LIBS])
2274
2275dnl ===========================================================================
2276
2277#
2278# Check for JPEG delegate library.
2279#
2280AC_ARG_WITH([jpeg],
2281    [AC_HELP_STRING([--without-jpeg],
2282                    [disable JPEG support])],
2283    [with_jpeg=$withval],
2284    [with_jpeg='yes'])
2285
2286if test "$with_jpeg" != 'yes'; then
2287    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-jpeg=$with_jpeg "
2288fi
2289
2290have_jpeg='no'
2291JPEG_LIBS=''
2292if test "$with_jpeg" != 'no'; then
2293    AC_MSG_RESULT([-------------------------------------------------------------])
2294    AC_MSG_CHECKING([for JPEG])
2295    AC_MSG_RESULT([])
2296    failed=0
2297    passed=0
2298    AC_CHECK_HEADER([jconfig.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`])
2299    AC_CHECK_HEADER([jerror.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`])
2300    AC_CHECK_HEADER([jmorecfg.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`])
2301    AC_CHECK_HEADER([jpeglib.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`])
2302    AC_CHECK_LIB([jpeg],[jpeg_read_header],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[])
2303    AC_MSG_CHECKING([if JPEG package is complete])
2304    if test $passed -gt 0; then
2305        if test $failed -gt 0; then
2306            AC_MSG_RESULT([no -- some components failed test])
2307            have_jpeg='no (failed tests)'
2308        else
2309            JPEG_LIBS='-ljpeg'
2310            LIBS="$JPEG_LIBS $LIBS"
2311            AC_DEFINE([JPEG_DELEGATE],[1],[Define if you have JPEG library])
2312            AC_MSG_RESULT([yes])
2313            have_jpeg='yes'
2314        fi
2315    else
2316        AC_MSG_RESULT([no])
2317    fi
2318fi
2319AM_CONDITIONAL([JPEG_DELEGATE],[test "$have_jpeg" = 'yes'])
2320AC_SUBST([JPEG_LIBS])
2321
2322dnl ===========================================================================
2323
2324#
2325# Check for Jpegxl delegate library.
2326#
2327AC_ARG_WITH([jxl],
2328    [AC_HELP_STRING([--without-jxl],
2329                    [disable Jpegxl support])],
2330    [with_jxl=$withval],
2331    [with_jxl='yes'])
2332
2333if test "$with_jxl" != 'yes'; then
2334    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-jxl=$with_jxl "
2335fi
2336
2337# Check for the brunsli libraries, currently the only libraries used by the jxl coder.
2338# Full jxl support will be added once the full libraries are released.
2339have_jxl='no'
2340JXL_LIBS=''
2341if test "$with_jxl" != 'no'; then
2342  AC_MSG_RESULT([-------------------------------------------------------------])
2343  AC_MSG_CHECKING([for brunsli])
2344  AC_MSG_RESULT([])
2345  failed=0
2346  passed=0
2347  AC_CHECK_HEADER([brunsli/decode.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`])
2348  AC_CHECK_HEADER([brunsli/encode.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`])
2349  AC_CHECK_LIB([brunslidec-c],[DecodeBrunsli],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[])
2350  AC_CHECK_LIB([brunslienc-c],[EncodeBrunsli],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[])
2351  AC_MSG_CHECKING([if brunsli package is complete])
2352  if test $passed -gt 0; then
2353      if test $failed -gt 0; then
2354          AC_MSG_RESULT([no -- some components failed test])
2355          have_jxl='no (failed tests)'
2356      else
2357          JXL_LIBS='-lbrunslidec-c -lbrunslienc-c'
2358          LIBS="$JXL_LIBS $LIBS"
2359          AC_DEFINE([JXL_DELEGATE],[1],[Define if you have brunsli library])
2360          AC_MSG_RESULT([yes])
2361          have_jxl='yes'
2362      fi
2363  else
2364      AC_MSG_RESULT([no])
2365  fi
2366fi
2367AM_CONDITIONAL([JXL_DELEGATE],[test "$have_jxl" = 'yes'])
2368AC_SUBST([JXL_LIBS])
2369
2370dnl ===========================================================================
2371
2372#
2373# Check for LCMS delegate library.
2374#
2375AC_ARG_WITH([lcms],
2376        [  --without-lcms          disable lcms (v1.1X) support],
2377        [with_lcms=$withval],
2378        [with_lcms='yes'])
2379if test "$with_lcms" != 'yes' ; then
2380    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-lcms=$with_lcms "
2381fi
2382
2383have_lcms='no'
2384LCMS_CFLAGS=""
2385LCMS_LIBS=""
2386LCMS_PKG=""
2387if test "x$with_lcms" = "xyes"; then
2388  AC_MSG_RESULT([-------------------------------------------------------------])
2389  PKG_CHECK_MODULES([LCMS2],[lcms2 >= 2.0.0],[have_lcms=yes],[have_lcms=no])
2390  AC_MSG_RESULT([])
2391fi
2392
2393if test "$have_lcms" = 'yes'; then
2394  AC_DEFINE([LCMS_DELEGATE],[1],[Define if you have LCMS library])
2395  LCMS_CFLAGS="$LCMS2_CFLAGS"
2396  LCMS_LIBS="$LCMS2_LIBS"
2397  CFLAGS="$LCMS2_CFLAGS $CFLAGS"
2398  AC_CHECK_HEADER([lcms2/lcms2.h],[have_lcms_header='yes'],[],[])
2399  if test "$have_lcms_header" = 'yes'; then
2400    AC_DEFINE([HAVE_LCMS2_LCMS2_H],[1],[Define if you have the <lcms2/lcms2.h> header file.])
2401  else
2402    AC_DEFINE([HAVE_LCMS2_H],[1],[Define if you have the <lcms2.h> header file.])
2403  fi
2404fi
2405
2406AM_CONDITIONAL([LCMS_DELEGATE],[test "$have_lcms" = 'yes'])
2407AC_SUBST([LCMS_CFLAGS])
2408AC_SUBST([LCMS_LIBS])
2409
2410dnl ===========================================================================
2411
2412#
2413# Check for the OpenJP2 delegate library.
2414#
2415AC_ARG_WITH([openjp2],
2416    [AC_HELP_STRING([--without-openjp2],
2417                    [disable OpenJP2 support])],
2418    [with_openjp2=$withval],
2419    [with_openjp2='yes'])
2420
2421if test "$with_openjp2" != 'yes'; then
2422    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-openjp2=$with_openjp2 "
2423fi
2424
2425have_openjp2='no'
2426LIBOPENJP2_CFLAGS=""
2427LIBOPENJP2_LIBS=""
2428LIBOPENJP2_PKG=""
2429if test "$with_openjp2" = "yes"; then
2430  AC_MSG_RESULT([-------------------------------------------------------------])
2431  PKG_CHECK_MODULES([LIBOPENJP2],[libopenjp2 >= 2.1.0],[have_openjp2=yes],[have_openjp2=no])
2432  AC_MSG_RESULT([])
2433fi
2434
2435if test "$have_openjp2" = 'yes'; then
2436  AC_DEFINE([LIBOPENJP2_DELEGATE],[1],[Define if you have OPENJP2 library])
2437  CFLAGS="$LIBOPENJP2_CFLAGS $CFLAGS"
2438fi
2439
2440AM_CONDITIONAL([LIBOPENJP2_DELEGATE],[test "$have_openjp2" = 'yes'])
2441AC_SUBST([LIBOPENJP2_CFLAGS])
2442AC_SUBST([LIBOPENJP2_LIBS])
2443
2444
2445dnl ===========================================================================
2446
2447#
2448# Check for the LQR (Liquid Rescale) delegate library.
2449#
2450AC_ARG_WITH([lqr],
2451    [AC_HELP_STRING([--without-lqr],
2452                    [disable Liquid Rescale support])],
2453    [with_lqr=$withval],
2454    [with_lqr='yes'])
2455
2456if test "$with_lqr" != 'yes'; then
2457    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-lqr=$with_lqr "
2458fi
2459
2460have_lqr='no'
2461LQR_CFLAGS=""
2462LQR_LIBS=""
2463LQR_PKG=""
2464if test "x$with_lqr" = "xyes"; then
2465  AC_MSG_RESULT([-------------------------------------------------------------])
2466  PKG_CHECK_MODULES([LQR],[lqr-1 >= 0.1.0],[have_lqr=yes],[have_lqr=no])
2467  AC_MSG_RESULT([])
2468fi
2469
2470if test "$have_lqr" = 'yes'; then
2471  AC_DEFINE([LQR_DELEGATE],[1],[Define if you have LQR library])
2472  CFLAGS="$LQR_CFLAGS $CFLAGS"
2473fi
2474
2475AM_CONDITIONAL([LQR_DELEGATE],[test "$have_lqr" = 'yes'])
2476AC_SUBST([LQR_CFLAGS])
2477AC_SUBST([LQR_LIBS])
2478
2479dnl ===========================================================================
2480
2481# Disable LZMA (lzma library)
2482AC_ARG_WITH([lzma],
2483            [  --without-lzma          disable LZMA support],
2484            [with_lzma=$withval],
2485            [with_lzma='yes'])
2486if test "$with_lzma" != 'yes' ; then
2487    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-lzma=$with_lzma "
2488fi
2489
2490LZMA_PKG=""
2491if test "x$with_lzma" = "xyes"; then
2492  AC_MSG_RESULT([-------------------------------------------------------------])
2493  PKG_CHECK_MODULES([LZMA],[liblzma >= 2.9.0],[have_lzma=yes],[have_lzma=no])
2494  AC_MSG_RESULT([])
2495else
2496  have_lzma=no
2497fi
2498
2499if test "$have_lzma" = 'yes'; then
2500  AC_DEFINE([LZMA_DELEGATE],[1],[Define if you have LZMA library])
2501  CFLAGS="$LZMA_CFLAGS $CFLAGS"
2502fi
2503
2504AM_CONDITIONAL([LZMA_DELEGATE],[test "$have_lzma" = 'yes'])
2505AC_SUBST([LZMA_CFLAGS])
2506AC_SUBST([LZMA_LIBS])
2507
2508dnl ===========================================================================
2509
2510#
2511# Check for the OpenEXR delegate library.
2512#
2513AC_ARG_WITH([openexr],
2514    [AC_HELP_STRING([--without-openexr],
2515                    [disable OpenEXR support])],
2516    [with_openexr=$withval],
2517    [with_openexr='yes'])
2518
2519if test "$with_openexr" != 'yes'; then
2520    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-openexr=$with_openexr "
2521fi
2522
2523have_openexr='no'
2524OPENEXR_CFLAGS=""
2525OPENEXR_LIBS=""
2526OPENEXR_PKG=""
2527if test "x$with_openexr" = "xyes"; then
2528  AC_MSG_RESULT([-------------------------------------------------------------])
2529  PKG_CHECK_MODULES([OPENEXR],[OpenEXR >= 1.0.6],[have_openexr=yes],[have_openexr=no])
2530  AC_MSG_RESULT([])
2531fi
2532
2533if test "$have_openexr" = 'yes'; then
2534  AC_DEFINE([OPENEXR_DELEGATE],[1],[Define if you have OPENEXR library])
2535  CFLAGS="$OPENEXR_CFLAGS $CFLAGS"
2536fi
2537
2538AM_CONDITIONAL([OPENEXR_DELEGATE],[test "$have_openexr" = 'yes'])
2539AC_SUBST([OPENEXR_CFLAGS])
2540AC_SUBST([OPENEXR_LIBS])
2541
2542dnl ===========================================================================
2543
2544#
2545# Check for PANGO delegate library.
2546#
2547AC_ARG_WITH([pango],
2548    [AC_HELP_STRING([--without-pango],
2549                    [disable PANGO support])],
2550    [with_pango=$withval],
2551    [with_pango='yes'])
2552
2553if test "$with_pango" != 'yes'; then
2554    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-pango=$with_pango "
2555fi
2556
2557have_pango='no'
2558have_pangocairo='no'
2559PANGO_CFLAGS=""
2560PANGO_LIBS=""
2561PANGO_PKG=""
2562if test "x$with_pango" = "xyes"; then
2563  AC_MSG_RESULT([-------------------------------------------------------------])
2564  PKG_CHECK_MODULES([PANGO],[pangocairo >= 1.28.1],[have_pangocairo=yes],[have_pangocairo=no])
2565  AC_MSG_RESULT([])
2566  PKG_CHECK_MODULES([PANGO],[pango >= 1.28.1],[have_pango=yes],[have_pango=no])
2567  AC_MSG_RESULT([])
2568fi
2569
2570if test "$have_pango" = 'yes'; then
2571  AC_DEFINE([PANGO_DELEGATE],[1],[Define if you have PANGO library])
2572  CFLAGS="$PANGO_CFLAGS $CFLAGS"
2573fi
2574
2575if test "$have_pangocairo" = 'yes'; then
2576  AC_DEFINE([PANGOCAIRO_DELEGATE],[1],[Define if you have PANGOCAIRO library])
2577  CFLAGS="$PANGOCAIRO_CFLAGS $CFLAGS"
2578fi
2579
2580AM_CONDITIONAL([PANGO_DELEGATE],[test "$have_pango" = 'yes'])
2581AM_CONDITIONAL([PANGOCAIRO_DELEGATE],[test "$have_pangocairo" = 'yes'])
2582AC_SUBST([PANGO_CFLAGS])
2583AC_SUBST([PANGO_LIBS])
2584
2585dnl ===========================================================================
2586
2587#
2588# Check for PNG delegate library.
2589#
2590AC_ARG_WITH([png],
2591    [AC_HELP_STRING([--without-png], [disable PNG support])],
2592    [with_png=$withval],
2593    [with_png='yes'])
2594
2595if test "$with_png" != 'yes'; then
2596    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-png=$with_png "
2597fi
2598
2599have_png='no'
2600PNG_CFLAGS=""
2601PNG_LIBS=""
2602PNG_PKG=""
2603if test "x$with_png" = "xyes"; then
2604  AC_MSG_RESULT([-------------------------------------------------------------])
2605  PKG_CHECK_MODULES([PNG],[libpng >= 1.0.0],[have_png=yes],[have_png=no])
2606  AC_MSG_RESULT([])
2607fi
2608
2609if test "$have_png" = 'yes'; then
2610  AC_DEFINE([PNG_DELEGATE],[1],[Define if you have PNG library])
2611  CFLAGS="$PNG_CFLAGS $CFLAGS"
2612fi
2613
2614AM_CONDITIONAL([PNG_DELEGATE],[test "$have_png" = 'yes'])
2615AC_SUBST([PNG_CFLAGS])
2616AC_SUBST([PNG_LIBS])
2617
2618dnl ===========================================================================
2619
2620#
2621# Check for the Raw delegate library.
2622#
2623AC_ARG_WITH([raw],
2624    [AC_HELP_STRING([--without-raw],
2625                    [disable Raw support])],
2626    [with_raw=$withval],
2627    [with_raw='yes'])
2628
2629if test "$with_raw" != 'yes'; then
2630    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-libraw=$with_raw "
2631fi
2632
2633have_raw='no'
2634RAW_R_CFLAGS=""
2635RAW_R_LIBS=""
2636RAW_R_PKG=""
2637if test "x$with_raw" = "xyes"; then
2638  AC_MSG_RESULT([-------------------------------------------------------------])
2639  PKG_CHECK_MODULES([RAW_R],[libraw_r >= 0.14.8],[have_raw=yes],[have_raw=no])
2640  AC_MSG_RESULT([])
2641fi
2642
2643if test "$have_raw" = 'yes'; then
2644  AC_DEFINE([RAW_R_DELEGATE],[1],[Define if you have LIBRAW library])
2645  CFLAGS="$RAW_R_CFLAGS $CFLAGS"
2646fi
2647
2648AM_CONDITIONAL([RAW_R_DELEGATE],[test "$have_raw" = 'yes'])
2649AC_SUBST([RAW_R_CFLAGS])
2650AC_SUBST([RAW_R_LIBS])
2651
2652dnl ===========================================================================
2653
2654#
2655# Check for RSVG delegate library.
2656#
2657AC_ARG_WITH([rsvg],
2658    [AC_HELP_STRING([--with-rsvg],
2659                    [enable RSVG support])],
2660    [with_rsvg=$withval],
2661    [with_rsvg='no'])
2662
2663if test "$with_rsvg" != 'yes'; then
2664    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-rsvg=$with_rsvg "
2665fi
2666
2667have_rsvg='no'
2668have_cairo='no'
2669RSVG_CFLAGS=""
2670RSVG_LIBS=""
2671RSVG_PKG=""
2672if test "x$with_rsvg" = "xyes"; then
2673  AC_MSG_RESULT([-------------------------------------------------------------])
2674  PKG_CHECK_MODULES([RSVG],[librsvg-2.0 >= 2.9.0],[have_rsvg=yes],[have_rsvg=no])
2675  AC_MSG_RESULT([])
2676  PKG_CHECK_MODULES([CAIRO_SVG],[cairo-svg],[have_cairo=yes],[have_cairo=no])
2677  AC_MSG_RESULT([])
2678fi
2679
2680if test "$have_rsvg" = 'yes'; then
2681  AC_DEFINE([RSVG_DELEGATE],[1],[Define if you have RSVG library])
2682  CFLAGS="$RSVG_CFLAGS $CFLAGS"
2683fi
2684
2685if test "$have_cairo" = 'yes'; then
2686  AC_DEFINE([CAIRO_DELEGATE],[1],[Define if you have CAIRO library])
2687  CFLAGS="$CAIRO_SVG_CFLAGS $CFLAGS"
2688fi
2689
2690AM_CONDITIONAL([RSVG_DELEGATE],[test "$have_rsvg" = 'yes'])
2691AM_CONDITIONAL([CAIRO_DELEGATE],[test "$have_cairo" = 'yes'])
2692AC_SUBST([RSVG_CFLAGS])
2693AC_SUBST([RSVG_LIBS])
2694
2695dnl ===========================================================================
2696
2697#
2698# Check for TIFF delegate library.
2699#
2700AC_ARG_WITH([tiff],
2701    [AC_HELP_STRING([--without-tiff],
2702                    [disable TIFF support])],
2703    [with_tiff=$withval],
2704    [with_tiff='yes'])
2705
2706if test "$with_tiff" != 'yes'; then
2707    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-tiff=$with_tiff "
2708fi
2709
2710have_tiff='no'
2711TIFF_LIBS=''
2712if test "$with_tiff" != 'no'; then
2713    AC_MSG_RESULT([-------------------------------------------------------------])
2714    AC_MSG_CHECKING([for TIFF])
2715    AC_MSG_RESULT([])
2716    failed=0
2717    passed=0
2718    AC_CHECK_HEADER([tiff.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`])
2719    AC_CHECK_HEADER([tiffio.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`])
2720    AC_CHECK_LIB([tiff],[TIFFOpen],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[])
2721    AC_CHECK_LIB([tiff],[TIFFClientOpen],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[])
2722    AC_CHECK_LIB([tiff],[TIFFIsByteSwapped],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[])
2723    AC_CHECK_LIB([tiff],[TIFFReadRGBATile],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[])
2724    AC_CHECK_LIB([tiff],[TIFFReadRGBAStrip],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[])
2725    AC_MSG_CHECKING([if TIFF package is complete])
2726    if test $passed -gt 0; then
2727        if test $failed -gt 0; then
2728            AC_MSG_RESULT([no -- some components failed test])
2729            have_tiff='no (failed tests)'
2730        else
2731            TIFF_LIBS='-ltiff'
2732            LIBS="$TIFF_LIBS $LIBS"
2733            AC_DEFINE([TIFF_DELEGATE],[1],[Define if you have TIFF library])
2734            AC_MSG_RESULT([yes])
2735            have_tiff='yes'
2736            AC_CHECK_HEADERS(tiffconf.h)
2737            AC_CHECK_FUNCS([TIFFIsCODECConfigured TIFFMergeFieldInfo \
2738              TIFFIsBigEndian TIFFSetErrorHandlerExt TIFFSetTagExtender \
2739              TIFFReadEXIFDirectory TIFFReadGPSDirectory \
2740              TIFFSetWarningHandlerExt TIFFSwabArrayOfTriples])
2741        fi
2742    else
2743        AC_MSG_RESULT([no])
2744    fi
2745fi
2746AM_CONDITIONAL([TIFF_DELEGATE],[test "$have_tiff" = 'yes'])
2747AC_SUBST([TIFF_LIBS])
2748
2749dnl ===========================================================================
2750
2751#
2752# Set URW Base35 font directory.
2753#
2754AC_ARG_WITH([urw-base35-font-dir],
2755    [AC_HELP_STRING([--with-urw-base35-font-dir=DIR],
2756                    [URW-base35 font directory])],
2757    [with_urw_base35_font_dir=$withval],
2758    [with_urw_base35_font_dir='default'])
2759
2760if test "$with_urw_base35_font_dir" != 'default'; then
2761    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-urw-base35-font-dir=$with_urw_base35_font_dir "
2762fi
2763
2764dnl ===========================================================================
2765
2766#
2767# Check for the WEBP delegate library.
2768#
2769AC_ARG_WITH([webp],
2770    [AC_HELP_STRING([--without-webp],
2771                    [disable WEBP support])],
2772    [with_webp=$withval],
2773    [with_webp='yes'])
2774
2775if test "$with_webp" != 'yes'; then
2776    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-webp=$with_webp "
2777fi
2778
2779have_webp='no'
2780have_webpmux='no'
2781WEBP_CFLAGS=""
2782WEBP_LIBS=""
2783WEBP_PKG=""
2784WEBPMUX_CFLAGS=""
2785WEBPMUX_LIBS=""
2786WEBPMUX_PKG=""
2787if test "x$with_webp" = "xyes"; then
2788  AC_MSG_RESULT([-------------------------------------------------------------])
2789  PKG_CHECK_MODULES([WEBP],[libwebp >= 0.4.1],[have_webp=yes],[have_webp=no])
2790  PKG_CHECK_MODULES([WEBPMUX],[libwebpmux >= 0.5.0 libwebpdemux >= 0.5.0],[have_webpmux=yes],[have_webpmux=no])
2791  AC_MSG_RESULT([])
2792fi
2793
2794if test "$have_webp" = 'yes'; then
2795  AC_DEFINE([WEBP_DELEGATE],[1],[Define if you have WEBP library])
2796  CFLAGS="$WEBP_CFLAGS $CFLAGS"
2797fi
2798
2799if test "$have_webpmux" = 'yes'; then
2800  AC_DEFINE([WEBPMUX_DELEGATE],[1],[Define if you have WEBPMUX library])
2801  CFLAGS="$WEBPMUX_CFLAGS $CFLAGS"
2802fi
2803
2804AM_CONDITIONAL([WEBP_DELEGATE],[test "$have_webp" = 'yes'])
2805AM_CONDITIONAL([WEBPMUX_DELEGATE],[test "$have_webpmux" = 'yes'])
2806AC_SUBST([WEBPMUX_CFLAGS])
2807AC_SUBST([WEBPMUX_LIBS])
2808AC_SUBST([WEBP_CFLAGS])
2809AC_SUBST([WEBP_LIBS])
2810
2811dnl ===========================================================================
2812
2813#
2814# Set Windows font directory.
2815#
2816AC_ARG_WITH([windows-font-dir],
2817    [AC_HELP_STRING([--with-windows-font-dir=DIR],
2818                    [Windows font directory])],
2819    [with_windows_font_dir=$withval],
2820    [with_windows_font_dir='default'])
2821
2822if test "$with_windows_font_dir" != 'default'; then
2823    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-windows-font-dir=$with_windows_font_dir "
2824fi
2825
2826dnl ===========================================================================
2827
2828#
2829# Check for WMF delegate library.
2830#
2831AC_ARG_WITH([wmf],
2832    [AC_HELP_STRING([--with-wmf],
2833                    [enable WMF support])],
2834    [with_wmf=$withval],
2835    [with_wmf=$build_modules])
2836
2837if test "$with_wmf" != 'yes'; then
2838    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-wmf=$with_wmf "
2839fi
2840
2841have_wmf='no'
2842WMF_LIBS=''
2843WMF_CFLAGS=''
2844OLIBS="$LIBS"
2845if test "$with_wmf" != 'no'; then
2846  AC_MSG_CHECKING([for WMF support])
2847  AC_MSG_RESULT([])
2848
2849  have_libwmflite='no'
2850  have_libwmf_ipa_h='no'
2851
2852  AC_CHECK_HEADER([libwmf/ipa.h],[have_libwmf_ipa_h='yes'],[],[$FT2BUILD_H])
2853  if test "$have_libwmf_ipa_h" = 'yes'; then
2854    AC_CHECK_LIB([wmflite],[wmf_lite_create],[have_libwmflite='yes'],[],[])
2855    if test "$have_libwmflite" = 'yes'; then
2856      AC_DEFINE([WMF_DELEGATE],[1],[Define if you have WMF library])
2857      WMF_LIBS='-lwmflite'
2858      LIBS="$WMF_LIBS $LIBS"
2859      have_wmf='yes'
2860    else
2861      AC_MSG_RESULT([no -- some components failed test])
2862      have_wmf='no (failed tests)'
2863      have_wmflite='no (failed tests)'
2864      LIBS="$OLIBS"
2865      WMF_LIBS=''
2866    fi
2867  fi
2868fi
2869AC_MSG_CHECKING([if WMF package is complete])
2870if test "$have_wmf" = 'yes'; then
2871  AC_MSG_RESULT([yes])
2872else
2873  AC_MSG_RESULT([no])
2874fi
2875AM_CONDITIONAL([WMF_DELEGATE],[test "$have_wmf" = 'yes'])
2876AC_SUBST([WMF_CFLAGS])
2877AC_SUBST([WMF_LIBS])
2878
2879dnl ===========================================================================
2880
2881#
2882# Check for XML delegate library.
2883#
2884AC_ARG_WITH([xml],
2885    [AC_HELP_STRING([--without-xml],
2886                    [disable XML support])],
2887    [with_xml=$withval],
2888    [with_xml='yes'])
2889
2890if test "$with_xml" != 'yes' ; then
2891    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-xml=$with_xml "
2892fi
2893
2894have_xml='no'
2895XML_CFLAGS=""
2896XML_LIBS=""
2897XML_PKG=""
2898if test "x$with_xml" = "xyes"; then
2899  AC_MSG_RESULT([-------------------------------------------------------------])
2900  PKG_CHECK_MODULES([XML],[libxml-2.0 >= 2.0.0],[have_xml=yes],[have_xml=no])
2901  AC_MSG_RESULT([])
2902fi
2903
2904if test "$have_xml" = 'yes'; then
2905  AC_DEFINE([XML_DELEGATE],[1],[Define if you have XML library])
2906  CFLAGS="$XML_CFLAGS $CFLAGS"
2907fi
2908
2909AM_CONDITIONAL([XML_DELEGATE],[test "$have_xml" = 'yes'])
2910AC_SUBST([XML_CFLAGS])
2911AC_SUBST([XML_LIBS])
2912
2913dnl ===========================================================================
2914
2915# Check for functions
2916#
2917AC_CHECK_FUNCS([acosh _aligned_malloc aligned_malloc asinh atanh atoll atexit cabs carg cimag creal clock clock_getres clock_gettime ctime_r directio erf _exit execvp fchmod floor fork ftime ftruncate getc_unlocked getcwd getpid getexecname getdtablesize getpagesize getpwnam_r getrlimit getrusage gettimeofday gmtime_r isnan j0 j1 lltostr localtime_r lstat mkdir memmove memset mkstemp munmap nanosleep newlocale _NSGetExecutablePath pclose _pclose poll popen _popen posix_fadvise posix_fallocate posix_madvise posix_memalign posix_spawnp pow pread pwrite qsort_r raise rand_r readlink realpath select seekdir sendfile setlocale socket sqrt setvbuf stat strcasestr strchr strrchr strcspn strdup strpbrk strspn strstr strtod strtod_l strtol strtoul symlink sysconf sigemptyset sigaction spawnvp strerror strlcat strlcpy strcasecmp strncasecmp system telldir tempnam times ulltostr uselocale usleep utime vfprintf vfprintf_l vsprintf vsnprintf vsnprintf_l waitpid _wfopen _wstat])
2918
2919# Substitute compiler name to build/link PerlMagick
2920#
2921AC_SUBST([PERLMAINCC])
2922
2923#
2924# Configure install Paths
2925#
2926
2927# Path to ImageMagick header files
2928INCLUDE_RELATIVE_PATH="${PACKAGE_NAME}-${MAGICK_MAJOR_VERSION}"
2929INCLUDE_PATH="${INCLUDE_DIR}/${INCLUDE_RELATIVE_PATH}"
2930DEFINE_INCLUDE_PATH="${INCLUDE_DIR}/${INCLUDE_RELATIVE_PATH}/"
2931case "${build_os}" in
2932  mingw* )
2933    DEFINE_INCLUDE_PATH=`$WinPathScript "$DEFINE_INCLUDE_PATH" 1`
2934    ;;
2935esac
2936AC_DEFINE_UNQUOTED([INCLUDE_PATH],["$DEFINE_INCLUDE_PATH"],[Directory where ImageMagick headers live.])
2937AC_SUBST([INCLUDE_PATH])
2938
2939# Path to ImageMagick header files (arch part)
2940INCLUDEARCH_PATH="${INCLUDEARCH_DIR}/${INCLUDE_RELATIVE_PATH}"
2941DEFINE_INCLUDEARCH_PATH="${INCLUDEARCH_DIR}/${INCLUDE_RELATIVE_PATH}/"
2942case "${build_os}" in
2943  mingw* )
2944    DEFINE_INCLUDEARCH_PATH=`$WinPathScript "$DEFINE_INCLUDEARCH_PATH" 1`
2945    ;;
2946esac
2947AC_DEFINE_UNQUOTED([INCLUDEARCH_PATH],["$DEFINE_INCLUDE_PATH"],[Directory where ImageMagick architecture headers live.])
2948AC_SUBST([INCLUDEARCH_PATH])
2949
2950# Subdirectory under lib to place ImageMagick lib files
2951LIBRARY_RELATIVE_PATH="${PACKAGE_NAME}-${PACKAGE_BASE_VERSION}"
2952AC_DEFINE_UNQUOTED([LIBRARY_RELATIVE_PATH],["$LIBRARY_RELATIVE_PATH"],[Subdirectory of lib where ImageMagick architecture dependent files are installed.])
2953
2954# Path to ImageMagick bin directory
2955EXECUTABLE_PATH="${BIN_DIR}"
2956DEFINE_EXECUTABLE_PATH="${BIN_DIR}/"
2957case "${build_os}" in
2958  mingw* )
2959    DEFINE_EXECUTABLE_PATH=`$WinPathScript "$DEFINE_EXECUTABLE_PATH" 1`
2960    ;;
2961esac
2962AC_DEFINE_UNQUOTED([EXECUTABLE_PATH],["$DEFINE_EXECUTABLE_PATH"],[Directory where executables are installed.])
2963AC_SUBST([EXECUTABLE_PATH])
2964
2965# Path to ImageMagick lib
2966LIBRARY_PATH="${LIB_DIR}/${LIBRARY_RELATIVE_PATH}"
2967DEFINE_LIBRARY_PATH="${LIB_DIR}/${LIBRARY_RELATIVE_PATH}/"
2968case "${build_os}" in
2969  mingw* )
2970    DEFINE_LIBRARY_PATH=`$WinPathScript "$DEFINE_LIBRARY_PATH" 1`
2971    ;;
2972esac
2973AC_DEFINE_UNQUOTED([LIBRARY_PATH],["$DEFINE_LIBRARY_PATH"],[Directory where architecture-dependent files live.])
2974AC_SUBST([LIBRARY_PATH])
2975
2976#
2977# path to local binaries
2978if test "x$LIB_BIN_BASEDIRNAME" = "x"; then
2979   LIB_BIN_BASEDIRNAME="bin"
2980fi
2981AC_DEFINE_UNQUOTED([LIB_BIN_BASEDIRNAME],["$LIB_BIN_BASEDIRNAME"],[Binaries in libraries path base name (will be during install linked to bin)])
2982AC_SUBST([LIB_BIN_BASEDIRNAME])
2983
2984if test "x$LIB_BIN_DIR" = "x"; then
2985   LIB_BIN_DIR=${LIB_BIN_BASEDIRNAME}-${MAGICK_ABI_SUFFIX}
2986fi
2987AC_SUBST([LIB_BIN_DIR])
2988
2989LIB_BIN_DIR_RELATIVE_PATH=$LIB_BIN_DIR
2990AC_SUBST([LIB_BIN_DIR_RELATIVE_PATH])
2991LIB_BIN_DIR_PATH="${LIBRARY_PATH}/${LIB_BIN_DIR_RELATIVE_PATH}"
2992AC_SUBST([LIB_BIN_DIR_PATH])
2993
2994#
2995# path to modules lib
2996if test "x$MODULES_BASEDIRNAME" = "x"; then
2997   MODULES_BASEDIRNAME="modules"
2998fi
2999AC_DEFINE_UNQUOTED([MODULES_BASEDIRNAME],["$MODULES_BASEDIRNAME"],[Module directory name without ABI part.])
3000AC_SUBST([MODULES_BASEDIRNAME])
3001
3002if test "x$MODULES_DIRNAME" = "x"; then
3003  MODULES_DIRNAME=${MODULES_BASEDIRNAME}-${MAGICK_ABI_SUFFIX}
3004else
3005  AC_DEFINE_UNQUOTED([MODULES_DIRNAME],"[$MODULES_DIRNAME"],[Module directory dirname])
3006fi
3007AC_SUBST([MODULES_DIRNAME])
3008
3009MODULES_RELATIVE_PATH="${MODULES_DIRNAME}"
3010AC_SUBST([MODULES_RELATIVE_PATH])
3011MODULES_PATH="${LIBRARY_PATH}/${MODULES_RELATIVE_PATH}"
3012AC_SUBST([MODULES_PATH])
3013
3014#
3015# path to coders lib
3016if test "x$CODER_DIRNAME" = "x"; then
3017   CODER_DIRNAME="coders"
3018fi
3019AC_DEFINE_UNQUOTED([CODER_DIRNAME],["$CODER_DIRNAME"],[coders subdirectory.])
3020AC_SUBST([CODER_DIRNAME])
3021
3022CODER_RELATIVE_PATH="${CODER_DIRNAME}"
3023CODER_PATH="${MODULES_PATH}/${CODER_DIRNAME}"
3024AC_SUBST([CODER_PATH])
3025
3026#
3027# Subdirectory under lib to place ImageMagick filter module files
3028#
3029# path to coders lib
3030if test "x$FILTER_DIRNAME" = "x"; then
3031   FILTER_DIRNAME="filters"
3032fi
3033AC_DEFINE_UNQUOTED([FILTER_DIRNAME],["$FILTER_DIRNAME"],[filter subdirectory.])
3034AC_SUBST([FILTER_DIRNAME])
3035
3036FILTER_RELATIVE_PATH="${FILTER_DIRNAME}"
3037FILTER_PATH="${MODULES_PATH}/${FILTER_DIRNAME}"
3038AC_SUBST([FILTER_PATH])
3039
3040#
3041# Path to ImageMagick documentation files
3042DOCUMENTATION_RELATIVE_PATH="${PACKAGE_NAME}-${MAGICK_MAJOR_VERSION}"
3043DOCUMENTATION_PATH="${DOC_DIR}/${DOCUMENTATION_RELATIVE_PATH}"
3044DEFINE_DOCUMENTATION_PATH="${DOC_DIR}/${DOCUMENTATION_RELATIVE_PATH}/"
3045case "${build_os}" in
3046  mingw* )
3047    DEFINE_DOCUMENTATION_PATH=`$WinPathScript "$DEFINE_DOCUMENTATION_PATH" 1`
3048    ;;
3049esac
3050AC_DEFINE_UNQUOTED([DOCUMENTATION_PATH],["$DEFINE_DOCUMENTATION_PATH"],[Directory where ImageMagick documents live.])
3051AC_SUBST([DOCUMENTATION_PATH])
3052
3053#
3054# Enable/Disable documentation
3055AC_ARG_ENABLE([docs],
3056  [AS_HELP_STRING([--disable-docs],
3057    [disable building of documentation])],
3058  wantdocs=$enableval, wantdocs=yes)
3059AM_CONDITIONAL([INSTALL_DOC],[test "$wantdocs" = "yes"])
3060
3061# Subdirectory to place architecture-dependent configuration files
3062CONFIGURE_RELATIVE_PATH="${PACKAGE_NAME}-${MAGICK_MAJOR_VERSION}"
3063AC_DEFINE_UNQUOTED([CONFIGURE_RELATIVE_PATH],"$CONFIGURE_RELATIVE_PATH",[Subdirectory of lib where architecture-dependent configuration files live.])
3064CONFIGURE_PATH="${SYSCONF_DIR}/${CONFIGURE_RELATIVE_PATH}/"
3065DEFINE_CONFIGURE_PATH="${SYSCONF_DIR}/${CONFIGURE_RELATIVE_PATH}/"
3066case "${build_os}" in
3067  mingw* )
3068    DEFINE_CONFIGURE_PATH=`$WinPathScript "$DEFINE_CONFIGURE_PATH" 1`
3069    ;;
3070esac
3071AC_DEFINE_UNQUOTED([CONFIGURE_PATH],"$DEFINE_CONFIGURE_PATH",[Directory where architecture-dependent configuration files live.])
3072AC_SUBST([CONFIGURE_PATH])
3073
3074# Subdirectory to place architecture-independent configuration files
3075SHARE_RELATIVE_PATH="${PACKAGE_NAME}-${MAGICK_MAJOR_VERSION}"
3076AC_DEFINE_UNQUOTED([SHARE_RELATIVE_PATH],"$SHARE_RELATIVE_PATH",[Subdirectory of lib where architecture-independent configuration files live.])
3077SHARE_PATH="${DATA_DIR}/${SHARE_RELATIVE_PATH}"
3078DEFINE_SHARE_PATH="${DATA_DIR}/${SHARE_RELATIVE_PATH}/"
3079case "${build_os}" in
3080  mingw* )
3081    DEFINE_SHARE_PATH=`$WinPathScript "$DEFINE_SHARE_PATH" 1`
3082    ;;
3083esac
3084AC_DEFINE_UNQUOTED([SHARE_PATH],"$DEFINE_SHARE_PATH",[Directory where architecture-independent configuration files live.])
3085AC_SUBST([SHARE_PATH])
3086
3087#
3088# Subdirectory to place architecture-dependent configuration files.
3089if test "x$SHAREARCH_BASEDIRNAME" = "x"; then
3090   SHAREARCH_BASEDIRNAME="config"
3091fi
3092AC_DEFINE_UNQUOTED([SHAREARCH_BASEDIRNAME],"$SHAREARCH_BASEDIRNAME",[Sharearch directory name without ABI part.])
3093AC_SUBST([SHAREARCH_BASEDIRNAME])
3094
3095if test "x$SHAREARCH_DIRNAME" = "x"; then
3096  SHAREARCH_DIRNAME=${SHAREARCH_BASEDIRNAME}-${MAGICK_ABI_SUFFIX}
3097else
3098  AC_DEFINE_UNQUOTED([SHAREARCH_DIRNAME],["$SHAREARCH_DIRNAME]",[Sharearch directory dirname])
3099fi
3100AC_SUBST([SHAREARCH_DIRNAME])
3101
3102SHAREARCH_RELATIVE_PATH="${SHAREARCH_DIRNAME}"
3103AC_SUBST([SHAREARCH_RELATIVE_PATH])
3104SHAREARCH_PATH="${LIBRARY_PATH}/${SHAREARCH_RELATIVE_PATH}"
3105AC_SUBST([SHAREARCH_PATH])
3106
3107#
3108# program_transform_name is formed for use in a Makefile, so create a
3109# modified version for use in a shell script.
3110configure_transform_name=`echo ${program_transform_name} | sed 's,\\$\\$,$,'`
3111
3112# Default delegate definitions
3113AC_MSG_RESULT([-------------------------------------------------------------])
3114AC_MSG_CHECKING([for ImageMagick delegate programs])
3115AC_MSG_RESULT([])
3116BPGDecodeDelegateDefault='bpgdec'
3117BPGEncodeDelegateDefault='bpgenc'
3118BlenderDecodeDelegateDefault='blender'
3119BrowseDelegateDefault='xdg-open'
3120DNGDecodeDelegateDefault='ufraw-batch'
3121DOCDecodeDelegateDefault='libreoffice'
3122GVCDecodeDelegateDefault='dot'
3123DVIDecodeDelegateDefault='dvips'
3124EditorDelegateDefault='xterm'
3125ConvertDelegateDefault=`echo convert | sed ${configure_transform_name}`
3126DisplayDelegateDefault=`echo display | sed ${configure_transform_name}`
3127MogrifyDelegateDefault=`echo mogrify | sed ${configure_transform_name}`
3128HPGLDecodeDelegateDefault='hp2xx'
3129HTMLDecodeDelegateDefault='html2ps'
3130ILBMDecodeDelegateDefault='ilbmtoppm'
3131ILBMEncodeDelegateDefault='ppmtoilbm'
3132JXRDecodeDelegateDefault='JxrDecApp'
3133JXREncodeDelegateDefault='JxrEncApp'
3134LEPDelegateDefault='lepton'
3135LPDelegateDefault='lp'
3136LPRDelegateDefault='lpr'
3137LaunchDelegateDefault='gimp'
3138MrSIDDecodeDelegateDefault='mrsidgeodecode'
3139MVDelegateDefault='mv'
3140PCLDelegateDefault='pcl6'
3141if test "$native_win32_build" = 'yes'; then
3142    PSDelegateDefault='gswin32c'
3143elif test "$gslib_framework" = 'yes'; then
3144    PSDelegateDefault='gsc'
3145else
3146    PSDelegateDefault='gs'
3147fi
3148RMDelegateDefault='rm'
3149RSVGDecodeDelegateDefault='rsvg-convert'
3150SVGDecodeDelegateDefault='inkscape'
3151TextEncodeDelegateDefault='tesseract'
3152TraceEncodeDelegateDefault='potrace'
3153UniconvertorDelegateDefault='uniconvertor'
3154VIDEODecodeDelegateDefault='ffmpeg'
3155VIDEOEncodeDelegateDefault='ffmpeg'
3156WebPDecodeDelegateDefault='dwebp'
3157WebPEncodeDelegateDefault='cwebp'
3158WWWDecodeDelegateDefault='curl'
3159XPSDelegateDefault='gxps'
3160
3161# Search for delegates
3162AC_PATH_PROG([BPGDecodeDelegate],["$BPGDecodeDelegateDefault"],["$BPGDecodeDelegateDefault"])
3163AC_PATH_PROG([BPGEncodeDelegate],["$BPGEncodeDelegateDefault"],["$BPGEncodeDelegateDefault"])
3164AC_PATH_PROG([BlenderDecodeDelegate],["$BlenderDecodeDelegateDefault"],["$BlenderDecodeDelegateDefault"])
3165AC_PATH_PROGS([BrowseDelegate],["$BrowseDelegateDefault" google-chrome firefox konqueror mozilla lynx],["$BrowseDelegateDefault"])
3166AC_PATH_PROG([DNGDecodeDelegate],["$DNGDecodeDelegateDefault"],["$DNGDecodeDelegateDefault"])
3167AC_PATH_PROG([DOCDecodeDelegate],["$DOCDecodeDelegateDefault"],["$DOCDecodeDelegateDefault"])
3168AC_PATH_PROG([DVIDecodeDelegate],["$DVIDecodeDelegateDefault"],["$DVIDecodeDelegateDefault"])
3169AC_PATH_PROG([ConvertDelegate],["$ConvertDelegateDefault"],["$ConvertDelegateDefault"])
3170AC_PATH_PROG([DisplayDelegate],["$DisplayDelegateDefault"],["$DisplayDelegateDefault"])
3171AC_PATH_PROG([EditorDelegate],["$EditorDelegateDefault"],["$EditorDelegateDefault"])
3172AC_PATH_PROG([GVCDecodeDelegate],["$GVCDecodeDelegateDefault"],["$GVCDecodeDelegateDefault"])
3173AC_PATH_PROG([HPGLDecodeDelegate],["$HPGLDecodeDelegateDefault"],["$HPGLDecodeDelegateDefault"])
3174AC_PATH_PROG([HTMLDecodeDelegate],["$HTMLDecodeDelegateDefault"],["$HTMLDecodeDelegateDefault"])
3175AC_PATH_PROG([ILBMDecodeDelegate],["$ILBMDecodeDelegateDefault"],["$ILBMDecodeDelegateDefault"])
3176AC_PATH_PROG([ILBMEncodeDelegate],["$ILBMEncodeDelegateDefault"],["$ILBMEncodeDelegateDefault"])
3177AC_PATH_PROG([JXRDecodeDelegate],["$JXRDecodeDelegateDefault"],["$JXRDecodeDelegateDefault"])
3178AC_PATH_PROG([JXREncodeDelegate],["$JXREncodeDelegateDefault"],["$JXREncodeDelegateDefault"])
3179AC_PATH_PROG([LEPDelegate],["$LEPDelegateDefault"],["$LEPDelegateDefault"])
3180AC_PATH_PROG([LPDelegate],["$LPDelegateDefault"],[no])
3181AC_PATH_PROG([LPRDelegate],["$LPRDelegateDefault"],["$LPRDelegateDefault"])
3182AC_PATH_PROG([LaunchDelegate],["$LaunchDelegateDefault"],["$LaunchDelegateDefault"])
3183AC_PATH_PROG([MogrifyDelegate],["$MogrifyDelegateDefault"],["$MogrifyDelegateDefault"])
3184AC_PATH_PROG([VIDEODecodeDelegate],["$VIDEODecodeDelegateDefault"],["$VIDEODecodeDelegateDefault"])
3185AC_PATH_PROG([VIDEOEncodeDelegate],["$VIDEOEncodeDelegateDefault"],["$VIDEOEncodeDelegateDefault"])
3186AC_PATH_PROG([MrSIDDecodeDelegate],["$MrSIDDecodeDelegateDefault"],["$MrSIDDecodeDelegateDefault"])
3187AC_PATH_PROG([MVDelegate],["$MVDelegateDefault"],["$MVDelegateDefault"])
3188AC_PATH_PROG([PCLDelegate],["$PCLDelegateDefault"],["$PCLDelegateDefault"])
3189AC_PATH_PROGS([PSDelegate],[gsx gsc "$PSDelegateDefault"],["$PSDelegateDefault"])
3190AC_PATH_PROG([RMDelegate],["$RMDelegateDefault"],["$RMDelegateDefault"])
3191AC_PATH_PROG([RSVGDecodeDelegate],["$RSVGDecodeDelegateDefault"],["$RSVGDecodeDelegateDefault"])
3192AC_PATH_PROG([SVGDecodeDelegate],["$SVGDecodeDelegateDefault"],["$SVGDecodeDelegateDefault"])
3193AC_PATH_PROG([TextEncodeDelegate],["$TextEncodeDelegateDefault"],["$TextEncodeDelegateDefault"])
3194AC_PATH_PROG([TraceEncodeDelegate],["$TraceEncodeDelegateDefault"],["$TraceEncodeDelegateDefault"])
3195AC_PATH_PROG([UniconvertorDelegate],["$UniconvertorDelegateDefault"],["$UniconvertorDelegateDefault"])
3196AC_PATH_PROG([WebPDecodeDelegate],["$WebPDecodeDelegateDefault"],["$WebPDecodeDelegateDefault"])
3197AC_PATH_PROG([WebPEncodeDelegate],["$WebPEncodeDelegateDefault"],["$WebPEncodeDelegateDefault"])
3198AC_PATH_PROG([WWWDecodeDelegate],["$WWWDecodeDelegateDefault"],["$WWWDecodeDelegateDelegateDefault"])
3199AC_PATH_PROG([XPSDelegate],["$XPSDelegateDefault"],["$XPSDelegateDefault"])
3200
3201# Prefer lpr to lp; lp needs options tacked on.
3202if test "$LPRDelegate" != no; then
3203    PrintDelegate="$LPRDelegate"
3204else
3205    PrintDelegate="$LPDelegate -c -s"
3206fi
3207AC_SUBST([PrintDelegate])
3208
3209# Installed ImageMagick utiltity paths
3210ConvertDelegate="${BIN_DIR}/${ConvertDelegateDefault}"
3211DisplayDelegate="${BIN_DIR}/${DisplayDelegateDefault}"
3212MogrifyDelegate="${BIN_DIR}/${MogrifyDelegateDefault}"
3213
3214# Set delegate booleans
3215have_gs='no'         ; if test "$PSDelegate" != "$PSDelegateDefault"; then have_gs='yes'; fi
3216have_hp2xx='no'      ; if test "$HPGLDecodeDelegate" !=  "$HPGLDecodeDelegateDefault" ; then have_hp2xx='yes'; fi
3217have_ilbmtoppm='no'  ; if test "$ILBMDecodeDelegate" != "$ILBMDecodeDelegateDefault" ; then have_ilbmtoppm='yes'; fi
3218have_mrsid='no'; if test "$MrSIDDecodeDelegate" != "$MrSIDDecodeDelegateDefault" ; then have_mrsid='yes'; fi
3219have_pcl='no'        ; if test "$PCLDelegate" != "$PCLDelegateDefault"; then have_pcl='yes'; fi
3220have_ppmtoilbm='no'  ; if test "$ILBMEncodeDelegate" != "$ILBMEncodeDelegateDefault" ; then have_ppmtoilbm='yes'; fi
3221have_video='no'; if test "$VIDEODecodeDelegate" != "$VIDEODecodeDelegateDefault" ; then have_video='yes'; fi
3222have_xps='no'        ; if test "$XPSDelegate" != "$XPSDelegateDefault"; then have_xps='yes'; fi
3223
3224#
3225# Test for font directories
3226#
3227type_include_files=''
3228
3229# Apple fonts.
3230AC_MSG_CHECKING([for Apple fonts directory])
3231apple_font_dir=''
3232if test "${with_apple_font_dir}" != 'default'; then
3233  apple_font_dir="${with_apple_font_dir}/"
3234else
3235  for font_dir in '/Library/Fonts/'; do
3236    if test -f "${font_dir}Arial.ttf"; then
3237      apple_font_dir="${font_dir}"
3238      break 1
3239    fi
3240  done
3241fi
3242if test "${apple_font_dir}x" != 'x'; then
3243  type_include_files="${type_include_files} "'<include file="type-apple.xml" />'
3244  AC_MSG_RESULT([$apple_font_dir])
3245else
3246  AC_MSG_RESULT([not found!]);
3247fi
3248AC_SUBST([apple_font_dir])
3249
3250# Dejavu fonts.
3251AC_MSG_CHECKING([for Dejavu fonts directory])
3252dejavu_font_dir=''
3253if test "${with_dejavu_font_dir}" != 'default'; then
3254  dejavu_font_dir="${with_dejavu_font_dir}/"
3255else
3256  for font_dir in "${prefix}/share/dejavu/fonts/" '/usr/share/fonts/dejavu/'; do
3257    if test -f "${font_dir}DejaVuSerif.ttf"; then
3258      dejavu_font_dir="${font_dir}"
3259      break 1
3260    fi
3261  done
3262fi
3263if test "${dejavu_font_dir}x" != 'x'; then
3264  type_include_files="${type_include_files} "'<include file="type-dejavu.xml" />'
3265  AC_MSG_RESULT([$dejavu_font_dir])
3266else
3267  AC_MSG_RESULT([not found!]);
3268fi
3269AC_SUBST([dejavu_font_dir])
3270
3271# Ghostscript
3272AC_MSG_CHECKING([for Ghostscript fonts directory])
3273ghostscript_font_dir=''
3274if test "${with_gs_font_dir}" != 'default'; then
3275  ghostscript_font_dir="${with_gs_font_dir}/"
3276else
3277  if test "${native_win32_build}" = 'yes'; then
3278    # Native Windows Build
3279    for font_dir in "c:\\Program Files\\gs\\fonts\\" "c:\\Program Files \(x86\)\\gs\\fonts\\" "c:\\gs\\fonts\\"; do
3280      if test -f "${font_dir}a010013l.pfb"; then
3281        ghostscript_font_dir="$font_dir"
3282        break 1
3283      fi
3284    done
3285    if test "${PSDelegate}" != 'gswin32c'; then
3286      ghostscript_font_dir=`echo "${PSDelegate}" | sed -e 's:/gs/.*:/gs:;s:^/::;s/./&:/;s:/:\\\\:g'`"\\fonts\\"
3287    fi
3288  else
3289    # Linux / Mac OS X / Unix Build
3290    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
3291      if test -f "${font_dir}a010013l.pfb"; then
3292        ghostscript_font_dir="${font_dir}"
3293        break 1
3294      fi
3295    done
3296    if test "${ghostscript_font_dir}x" = 'x'; then
3297      if test "$PSDelegate" != 'gs'; then
3298        ghostscript_font_dir=`echo "$PSDelegate" | sed -e 's:/bin/gs:/share/ghostscript/fonts:'`"/"
3299      fi
3300    fi
3301  fi
3302fi
3303if test "${ghostscript_font_dir}x" != 'x'; then
3304  type_include_files="${type_include_files} "'<include file="type-ghostscript.xml" />'
3305  AC_MSG_RESULT([$ghostscript_font_dir])
3306else
3307  AC_MSG_RESULT([not found!]);
3308fi
3309AC_SUBST([ghostscript_font_dir])
3310case "${build_os}" in
3311  mingw* )
3312    PSDelegate=`$WinPathScript "$PSDelegate" 1`
3313    ;;
3314esac
3315
3316# URW-base35 fonts.
3317AC_MSG_CHECKING([for URW-base35 fonts directory])
3318urw_base35_font_dir=''
3319if test "${with_urw_base35_font_dir}" != 'default'; then
3320  urw_base35_font_dir="${with_urw_base35_font_dir}/"
3321else
3322  for font_dir in "${prefix}/share/urw-base35/fonts/" '/usr/share/fonts/urw-base35/' '/usr/share/fonts/type1/urw-base35/'; do
3323    if test -f "${font_dir}StandardSymbolsPS.t1"; then
3324      urw_base35_font_dir="${font_dir}"
3325      break 1
3326    fi
3327  done
3328fi
3329if test "${urw_base35_font_dir}x" != 'x'; then
3330  type_include_files="${type_include_files} "'<include file="type-urw-base35.xml" />'
3331  AC_MSG_RESULT([$urw_base35_font_dir])
3332else
3333  AC_MSG_RESULT([not found!]);
3334fi
3335AC_SUBST([urw_base35_font_dir])
3336
3337# Windows fonts.
3338AC_MSG_CHECKING([for Windows fonts directory])
3339windows_font_dir=''
3340if test "${with_windows_font_dir}" != 'default'; then
3341  windows_font_dir="${with_windows_font_dir}/"
3342fi
3343if test "${windows_font_dir}x" != 'x'; then
3344  type_include_files="${type_include_files} "'<include file="type-windows.xml" />'
3345  AC_MSG_RESULT([$windows_font_dir])
3346else
3347  AC_MSG_RESULT([not found!]);
3348fi
3349AC_SUBST([windows_font_dir])
3350
3351AC_SUBST([type_include_files])
3352
3353#
3354# Handle case where user doesn't want frozen paths
3355#
3356if test "$with_frozenpaths" != 'yes'; then
3357  # Re-set delegate definitions to default (no paths)
3358  BPGDecodeDelegate="$BPGDecodeDelegateDefault"
3359  BPGEncodeDelegate="$BPGEncodeDelegateDefault"
3360  BlenderDecodeDelegate="$BlenderDecodeDelegateDefault"
3361  BrowseDelegate="$BrowseDelegateDefault"
3362  ConvertDelegate="$ConvertDelegateDefault"
3363  DisplayDelegate="$DisplayDelegateDefault"
3364  DNGDecodeDelegate="$DNGDecodeDelegateDefault"
3365  DOCDecodeDelegate="$DOCDecodeDelegateDefault"
3366  DVIDecodeDelegate="$DVIDecodeDelegateDefault"
3367  EditorDelegate="$EditorDelegateDefault"
3368  GVCDecodeDelegate="$GVCDecodeDelegateDefault"
3369  HPGLDecodeDelegate="$HPGLDecodeDelegateDefault"
3370  HTMLDecodeDelegate="$HTMLDecodeDelegateDefault"
3371  ILBMDecodeDelegate="$ILBMDecodeDelegateDefault"
3372  ILBMEncodeDelegate="$ILBMEncodeDelegateDefault"
3373  JXRDecodeDelegate="$JXRDecodeDelegateDefault"
3374  JXREncodeDelegate="$JXREncodeDelegateDefault"
3375  LEPDelegate="$LEPDelegateDefault"
3376  LPDelegate="$LPDelegateDefault"
3377  LaunchDelegate="$LaunchDelegateDefault"
3378  VIDEODecodeDelegate="$VIDEODecodeDelegateDefault"
3379  VIDEOEncodeDelegate="$VIDEOEncodeDelegateDefault"
3380  MogrifyDelegate="$MogrifyDelegateDefault"
3381  MrSIDDecodeDelegate="$MrSIDDecodeDelegateDefault"
3382  PCLDelegate="$PCLDelegateDefault"
3383  PSDelegate="$PSDelegateDefault"
3384  RSVGDecodeDelegate="$RSVGDecodeDelegateDefault"
3385  SVGDecodeDelegate="$SVGDecodeDelegateDefault"
3386  ShowImageDelegate="$ShowImageDelegateDefault"
3387  TextEncodeDelegate="$TextEncodeDelegateDefault"
3388  TraceEncodeDelegate="$TraceEncodeDelegateDefault"
3389  UniconvertorDelegate="$UniconvertorDelegateDefault"
3390  WebPDecodeDelegate="$WebPDecodeDelegateDefault"
3391  WebPEncodeDelegate="$WebPEncodeDelegateDefault"
3392  WWWDecodeDelegate="$WWWDecodeDelegateDefault"
3393  XPSDelegate="$XPSDelegateDefault"
3394fi
3395
3396# Delegate substitutions
3397AC_SUBST([BPGDecodeDelegate])
3398AC_SUBST([BPGEncodeDelegate])
3399AC_SUBST([BlenderDecodeDelegate])
3400AC_SUBST([BrowseDelegate])
3401AC_SUBST([ConvertDelegate])
3402AC_SUBST([GVCDecodeDelegate])
3403AC_SUBST([DVIDecodeDelegate])
3404AC_SUBST([EditorDelegate])
3405AC_SUBST([HPGLDecodeDelegate])
3406AC_SUBST([HTMLDecodeDelegate])
3407AC_SUBST([ILBMDecodeDelegate])
3408AC_SUBST([ILBMEncodeDelegate])
3409AC_SUBST([JXRDecodeDelegate])
3410AC_SUBST([JXREncodeDelegate])
3411AC_SUBST([LaunchDelegate])
3412AC_SUBST([LEPDelegate])
3413AC_SUBST([LPDelegate])
3414AC_SUBST([VIDEODecodeDelegate])
3415AC_SUBST([VIDEOEncodeDelegate])
3416AC_SUBST([MogrifyDelegate])
3417AC_SUBST([MrSIDDecodeDelegate])
3418AC_SUBST([PCLDelegate])
3419AC_SUBST([PSDelegate])
3420AC_SUBST([ShowImageDelegate])
3421AC_SUBST([TextEncodeDelegate])
3422AC_SUBST([TraceEncodeDelegate])
3423AC_SUBST([UniconvertorDelegate])
3424AC_SUBST([WebPDecodeDelegate])
3425AC_SUBST([WebPEncodeDelegate])
3426AC_SUBST([WWWDecodeDelegate])
3427AC_SUBST([XPSDelegate])
3428
3429#
3430# RPM support.
3431#
3432RPM=''
3433AC_CHECK_PROGS([TAR],[gnutar gtar tar])
3434AC_CHECK_PROGS([PERL],[perl])
3435AC_CHECK_PROGS([RPM],[rpmbuild rpm])
3436AM_MISSING_PROG([ACLOCAL],[aclocal],[$missing_dir])
3437AM_MISSING_PROG([AUTOCONF],[autoconf],[$missing_dir])
3438AM_MISSING_PROG([AUTOMAKE],[automake],[$missing_dir])
3439AM_MISSING_PROG([AUTOHEADER],[autoheader],[$missing_dir])
3440AC_SUBST([RPM])
3441AM_CONDITIONAL([RPM_DELEGATE],[test "x$RPM" != "x"])
3442
3443#
3444# 7ZIP support (http://p7zip.sourceforge.net/)
3445#
3446P7ZIP=''
3447AC_CHECK_PROGS([P7ZIP],[7za])
3448AC_SUBST([P7ZIP])
3449AM_CONDITIONAL([P7ZIP_DELEGATE],[test "x$P7ZIP" != "x"])
3450
3451#
3452# ZIP support (http://www.info-zip.org/Zip.html)
3453#
3454ZIP=''
3455AC_CHECK_PROGS([ZIP],[zip])
3456AC_SUBST([ZIP])
3457AM_CONDITIONAL([ZIP_DELEGATE],[test "x$ZIP" != "x"])
3458
3459#
3460# GhostPCL related configuration.
3461#
3462PCLColorDevice=ppmraw
3463PCLCMYKDevice=pamcmyk32
3464PCLMonoDevice=pbmraw
3465if test -z "$PCLVersion"; then
3466    PCLVersion='unknown'
3467fi
3468if test $have_pcl = 'yes'; then
3469    AC_MSG_RESULT([-------------------------------------------------------------])
3470    AC_MSG_CHECKING([for PCL])
3471    AC_MSG_RESULT([])
3472    # PCLColorDevice
3473    AC_MSG_CHECKING([for pcl color device])
3474    if $PCLDelegate -dBATCH -sDEVICE=$PCLColorDevice -sOutputFile=/dev/null < /dev/null 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
3475        :
3476    else
3477        PCLColorDevice=ppmraw
3478    fi
3479    AC_MSG_RESULT([$PCLColorDevice])
3480
3481    # PCLCMYKDevice
3482    AC_MSG_CHECKING([for pcl CMYK device])
3483    if $PCLDelegate -dBATCH -sDEVICE=$PCLColorDevice -sOutputFile=/dev/null < /dev/null 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
3484        :
3485    else
3486        PCLCMYKDevice=$PCLColorDevice
3487    fi
3488    AC_MSG_RESULT([$PCLCMYKDevice])
3489
3490    # PCLMonoDevice
3491    AC_MSG_CHECKING([for pcl mono device])
3492    if $PCLDelegate -dBATCH -sDEVICE=$PCLMonoDevice -sOutputFile=/dev/null < /dev/null 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
3493        :
3494    else
3495        PCLMonoDevice=$PCLColorDevice
3496    fi
3497    AC_MSG_RESULT([$PCLMonoDevice])
3498fi
3499
3500AC_SUBST([PCLMonoDevice])
3501AC_SUBST([PCLColorDevice])
3502AC_SUBST([PCLCMYKDevice])
3503AC_SUBST([PCLVersion])
3504
3505#
3506# GhostXPS related configuration.
3507#
3508XPSColorDevice=ppmraw
3509XPSCMYKDevice=bmpsep8
3510XPSMonoDevice=pbmraw
3511if test -z "$XPSVersion"; then
3512    XPSVersion='unknown'
3513fi
3514if test $have_xps = 'yes'; then
3515    AC_MSG_RESULT([-------------------------------------------------------------])
3516    AC_MSG_CHECKING([for XPS])
3517    AC_MSG_RESULT([])
3518    # XPSColorDevice
3519    AC_MSG_CHECKING([for xps color device])
3520    if $XPSDelegate -dBATCH -sDEVICE=$XPSColorDevice -sOutputFile=/dev/null < /dev/null 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
3521        :
3522    else
3523        XPSColorDevice=ppmraw
3524    fi
3525    AC_MSG_RESULT([$XPSColorDevice])
3526
3527    # XPSCMYKDevice
3528    AC_MSG_CHECKING([for xps CMYK device])
3529    if $XPSDelegate -dBATCH -sDEVICE=$XPSColorDevice -sOutputFile=/dev/null < /dev/null 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
3530        :
3531    else
3532        XPSCMYKDevice=$XPSColorDevice
3533    fi
3534    AC_MSG_RESULT([$XPSCMYKDevice])
3535
3536    # XPSMonoDevice
3537    AC_MSG_CHECKING([for xps mono device])
3538    if $XPSDelegate -dBATCH -sDEVICE=$XPSMonoDevice -sOutputFile=/dev/null < /dev/null 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
3539        :
3540    else
3541        XPSMonoDevice=$XPSColorDevice
3542    fi
3543    AC_MSG_RESULT([$XPSMonoDevice])
3544fi
3545
3546AC_SUBST([XPSMonoDevice])
3547AC_SUBST([XPSColorDevice])
3548AC_SUBST([XPSCMYKDevice])
3549AC_SUBST([XPSVersion])
3550
3551#
3552# Ghostscript related configuration.
3553#
3554GSAlphaDevice=pngalpha
3555GSColorDevice=png16m
3556GSCMYKDevice=pamcmyk32
3557GSMonoDevice=pbmraw
3558GSPDFDevice=pdfwrite
3559GSPSDevice=ps2write
3560GSEPSDevice=eps2write
3561GSVersion='unknown'
3562if test $have_gs = 'yes'; then
3563    AC_MSG_RESULT([-------------------------------------------------------------])
3564    AC_MSG_CHECKING([for Ghostscript])
3565    AC_MSG_RESULT([])
3566    AC_MSG_CHECKING([for Ghostscript version])
3567    if GSVersion=`$PSDelegate --version`; then
3568        :
3569    else
3570        GSVersion=`$PSDelegate --help | sed -e '1q' | awk '{ print $3 }'`
3571    fi
3572    AC_MSG_RESULT([$GSVersion])
3573
3574    # GSColorDevice
3575    AC_MSG_CHECKING([for gs color device])
3576    if $PSDelegate -q -dBATCH -sDEVICE=$GSColorDevice -sOutputFile=/dev/null < /dev/null 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
3577        :
3578    else
3579        GSColorDevice=ppmraw
3580    fi
3581    AC_MSG_RESULT([$GSColorDevice])
3582
3583    # GSAlphaDevice
3584    AC_MSG_CHECKING([for gs alpha device])
3585    if $PSDelegate -q -dBATCH -sDEVICE=$GSAlphaDevice -sOutputFile=/dev/null < /dev/null 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
3586        :
3587    else
3588        GSAlphaDevice=$GSColorDevice
3589    fi
3590    AC_MSG_RESULT([$GSAlphaDevice])
3591
3592    # GSCMYKDevice
3593    AC_MSG_CHECKING([for gs CMYK device])
3594    if $PSDelegate -q -dBATCH -sDEVICE=$GSCMYKDevice -sOutputFile=/dev/null < /dev/null 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
3595        :
3596    else
3597        GSCMYKDevice=pam
3598    fi
3599    AC_MSG_RESULT([$GSCMYKDevice])
3600
3601    # GSMonoDevice
3602    AC_MSG_CHECKING([for gs mono device])
3603    if $PSDelegate -q -dBATCH -sDEVICE=$GSMonoDevice -sOutputFile=/dev/null < /dev/null 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
3604        :
3605    else
3606        GSMonoDevice=$GSColorDevice
3607    fi
3608    AC_MSG_RESULT([$GSMonoDevice])
3609
3610    # GSPDFDevice
3611    AC_MSG_CHECKING([for gs PDF writing device])
3612    if $PSDelegate -q -dBATCH -sDEVICE=$GSPDFDevice -sOutputFile=/dev/null < /dev/null 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
3613        :
3614    else
3615        GSPDFDevice=nodevice
3616    fi
3617    AC_MSG_RESULT([$GSPDFDevice])
3618
3619    # GSPSDevice
3620    AC_MSG_CHECKING([for gs PS writing device])
3621    if $PSDelegate -q -dBATCH -sDEVICE=$GSPSDevice -sOutputFile=/dev/null < /dev/null 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
3622        :
3623    else
3624        GSPSDevice=pswrite
3625    fi
3626    AC_MSG_RESULT([$GSPSDevice])
3627
3628    # GSEPSDevice
3629    AC_MSG_CHECKING([for gs EPS writing device])
3630    if $PSDelegate -q -dBATCH -sDEVICE=$GSEPSDevice -sOutputFile=/dev/null < /dev/null 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
3631        :
3632    else
3633        GSEPSDevice=epswrite
3634    fi
3635    AC_MSG_RESULT([$GSEPSDevice])
3636fi
3637
3638AC_SUBST([GSAlphaDevice])
3639AC_SUBST([GSCMYKDevice])
3640AC_SUBST([GSColorDevice])
3641AC_SUBST([GSEPSDevice])
3642AC_SUBST([GSMonoDevice])
3643AC_SUBST([GSPDFDevice])
3644AC_SUBST([GSPSDevice])
3645AC_SUBST([GSVersion])
3646
3647#
3648# PerlMagick-related configuration
3649#
3650
3651# Look for PERL if PerlMagick requested
3652# If name/path of desired PERL interpreter is specified, look for that one first
3653have_perl='no'
3654if test "$with_perl" != 'no'; then
3655    AC_MSG_RESULT([-------------------------------------------------------------])
3656    AC_MSG_CHECKING([for Perl])
3657    AC_MSG_RESULT([])
3658    if test "$with_perl" != 'yes'; then
3659        AC_CACHE_CHECK([for perl],[ac_cv_path_PERL],[ac_cv_path_PERL="$with_perl"]);
3660        PERL=$ac_cv_path_PERL
3661        AC_SUBST([PERL])dnl
3662        have_perl="$ac_cv_path_PERL"
3663    else
3664        AC_PATH_PROGS([PERL],[perl perl5],[])dnl
3665        if test "$ac_cv_path_PERL"; then
3666            have_perl="$ac_cv_path_PERL"
3667        fi
3668    fi
3669fi
3670
3671if test "$with_perl" != 'yes' ; then
3672    DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-perl=$with_perl "
3673fi
3674
3675PERL_SUPPORTS_DESTDIR='no'
3676
3677with_perl_static='no'
3678with_perl_dynamic='no'
3679if test "$have_perl" != 'no'; then
3680    if test "$with_perl" != 'no' && test "$libtool_build_shared_libs" = 'no'; then
3681        with_perl_static='yes'
3682    fi
3683    if test "$with_perl" != 'no' && test "$libtool_build_shared_libs" = 'yes'; then
3684        with_perl_dynamic='yes'
3685    fi
3686    # Is PERL's MakeMaker new enough to support DESTDIR?
3687    AX_PROG_PERL_VERSION(5.8.1,[PERL_SUPPORTS_DESTDIR='yes'],[PERL_SUPPORTS_DESTDIR='no'])
3688fi
3689AM_CONDITIONAL([WITH_PERL],[test "$have_perl" != 'no'])
3690AM_CONDITIONAL([WITH_PERL_STATIC],[test $with_perl_static = 'yes'])
3691AM_CONDITIONAL([WITH_PERL_DYNAMIC],[test $with_perl_dynamic = 'yes'])
3692AC_SUBST([PERL_SUPPORTS_DESTDIR])
3693
3694# Determine path to pick up MagickCore library from for use with building PerlMagick
3695MAGICKCORE_PATH="${LIB_DIR}"
3696if test $with_perl_static = 'yes'; then
3697    # Find out where libtool hides its uninstalled libraries (as libtool_objdir)
3698    libtool_objdir=$objdir
3699
3700    # Linker search path to library, followed by -lMagickCore
3701    MAGICKCORE_PATH="${builddir}/magick/${libtool_objdir}"
3702fi
3703AC_SUBST([MAGICKCORE_PATH])
3704
3705# Create a simple string containing format names for all delegate libraries.
3706MAGICK_DELEGATES=''
3707if test "$have_autotrace"  = 'yes' ; then
3708   MAGICK_DELEGATES="$MAGICK_DELEGATES autotrace"
3709fi
3710if test "$have_bzlib"  = 'yes' ; then
3711   MAGICK_DELEGATES="$MAGICK_DELEGATES bzlib"
3712fi
3713if test "$have_dps"    = 'yes' ; then
3714   MAGICK_DELEGATES="$MAGICK_DELEGATES dps"
3715fi
3716if test "$have_djvu"    = 'yes' ; then
3717   MAGICK_DELEGATES="$MAGICK_DELEGATES djvu"
3718fi
3719if test "$have_fftw"    = 'yes' ; then
3720   MAGICK_DELEGATES="$MAGICK_DELEGATES fftw"
3721fi
3722if test "$have_flif"    = 'yes' ; then
3723   MAGICK_DELEGATES="$MAGICK_DELEGATES flif"
3724fi
3725if test "$have_fpx"    = 'yes' ; then
3726   MAGICK_DELEGATES="$MAGICK_DELEGATES fpx"
3727fi
3728if test "$have_fontconfig"    = 'yes' ; then
3729   MAGICK_DELEGATES="$MAGICK_DELEGATES fontconfig"
3730fi
3731if test "$have_freetype"    = 'yes' ; then
3732   MAGICK_DELEGATES="$MAGICK_DELEGATES freetype"
3733fi
3734if test "$have_gslib"    = 'yes' ; then
3735   MAGICK_DELEGATES="$MAGICK_DELEGATES gslib"
3736fi
3737if test "$have_heic"    = 'yes' ; then
3738   MAGICK_DELEGATES="$MAGICK_DELEGATES heic"
3739fi
3740if test "$have_jbig"    = 'yes' ; then
3741   MAGICK_DELEGATES="$MAGICK_DELEGATES jbig"
3742fi
3743if test "$have_png$have_jpeg" = 'yesyes' ; then
3744   MAGICK_DELEGATES="$MAGICK_DELEGATES jng"
3745fi
3746if test "$have_jpeg"   = 'yes' ; then
3747   MAGICK_DELEGATES="$MAGICK_DELEGATES jpeg"
3748fi
3749if test "$have_jxl"   = 'yes' ; then
3750   MAGICK_DELEGATES="$MAGICK_DELEGATES jxl"
3751fi
3752if test "$have_lcms" = 'yes' || test "$have_lcms2" = 'yes' ; then
3753   MAGICK_DELEGATES="$MAGICK_DELEGATES lcms"
3754fi
3755if test "$have_lqr"    = 'yes' ; then
3756   MAGICK_DELEGATES="$MAGICK_DELEGATES lqr"
3757fi
3758if test "$have_lzma"    = 'yes' ; then
3759   MAGICK_DELEGATES="$MAGICK_DELEGATES lzma"
3760fi
3761if test "$have_openexr"    = 'yes' ; then
3762   MAGICK_DELEGATES="$MAGICK_DELEGATES openexr"
3763fi
3764if test "$have_openjp2"    = 'yes' ; then
3765   MAGICK_DELEGATES="$MAGICK_DELEGATES openjp2"
3766fi
3767if test "$have_pango"    = 'yes' ; then
3768   MAGICK_DELEGATES="$MAGICK_DELEGATES pango"
3769fi
3770if test "$have_png"    = 'yes' ; then
3771   MAGICK_DELEGATES="$MAGICK_DELEGATES png"
3772fi
3773have_ps='no'
3774if test "$have_dps"    = 'yes' || \
3775   test "$have_gs" = 'yes' || \
3776   test "${native_win32_build}" = 'yes' ; then
3777   have_ps='yes'
3778fi
3779if test "$have_ps"     = 'yes' ; then
3780   MAGICK_DELEGATES="$MAGICK_DELEGATES ps"
3781fi
3782if test "$have_raqm"    = 'yes' ; then
3783   MAGICK_DELEGATES="$MAGICK_DELEGATES raqm"
3784fi
3785if test "$have_raw"    = 'yes' ; then
3786   MAGICK_DELEGATES="$MAGICK_DELEGATES raw"
3787fi
3788if test "$have_ra_ppm" = 'yes' ; then
3789   MAGICK_DELEGATES="$MAGICK_DELEGATES rad"
3790fi
3791if test "$have_rsvg"   = 'yes' ; then
3792   MAGICK_DELEGATES="$MAGICK_DELEGATES rsvg"
3793fi
3794if test "$have_tiff"   = 'yes' ; then
3795   MAGICK_DELEGATES="$MAGICK_DELEGATES tiff"
3796fi
3797if test "$have_ttf"    = 'yes' ; then
3798   MAGICK_DELEGATES="$MAGICK_DELEGATES ttf"
3799fi
3800if test "$have_video"   = 'yes' ; then
3801   MAGICK_DELEGATES="$MAGICK_DELEGATES video"
3802fi
3803if test "$have_webp"    = 'yes' ; then
3804   MAGICK_DELEGATES="$MAGICK_DELEGATES webp"
3805fi
3806if test "$have_wmf"    = 'yes' ; then
3807   MAGICK_DELEGATES="$MAGICK_DELEGATES wmf"
3808fi
3809if test "$have_x"      = 'yes' ; then
3810   MAGICK_DELEGATES="$MAGICK_DELEGATES x"
3811fi
3812if test "$have_xml"      = 'yes' ; then
3813   MAGICK_DELEGATES="$MAGICK_DELEGATES xml"
3814fi
3815if test "$have_zlib"   = 'yes' ; then
3816   MAGICK_DELEGATES="$MAGICK_DELEGATES zlib"
3817fi
3818if test "$have_zstd"   = 'yes' ; then
3819   MAGICK_DELEGATES="$MAGICK_DELEGATES zstd"
3820fi
3821
3822# Remove extraneous spaces from output variables (asthetic)
3823MAGICK_DELEGATES=`echo $MAGICK_DELEGATES | sed -e 's/  */ /g'`
3824MAGICK_FEATURES=`echo $MAGICK_FEATURES | sed -e 's/  */ /g'`
3825AC_SUBST([MAGICK_DELEGATES])
3826AC_SUBST([MAGICK_FEATURES])
3827
3828#
3829# Handle special compiler flags
3830#
3831
3832# Add '-p' if prof source profiling support enabled
3833if test "$enable_prof" = 'yes'; then
3834    CFLAGS="-p $CFLAGS"
3835    CXXFLAGS="-p $CXXFLAGS"
3836    LDFLAGS="-p $LDFLAGS"
3837fi
3838
3839# Add '-pg' if gprof source profiling support enabled
3840if test "$enable_gprof" = 'yes'; then
3841    CFLAGS="-pg $CFLAGS"
3842    CXXFLAGS="-pg $CXXFLAGS"
3843    LDFLAGS="-pg $LDFLAGS"
3844fi
3845
3846# Add '-ftest-coverage -fprofile-arcs' if gcov source profiling support enabled
3847# This is a gcc-specific feature
3848if test "$enable_gcov" = 'yes'; then
3849    AC_CHECK_LIB(gcov,_gcov_init)
3850    AC_CHECK_LIB(gcov,__gcov_init)
3851    case "$target_os" in
3852        darwin*)
3853            OSX_GCOV_LDFLAG="-Wl,-single_module"
3854        ;;
3855        *)
3856            OSX_GCOV_LDFLAG=""
3857        ;;
3858    esac
3859    AC_SUBST([OSX_GCOV_LDFLAG])
3860    CFLAGS="-ftest-coverage -fprofile-arcs  $CFLAGS"
3861    CXXFLAGS="-ftest-coverage -fprofile-arcs  $CXXFLAGS"
3862    LDFLAGS="-ftest-coverage -fprofile-arcs $LDFLAGS"
3863fi
3864
3865#
3866# Build library dependency list for libMagickCore
3867#
3868
3869if test "$build_modules" != 'no'; then
3870    MAGICK_DEP_LIBS="$USER_LIBS $LCMS_LIBS $FREETYPE_LIBS $RAQM_LIBS $LQR_LIBS $FFTW_LIBS $XML_LIBS $FLIF_LIBS $FONTCONFIG_LIBS $XEXT_LIBS $IPC_LIBS $X11_LIBS $XT_LIBS $BZLIB_LIBS $ZLIB_LIBS $ZSTD_LIBS $LTDL_LIBS $GDI32_LIBS $MATH_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS $TCMALLOC_LIBS"
3871else
3872    MAGICK_DEP_LIBS="$USER_LIBS $JBIG_LIBS $LCMS_LIBS $TIFF_LIBS $FREETYPE_LIBS $RAQM_LIBS $JPEG_LIBS $JXL_LIBS $GS_LIBS $LQR_LIBS $PNG_LIBS $AUTOTRACE_LIBS $DJVU_LIBS $FFTW_LIBS $FLIF_LIBS $FPX_LIBS $FONTCONFIG_LIBS $HEIF_LIBS $WEBPMUX_LIBS $WEBP_LIBS $WMF_LIBS $DPS_LIBS $XEXT_LIBS $XT_LIBS $IPC_LIBS $X11_LIBS $LZMA_LIBS $BZLIB_LIBS $OPENEXR_LIBS $LIBOPENJP2_LIBS $PANGO_LIBS $RAW_R_LIBS $RSVG_LIBS $XML_LIBS $GVC_LIBS $ZLIB_LIBS $ZSTD_LIBS $LTDL_LIBS $GDI32_LIBS $MATH_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS $TCMALLOC_LIBS"
3873fi
3874MAGICK_EXTRA_DEP_LIBS="$GOMP_LIBS"
3875AC_SUBST([MAGICK_DEP_LIBS])
3876AC_SUBST([MAGICK_EXTRA_DEP_LIBS])
3877
3878# Pass only user-provided LIBS as "global" libraries
3879LIBS=$USER_LIBS
3880
3881#AC_SUBST([CPPFLAGS])
3882AC_SUBST([X_CFLAGS])
3883#AC_SUBST([LDFLAGS])
3884#AC_SUBST([X_PRE_LIBS])
3885#AC_SUBST([X_LIBS])
3886#AC_SUBST([X_EXTRA_LIBS])
3887
3888MAGICK_CFLAGS=$CFLAGS
3889MAGICK_CXXFLAGS="$CXXFLAGS"
3890MAGICK_CPPFLAGS=`echo $MAGICK_CPPFLAGS | sed -e 's/  */ /g'`
3891MAGICK_PCFLAGS=`echo $MAGICK_PCFLAGS | sed -e 's/  */ /g'`
3892MAGICK_LDFLAGS="-L$LIB_DIR $LDFLAGS"
3893MAGICK_LIBS="$MAGICK_DEP_LIBS $MAGICK_EXTRA_DEP_LIBS"
3894
3895AC_SUBST([MAGICK_CFLAGS])
3896AC_SUBST([MAGICK_CXXFLAGS])
3897AC_SUBST([MAGICK_CPPFLAGS])
3898AC_SUBST([MAGICK_PCFLAGS])
3899AC_SUBST([MAGICK_LDFLAGS])
3900AC_SUBST([MAGICK_LIBS])
3901
3902# Set configured scripts to executable.
3903AC_CONFIG_COMMANDS([default],[],[])
3904AC_CONFIG_COMMANDS([magick.sh.in],[chmod +x magick.sh])
3905AC_CONFIG_COMMANDS([MagickCore-config.in],[chmod +x magick/MagickCore-config])
3906AC_CONFIG_COMMANDS([Magick-config.in],[chmod +x magick/Magick-config])
3907AC_CONFIG_COMMANDS([MagickWand-config.in],[chmod +x wand/MagickWand-config])
3908AC_CONFIG_COMMANDS([Wand-config.in],[chmod +x wand/Wand-config])
3909AC_CONFIG_COMMANDS([Magick++-config.in],[chmod +x Magick++/bin/Magick++-config])
3910AC_CONFIG_COMMANDS([PerlMagick/check.sh.in],[chmod +x PerlMagick/check.sh])
3911
3912AC_MSG_RESULT([-------------------------------------------------------------])
3913AC_MSG_RESULT([Update ImageMagick configuration])
3914
3915rm -f magick-version
3916
3917result_dejavu_font_dir='none'
3918if test "${dejavu_font_dir}x" != 'x'; then
3919    result_dejavu_font_dir=$dejavu_font_dir
3920fi
3921
3922result_ghostscript_font_dir='none'
3923if test "${ghostscript_font_dir}x" != 'x'; then
3924    result_ghostscript_font_dir=$ghostscript_font_dir
3925fi
3926
3927result_urw_base35_font_dir='none'
3928if test "${urw_base35_font_dir}x" != 'x'; then
3929    result_urw_base35_font_dir=$urw_base35_font_dir
3930fi
3931
3932result_windows_font_dir='none'
3933if test "${windows_font_dir}x" != 'x'; then
3934    result_windows_font_dir=${windows_font_dir}
3935fi
3936
3937# ==============================================================================
3938# Generate build environment
3939# ==============================================================================
3940AC_CONFIG_FILES([\
3941    common.shi \
3942    config/configure.xml \
3943    config/delegates.xml \
3944    config/ImageMagick.rdf \
3945    config/MagickCore.dox \
3946    config/MagickWand.dox \
3947    config/Magick++.dox \
3948    config/type-apple.xml \
3949    config/type-dejavu.xml \
3950    config/type-ghostscript.xml \
3951    config/type-urw-base35.xml \
3952    config/type-windows.xml \
3953    config/type.xml \
3954    ImageMagick.spec \
3955    Magick++/bin/Magick++-config \
3956    magick/ImageMagick.pc \
3957    Magick++/lib/ImageMagick++.pc \
3958    Magick++/lib/Magick++.pc \
3959    magick/Magick-config \
3960    magick/MagickCore-config \
3961    magick/MagickCore.pc \
3962    magick/version.h \
3963    Makefile \
3964    magick.sh \
3965    PerlMagick/check.sh \
3966    PerlMagick/default/Magick.pm \
3967    PerlMagick/Makefile.PL \
3968    PerlMagick/default/Makefile.PL \
3969    PerlMagick/quantum/Makefile.PL \
3970    PerlMagick/quantum/quantum.pm \
3971    PerlMagick/quantum/quantum.xs \
3972    PerlMagick/quantum/typemap \
3973    utilities/animate.1 \
3974    utilities/compare.1 \
3975    utilities/composite.1 \
3976    utilities/conjure.1 \
3977    utilities/convert.1 \
3978    utilities/display.1 \
3979    utilities/identify.1 \
3980    utilities/ImageMagick.1 \
3981    utilities/import.1 \
3982    utilities/mogrify.1 \
3983    utilities/montage.1 \
3984    utilities/stream.1 \
3985    wand/MagickWand-config \
3986    wand/MagickWand.pc \
3987    wand/Wand-config \
3988    wand/Wand.pc])
3989AC_OUTPUT
3990
3991# ==============================================================================
3992# ImageMagick Configuration
3993# ==============================================================================
3994AC_MSG_NOTICE([
3995==============================================================================
3996${PACKAGE_NAME} ${PACKAGE_VERSION} is configured as follows. Please verify that this
3997configuration matches your expectations.
3998
3999Host system type: $host
4000Build system type: $build
4001
4002                  Option                        Value
4003------------------------------------------------------------------------------
4004Shared libraries  --enable-shared=$enable_shared  $libtool_build_shared_libs
4005Static libraries  --enable-static=$enable_static  $libtool_build_static_libs
4006Module support    --with-modules=$build_modules   $build_modules
4007GNU ld            --with-gnu-ld=$with_gnu_ld      $lt_cv_prog_gnu_ld
4008Quantum depth     --with-quantum-depth=$with_quantum_depth	$with_quantum_depth
4009High Dynamic Range Imagery
4010                  --enable-hdri=$enable_hdri		$enable_hdri
4011
4012Install documentation:				$wantdocs
4013
4014Memory allocation library:
4015  JEMalloc          --with-jemalloc=$with_jemalloc		$have_jemalloc
4016  TCMalloc          --with-tcmalloc=$with_tcmalloc		$have_tcmalloc
4017  UMem              --with-umem=$with_umem		$have_umem
4018
4019Delegate library configuration:
4020  BZLIB             --with-bzlib=$with_bzlib		$have_bzlib
4021  Autotrace         --with-autotrace=$with_autotrace		$have_autotrace
4022  DJVU              --with-djvu=$with_djvu		$have_djvu
4023  DPS               --with-dps=$with_dps		$have_dps
4024  FFTW              --with-fftw=$with_fftw		$have_fftw
4025  FLIF              --with-flif=$with_flif		$have_flif
4026  FlashPIX          --with-fpx=$with_fpx		$have_fpx
4027  FontConfig        --with-fontconfig=$with_fontconfig	$have_fontconfig
4028  FreeType          --with-freetype=$with_freetype		$have_freetype
4029  Ghostscript lib   --with-gslib=$with_gslib		$have_gslib
4030  Graphviz          --with-gvc=$with_gvc		$have_gvc
4031  HEIC              --with-heic=$with_heic		$have_heic
4032  JBIG              --with-jbig=$with_jbig		$have_jbig
4033  JPEG v1           --with-jpeg=$with_jpeg		$have_jpeg
4034  JPEG XL           --with-jxl=$with_jxl		$have_jxl
4035  LCMS              --with-lcms=$with_lcms		$have_lcms
4036  LQR               --with-lqr=$with_lqr		$have_lqr
4037  LTDL              --with-ltdl=$with_ltdl		$have_ltdl
4038  LZMA              --with-lzma=$with_lzma		$have_lzma
4039  Magick++          --with-magick-plus-plus=$with_magick_plus_plus	$have_magick_plus_plus
4040  OpenEXR           --with-openexr=$with_openexr		$have_openexr
4041  OpenJP2           --with-openjp2=$with_openjp2		$have_openjp2
4042  PANGO             --with-pango=$with_pango		$have_pango
4043  PERL              --with-perl=$with_perl		$have_perl
4044  PNG               --with-png=$with_png		$have_png
4045  RAQM              --with-raqm=$with_raqm		$have_raqm
4046  RAW               --with-raw=$with_raw		$have_raw
4047  RSVG              --with-rsvg=$with_rsvg		$have_rsvg
4048  TIFF              --with-tiff=$with_tiff		$have_tiff
4049  WEBP              --with-webp=$with_webp		$have_webp
4050  WMF               --with-wmf=$with_wmf		$have_wmf
4051  X11               --with-x=$with_x			$have_x
4052  XML               --with-xml=$with_xml		$have_xml
4053  ZLIB              --with-zlib=$with_zlib		$have_zlib
4054  ZSTD              --with-zstd=$with_zstd		$have_zstd
4055
4056Delegate program configuration:
4057  GhostPCL          None			$PCLDelegate ($PCLVersion)
4058  GhostXPS          None			$XPSDelegate ($XPSVersion)
4059  Ghostscript       None			$PSDelegate ($GSVersion)
4060
4061Font configuration:
4062  Apple fonts       --with-apple-font-dir=$with_apple_font_dir	$result_apple_font_dir
4063  Dejavu fonts      --with-dejavu-font-dir=$with_dejavu_font_dir	$result_dejavu_font_dir
4064  Ghostscript fonts --with-gs-font-dir=$with_gs_font_dir		$result_ghostscript_font_dir
4065  URW-base35 fonts  --with-urw-base35-font-dir=$with_urw_base35_font_dir	$result_urw_base35_font_dir
4066  Windows fonts     --with-windows-font-dir=$with_windows_font_dir	$result_windows_font_dir
4067
4068X11 configuration:
4069  X_CFLAGS        = $X_CFLAGS
4070  X_PRE_LIBS      = $X_PRE_LIBS
4071  X_LIBS          = $X_LIBS
4072  X_EXTRA_LIBS    = $X_EXTRA_LIBS
4073
4074Options used to compile and link:
4075  PREFIX          = $PREFIX_DIR
4076  EXEC-PREFIX     = $EXEC_PREFIX_DIR
4077  VERSION         = $PACKAGE_VERSION
4078  CC              = $CC
4079  CFLAGS          = $CFLAGS
4080  CPPFLAGS        = $CPPFLAGS
4081  PCFLAGS         = $PCFLAGS
4082  DEFS            = $DEFS
4083  LDFLAGS         = $LDFLAGS
4084  LIBS            = $MAGICK_DEP_LIBS
4085  CXX             = $CXX
4086  CXXFLAGS        = $CXXFLAGS
4087  FEATURES        = $MAGICK_FEATURES
4088  DELEGATES       = $MAGICK_DELEGATES
4089==============================================================================
4090])
4091