2007-08-29 18:23:50 +02:00
|
|
|
# Process this file with autoconf to produce a configure script.
|
2011-06-20 19:00:01 +02:00
|
|
|
|
|
|
|
# also update the version number in the m4 macros below
|
|
|
|
|
2021-11-21 12:29:28 +01:00
|
|
|
AC_INIT([vips], [8.13.0], [vipsip@jiscmail.ac.uk])
|
2011-06-20 19:00:01 +02:00
|
|
|
# required for gobject-introspection
|
2021-06-22 12:48:06 +02:00
|
|
|
AC_PREREQ([2.69])
|
2011-06-20 19:00:01 +02:00
|
|
|
|
2012-06-29 13:30:05 +02:00
|
|
|
# gobject-introspection recommends -Wno-portability
|
|
|
|
# foreign stops complaints about a missing README (we use README.md instead)
|
|
|
|
# and missing INSTALL (the standard Gnu INSTALL is not very useful)
|
2020-07-06 16:31:57 +02:00
|
|
|
# subdir-objects lets us have dummy.cc in a subdir
|
2014-04-20 11:16:34 +02:00
|
|
|
AM_INIT_AUTOMAKE([-Wno-portability foreign subdir-objects])
|
2011-06-20 19:00:01 +02:00
|
|
|
|
2020-07-06 11:47:43 +02:00
|
|
|
AC_CONFIG_HEADERS([config.h])
|
2012-01-11 16:00:37 +01:00
|
|
|
AC_CONFIG_MACRO_DIR([m4])
|
2007-08-29 18:23:50 +02:00
|
|
|
|
|
|
|
# user-visible library versioning
|
2015-02-11 18:01:02 +01:00
|
|
|
m4_define([vips_major_version], [8])
|
2021-11-21 12:29:28 +01:00
|
|
|
m4_define([vips_minor_version], [13])
|
2020-08-14 14:36:12 +02:00
|
|
|
m4_define([vips_micro_version], [0])
|
2010-04-18 17:58:36 +02:00
|
|
|
m4_define([vips_version],
|
|
|
|
[vips_major_version.vips_minor_version.vips_micro_version])
|
|
|
|
|
2011-06-20 19:00:01 +02:00
|
|
|
VIPS_MAJOR_VERSION=vips_major_version()
|
|
|
|
VIPS_MINOR_VERSION=vips_minor_version()
|
|
|
|
VIPS_MICRO_VERSION=vips_micro_version()
|
2011-03-28 18:18:06 +02:00
|
|
|
VIPS_VERSION=vips_version()
|
2021-03-07 13:41:44 +01:00
|
|
|
VIPS_VERSION_STRING="$VIPS_VERSION-$(date -u -r $srcdir/ChangeLog)"
|
|
|
|
|
|
|
|
# packages add to these as we find them
|
|
|
|
VIPS_CFLAGS=""
|
|
|
|
VIPS_INCLUDES=""
|
|
|
|
VIPS_LIBS=""
|
2007-08-29 18:23:50 +02:00
|
|
|
|
2012-01-30 12:27:28 +01:00
|
|
|
# libtool library versioning ... not user-visible (except as part of the
|
|
|
|
# library file name) and does not correspond to major/minor/micro above
|
|
|
|
|
|
|
|
# rules:
|
|
|
|
# sources changed: increment revision
|
2012-03-09 10:47:28 +01:00
|
|
|
# binary interface changed: increment current, reset revision to 0
|
|
|
|
# binary interface changes backwards compatible?: increment age
|
|
|
|
# binary interface changes not backwards compatible?: reset age to 0
|
2020-08-14 14:36:12 +02:00
|
|
|
LIBRARY_REVISION=0
|
2021-11-21 12:29:28 +01:00
|
|
|
LIBRARY_CURRENT=57
|
|
|
|
LIBRARY_AGE=15
|
2012-01-30 12:27:28 +01:00
|
|
|
|
|
|
|
# patched into include/vips/version.h
|
|
|
|
AC_SUBST(VIPS_VERSION)
|
|
|
|
AC_SUBST(VIPS_VERSION_STRING)
|
|
|
|
AC_SUBST(VIPS_MAJOR_VERSION)
|
|
|
|
AC_SUBST(VIPS_MINOR_VERSION)
|
|
|
|
AC_SUBST(VIPS_MICRO_VERSION)
|
|
|
|
|
|
|
|
# put into library name by libsrc/Makefile.am and libsrcCC/Makefile.am
|
|
|
|
AC_SUBST(LIBRARY_CURRENT)
|
|
|
|
AC_SUBST(LIBRARY_REVISION)
|
|
|
|
AC_SUBST(LIBRARY_AGE)
|
|
|
|
|
2011-12-24 18:36:55 +01:00
|
|
|
# init introspection support
|
2021-11-25 11:51:34 +01:00
|
|
|
have_introspection=no
|
2021-11-25 11:09:25 +01:00
|
|
|
m4_ifdef([GOBJECT_INTROSPECTION_CHECK], [
|
|
|
|
GOBJECT_INTROSPECTION_CHECK([1.30.0])
|
|
|
|
if test "x$found_introspection" = x"yes"; then
|
2021-11-25 11:51:34 +01:00
|
|
|
have_introspection=yes
|
2021-11-25 11:09:25 +01:00
|
|
|
fi
|
|
|
|
], [
|
|
|
|
AM_CONDITIONAL([HAVE_INTROSPECTION], false)
|
|
|
|
])
|
2020-07-07 11:08:49 +02:00
|
|
|
|
2011-06-20 19:00:01 +02:00
|
|
|
# gir needs a list of source files to scan for introspection
|
2012-01-11 16:00:37 +01:00
|
|
|
#
|
2011-06-20 19:00:01 +02:00
|
|
|
# build with a glob and a list of files to exclude from scanning
|
2015-02-11 18:01:02 +01:00
|
|
|
# see also IGNORE_HFILES in doc/Makefile.am
|
2020-07-06 16:31:57 +02:00
|
|
|
introspection_sources=$(cd $srcdir/libvips ; find . -path ./deprecated -prune -o -name dummy.c -prune -o -name introspect.c -prune -o \( -name "*.c" -o -name "*.cpp" \) -print)
|
2011-06-20 19:00:01 +02:00
|
|
|
for name in $introspection_sources; do
|
2020-07-06 16:31:57 +02:00
|
|
|
vips_introspection_sources="$vips_introspection_sources $name"
|
|
|
|
done
|
2011-06-21 23:37:53 +02:00
|
|
|
|
|
|
|
# add headers that form the public vips8 API .. don't do a find and exclude,
|
|
|
|
# we end up excluding almost everything argh
|
2014-09-06 00:18:16 +02:00
|
|
|
headers="\
|
2021-03-07 13:53:20 +01:00
|
|
|
basic.h \
|
|
|
|
vips.h \
|
|
|
|
object.h \
|
|
|
|
image.h \
|
|
|
|
error.h \
|
|
|
|
foreign.h \
|
|
|
|
freqfilt.h \
|
|
|
|
interpolate.h \
|
|
|
|
header.h \
|
|
|
|
histogram.h \
|
|
|
|
operation.h \
|
|
|
|
enumtypes.h \
|
|
|
|
conversion.h \
|
|
|
|
arithmetic.h \
|
|
|
|
colour.h \
|
|
|
|
convolution.h \
|
|
|
|
create.h \
|
|
|
|
draw.h \
|
|
|
|
morphology.h \
|
|
|
|
mosaicing.h \
|
|
|
|
type.h \
|
|
|
|
rect.h \
|
|
|
|
resample.h \
|
|
|
|
memory.h \
|
|
|
|
region.h"
|
2014-09-06 00:18:16 +02:00
|
|
|
|
2011-06-21 23:37:53 +02:00
|
|
|
for name in $headers; do
|
|
|
|
vips_introspection_sources="$vips_introspection_sources include/vips/$name"
|
|
|
|
done
|
|
|
|
|
2011-06-20 19:00:01 +02:00
|
|
|
AC_SUBST(vips_introspection_sources)
|
2007-08-29 18:23:50 +02:00
|
|
|
|
|
|
|
AC_CANONICAL_HOST
|
|
|
|
|
2010-04-06 11:02:26 +02:00
|
|
|
AC_DEFINE_UNQUOTED(G_LOG_DOMAIN, "VIPS", [Domain for glib logging messages.])
|
|
|
|
|
2015-07-10 14:41:12 +02:00
|
|
|
m4_define([debug_default], [no])
|
2010-04-18 17:58:36 +02:00
|
|
|
AC_ARG_ENABLE(debug,
|
2021-06-22 12:48:06 +02:00
|
|
|
AS_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],[turn on debugging @<:@default=debug_default()@:>@]),,
|
2010-04-18 17:58:36 +02:00
|
|
|
enable_debug=debug_default())
|
|
|
|
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$enable_debug" = x"yes"; then
|
2010-04-18 17:58:36 +02:00
|
|
|
VIPS_DEBUG_FLAGS="-DDEBUG_FATAL -DDEBUG_LEAK"
|
|
|
|
else
|
|
|
|
VIPS_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
|
|
|
|
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$enable_debug" = x"no"; then
|
2010-04-18 17:58:36 +02:00
|
|
|
VIPS_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2014-07-25 19:06:52 +02:00
|
|
|
# option to disable deprecated code, shaves a bit off the library size
|
|
|
|
AC_ARG_ENABLE(deprecated,
|
|
|
|
AS_HELP_STRING([--enable-deprecated], [build deprecated components (default: yes)]))
|
|
|
|
|
|
|
|
VIPS_ENABLE_DEPRECATED=0
|
|
|
|
if test x"$enable_deprecated" != x"no"; then
|
|
|
|
VIPS_ENABLE_DEPRECATED=1
|
|
|
|
enable_deprecated=yes
|
|
|
|
fi
|
2020-07-06 17:28:18 +02:00
|
|
|
AC_DEFINE_UNQUOTED(ENABLE_DEPRECATED,$VIPS_ENABLE_DEPRECATED,[define to build deprecated components])
|
2019-05-10 17:43:17 +02:00
|
|
|
AM_CONDITIONAL(ENABLE_DEPRECATED, [test x"$enable_deprecated" = x"yes"])
|
2014-07-25 19:06:52 +02:00
|
|
|
|
|
|
|
# this gets pasted into version.h as a #define
|
|
|
|
AC_SUBST(VIPS_ENABLE_DEPRECATED)
|
|
|
|
|
2021-03-06 13:47:48 +01:00
|
|
|
AC_MSG_CHECKING([for -mms-bitfields support])
|
|
|
|
case "$host_os" in
|
|
|
|
mingw*)
|
|
|
|
# makes gcc use win native alignment
|
|
|
|
# GCC >= 4.7 and Clang >= 11 does this automatically, see:
|
|
|
|
# https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1510#note_841637
|
|
|
|
VIPS_CFLAGS="-mms-bitfields $VIPS_CFLAGS"
|
|
|
|
AC_MSG_RESULT([yes])
|
2007-08-29 18:23:50 +02:00
|
|
|
;;
|
|
|
|
*)
|
2021-03-06 13:47:48 +01:00
|
|
|
AC_MSG_RESULT([no])
|
2007-08-29 18:23:50 +02:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2021-03-06 13:47:48 +01:00
|
|
|
# set the default directory for ICC profiles
|
2007-08-29 18:23:50 +02:00
|
|
|
case "$host_os" in
|
2021-03-06 13:47:48 +01:00
|
|
|
darwin*)
|
|
|
|
profile_dir="/Library/ColorSync/Profiles"
|
2007-08-29 18:23:50 +02:00
|
|
|
;;
|
2021-03-06 13:47:48 +01:00
|
|
|
mingw*)
|
|
|
|
# need double escapes since this will get pasted into a #define in a C
|
|
|
|
# header ... the C:\Windows is usually overwritten with the result of
|
|
|
|
# GetWindowsDirectoryW()
|
|
|
|
profile_dir="C:\\\\Windows\\\\System32\\\\spool\\\\drivers\\\\color"
|
2010-03-08 19:24:44 +01:00
|
|
|
;;
|
|
|
|
*)
|
2021-03-06 13:47:48 +01:00
|
|
|
profile_dir="/usr/share/color/icc"
|
2010-03-08 19:24:44 +01:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
AC_DEFINE_UNQUOTED(VIPS_ICC_DIR,"$profile_dir",[default directory for ICC profiles])
|
|
|
|
|
2007-08-29 18:23:50 +02:00
|
|
|
# we want largefile support, if possible
|
|
|
|
AC_SYS_LARGEFILE
|
|
|
|
|
2021-06-22 12:48:06 +02:00
|
|
|
# we use libtool and can generate DLLs cleanly on win32 if necessary
|
|
|
|
LT_INIT([win32-dll])
|
2020-07-10 18:34:40 +02:00
|
|
|
|
2007-08-29 18:23:50 +02:00
|
|
|
# Checks for programs.
|
|
|
|
AC_PROG_AWK
|
|
|
|
AC_PROG_CC
|
|
|
|
AC_PROG_CC_STDC
|
2010-09-01 13:16:57 +02:00
|
|
|
AC_PROG_CXX
|
2007-08-29 18:23:50 +02:00
|
|
|
AC_PROG_INSTALL
|
|
|
|
AC_PROG_LN_S
|
|
|
|
|
2021-09-24 13:14:13 +02:00
|
|
|
AC_ARG_ENABLE([doxygen],
|
|
|
|
AS_HELP_STRING([--enable-doxygen], [enable C++ doc build (default: no)]),
|
|
|
|
[enable_doxygen="$enableval"],
|
|
|
|
[enable_doxygen=no])
|
2020-09-06 17:10:55 +02:00
|
|
|
|
2021-09-24 13:14:13 +02:00
|
|
|
if test x"$enable_doxygen" = x"yes"; then
|
2020-09-06 17:10:55 +02:00
|
|
|
AC_CHECK_PROGS([DOXYGEN], [doxygen])
|
2021-09-24 13:14:13 +02:00
|
|
|
if ! test "$DOXYGEN"; then
|
2020-08-17 18:54:42 +02:00
|
|
|
AC_MSG_WARN([doxygen not found; C++ docs will not be generated])
|
2021-09-24 13:14:13 +02:00
|
|
|
enable_doxygen=no
|
2020-09-06 17:10:55 +02:00
|
|
|
fi
|
2020-08-17 18:54:42 +02:00
|
|
|
fi
|
2021-09-24 13:14:13 +02:00
|
|
|
AM_CONDITIONAL(HAVE_DOXYGEN, [test x"$enable_doxygen" = x"yes"])
|
2020-08-17 18:54:42 +02:00
|
|
|
|
2008-08-05 17:46:16 +02:00
|
|
|
# we need a fully expanded version of $libdir
|
|
|
|
# without this we get something like
|
2011-03-28 18:18:06 +02:00
|
|
|
# define VIPS_LIBDIR ${exec_prefix}/lib
|
2008-08-05 17:46:16 +02:00
|
|
|
# argh
|
2018-06-20 15:20:22 +02:00
|
|
|
test x"$prefix" = x"NONE" && prefix=$ac_default_prefix
|
|
|
|
test x"$exec_prefix" = x"NONE" && exec_prefix='${prefix}'
|
2008-08-05 17:46:16 +02:00
|
|
|
|
2011-08-09 13:45:42 +02:00
|
|
|
# set $expanded_value to the fully-expanded value of the argument
|
2008-08-05 17:46:16 +02:00
|
|
|
expand () {
|
2020-08-17 18:54:42 +02:00
|
|
|
eval expanded_value=$1
|
2008-08-05 17:46:16 +02:00
|
|
|
|
2020-08-17 18:54:42 +02:00
|
|
|
if test x"$expanded_value" != x"$1"; then
|
|
|
|
expand "$expanded_value"
|
|
|
|
fi
|
2008-08-05 17:46:16 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
expand $libdir
|
2011-03-28 18:18:06 +02:00
|
|
|
VIPS_LIBDIR=$expanded_value
|
2008-08-05 17:46:16 +02:00
|
|
|
|
2011-06-15 15:42:49 +02:00
|
|
|
# this gets pasted into version.h as a #define
|
|
|
|
VIPS_EXEEXT=$EXEEXT
|
|
|
|
AC_SUBST(VIPS_EXEEXT)
|
|
|
|
|
2022-02-25 14:44:30 +01:00
|
|
|
# cplusplus/Doxyfile.in needs an input and output directory ... they are the
|
|
|
|
# same for copnfigure, but meson has separate source and build areas
|
|
|
|
DOXY_INPUT_DIRECTORY=$ac_pwd/$srcdir/cplusplus
|
|
|
|
DOXY_OUTPUT_DIRECTORY=$ac_pwd/$srcdir/cplusplus
|
|
|
|
AC_SUBST(DOXY_INPUT_DIRECTORY)
|
|
|
|
AC_SUBST(DOXY_OUTPUT_DIRECTORY)
|
|
|
|
|
2007-08-29 18:23:50 +02:00
|
|
|
# vips.c/im_guess_prefix.c need to know the exe suffix and (as a fallback)
|
2008-05-16 15:18:04 +02:00
|
|
|
# the configure-time install prefix
|
2011-03-28 18:18:06 +02:00
|
|
|
AC_DEFINE_UNQUOTED(VIPS_PREFIX,"$prefix",[configure-time install prefix])
|
|
|
|
AC_DEFINE_UNQUOTED(VIPS_LIBDIR,"$VIPS_LIBDIR",[configure-time library directory])
|
2007-08-29 18:23:50 +02:00
|
|
|
|
|
|
|
# i18n
|
2013-04-16 15:30:28 +02:00
|
|
|
# we need to name our .mo with major.minor so we can have multiple versions
|
|
|
|
# installed in parallel on Debian
|
|
|
|
expand vips$VIPS_MAJOR_VERSION.$VIPS_MINOR_VERSION
|
|
|
|
GETTEXT_PACKAGE=$expanded_value
|
|
|
|
|
2007-08-29 18:23:50 +02:00
|
|
|
AC_SUBST(GETTEXT_PACKAGE)
|
|
|
|
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
|
|
|
|
[The prefix for our gettext translation domains.])
|
2010-05-26 13:19:25 +02:00
|
|
|
# the 'malkovich' one is there for testing only, remove for release
|
|
|
|
#ALL_LINGUAS="en_GB de malkovich"
|
2010-05-24 12:05:59 +02:00
|
|
|
ALL_LINGUAS="en_GB de"
|
2007-08-29 18:23:50 +02:00
|
|
|
AM_GLIB_GNU_GETTEXT
|
|
|
|
|
2021-07-02 15:18:19 +02:00
|
|
|
# Compatibility with pkg.m4 < 0.27
|
|
|
|
m4_ifdef([PKG_INSTALLDIR], [PKG_INSTALLDIR],
|
|
|
|
[AC_ARG_WITH([pkgconfigdir],
|
|
|
|
[AS_HELP_STRING([--with-pkgconfigdir],
|
|
|
|
[install directory for *.pc pkg-config file])],
|
|
|
|
[],[with_pkgconfigdir='$(libdir)/pkgconfig'])
|
|
|
|
AC_SUBST([pkgconfigdir], [${with_pkgconfigdir}])])
|
|
|
|
|
|
|
|
# Compatibility with pkg.m4 < 0.28
|
|
|
|
m4_define_default([PKG_CHECK_VAR],
|
|
|
|
[AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])
|
|
|
|
AS_IF([test -z "$$1"], [$1=`$PKG_CONFIG --variable="$3" "$2"`])
|
|
|
|
AS_IF([test -n "$$1"], [$4], [$5])])
|
|
|
|
|
2017-10-07 12:20:21 +02:00
|
|
|
# we need to disable some features on some known-bad gcc versions
|
|
|
|
# these will be "" for clang etc.
|
|
|
|
#
|
|
|
|
# I couldn't get this to work, mysterious! do it ourselves
|
|
|
|
#
|
|
|
|
# AX_CHECK_COMPILE_FLAG([-dumpversion],
|
|
|
|
# [ax_gcc_version_option=yes],
|
|
|
|
# [ax_gcc_version_option=no]
|
|
|
|
# )
|
2021-03-20 11:33:37 +01:00
|
|
|
AC_MSG_CHECKING([for $CC version])
|
2017-10-07 12:20:21 +02:00
|
|
|
GCC_VERSION=""
|
|
|
|
version=$($CC -dumpversion)
|
|
|
|
if test $? = 0; then
|
|
|
|
GCC_VERSION=$version
|
|
|
|
AC_MSG_RESULT([$GCC_VERSION])
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT([-dumpversion not supported])
|
|
|
|
fi
|
|
|
|
|
|
|
|
GCC_VERSION_MAJOR=$(echo $GCC_VERSION | cut -d'.' -f1)
|
|
|
|
GCC_VERSION_MINOR=$(echo $GCC_VERSION | cut -d'.' -f2)
|
|
|
|
GCC_VERSION_PATCH=$(echo $GCC_VERSION | cut -d'.' -f3)
|
|
|
|
|
2007-08-29 18:23:50 +02:00
|
|
|
# Checks for libraries.
|
|
|
|
|
|
|
|
# build list of pkg-config packages we used here
|
|
|
|
PACKAGES_USED=""
|
|
|
|
|
2014-11-29 15:32:08 +01:00
|
|
|
# build list of extra libs we need here
|
|
|
|
# the main one is jpeg: it does not have a .pc file, so when we make vips.pc
|
|
|
|
# we need to put -ljpeg into libs ourselves
|
|
|
|
EXTRA_LIBS_USED=""
|
|
|
|
|
2007-08-29 18:23:50 +02:00
|
|
|
# Checks for header files.
|
|
|
|
AC_HEADER_DIRENT
|
|
|
|
AC_HEADER_STDC
|
|
|
|
AC_CHECK_HEADERS([errno.h math.h fcntl.h limits.h stdlib.h string.h sys/file.h sys/ioctl.h sys/param.h sys/time.h sys/mman.h sys/types.h sys/stat.h unistd.h io.h direct.h windows.h])
|
|
|
|
|
|
|
|
# Checks for typedefs, structures, and compiler characteristics.
|
2017-10-02 10:22:06 +02:00
|
|
|
AC_C_RESTRICT
|
|
|
|
AX_GCC_VAR_ATTRIBUTE(vector_size)
|
2007-08-29 18:23:50 +02:00
|
|
|
AC_C_CONST
|
|
|
|
AC_TYPE_MODE_T
|
|
|
|
AC_TYPE_OFF_T
|
|
|
|
AC_TYPE_SIZE_T
|
|
|
|
|
2017-10-16 18:08:07 +02:00
|
|
|
# g++/gcc 4.x and 5.x have rather broken vector support ... 5.4.1 seems to
|
|
|
|
# work, but 5.4.0 fails to even compile
|
2021-03-20 11:33:37 +01:00
|
|
|
AC_MSG_CHECKING([for $CC with working vector support])
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$GCC_VERSION_MAJOR" != x"4" -a x"$GCC_VERSION_MAJOR" != x"5"; then
|
2017-10-07 12:20:21 +02:00
|
|
|
AC_MSG_RESULT([yes])
|
|
|
|
else
|
|
|
|
ax_cv_have_var_attribute_vector_size=no
|
|
|
|
AC_MSG_RESULT([no])
|
|
|
|
fi
|
|
|
|
|
2017-10-02 10:22:06 +02:00
|
|
|
# we need to be able to shuffle vectors in C++
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$ax_cv_have_var_attribute_vector_size" = x"yes"; then
|
2017-10-02 10:36:07 +02:00
|
|
|
AC_MSG_CHECKING([for C++ vector shuffle])
|
|
|
|
AC_LANG_PUSH([C++])
|
2021-06-22 12:48:06 +02:00
|
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
2021-03-20 11:33:37 +01:00
|
|
|
typedef float v4f __attribute__((vector_size(4 * sizeof(float)),aligned(16)));
|
2021-06-22 12:48:06 +02:00
|
|
|
]], [[
|
2017-10-02 10:22:06 +02:00
|
|
|
v4f f; f[3] = 99;
|
2021-06-22 12:48:06 +02:00
|
|
|
]])],[
|
2017-10-02 10:22:06 +02:00
|
|
|
AC_MSG_RESULT([yes])
|
|
|
|
have_vector_shuffle=yes
|
2021-06-22 12:48:06 +02:00
|
|
|
],[
|
2017-10-02 10:22:06 +02:00
|
|
|
AC_MSG_RESULT([no])
|
|
|
|
have_vector_shuffle=no
|
|
|
|
])
|
2017-10-02 10:36:07 +02:00
|
|
|
AC_LANG_POP([C++])
|
2017-10-02 10:22:06 +02:00
|
|
|
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$have_vector_shuffle" = x"yes"; then
|
2017-10-02 10:22:06 +02:00
|
|
|
AC_DEFINE_UNQUOTED(HAVE_VECTOR_SHUFFLE, 1,
|
|
|
|
[define if your C++ can shuffle vectors])
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2017-10-02 11:23:06 +02:00
|
|
|
# we also need to be able to mix vector and scalar arithmetic
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$have_vector_shuffle" = x"yes"; then
|
2017-10-02 11:23:06 +02:00
|
|
|
AC_MSG_CHECKING([for C++ vector arithmetic])
|
|
|
|
AC_LANG_PUSH([C++])
|
2021-06-22 12:48:06 +02:00
|
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
2021-03-20 11:33:37 +01:00
|
|
|
typedef float v4f __attribute__((vector_size(4 * sizeof(float)),aligned(16)));
|
2021-06-22 12:48:06 +02:00
|
|
|
]], [[
|
2017-10-06 18:34:14 +02:00
|
|
|
v4f f = {1, 2, 3, 4}; f *= 12.0;
|
|
|
|
v4f g = {5, 6, 7, 8}; f = g > 0 ? g : -1 * g;
|
2021-06-22 12:48:06 +02:00
|
|
|
]])],[
|
2017-10-02 11:23:06 +02:00
|
|
|
AC_MSG_RESULT([yes])
|
|
|
|
have_vector_arith=yes
|
2021-06-22 12:48:06 +02:00
|
|
|
],[
|
2017-10-02 11:23:06 +02:00
|
|
|
AC_MSG_RESULT([no])
|
|
|
|
have_vector_arith=no
|
|
|
|
])
|
|
|
|
AC_LANG_POP([C++])
|
2018-05-14 18:14:42 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
# gcc 7.2 seems to work, but then gets confused by signed constants in
|
|
|
|
# templates
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$have_vector_arith" = x"yes"; then
|
2018-05-14 18:14:42 +02:00
|
|
|
AC_MSG_CHECKING([for C++ signed constants in vector templates])
|
|
|
|
AC_LANG_PUSH([C++])
|
2021-06-22 12:48:06 +02:00
|
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
2021-03-20 11:33:37 +01:00
|
|
|
typedef float v4f __attribute__((vector_size(4 * sizeof(float)),aligned(16)));
|
2018-05-14 18:14:42 +02:00
|
|
|
template <typename T>
|
|
|
|
static void
|
|
|
|
h( v4f B )
|
|
|
|
{
|
|
|
|
v4f f;
|
|
|
|
f = -1 * B;
|
|
|
|
}
|
2021-06-22 12:48:06 +02:00
|
|
|
]], [[
|
|
|
|
]])],[
|
2018-05-14 18:14:42 +02:00
|
|
|
AC_MSG_RESULT([yes])
|
2021-06-22 12:48:06 +02:00
|
|
|
],[
|
2018-05-14 18:14:42 +02:00
|
|
|
AC_MSG_RESULT([no])
|
|
|
|
have_vector_arith=no
|
|
|
|
])
|
|
|
|
AC_LANG_POP([C++])
|
2017-10-02 11:23:06 +02:00
|
|
|
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$have_vector_arith" = x"yes"; then
|
2017-10-02 11:23:06 +02:00
|
|
|
AC_DEFINE_UNQUOTED(HAVE_VECTOR_ARITH, 1,
|
|
|
|
[define if your C++ can mix vector and scalar arithmetic])
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2007-08-29 18:23:50 +02:00
|
|
|
# Checks for library functions.
|
|
|
|
AC_FUNC_MEMCMP
|
|
|
|
AC_FUNC_MMAP
|
|
|
|
AC_FUNC_VPRINTF
|
2022-02-22 15:33:42 +01:00
|
|
|
AC_CHECK_FUNCS([vsnprintf _aligned_malloc posix_memalign memalign])
|
2007-08-29 18:23:50 +02:00
|
|
|
AC_CHECK_LIB(m,cbrt,[AC_DEFINE(HAVE_CBRT,1,[have cbrt() in libm.])])
|
2008-01-09 11:55:28 +01:00
|
|
|
AC_CHECK_LIB(m,hypot,[AC_DEFINE(HAVE_HYPOT,1,[have hypot() in libm.])])
|
2015-11-19 15:34:03 +01:00
|
|
|
AC_CHECK_LIB(m,atan2,[AC_DEFINE(HAVE_ATAN2,1,[have atan2() in libm.])])
|
2021-11-03 00:03:05 +01:00
|
|
|
AC_CHECK_LIB(m,asinh,[AC_DEFINE(HAVE_ASINH,1,[have asinh() in libm.])])
|
2007-08-29 18:23:50 +02:00
|
|
|
|
2020-03-26 19:30:06 +01:00
|
|
|
# have to have these parts of glib ... we need glib 2.15 for gio
|
2021-02-13 14:15:27 +01:00
|
|
|
PKG_CHECK_MODULES(REQUIRED, glib-2.0 >= 2.40 gmodule-no-export-2.0 gobject-2.0 gio-2.0)
|
|
|
|
PACKAGES_USED="$PACKAGES_USED glib-2.0 gmodule-no-export-2.0 gobject-2.0 gio-2.0"
|
2019-11-19 18:05:12 +01:00
|
|
|
|
2021-03-07 13:41:44 +01:00
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $GIO_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $GIO_LIBS"
|
|
|
|
|
2019-08-05 14:53:00 +02:00
|
|
|
# if available, we use pthread_setattr_default_np() to raise the per-thread
|
2019-08-06 16:53:38 +02:00
|
|
|
# stack size ... musl (libc on Alpine), for example, has a very small stack per
|
2019-08-05 14:53:00 +02:00
|
|
|
# thread by default
|
2019-08-06 15:56:05 +02:00
|
|
|
save_pthread_LIBS="$LIBS"
|
|
|
|
save_pthread_CFLAGS="$CFLAGS"
|
2021-03-06 13:47:48 +01:00
|
|
|
LIBS="$LIBS $REQUIRED_LIBS"
|
|
|
|
CFLAGS="$CFLAGS $REQUIRED_CFLAGS"
|
2019-08-06 15:56:05 +02:00
|
|
|
AC_CHECK_FUNC(pthread_setattr_default_np,
|
|
|
|
[AC_DEFINE(HAVE_PTHREAD_DEFAULT_NP,1,[have pthread_setattr_default_np().])
|
2019-08-05 14:53:00 +02:00
|
|
|
]
|
|
|
|
)
|
2019-08-06 15:56:05 +02:00
|
|
|
LIBS="$save_pthread_LIBS"
|
|
|
|
CFLAGS="$save_pthread_CFLAGS"
|
2019-08-05 14:53:00 +02:00
|
|
|
|
2021-02-13 14:15:27 +01:00
|
|
|
AC_MSG_CHECKING([whether to build dynamic modules])
|
|
|
|
|
2021-06-28 18:28:09 +02:00
|
|
|
# Disable modules by default when building static libraries
|
|
|
|
AS_IF([test x"$enable_static" = x"yes"],
|
|
|
|
[enable_modules_default=no],
|
|
|
|
[enable_modules_default=yes])
|
|
|
|
|
2021-02-13 14:15:27 +01:00
|
|
|
AC_ARG_ENABLE([modules],
|
2021-06-28 18:28:09 +02:00
|
|
|
AS_HELP_STRING([--disable-modules], [disable dynamic modules (default: test)]),
|
|
|
|
[enable_modules="$enableval"],
|
|
|
|
[enable_modules="$enable_modules_default"])
|
2021-02-13 14:15:27 +01:00
|
|
|
|
|
|
|
gmodule_supported_flag=no
|
|
|
|
gmodule_with_flag=yes
|
|
|
|
|
|
|
|
if test x"$enable_modules" = x"no"; then
|
2021-07-02 15:18:19 +02:00
|
|
|
AC_MSG_RESULT([no])
|
2021-02-13 14:15:27 +01:00
|
|
|
else
|
2021-07-02 15:18:19 +02:00
|
|
|
AC_MSG_RESULT([yes])
|
|
|
|
AC_MSG_CHECKING([whether dynamic modules work])
|
|
|
|
PKG_CHECK_VAR([gmodule_supported], [gmodule-no-export-2.0], [gmodule_supported])
|
|
|
|
if test x"$gmodule_supported" = x"true"; then
|
2021-02-13 14:15:27 +01:00
|
|
|
gmodule_supported_flag=yes
|
|
|
|
gmodule_with_flag='module'
|
2021-07-03 12:14:58 +02:00
|
|
|
AC_DEFINE(ENABLE_MODULES,1,[define to enable loadable module support.])
|
2021-07-02 15:18:19 +02:00
|
|
|
AC_MSG_RESULT([yes])
|
2021-02-13 14:15:27 +01:00
|
|
|
else
|
2021-07-02 15:18:19 +02:00
|
|
|
AC_MSG_RESULT([no])
|
2021-02-13 14:15:27 +01:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2009-08-16 17:00:08 +02:00
|
|
|
# check for gtk-doc
|
2014-03-23 13:26:06 +01:00
|
|
|
GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
|
2009-08-16 17:00:08 +02:00
|
|
|
|
2020-03-24 11:03:36 +01:00
|
|
|
# we need expat ... the .pc file for expat is only available
|
|
|
|
# for recent linuxes, so we fall back to AM_WITH_EXPAT
|
|
|
|
PKG_CHECK_MODULES(EXPAT, expat,
|
|
|
|
[expat_found=yes
|
|
|
|
PACKAGES_USED="$PACKAGES_USED expat"
|
|
|
|
],
|
|
|
|
[AM_WITH_EXPAT
|
|
|
|
]
|
|
|
|
)
|
|
|
|
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$expat_found" = x"no"; then
|
2017-03-01 12:07:51 +01:00
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2021-03-07 13:41:44 +01:00
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $EXPAT_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $EXPAT_LIBS"
|
|
|
|
|
2007-08-29 18:23:50 +02:00
|
|
|
# optional supporting libraries
|
|
|
|
|
2014-05-09 14:13:18 +02:00
|
|
|
AC_ARG_WITH([gsf],
|
|
|
|
AS_HELP_STRING([--without-gsf], [build without libgsf-1 (default: test)]))
|
|
|
|
|
2016-12-08 14:54:05 +01:00
|
|
|
# libgsf-1 1.14.21 crashes
|
|
|
|
# .27 is known to work well
|
|
|
|
# .26 seems OK but has not been tested much
|
|
|
|
# not sure about 22-25
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$with_gsf" != x"no"; then
|
2016-12-08 14:54:05 +01:00
|
|
|
PKG_CHECK_MODULES(GSF, libgsf-1 >= 1.14.26,
|
2014-05-09 14:13:18 +02:00
|
|
|
[AC_DEFINE(HAVE_GSF,1,[define if you have libgsf-1 installed.])
|
|
|
|
with_gsf=yes
|
2016-05-18 11:41:05 +02:00
|
|
|
PACKAGES_USED="$PACKAGES_USED libgsf-1"
|
|
|
|
],
|
2014-05-09 14:13:18 +02:00
|
|
|
[AC_MSG_WARN([libgsf-1 not found; disabling dzsave support])
|
2016-05-18 11:41:05 +02:00
|
|
|
with_gsf=no
|
|
|
|
]
|
|
|
|
)
|
2016-06-09 10:36:37 +02:00
|
|
|
|
|
|
|
# zip64 and deflate-level came in .31
|
|
|
|
PKG_CHECK_MODULES(GSF_ZIP64, libgsf-1 >= 1.14.31,
|
|
|
|
[AC_DEFINE(HAVE_GSF_ZIP64,1,[define if your libgsf supports zip64.])
|
|
|
|
AC_DEFINE(HAVE_GSF_DEFLATE_LEVEL,1,
|
2021-03-07 13:53:20 +01:00
|
|
|
[define if your libgsf supports deflate-level.])
|
2016-06-09 10:36:37 +02:00
|
|
|
],
|
|
|
|
[:
|
|
|
|
]
|
|
|
|
)
|
2014-05-09 14:13:18 +02:00
|
|
|
fi
|
|
|
|
|
2021-03-07 13:41:44 +01:00
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $GSF_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $GSF_LIBS"
|
|
|
|
|
2012-01-28 12:27:16 +01:00
|
|
|
AC_ARG_WITH([fftw],
|
|
|
|
AS_HELP_STRING([--without-fftw], [build without fftw (default: test)]))
|
|
|
|
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$with_fftw" != x"no"; then
|
2012-01-28 12:27:16 +01:00
|
|
|
PKG_CHECK_MODULES(FFTW, fftw3,
|
|
|
|
[AC_DEFINE(HAVE_FFTW,1,[define if you have fftw3 installed.])
|
|
|
|
with_fftw=yes
|
2016-05-18 11:41:05 +02:00
|
|
|
PACKAGES_USED="$PACKAGES_USED fftw3"
|
|
|
|
],
|
2012-01-28 12:27:16 +01:00
|
|
|
[AC_MSG_WARN([fftw not found; disabling fftw support])
|
2016-05-18 11:41:05 +02:00
|
|
|
with_fftw=no
|
|
|
|
]
|
|
|
|
)
|
2007-08-29 18:23:50 +02:00
|
|
|
fi
|
|
|
|
|
2021-03-07 13:41:44 +01:00
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $FFTW_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $FFTW_LIBS"
|
|
|
|
|
2016-07-08 11:45:29 +02:00
|
|
|
# ImageMagick
|
2008-07-10 12:14:31 +02:00
|
|
|
AC_ARG_WITH([magick],
|
2021-04-21 17:27:05 +02:00
|
|
|
AS_HELP_STRING([--without-magick], [build without libMagic (default: test)]),
|
|
|
|
[with_magick=$withval],
|
|
|
|
[with_magick=$gmodule_with_flag])
|
|
|
|
|
|
|
|
# libMagic as a dynamically loadable module
|
|
|
|
AS_IF([test x"$with_magick" = x"module"],
|
|
|
|
[with_magick_module=$gmodule_supported_flag],
|
|
|
|
[with_magick_module=no])
|
2017-12-23 17:57:36 +01:00
|
|
|
|
2008-07-10 12:14:31 +02:00
|
|
|
AC_ARG_WITH([magickpackage],
|
2021-09-29 19:17:48 +02:00
|
|
|
AS_HELP_STRING([--with-magickpackage=PACKAGE],
|
|
|
|
[use magick PACKAGE (default: MagickCore; try GraphicsMagick to build against gm instead)]))
|
|
|
|
|
|
|
|
if test x"$with_magickpackage" = x"yes"; then
|
|
|
|
AC_MSG_WARN([--with-magickpackage needs an argument, ignoring])
|
|
|
|
with_magick=no
|
|
|
|
with_magick_module=no
|
|
|
|
else
|
|
|
|
if test x"$with_magickpackage" = x""; then
|
|
|
|
# set the default magick package ... very old imagemagicks called it
|
|
|
|
# ImageMagick
|
|
|
|
PKG_CHECK_MODULES(MAGICK_WAND, MagickCore,
|
|
|
|
[with_magickpackage=MagickCore
|
|
|
|
],
|
|
|
|
[PKG_CHECK_MODULES(IMAGE_MAGICK, ImageMagick,
|
|
|
|
[with_magickpackage=ImageMagick
|
|
|
|
],
|
|
|
|
[AC_MSG_WARN([neither MagickCore nor ImageMagick found; disabling Magick support])
|
|
|
|
with_magick=no
|
|
|
|
with_magick_module=no
|
|
|
|
]
|
|
|
|
)
|
|
|
|
]
|
2016-05-18 11:41:05 +02:00
|
|
|
)
|
2021-09-29 19:17:48 +02:00
|
|
|
fi
|
2008-02-21 17:10:24 +01:00
|
|
|
fi
|
2007-08-29 18:23:50 +02:00
|
|
|
|
2016-07-08 11:45:29 +02:00
|
|
|
# we have a separate loader for magick7 with fewer ifdef
|
|
|
|
# options; only test for features on the magick6 case
|
|
|
|
|
2017-12-23 17:57:36 +01:00
|
|
|
magick_version=
|
2016-05-18 11:41:05 +02:00
|
|
|
if test x"$with_magick" != x"no"; then
|
2016-07-08 11:45:29 +02:00
|
|
|
PKG_CHECK_MODULES(MAGICK, $with_magickpackage >= 7.0,
|
|
|
|
[AC_DEFINE(HAVE_MAGICK7,1,[define if you have libMagick7 installed.])
|
2017-12-23 17:57:36 +01:00
|
|
|
with_magick=yes
|
2016-07-08 11:45:29 +02:00
|
|
|
magick7=yes
|
2017-12-23 17:57:36 +01:00
|
|
|
magick_version=magick7
|
2021-04-21 17:27:05 +02:00
|
|
|
AS_IF([test x"$with_magick_module" = x"no"],
|
|
|
|
[PACKAGES_USED="$PACKAGES_USED $with_magickpackage"])
|
2016-05-18 11:41:05 +02:00
|
|
|
],
|
2016-07-08 11:45:29 +02:00
|
|
|
[PKG_CHECK_MODULES(MAGICK, $with_magickpackage,
|
2017-12-23 18:13:44 +01:00
|
|
|
[AC_DEFINE(HAVE_MAGICK6,1,[define if you have libMagick6 installed.])
|
2017-12-23 17:57:36 +01:00
|
|
|
with_magick=yes
|
2016-07-08 11:45:29 +02:00
|
|
|
magick6=yes
|
2017-12-23 17:57:36 +01:00
|
|
|
magick_version=magick6
|
2021-04-21 17:27:05 +02:00
|
|
|
AS_IF([test x"$with_magick_module" = x"no"],
|
|
|
|
[PACKAGES_USED="$PACKAGES_USED $with_magickpackage"])
|
2016-07-08 11:45:29 +02:00
|
|
|
],
|
|
|
|
[AC_MSG_WARN([$with_magickpackage not found; disabling Magick support])
|
|
|
|
with_magick=no
|
2021-04-21 17:27:05 +02:00
|
|
|
with_magick_module=no
|
2016-07-08 11:45:29 +02:00
|
|
|
]
|
|
|
|
)
|
|
|
|
]
|
2016-05-18 11:41:05 +02:00
|
|
|
)
|
2018-01-24 10:28:02 +01:00
|
|
|
else
|
|
|
|
with_magick=no
|
2021-04-21 17:27:05 +02:00
|
|
|
with_magick_module=no
|
2018-01-24 10:28:02 +01:00
|
|
|
magick6=no
|
|
|
|
magick_version=none
|
|
|
|
with_magickpackage=none
|
2007-08-29 18:23:50 +02:00
|
|
|
fi
|
|
|
|
|
2016-07-08 11:45:29 +02:00
|
|
|
if test x"$magick6" = x"yes"; then
|
2018-06-10 13:15:02 +02:00
|
|
|
# do we have number_scenes in image_info ... imagemagick uses this
|
2016-04-26 11:41:04 +02:00
|
|
|
save_CFLAGS="$CFLAGS"
|
2016-04-18 16:21:11 +02:00
|
|
|
CFLAGS="$CFLAGS $MAGICK_CFLAGS"
|
|
|
|
AC_CHECK_MEMBER([struct _ImageInfo.number_scenes],
|
|
|
|
AC_DEFINE(HAVE_NUMBER_SCENES,1,
|
2021-03-07 13:53:20 +01:00
|
|
|
[define if your magick has ImageInfo.number_scenes.]),
|
2016-04-18 16:21:11 +02:00
|
|
|
[],
|
|
|
|
[#include <magick/api.h>])
|
2016-04-26 11:41:04 +02:00
|
|
|
CFLAGS="$save_CFLAGS"
|
2016-04-18 16:21:11 +02:00
|
|
|
fi
|
|
|
|
|
2018-04-23 14:44:56 +02:00
|
|
|
if test x"$magick6" = x"yes"; then
|
2021-07-29 14:12:29 +02:00
|
|
|
# the magick6 API varies a lot between magick versions, and between GM and IM
|
|
|
|
# set CFLAGS too, since CHECK_FUNCS will try to compile / link / run code.
|
2018-04-23 14:44:56 +02:00
|
|
|
save_LIBS="$LIBS"
|
2021-07-29 14:12:29 +02:00
|
|
|
save_CFLAGS="$CFLAGS"
|
2018-04-23 14:44:56 +02:00
|
|
|
LIBS="$LIBS $MAGICK_LIBS"
|
2021-07-29 14:12:29 +02:00
|
|
|
CFLAGS="$CFLAGS $MAGICK_CFLAGS"
|
|
|
|
|
2019-08-05 16:07:13 +02:00
|
|
|
AC_CHECK_FUNCS([InheritException AcquireExceptionInfo SetImageProperty SetImageExtent AcquireImage GetVirtualPixels ResetImageProfileIterator ResetImageAttributeIterator ResetImagePropertyIterator MagickCoreGenesis SetImageOption BlobToStringInfo OptimizePlusImageLayers OptimizeImageTransparency])
|
2021-07-29 14:12:29 +02:00
|
|
|
|
2018-04-23 14:44:56 +02:00
|
|
|
LIBS="$save_LIBS"
|
2021-07-29 14:12:29 +02:00
|
|
|
CFLAGS="$save_CFLAGS"
|
2018-04-23 14:44:56 +02:00
|
|
|
fi
|
|
|
|
|
2018-04-24 18:14:51 +02:00
|
|
|
if test x"$magick6" = x"yes"; then
|
2019-08-07 17:17:27 +02:00
|
|
|
save_CFLAGS="$CFLAGS"
|
|
|
|
CFLAGS="$CFLAGS $MAGICK_CFLAGS"
|
2018-04-24 18:14:51 +02:00
|
|
|
|
2019-08-07 17:17:27 +02:00
|
|
|
# the range of ColorspaceType has expanded several times
|
|
|
|
AC_COMPILE_IFELSE(
|
|
|
|
[AC_LANG_PROGRAM(
|
|
|
|
[#include <magick/api.h>],
|
|
|
|
[ColorspaceType colorspace = CMYColorspace]
|
|
|
|
)],
|
|
|
|
[AC_DEFINE(HAVE_CMYCOLORSPACE,1,
|
|
|
|
[define if your Magick has CMYColorspace.])
|
|
|
|
]
|
|
|
|
)
|
2019-02-06 17:39:14 +01:00
|
|
|
|
2019-11-25 16:44:28 +01:00
|
|
|
AC_COMPILE_IFELSE(
|
|
|
|
[AC_LANG_PROGRAM(
|
|
|
|
[#include <magick/api.h>],
|
|
|
|
[ColorspaceType colorspace = HCLpColorspace]
|
|
|
|
)],
|
|
|
|
[AC_DEFINE(HAVE_HCLPCOLORSPACE,1,
|
|
|
|
[define if your Magick has HCLpColorspace.])
|
|
|
|
]
|
|
|
|
)
|
|
|
|
|
2019-08-07 17:17:27 +02:00
|
|
|
# GetImageMagick() takes two args under GM, three under IM
|
|
|
|
AC_COMPILE_IFELSE(
|
|
|
|
[AC_LANG_PROGRAM(
|
|
|
|
[#include <magick/api.h>],
|
|
|
|
[(void)GetImageMagick(NULL, 0, NULL)]
|
|
|
|
)],
|
|
|
|
[AC_DEFINE(HAVE_GETIMAGEMAGICK3,1,
|
|
|
|
[define if your GetImageMagick() takes three arguments.])
|
|
|
|
]
|
|
|
|
)
|
2018-04-24 18:14:51 +02:00
|
|
|
|
2019-08-07 17:17:27 +02:00
|
|
|
CFLAGS="$save_CFLAGS"
|
2019-01-04 09:38:58 +01:00
|
|
|
fi
|
|
|
|
|
2017-12-23 17:57:36 +01:00
|
|
|
# have flags to turn load and save off independently ... some people will want
|
|
|
|
# save but not load, for example
|
|
|
|
AC_ARG_ENABLE([magickload],
|
|
|
|
AS_HELP_STRING([--disable-magickload],
|
2021-03-07 13:53:20 +01:00
|
|
|
[disable libMagic load (default: enabled)]))
|
2017-12-23 17:57:36 +01:00
|
|
|
|
|
|
|
AC_ARG_ENABLE([magicksave],
|
|
|
|
AS_HELP_STRING([--disable-magicksave],
|
2021-03-07 13:53:20 +01:00
|
|
|
[disable libMagic save (default: enabled)]))
|
2018-01-24 10:28:02 +01:00
|
|
|
|
2018-05-18 18:40:29 +02:00
|
|
|
if test x"$enable_magicksave" != x"yes"; then
|
|
|
|
# we need ImportImagePixels ... GM is missing this sadly
|
|
|
|
save_LIBS="$LIBS"
|
|
|
|
LIBS="$LIBS $MAGICK_LIBS"
|
|
|
|
AC_CHECK_FUNCS(ImportImagePixels,[
|
|
|
|
AC_DEFINE(HAVE_IMPORTIMAGEPIXELS,1,
|
2021-03-07 13:53:20 +01:00
|
|
|
[define if you have ImportImagePixels.])
|
2019-02-05 14:04:36 +01:00
|
|
|
],[]
|
2018-05-18 18:40:29 +02:00
|
|
|
)
|
2019-02-05 14:04:36 +01:00
|
|
|
AC_CHECK_FUNCS(ImagesToBlob,[
|
|
|
|
AC_DEFINE(HAVE_IMAGESTOBLOB,1,
|
2021-03-07 13:53:20 +01:00
|
|
|
[define if you have ImagesToBlob.])
|
2019-02-05 14:04:36 +01:00
|
|
|
],[]
|
|
|
|
)
|
2018-05-18 18:40:29 +02:00
|
|
|
LIBS="$save_LIBS"
|
|
|
|
fi
|
|
|
|
|
2018-01-24 10:28:02 +01:00
|
|
|
if test x"$with_magick" != x"no"; then
|
|
|
|
if test x"$enable_magickload" != x"no"; then
|
|
|
|
AC_DEFINE(ENABLE_MAGICKLOAD,1,[define to enable load with libMagick])
|
|
|
|
enable_magickload=yes
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test x"$enable_magicksave" != x"no"; then
|
2017-12-23 17:57:36 +01:00
|
|
|
AC_DEFINE(ENABLE_MAGICKSAVE,1,[define to enable save with libMagick])
|
|
|
|
enable_magicksave=yes
|
2018-01-24 10:28:02 +01:00
|
|
|
fi
|
|
|
|
else
|
|
|
|
enable_magickload=no
|
|
|
|
enable_magicksave=no
|
2017-12-23 17:57:36 +01:00
|
|
|
fi
|
|
|
|
|
2021-04-21 17:27:05 +02:00
|
|
|
AS_IF([test x"$with_magick_module" = x"yes"],
|
|
|
|
[AC_DEFINE([MAGICK_MODULE], [1], [define to build libMagic as a dynamically loadable module.])],
|
|
|
|
[VIPS_CFLAGS="$VIPS_CFLAGS $MAGICK_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $MAGICK_LIBS"])
|
|
|
|
AM_CONDITIONAL(MAGICK_MODULE, [test x"$with_magick_module" = x"yes"])
|
2021-03-07 13:41:44 +01:00
|
|
|
|
2010-11-01 18:46:47 +01:00
|
|
|
# orc
|
|
|
|
AC_ARG_WITH([orc],
|
|
|
|
AS_HELP_STRING([--without-orc], [build without orc (default: test)]))
|
|
|
|
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$with_orc" != x"no"; then
|
2010-11-01 18:46:47 +01:00
|
|
|
# we use loadpw etc.
|
|
|
|
PKG_CHECK_MODULES(ORC, orc-0.4 >= 0.4.11,
|
|
|
|
[AC_DEFINE(HAVE_ORC,1,[define if you have orc-0.4.11 or later installed.])
|
|
|
|
with_orc=yes
|
2015-12-08 16:33:57 +01:00
|
|
|
PACKAGES_USED="$PACKAGES_USED orc-0.4"
|
2016-04-26 11:41:04 +02:00
|
|
|
save_LIBS="$LIBS"
|
2015-12-08 16:33:57 +01:00
|
|
|
LIBS="$LIBS $ORC_LIBS"
|
|
|
|
AC_CHECK_FUNCS(orc_program_get_error,
|
|
|
|
AC_DEFINE(HAVE_ORC_PROGRAM_GET_ERROR,1,
|
2021-03-07 13:53:20 +01:00
|
|
|
[define if your orc has orc_program_get_error.]))
|
2016-04-26 11:41:04 +02:00
|
|
|
LIBS="$save_LIBS"
|
2015-12-08 16:33:57 +01:00
|
|
|
],
|
2010-11-01 18:46:47 +01:00
|
|
|
[AC_MSG_WARN([orc-0.4.11 or later not found; disabling orc support])
|
|
|
|
with_orc=no
|
2016-05-18 11:41:05 +02:00
|
|
|
]
|
|
|
|
)
|
2010-11-01 18:46:47 +01:00
|
|
|
fi
|
|
|
|
|
2019-11-07 00:22:17 +01:00
|
|
|
# orc 0.4.30+ works with cf-protection, but 0.4.30 has a bug with multiple
|
|
|
|
# definitions of OrcTargetPowerPCFlags, so insist on 0.4.31
|
|
|
|
if test x"$with_orc" = x"yes"; then
|
|
|
|
PKG_CHECK_MODULES(ORC_CF_PROTECTION, orc-0.4 >= 0.4.31,
|
|
|
|
[AC_DEFINE(HAVE_ORC_CF_PROTECTION,1,
|
2021-03-07 13:53:20 +01:00
|
|
|
[define if your orc works with cf-protection.]
|
2019-11-07 00:22:17 +01:00
|
|
|
)
|
|
|
|
],
|
|
|
|
[:
|
|
|
|
]
|
|
|
|
)
|
|
|
|
fi
|
|
|
|
|
2021-03-07 13:41:44 +01:00
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $ORC_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $ORC_LIBS"
|
|
|
|
|
2017-08-02 14:39:28 +02:00
|
|
|
# lcms ... refuse to use lcms1
|
2008-07-10 12:14:31 +02:00
|
|
|
AC_ARG_WITH([lcms],
|
|
|
|
AS_HELP_STRING([--without-lcms], [build without lcms (default: test)]))
|
2007-08-29 18:23:50 +02:00
|
|
|
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$with_lcms" != x"no"; then
|
2010-08-02 17:58:30 +02:00
|
|
|
PKG_CHECK_MODULES(LCMS, lcms2,
|
|
|
|
[AC_DEFINE(HAVE_LCMS2,1,[define if you have lcms2 installed.])
|
2012-07-13 13:56:08 +02:00
|
|
|
with_lcms="yes (lcms2)"
|
2016-05-18 11:41:05 +02:00
|
|
|
PACKAGES_USED="$PACKAGES_USED lcms2"
|
|
|
|
],
|
2017-08-02 14:39:28 +02:00
|
|
|
[AC_MSG_WARN([lcms2 not found; disabling ICC profile support])
|
|
|
|
with_lcms=no
|
2016-05-18 11:41:05 +02:00
|
|
|
]
|
|
|
|
)
|
2007-08-29 18:23:50 +02:00
|
|
|
fi
|
|
|
|
|
2018-12-21 19:05:40 +01:00
|
|
|
# we need a conditional for this to only compile in fallback profiles if lcms
|
|
|
|
# is detected
|
2019-05-10 17:43:17 +02:00
|
|
|
AM_CONDITIONAL(ENABLE_LCMS, [test x"$with_lcms" != x"no"])
|
2018-12-21 19:05:40 +01:00
|
|
|
|
2021-03-07 13:41:44 +01:00
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $LCMS_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $LCMS_LIBS"
|
|
|
|
|
2007-08-29 18:23:50 +02:00
|
|
|
# OpenEXR
|
2008-07-10 12:14:31 +02:00
|
|
|
AC_ARG_WITH([OpenEXR],
|
|
|
|
AS_HELP_STRING([--without-OpenEXR], [build without OpenEXR (default: test)]))
|
2007-08-29 18:23:50 +02:00
|
|
|
|
|
|
|
# require 1.2.2 since 1.2.1 has a broken ImfCloseTiledInputFile()
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$with_OpenEXR" != x"no"; then
|
2007-08-29 18:23:50 +02:00
|
|
|
PKG_CHECK_MODULES(OPENEXR, OpenEXR >= 1.2.2,
|
2021-11-16 11:49:16 +01:00
|
|
|
[AC_DEFINE(HAVE_OPENEXR,1,[define if you have OpenEXR >= 1.2.2 installed.])
|
2008-06-19 18:38:31 +02:00
|
|
|
with_OpenEXR=yes
|
2016-02-08 00:33:43 +01:00
|
|
|
PACKAGES_USED="$PACKAGES_USED OpenEXR"
|
|
|
|
],
|
2008-06-19 18:38:31 +02:00
|
|
|
[AC_MSG_WARN([OpenEXR not found; disabling OpenEXR support])
|
|
|
|
with_OpenEXR=no
|
2016-02-08 00:33:43 +01:00
|
|
|
]
|
|
|
|
)
|
|
|
|
fi
|
|
|
|
|
2021-03-07 13:41:44 +01:00
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $OPENEXR_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $OPENEXR_LIBS"
|
|
|
|
|
2018-06-29 17:32:28 +02:00
|
|
|
# nifti
|
|
|
|
AC_ARG_WITH([nifti],
|
|
|
|
AS_HELP_STRING([--without-nifti], [build without nifti (default: test)]))
|
|
|
|
|
|
|
|
if test x"$with_nifti" != x"no"; then
|
|
|
|
FIND_NIFTI([
|
|
|
|
with_nifti=yes
|
|
|
|
],[
|
|
|
|
with_nifti=no
|
|
|
|
]
|
|
|
|
)
|
|
|
|
fi
|
|
|
|
|
2021-03-07 13:41:44 +01:00
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $NIFTI_CFLAGS"
|
|
|
|
VIPS_INCLUDES="$VIPS_INCLUDES $NIFTI_INCLUDES"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $NIFTI_LIBS"
|
|
|
|
|
2021-04-01 10:21:41 +02:00
|
|
|
# jpeg-xl
|
|
|
|
AC_ARG_WITH([libjxl],
|
2021-05-10 17:45:28 +02:00
|
|
|
AS_HELP_STRING([--without-libjxl], [build without libjxl (default: test)]),
|
|
|
|
[with_libjxl=$withval],
|
2021-11-21 11:15:08 +01:00
|
|
|
[with_libjxl=test])
|
2021-05-10 17:45:28 +02:00
|
|
|
|
|
|
|
# libjxl as a dynamically loadable module
|
2021-11-21 11:15:08 +01:00
|
|
|
AS_IF([test x"$with_libjxl" = x"module" -o x"$with_libjxl" = x"test"],
|
2021-05-10 17:45:28 +02:00
|
|
|
[with_libjxl_module=$gmodule_supported_flag],
|
|
|
|
[with_libjxl_module=no])
|
2021-04-01 10:21:41 +02:00
|
|
|
|
|
|
|
if test x"$with_libjxl" != x"no"; then
|
2021-11-16 10:51:19 +01:00
|
|
|
PKG_CHECK_MODULES(LIBJXL, libjxl_threads >= 0.5 libjxl >= 0.5,
|
2021-11-16 11:49:16 +01:00
|
|
|
[AC_DEFINE(HAVE_LIBJXL,1,[define if you have libjxl >= 0.5 installed.])
|
2021-04-01 10:21:41 +02:00
|
|
|
with_libjxl=yes
|
2021-05-10 17:45:28 +02:00
|
|
|
AS_IF([test x"$with_libjxl_module" = x"no"],
|
|
|
|
[PACKAGES_USED="$PACKAGES_USED libjxl"])
|
2021-04-01 10:21:41 +02:00
|
|
|
],
|
2021-11-21 11:15:08 +01:00
|
|
|
[AS_IF([test x"$with_libjxl" = x"test"],
|
|
|
|
AC_MSG_WARN([libjxl not found; disabling libjxl support]),
|
|
|
|
AC_MSG_ERROR([libjxl not found]))
|
2021-04-01 10:21:41 +02:00
|
|
|
with_libjxl=no
|
2021-05-17 11:34:44 +02:00
|
|
|
with_libjxl_module=no
|
2021-04-01 10:21:41 +02:00
|
|
|
]
|
|
|
|
)
|
|
|
|
fi
|
|
|
|
|
2021-11-16 10:51:19 +01:00
|
|
|
if test x"$with_libjxl" = x"yes"; then
|
|
|
|
save_LIBS="$LIBS"
|
|
|
|
LIBS="$LIBS $LIBJXL_LIBS"
|
|
|
|
# Introduced in 0.6
|
|
|
|
AC_CHECK_FUNCS(JxlEncoderInitBasicInfo,[
|
|
|
|
AC_DEFINE(HAVE_LIBJXL_JXLENCODERINITBASICINFO,1,
|
2021-11-16 11:49:16 +01:00
|
|
|
[define if you have JxlEncoderInitBasicInfo.])
|
2021-11-16 10:51:19 +01:00
|
|
|
],[]
|
|
|
|
)
|
|
|
|
LIBS="$save_LIBS"
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
2021-05-10 17:45:28 +02:00
|
|
|
AS_IF([test x"$with_libjxl_module" = x"yes"],
|
|
|
|
[AC_DEFINE([LIBJXL_MODULE], [1], [define to build libjxl as a dynamically loadable module.])],
|
|
|
|
[VIPS_CFLAGS="$VIPS_CFLAGS $LIBJXL_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $LIBJXL_LIBS"])
|
|
|
|
AM_CONDITIONAL(LIBJXL_MODULE, [test x"$with_libjxl_module" = x"yes"])
|
2021-04-01 10:21:41 +02:00
|
|
|
|
2021-03-17 12:31:25 +01:00
|
|
|
# openjpeg
|
|
|
|
AC_ARG_WITH([libopenjp2],
|
|
|
|
AS_HELP_STRING([--without-libopenjp2],
|
|
|
|
[build without libopenjp2 (default: test)]))
|
|
|
|
|
2021-04-30 11:42:32 +02:00
|
|
|
# 2.4 is the first one to have working threading and tiling
|
2021-03-17 12:31:25 +01:00
|
|
|
if test x"$with_libopenjp2" != x"no"; then
|
2021-04-30 11:42:32 +02:00
|
|
|
PKG_CHECK_MODULES(LIBOPENJP2, libopenjp2 >= 2.4,
|
2021-03-17 12:31:25 +01:00
|
|
|
[AC_DEFINE(HAVE_LIBOPENJP2,1,
|
2021-11-16 11:49:16 +01:00
|
|
|
[define if you have libopenjp2 >= 2.4 installed.])
|
2021-03-17 12:31:25 +01:00
|
|
|
with_libopenjp2=yes
|
|
|
|
PACKAGES_USED="$PACKAGES_USED libopenjp2"
|
|
|
|
],
|
|
|
|
[AC_MSG_WARN([libopenjp2 not found; disabling libopenjp2 support])
|
|
|
|
with_libopenjp2=no
|
|
|
|
]
|
|
|
|
)
|
|
|
|
fi
|
|
|
|
|
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $LIBOPENJP2_CFLAGS"
|
|
|
|
VIPS_INCLUDES="$VIPS_INCLUDES $LIBOPENJP2_INCLUDES"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $LIBOPENJP2_LIBS"
|
|
|
|
|
2019-01-20 12:33:12 +01:00
|
|
|
# libheif
|
|
|
|
AC_ARG_WITH([heif],
|
2021-02-14 13:55:45 +01:00
|
|
|
AS_HELP_STRING([--without-heif], [build without libheif (default: test)]),
|
|
|
|
[with_heif=$withval],
|
|
|
|
[with_heif=$gmodule_with_flag])
|
|
|
|
|
|
|
|
# libheif as a dynamically loadable module
|
|
|
|
AS_IF([test x"$with_heif" = x"module"],
|
|
|
|
[with_heif_module=$gmodule_supported_flag],
|
|
|
|
[with_heif_module=no])
|
2019-01-20 12:33:12 +01:00
|
|
|
|
|
|
|
if test x"$with_heif" != x"no"; then
|
2020-09-15 11:18:38 +02:00
|
|
|
PKG_CHECK_MODULES(HEIF, libheif >= 1.3.0,
|
2019-05-08 22:13:00 +02:00
|
|
|
[with_heif=yes
|
2021-07-02 15:18:19 +02:00
|
|
|
PKG_CHECK_VAR([have_h265_decoder], [libheif], [builtin_h265_decoder])
|
|
|
|
PKG_CHECK_VAR([have_avif_decoder], [libheif], [builtin_avif_decoder])
|
2019-05-10 13:59:24 +02:00
|
|
|
# test for !=no so that we work for older libheif which does not have
|
|
|
|
# this variable
|
2020-05-18 20:43:43 +02:00
|
|
|
if test x"$have_h265_decoder" != x"no" -o x"$have_avif_decoder" = x"yes"; then
|
2019-05-08 22:13:00 +02:00
|
|
|
AC_DEFINE(HAVE_HEIF_DECODER,1,
|
2021-03-07 13:53:20 +01:00
|
|
|
[define if your libheif has decode support.])
|
2019-05-08 22:13:00 +02:00
|
|
|
fi
|
2021-07-02 15:18:19 +02:00
|
|
|
PKG_CHECK_VAR([have_h265_encoder], [libheif], [builtin_h265_encoder])
|
|
|
|
PKG_CHECK_VAR([have_avif_encoder], [libheif], [builtin_avif_encoder])
|
2020-05-18 20:43:43 +02:00
|
|
|
if test x"$have_h265_encoder" != x"no" -o x"$have_avif_encoder" = x"yes"; then
|
2019-05-08 22:13:00 +02:00
|
|
|
AC_DEFINE(HAVE_HEIF_ENCODER,1,
|
2021-03-07 13:53:20 +01:00
|
|
|
[define if your libheif has encode support.])
|
2019-05-08 22:13:00 +02:00
|
|
|
fi
|
2021-05-10 17:45:28 +02:00
|
|
|
AS_IF([test x"$with_heif_module" = x"no"],
|
|
|
|
[PACKAGES_USED="$PACKAGES_USED libheif"])
|
2019-01-20 12:33:12 +01:00
|
|
|
],
|
2020-09-15 11:18:38 +02:00
|
|
|
[AC_MSG_WARN([libheif >= 1.3.0 not found; disabling HEIF support])
|
2019-01-20 12:33:12 +01:00
|
|
|
with_heif=no
|
2021-02-14 13:55:45 +01:00
|
|
|
with_heif_module=no
|
2019-05-08 22:13:00 +02:00
|
|
|
have_h265_decoder=
|
|
|
|
have_h265_encoder=
|
2020-05-18 20:43:43 +02:00
|
|
|
have_avif_decoder=
|
|
|
|
have_avif_encoder=
|
2019-01-20 12:33:12 +01:00
|
|
|
]
|
|
|
|
)
|
|
|
|
fi
|
|
|
|
|
2021-02-14 13:55:45 +01:00
|
|
|
AS_IF([test x"$with_heif_module" = x"yes"],
|
|
|
|
[AC_DEFINE([HEIF_MODULE], [1], [define to build libheif as a dynamically loadable module.])],
|
|
|
|
[VIPS_CFLAGS="$VIPS_CFLAGS $HEIF_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $HEIF_LIBS"])
|
|
|
|
AM_CONDITIONAL(HEIF_MODULE, [test x"$with_heif_module" = x"yes"])
|
|
|
|
|
2019-02-20 13:30:12 +01:00
|
|
|
# color profile support added in 1.3.3
|
|
|
|
if test x"$with_heif" = x"yes"; then
|
|
|
|
save_LIBS="$LIBS"
|
|
|
|
LIBS="$LIBS $HEIF_LIBS"
|
|
|
|
AC_CHECK_FUNCS(heif_image_handle_get_raw_color_profile,[
|
|
|
|
AC_DEFINE(HAVE_HEIF_COLOR_PROFILE,1,
|
2021-03-07 13:53:20 +01:00
|
|
|
[define if you have heif_image_handle_get_raw_color_profile.])
|
2019-02-20 13:30:12 +01:00
|
|
|
],[]
|
2019-03-06 21:32:34 +01:00
|
|
|
)
|
|
|
|
LIBS="$save_LIBS"
|
|
|
|
fi
|
|
|
|
|
2022-02-23 11:34:07 +01:00
|
|
|
# heif_context_set_maximum_image_size_limit added in 1.6.0
|
|
|
|
if test x"$with_heif" = x"yes"; then
|
|
|
|
save_LIBS="$LIBS"
|
|
|
|
LIBS="$LIBS $HEIF_LIBS"
|
|
|
|
AC_CHECK_FUNCS(heif_context_set_maximum_image_size_limit,[
|
|
|
|
AC_DEFINE(HAVE_HEIF_SET_MAX_IMAGE_SIZE_LIMIT,1,
|
|
|
|
[define if you have heif_context_set_maximum_image_size_limit.])
|
|
|
|
],[]
|
|
|
|
)
|
|
|
|
LIBS="$save_LIBS"
|
|
|
|
fi
|
|
|
|
|
2020-10-11 20:54:36 +02:00
|
|
|
# heif_main_brand added in 1.4.0, but heif_avif appeared in 1.7 ... just check
|
|
|
|
# the libheif version number since testing for enums is annoying
|
2020-10-09 16:54:17 +02:00
|
|
|
if test x"$with_heif" = x"yes"; then
|
2020-10-11 20:54:36 +02:00
|
|
|
PKG_CHECK_MODULES(HEIF_AVIF, libheif >= 1.7.0, [
|
|
|
|
AC_DEFINE(HAVE_HEIF_AVIF,1,[define if you have heif_avif.])
|
|
|
|
], [
|
|
|
|
])
|
2020-10-09 16:54:17 +02:00
|
|
|
fi
|
|
|
|
|
2020-06-10 10:27:08 +02:00
|
|
|
# heif_decoding_options.convert_hdr_to_8bit added in 1.7.0
|
|
|
|
if test x"$with_heif" = x"yes"; then
|
|
|
|
save_CFLAGS="$CFLAGS"
|
|
|
|
CFLAGS="$CFLAGS $HEIF_CFLAGS"
|
|
|
|
AC_CHECK_MEMBER([struct heif_decoding_options.convert_hdr_to_8bit],[
|
|
|
|
AC_DEFINE(HAVE_HEIF_DECODING_OPTIONS_CONVERT_HDR_TO_8BIT,1,
|
2021-03-07 13:53:20 +01:00
|
|
|
[define if you have heif_decoding_options.convert_hdr_to_8bit])
|
2020-06-10 10:27:08 +02:00
|
|
|
],[],
|
|
|
|
[#include <libheif/heif.h>])
|
|
|
|
CFLAGS="$save_CFLAGS"
|
|
|
|
fi
|
|
|
|
|
2018-03-30 12:59:57 +02:00
|
|
|
# pdfium
|
|
|
|
AC_ARG_WITH([pdfium],
|
|
|
|
AS_HELP_STRING([--without-pdfium], [build without pdfium (default: test)]))
|
|
|
|
|
2020-10-16 16:13:25 +02:00
|
|
|
# pick 4200 as the starting version number ... no reason, really, it'd
|
|
|
|
# probably work with much older versions
|
2018-03-30 12:59:57 +02:00
|
|
|
if test x"$with_pdfium" != x"no"; then
|
2020-10-16 16:13:25 +02:00
|
|
|
PKG_CHECK_MODULES(PDFIUM, pdfium >= 4200, [
|
|
|
|
AC_DEFINE(HAVE_PDFIUM,1,[define if you have pdfium > 4200.])
|
|
|
|
if test x"$with_poppler" != x"no"; then
|
|
|
|
AC_MSG_WARN([PDFium found, disabling poppler])
|
|
|
|
with_poppler=no
|
|
|
|
fi
|
|
|
|
with_pdfium=yes
|
|
|
|
PACKAGES_USED="$PACKAGES_USED pdfium"
|
|
|
|
], [
|
|
|
|
with_pdfium=no
|
|
|
|
])
|
2018-03-30 12:59:57 +02:00
|
|
|
fi
|
|
|
|
|
2021-03-07 13:41:44 +01:00
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $PDFIUM_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $PDFIUM_LIBS"
|
|
|
|
|
2016-02-08 00:33:43 +01:00
|
|
|
# poppler
|
|
|
|
AC_ARG_WITH([poppler],
|
2021-04-21 16:39:02 +02:00
|
|
|
AS_HELP_STRING([--without-poppler], [build without poppler (default: test)]),
|
|
|
|
[with_poppler=$withval],
|
|
|
|
[with_poppler=$gmodule_with_flag])
|
|
|
|
|
|
|
|
# poppler as a dynamically loadable module
|
|
|
|
AS_IF([test x"$with_poppler" = x"module"],
|
|
|
|
[with_poppler_module=$gmodule_supported_flag],
|
|
|
|
[with_poppler_module=no])
|
2016-02-08 00:33:43 +01:00
|
|
|
|
|
|
|
if test x"$with_poppler" != x"no"; then
|
2020-10-16 16:13:25 +02:00
|
|
|
PKG_CHECK_MODULES(POPPLER, [poppler-glib >= 0.16.0 cairo >= 1.2], [
|
|
|
|
AC_DEFINE(HAVE_POPPLER,1,[define if you have poppler-glib >= 0.16.0 and cairo >= 1.2 installed.])
|
|
|
|
with_poppler=yes
|
2021-04-21 16:39:02 +02:00
|
|
|
AS_IF([test x"$with_poppler_module" = x"no"],
|
|
|
|
[PACKAGES_USED="$PACKAGES_USED poppler-glib cairo"])
|
2020-10-16 16:13:25 +02:00
|
|
|
], [
|
|
|
|
AC_MSG_WARN([poppler-glib >= 0.16.0 or cairo >= 1.2 not found; disabling PDF load via poppler])
|
|
|
|
with_poppler=no
|
2021-04-21 16:39:02 +02:00
|
|
|
with_poppler_module=no
|
2020-10-16 16:13:25 +02:00
|
|
|
])
|
2007-08-29 18:23:50 +02:00
|
|
|
fi
|
|
|
|
|
2021-04-21 16:39:02 +02:00
|
|
|
AS_IF([test x"$with_poppler_module" = x"yes"],
|
|
|
|
[AC_DEFINE([POPPLER_MODULE], [1], [define to build poppler as a dynamically loadable module.])],
|
|
|
|
[VIPS_CFLAGS="$VIPS_CFLAGS $POPPLER_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $POPPLER_LIBS"])
|
|
|
|
AM_CONDITIONAL(POPPLER_MODULE, [test x"$with_poppler_module" = x"yes"])
|
2021-03-07 13:41:44 +01:00
|
|
|
|
2016-02-09 12:01:12 +01:00
|
|
|
# librsvg
|
|
|
|
AC_ARG_WITH([rsvg],
|
|
|
|
AS_HELP_STRING([--without-rsvg], [build without rsvg (default: test)]))
|
|
|
|
|
2019-06-29 15:55:47 +02:00
|
|
|
# 2.40.3 so we get the UNLIMITED open flag
|
2016-02-09 12:01:12 +01:00
|
|
|
if test x"$with_rsvg" != x"no"; then
|
2020-10-16 16:13:25 +02:00
|
|
|
PKG_CHECK_MODULES(RSVG, [librsvg-2.0 >= 2.40.3 cairo >= 1.2], [
|
|
|
|
AC_DEFINE(HAVE_RSVG,1,[define if you have librsvg-2.0 >= 2.40.3 and cairo >= 1.2 installed.])
|
|
|
|
with_rsvg=yes
|
|
|
|
PACKAGES_USED="$PACKAGES_USED librsvg-2.0 cairo"
|
2021-06-11 11:35:17 +02:00
|
|
|
|
|
|
|
# 2.46 for rsvg_handle_render_document
|
|
|
|
PKG_CHECK_MODULES(RSVG_HANDLE_RENDER_DOCUMENT, librsvg-2.0 >= 2.46,
|
|
|
|
[AC_DEFINE(HAVE_RSVG_HANDLE_RENDER_DOCUMENT,1,[define if your librsvg has rsvg_handle_render_document().])
|
|
|
|
],
|
|
|
|
[:
|
|
|
|
]
|
|
|
|
)
|
2020-10-16 16:13:25 +02:00
|
|
|
], [
|
|
|
|
AC_MSG_WARN([librsvg-2.0 >= 2.40.3 or cairo >= 1.2 not found; disabling SVG load via rsvg])
|
|
|
|
with_rsvg=no
|
|
|
|
])
|
2016-02-09 12:01:12 +01:00
|
|
|
fi
|
|
|
|
|
2021-03-07 13:41:44 +01:00
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $RSVG_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $RSVG_LIBS"
|
|
|
|
|
2016-06-27 03:03:45 +02:00
|
|
|
# zlib
|
|
|
|
# some platforms, like macosx, are missing the .pc files for zlib, so
|
|
|
|
# we fall back to FIND_ZLIB
|
|
|
|
AC_ARG_WITH([zlib],
|
|
|
|
AS_HELP_STRING([--without-zlib], [build without zlib (default: test)]))
|
|
|
|
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$with_zlib" != x"no"; then
|
2016-06-27 03:03:45 +02:00
|
|
|
PKG_CHECK_MODULES(ZLIB, zlib >= 0.4,
|
|
|
|
[AC_DEFINE(HAVE_ZLIB,1,[define if you have zlib installed.])
|
|
|
|
with_zlib=yes
|
|
|
|
PACKAGES_USED="$PACKAGES_USED zlib"
|
|
|
|
],
|
|
|
|
[FIND_ZLIB(
|
|
|
|
[with_zlib="yes (found by search)"
|
|
|
|
],
|
|
|
|
[AC_MSG_WARN([zlib not found; disabling SVGZ buffer support])
|
|
|
|
with_zlib=no
|
|
|
|
]
|
|
|
|
)
|
|
|
|
]
|
|
|
|
)
|
|
|
|
fi
|
|
|
|
|
2021-03-07 13:41:44 +01:00
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $ZLIB_CFLAGS"
|
|
|
|
VIPS_INCLUDES="$VIPS_INCLUDES $ZLIB_INCLUDES"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $ZLIB_LIBS"
|
|
|
|
|
2011-11-27 04:18:46 +01:00
|
|
|
# OpenSlide
|
|
|
|
AC_ARG_WITH([openslide],
|
2016-02-08 00:33:43 +01:00
|
|
|
AS_HELP_STRING([--without-openslide],
|
2021-03-27 18:42:53 +01:00
|
|
|
[build without OpenSlide (default: test)]),
|
|
|
|
[with_openslide=$withval],
|
|
|
|
[with_openslide=$gmodule_with_flag])
|
|
|
|
|
|
|
|
# OpenSlide as a dynamically loadable module
|
|
|
|
AS_IF([test x"$with_openslide" = x"module"],
|
|
|
|
[with_openslide_module=$gmodule_supported_flag],
|
|
|
|
[with_openslide_module=no])
|
2011-11-27 04:18:46 +01:00
|
|
|
|
2011-12-24 18:36:55 +01:00
|
|
|
if test x"$with_openslide" != x"no"; then
|
2014-01-25 08:56:27 +01:00
|
|
|
PKG_CHECK_MODULES(OPENSLIDE, [openslide >= 3.4.0],
|
|
|
|
[AC_DEFINE(HAVE_OPENSLIDE_3_4,1,[define if you have OpenSlide >= 3.4.0 installed.])
|
|
|
|
AC_DEFINE(HAVE_OPENSLIDE,1,[define if you have OpenSlide >= 3.3.0 installed.])
|
2011-11-27 04:18:46 +01:00
|
|
|
with_openslide=yes
|
2021-03-27 18:42:53 +01:00
|
|
|
AS_IF([test x"$with_openslide_module" = x"no"],
|
|
|
|
[PACKAGES_USED="$PACKAGES_USED openslide"])
|
2016-02-08 00:33:43 +01:00
|
|
|
],
|
2014-01-25 08:56:27 +01:00
|
|
|
[AC_MSG_NOTICE([OpenSlide >= 3.4.0 not found; checking for >= 3.3.0])
|
|
|
|
PKG_CHECK_MODULES(OPENSLIDE, [openslide >= 3.3.0],
|
2016-02-08 00:33:43 +01:00
|
|
|
[AC_DEFINE(HAVE_OPENSLIDE,1,[define if you have OpenSlide >= 3.3.0 installed.])
|
|
|
|
with_openslide=yes
|
2021-03-27 18:42:53 +01:00
|
|
|
AS_IF([test x"$with_openslide_module" = x"no"],
|
|
|
|
[PACKAGES_USED="$PACKAGES_USED openslide"])
|
2016-02-08 00:33:43 +01:00
|
|
|
],
|
|
|
|
[AC_MSG_WARN([OpenSlide >= 3.3.0 not found; disabling virtual slide support])
|
|
|
|
with_openslide=no
|
2021-03-27 18:42:53 +01:00
|
|
|
with_openslide_module=no
|
2016-02-08 00:33:43 +01:00
|
|
|
]
|
|
|
|
)
|
|
|
|
]
|
|
|
|
)
|
2011-11-27 04:18:46 +01:00
|
|
|
fi
|
|
|
|
|
2021-03-27 18:42:53 +01:00
|
|
|
AS_IF([test x"$with_openslide_module" = x"yes"],
|
|
|
|
[AC_DEFINE([OPENSLIDE_MODULE], [1], [define to build OpenSlide as a dynamically loadable module.])],
|
|
|
|
[VIPS_CFLAGS="$VIPS_CFLAGS $OPENSLIDE_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $OPENSLIDE_LIBS"])
|
|
|
|
AM_CONDITIONAL(OPENSLIDE_MODULE, [test x"$with_openslide_module" = x"yes"])
|
2021-03-07 13:41:44 +01:00
|
|
|
|
2009-02-27 17:52:25 +01:00
|
|
|
# matio
|
|
|
|
AC_ARG_WITH([matio],
|
|
|
|
AS_HELP_STRING([--without-matio], [build without matio (default: test)]))
|
|
|
|
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$with_matio" != x"no"; then
|
2009-02-27 17:52:25 +01:00
|
|
|
PKG_CHECK_MODULES(MATIO, matio,
|
|
|
|
[AC_DEFINE(HAVE_MATIO,1,[define if you have matio installed.])
|
|
|
|
with_matio=yes
|
2016-05-18 11:41:05 +02:00
|
|
|
PACKAGES_USED="$PACKAGES_USED matio"
|
|
|
|
],
|
2009-02-27 17:52:25 +01:00
|
|
|
[AC_MSG_WARN([matio not found; disabling matio support])
|
|
|
|
with_matio=no
|
2016-05-18 11:41:05 +02:00
|
|
|
]
|
|
|
|
)
|
2009-02-27 17:52:25 +01:00
|
|
|
fi
|
|
|
|
|
2021-03-07 13:41:44 +01:00
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $MATIO_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $MATIO_LIBS"
|
|
|
|
|
2016-03-12 17:48:27 +01:00
|
|
|
# not external libraries, but have options to disable them, helps to
|
|
|
|
# reduce attack surface
|
|
|
|
|
2021-02-28 13:20:05 +01:00
|
|
|
AC_ARG_WITH([nsgif],
|
|
|
|
AS_HELP_STRING([--without-nsgif], [build without nsgif load (default: with)]))
|
|
|
|
|
|
|
|
if test x"$with_nsgif" != x"no"; then
|
|
|
|
AC_DEFINE(HAVE_NSGIF,1,[define to build nsgif load support.])
|
|
|
|
with_nsgif=yes
|
|
|
|
fi
|
|
|
|
|
|
|
|
AM_CONDITIONAL(ENABLE_NSGIF, [test x"$with_nsgif" = x"yes"])
|
|
|
|
|
2016-03-12 17:48:27 +01:00
|
|
|
AC_ARG_WITH([ppm],
|
|
|
|
AS_HELP_STRING([--without-ppm], [build without ppm (default: with)]))
|
|
|
|
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$with_ppm" != x"no"; then
|
2016-03-12 17:48:27 +01:00
|
|
|
AC_DEFINE(HAVE_PPM,1,[define to build ppm support.])
|
|
|
|
with_ppm=yes
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_ARG_WITH([analyze],
|
|
|
|
AS_HELP_STRING([--without-analyze], [build without analyze (default: with)]))
|
|
|
|
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$with_analyze" != x"no"; then
|
2016-03-12 17:48:27 +01:00
|
|
|
AC_DEFINE(HAVE_ANALYZE,1,[define to build analyze support.])
|
|
|
|
with_analyze=yes
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_ARG_WITH([radiance],
|
|
|
|
AS_HELP_STRING([--without-radiance], [build without radiance (default: with)]))
|
|
|
|
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$with_radiance" != x"no"; then
|
2016-03-12 17:48:27 +01:00
|
|
|
AC_DEFINE(HAVE_RADIANCE,1,[define to build radiance support.])
|
|
|
|
with_radiance=yes
|
|
|
|
fi
|
|
|
|
|
2010-10-26 17:12:49 +02:00
|
|
|
# cfitsio
|
|
|
|
AC_ARG_WITH([cfitsio],
|
|
|
|
AS_HELP_STRING([--without-cfitsio], [build without cfitsio (default: test)]))
|
|
|
|
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$with_cfitsio" != x"no"; then
|
2010-10-26 17:12:49 +02:00
|
|
|
PKG_CHECK_MODULES(CFITSIO, cfitsio,
|
|
|
|
[AC_DEFINE(HAVE_CFITSIO,1,[define if you have cfitsio installed.])
|
|
|
|
with_cfitsio=yes
|
2016-05-18 11:41:05 +02:00
|
|
|
PACKAGES_USED="$PACKAGES_USED cfitsio"
|
|
|
|
],
|
2010-10-26 17:12:49 +02:00
|
|
|
[AC_MSG_WARN([cfitsio not found; disabling cfitsio support])
|
|
|
|
with_cfitsio=no
|
2016-05-18 11:41:05 +02:00
|
|
|
]
|
|
|
|
)
|
2010-10-26 17:12:49 +02:00
|
|
|
fi
|
|
|
|
|
2021-03-07 13:41:44 +01:00
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $CFITSIO_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $CFITSIO_LIBS"
|
|
|
|
|
2019-07-05 13:14:32 +02:00
|
|
|
# libwebp ... target 0.6+ to reduce complication
|
2018-10-29 19:32:20 +01:00
|
|
|
# webp has the stuff for handling metadata in two separate libraries -- we
|
|
|
|
# insit on having all of them
|
2013-08-06 11:01:50 +02:00
|
|
|
AC_ARG_WITH([libwebp],
|
|
|
|
AS_HELP_STRING([--without-libwebp], [build without libwebp (default: test)]))
|
|
|
|
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$with_libwebp" != x"no"; then
|
2019-07-05 13:14:32 +02:00
|
|
|
PKG_CHECK_MODULES(LIBWEBP, libwebp >= 0.6 libwebpmux >= 0.6 libwebpdemux >= 0.6,
|
2018-10-29 19:32:20 +01:00
|
|
|
[AC_DEFINE(HAVE_LIBWEBP,1,[define if you have libwebp/libwebpmux/libwebpdemux installed.])
|
2013-08-06 11:01:50 +02:00
|
|
|
with_libwebp=yes
|
2018-10-29 19:32:20 +01:00
|
|
|
PACKAGES_USED="$PACKAGES_USED libwebp libwebpmux libwebpdemux"
|
2016-05-18 11:41:05 +02:00
|
|
|
],
|
2018-10-29 19:32:20 +01:00
|
|
|
[AC_MSG_WARN([libwebp, mux, demux not found; disabling WEBP support])
|
|
|
|
with_libwebp=no
|
2016-11-07 11:01:59 +01:00
|
|
|
]
|
|
|
|
)
|
|
|
|
fi
|
|
|
|
|
2021-03-07 13:41:44 +01:00
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $LIBWEBP_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $LIBWEBP_LIBS"
|
|
|
|
|
2021-04-12 16:11:18 +02:00
|
|
|
# pangocairo for text rendering
|
|
|
|
AC_ARG_WITH([pangocairo],
|
|
|
|
AS_HELP_STRING([--without-pangocairo],
|
|
|
|
[build without pangocairo (default: test)]))
|
|
|
|
|
|
|
|
if test x"$with_pangocairo" != x"no"; then
|
|
|
|
PKG_CHECK_MODULES(PANGOCAIRO, pangocairo,
|
|
|
|
[AC_DEFINE(HAVE_PANGOCAIRO,1,[define if you have pangocairo installed.])
|
|
|
|
with_pangocairo=yes
|
|
|
|
PACKAGES_USED="$PACKAGES_USED pangocairo"
|
2014-12-18 10:15:58 +01:00
|
|
|
],
|
2021-04-12 16:11:18 +02:00
|
|
|
[AC_MSG_WARN([pangocairo not found; disabling pangocairo support])
|
|
|
|
with_pangocairo=no
|
2016-05-18 11:41:05 +02:00
|
|
|
]
|
|
|
|
)
|
2007-08-29 18:23:50 +02:00
|
|
|
fi
|
|
|
|
|
2021-04-12 16:11:18 +02:00
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $PANGOCAIRO_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $PANGOCAIRO_LIBS"
|
2021-03-07 13:41:44 +01:00
|
|
|
|
2021-04-20 13:40:10 +02:00
|
|
|
# font file support with fontconfig
|
|
|
|
AC_ARG_WITH([fontconfig],
|
|
|
|
AS_HELP_STRING([--without-fontconfig],
|
|
|
|
[build without fontconfig (default: test)]))
|
|
|
|
|
|
|
|
if test x"$with_pangocairo" != x"no" -a x"$with_fontconfig" != x"no"; then
|
|
|
|
PKG_CHECK_MODULES(FONTCONFIG, fontconfig,
|
|
|
|
[AC_DEFINE(HAVE_FONTCONFIG,1,[define if you have fontconfig installed.])
|
|
|
|
with_fontconfig=yes
|
|
|
|
PACKAGES_USED="$PACKAGES_USED fontconfig"
|
|
|
|
],
|
|
|
|
[AC_MSG_WARN([fontconfig not found; disabling fontconfig support])
|
|
|
|
with_fontconfig=no
|
|
|
|
]
|
|
|
|
)
|
|
|
|
fi
|
|
|
|
|
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $FONTCONFIG_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $FONTCONFIG_LIBS"
|
|
|
|
|
2012-05-06 12:55:59 +02:00
|
|
|
# look for TIFF with pkg-config ... fall back to our tester
|
|
|
|
# pkgconfig support for libtiff starts with libtiff-4
|
|
|
|
AC_ARG_WITH([tiff],
|
|
|
|
AS_HELP_STRING([--without-tiff], [build without libtiff (default: test)]))
|
|
|
|
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$with_tiff" != x"no"; then
|
2012-05-06 12:55:59 +02:00
|
|
|
PKG_CHECK_MODULES(TIFF, libtiff-4,
|
|
|
|
[AC_DEFINE(HAVE_TIFF,1,[define if you have libtiff installed.])
|
2012-07-13 13:56:08 +02:00
|
|
|
with_tiff="yes (pkg-config libtiff-4)"
|
2016-05-18 11:41:05 +02:00
|
|
|
PACKAGES_USED="$PACKAGES_USED libtiff-4"
|
|
|
|
],
|
2012-06-20 12:57:03 +02:00
|
|
|
[FIND_TIFF(
|
2016-05-18 11:41:05 +02:00
|
|
|
with_tiff="yes (found by search)",
|
|
|
|
[AC_MSG_WARN([libtiff not found; disabling TIFF support])
|
|
|
|
with_tiff=no
|
|
|
|
]
|
|
|
|
)
|
|
|
|
]
|
|
|
|
)
|
2012-05-06 12:55:59 +02:00
|
|
|
fi
|
|
|
|
|
2021-03-05 13:16:38 +01:00
|
|
|
# ZSTD and WEBP in TIFF added in libtiff 4.0.10
|
2019-07-08 11:39:44 +02:00
|
|
|
if test x"$with_tiff" != x"no"; then
|
|
|
|
save_INCLUDES="$INCLUDES"
|
|
|
|
INCLUDES="$INCLUDES $TIFF_INCLUDES"
|
|
|
|
AC_CHECK_DECL(COMPRESSION_WEBP,[
|
|
|
|
AC_DEFINE(HAVE_TIFF_COMPRESSION_WEBP,1,[define if your libtiff has webp.])
|
|
|
|
],[
|
|
|
|
],[
|
|
|
|
[#include <tiffio.h>]
|
|
|
|
]
|
|
|
|
)
|
|
|
|
INCLUDES="$save_INCLUDES"
|
|
|
|
fi
|
|
|
|
|
2021-03-07 13:41:44 +01:00
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $TIFF_CFLAGS"
|
|
|
|
VIPS_INCLUDES="$VIPS_INCLUDES $TIFF_INCLUDES"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $TIFF_LIBS"
|
|
|
|
|
2022-02-11 17:30:23 +01:00
|
|
|
# Look for libspng before libpng
|
2020-05-02 00:20:48 +02:00
|
|
|
AC_ARG_WITH([libspng],
|
|
|
|
AS_HELP_STRING([--without-libspng], [build without libspng (default: test)]))
|
2020-05-01 17:05:48 +02:00
|
|
|
|
2020-05-02 00:20:48 +02:00
|
|
|
if test x"$with_libspng" != x"no"; then
|
2022-02-11 17:30:23 +01:00
|
|
|
# we need 0.7 for PNG write support
|
|
|
|
# it's sometimes called libspng.pc, sometimes spng.pc, we have to search for both
|
|
|
|
PKG_CHECK_MODULES(SPNG, spng >= 0.7,
|
|
|
|
[with_libspng=yes
|
|
|
|
PACKAGES_USED="$PACKAGES_USED spng"
|
|
|
|
],
|
|
|
|
[PKG_CHECK_MODULES(SPNG, libspng >= 0.7,
|
|
|
|
[with_libspng=yes
|
|
|
|
PACKAGES_USED="$PACKAGES_USED libspng"
|
|
|
|
],
|
|
|
|
[with_libspng=no
|
|
|
|
]
|
|
|
|
)]
|
2020-05-01 17:05:48 +02:00
|
|
|
)
|
|
|
|
fi
|
|
|
|
|
2022-02-11 17:30:23 +01:00
|
|
|
if test x"$with_libspng" == x"yes"; then
|
|
|
|
AC_DEFINE(HAVE_SPNG,1,[define if you have libspng installed.])
|
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $SPNG_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $SPNG_LIBS"
|
|
|
|
fi
|
2021-03-07 13:41:44 +01:00
|
|
|
|
2007-08-29 18:23:50 +02:00
|
|
|
# look for PNG with pkg-config ... fall back to our tester
|
2008-07-10 12:14:31 +02:00
|
|
|
AC_ARG_WITH([png],
|
|
|
|
AS_HELP_STRING([--without-png], [build without libpng (default: test)]))
|
2008-06-19 18:38:31 +02:00
|
|
|
|
2022-02-11 17:30:23 +01:00
|
|
|
# if spng is found, we don't need libpng
|
|
|
|
if test x"$with_libspng" = x"yes"; then
|
|
|
|
with_png=no
|
|
|
|
fi
|
|
|
|
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$with_png" != x"no"; then
|
2011-03-20 12:28:17 +01:00
|
|
|
PKG_CHECK_MODULES(PNG, libpng >= 1.2.9,
|
2008-06-19 18:38:31 +02:00
|
|
|
[AC_DEFINE(HAVE_PNG,1,[define if you have libpng installed.])
|
2012-07-13 13:56:08 +02:00
|
|
|
with_png="yes (pkg-config libpng >= 1.2.9)"
|
2016-05-18 11:41:05 +02:00
|
|
|
PACKAGES_USED="$PACKAGES_USED libpng"
|
|
|
|
],
|
2012-06-20 12:57:03 +02:00
|
|
|
[FIND_PNG(
|
2016-05-18 11:41:05 +02:00
|
|
|
[with_png="yes (found by search)"
|
|
|
|
],
|
|
|
|
[AC_MSG_WARN([libpng not found; disabling PNG support])
|
|
|
|
with_png=no
|
|
|
|
]
|
|
|
|
)
|
|
|
|
]
|
|
|
|
)
|
2008-06-19 18:38:31 +02:00
|
|
|
fi
|
2007-08-29 18:23:50 +02:00
|
|
|
|
2019-04-20 07:07:18 +02:00
|
|
|
if test x"$with_png" != x"no"; then
|
|
|
|
save_LIBS="$LIBS"
|
|
|
|
save_CFLAGS="$CFLAGS"
|
|
|
|
LIBS="$PNG_LIBS $LIBS"
|
|
|
|
CFLAGS="$PNG_INCLUDES $CFLAGS"
|
|
|
|
AC_CHECK_FUNCS(png_set_chunk_malloc_max,
|
|
|
|
AC_DEFINE(HAVE_PNG_SET_CHUNK_MALLOC_MAX,1,
|
2021-03-07 13:53:20 +01:00
|
|
|
[define if your libpng has png_set_chunk_malloc_max.]))
|
2019-04-20 07:07:18 +02:00
|
|
|
LIBS="$save_LIBS"
|
|
|
|
CFLAGS="$save_CFLAGS"
|
|
|
|
fi
|
|
|
|
|
2021-03-07 13:41:44 +01:00
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $PNG_CFLAGS"
|
|
|
|
VIPS_INCLUDES="$VIPS_INCLUDES $PNG_INCLUDES"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $PNG_LIBS"
|
|
|
|
|
2021-11-21 12:29:28 +01:00
|
|
|
# quant package we use
|
|
|
|
quantisation_package=
|
2021-11-21 11:11:28 +01:00
|
|
|
|
2021-11-21 12:29:28 +01:00
|
|
|
# look for libimagequant with pkg-config
|
2018-06-10 20:02:04 +02:00
|
|
|
AC_ARG_WITH([imagequant],
|
|
|
|
AS_HELP_STRING([--without-imagequant], [build without imagequant (default: test)]))
|
|
|
|
|
2021-08-22 19:11:41 +02:00
|
|
|
if test x"$with_imagequant" != x"no"; then
|
2018-06-10 20:02:04 +02:00
|
|
|
PKG_CHECK_MODULES(IMAGEQUANT, imagequant,
|
|
|
|
[AC_DEFINE(HAVE_IMAGEQUANT,1,[define if you have imagequant installed.])
|
|
|
|
with_imagequant=yes
|
2021-11-21 12:29:28 +01:00
|
|
|
quantisation_package=imagequant
|
2018-06-10 20:02:04 +02:00
|
|
|
],
|
2021-11-21 11:11:28 +01:00
|
|
|
[with_imagequant=no]
|
2018-06-10 20:02:04 +02:00
|
|
|
)
|
|
|
|
else
|
|
|
|
with_imagequant=no
|
|
|
|
fi
|
|
|
|
|
2021-03-07 13:41:44 +01:00
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $IMAGEQUANT_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $IMAGEQUANT_LIBS"
|
|
|
|
|
2021-11-21 12:29:28 +01:00
|
|
|
# look for quantizr with pkg-config
|
2021-11-21 11:11:28 +01:00
|
|
|
AC_ARG_WITH([quantizr],
|
|
|
|
AS_HELP_STRING([--without-quantizr], [build without quantizr (default: test)]))
|
|
|
|
|
2021-11-21 12:29:28 +01:00
|
|
|
# only if libimagequant not found
|
|
|
|
if test x"$quantisation_package" == x""; then
|
|
|
|
if test x"$with_quantizr" != x"no"; then
|
|
|
|
PKG_CHECK_MODULES(QUANTIZR, quantizr,
|
|
|
|
[AC_DEFINE(HAVE_QUANTIZR,1,[define if you have quantizr installed.])
|
|
|
|
with_quantizr=yes
|
|
|
|
quantisation_package=quantizr
|
|
|
|
],
|
|
|
|
[with_quantizr=no]
|
|
|
|
)
|
|
|
|
else
|
|
|
|
with_quantizr=no
|
|
|
|
fi
|
2021-11-21 11:11:28 +01:00
|
|
|
fi
|
|
|
|
|
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $QUANTIZR_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $QUANTIZR_LIBS"
|
|
|
|
|
2021-11-21 12:29:28 +01:00
|
|
|
PACKAGES_USED="$PACKAGES_USED $quantisation_package"
|
2021-11-21 11:11:28 +01:00
|
|
|
|
2018-02-12 14:31:49 +01:00
|
|
|
# look for libjpeg with pkg-config ... fall back to our tester
|
|
|
|
AC_ARG_WITH([jpeg],
|
|
|
|
AS_HELP_STRING([--without-jpeg], [build without libjpeg (default: test)]))
|
|
|
|
|
|
|
|
if test x"$with_jpeg" != x"no"; then
|
|
|
|
PKG_CHECK_MODULES(JPEG, libjpeg,
|
2018-02-22 17:34:01 +01:00
|
|
|
[AC_DEFINE(HAVE_JPEG,1,[define if you have libjpeg installed.])
|
|
|
|
with_jpeg="yes (pkg-config)"
|
2018-02-12 14:31:49 +01:00
|
|
|
PACKAGES_USED="$PACKAGES_USED libjpeg"
|
|
|
|
],
|
|
|
|
[FIND_JPEG(
|
|
|
|
[with_jpeg="yes (found by search)"
|
2018-12-12 18:24:49 +01:00
|
|
|
EXTRA_LIBS_USED="$EXTRA_LIBS_USED -ljpeg"
|
2018-02-12 14:31:49 +01:00
|
|
|
],
|
|
|
|
[AC_MSG_WARN([libjpeg not found; disabling JPEG support])
|
|
|
|
with_jpeg=no
|
|
|
|
]
|
|
|
|
)
|
|
|
|
]
|
|
|
|
)
|
|
|
|
fi
|
2011-12-19 22:40:08 +01:00
|
|
|
|
2018-02-12 14:31:49 +01:00
|
|
|
# features like trellis quant are exposed as extension parameters ...
|
|
|
|
# mozjpeg 3.2 and later have #define JPEG_C_PARAM_SUPPORTED, but we must
|
|
|
|
# work with earlier versions
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$with_jpeg" != x"no"; then
|
2016-04-26 11:41:04 +02:00
|
|
|
save_LIBS="$LIBS"
|
2018-02-12 14:31:49 +01:00
|
|
|
save_CFLAGS="$CFLAGS"
|
|
|
|
LIBS="$JPEG_LIBS $LIBS"
|
|
|
|
CFLAGS="$JPEG_INCLUDES $CFLAGS"
|
2016-04-26 11:41:04 +02:00
|
|
|
AC_CHECK_FUNCS(jpeg_c_bool_param_supported,
|
|
|
|
AC_DEFINE(HAVE_JPEG_EXT_PARAMS,1,
|
2021-03-07 13:53:20 +01:00
|
|
|
[define if your libjpeg has extension parameters.]))
|
2016-04-26 11:41:04 +02:00
|
|
|
LIBS="$save_LIBS"
|
2018-02-12 14:31:49 +01:00
|
|
|
CFLAGS="$save_CFLAGS"
|
2015-04-12 13:00:05 +02:00
|
|
|
fi
|
|
|
|
|
2021-03-07 13:41:44 +01:00
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $JPEG_CFLAGS"
|
|
|
|
VIPS_INCLUDES="$VIPS_INCLUDES $JPEG_INCLUDES"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $JPEG_LIBS"
|
|
|
|
|
2007-08-29 18:23:50 +02:00
|
|
|
# libexif
|
2008-07-10 12:14:31 +02:00
|
|
|
AC_ARG_WITH([libexif],
|
|
|
|
AS_HELP_STRING([--without-libexif], [build without libexif (default: test)]))
|
2007-08-29 18:23:50 +02:00
|
|
|
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$with_libexif" != x"no"; then
|
2007-08-29 18:23:50 +02:00
|
|
|
PKG_CHECK_MODULES(EXIF, libexif >= 0.6,
|
|
|
|
[AC_DEFINE(HAVE_EXIF,1,[define if you have libexif >= 0.6 installed.])
|
2008-06-19 18:38:31 +02:00
|
|
|
with_libexif=yes
|
2016-05-18 11:41:05 +02:00
|
|
|
PACKAGES_USED="$PACKAGES_USED libexif"
|
|
|
|
],
|
2007-08-29 18:23:50 +02:00
|
|
|
[AC_MSG_WARN([libexif >= 0.6 not found; disabling exif support])
|
2008-06-19 18:38:31 +02:00
|
|
|
with_libexif=no
|
2016-05-18 11:41:05 +02:00
|
|
|
]
|
|
|
|
)
|
2007-08-29 18:23:50 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
# some libexif packages need include <libexif/poop.h>, some just <poop.h>
|
|
|
|
# how annoying
|
2018-06-20 15:20:22 +02:00
|
|
|
if test x"$with_libexif" != x"no"; then
|
2007-08-29 18:23:50 +02:00
|
|
|
# cppflags not cflags because we want the preproc to see the -I as well
|
2016-04-26 11:41:04 +02:00
|
|
|
save_CPPFLAGS="$CPPFLAGS"
|
2007-08-29 18:23:50 +02:00
|
|
|
CPPFLAGS="$EXIF_CFLAGS $CPPFLAGS"
|
|
|
|
AC_CHECK_HEADER(exif-data.h,
|
|
|
|
AC_DEFINE(UNTAGGED_EXIF,1,[libexif includes don't need libexif prefix]))
|
2016-04-26 11:41:04 +02:00
|
|
|
CPPFLAGS="$save_CPPFLAGS"
|
2007-08-29 18:23:50 +02:00
|
|
|
fi
|
|
|
|
|
2021-03-07 13:41:44 +01:00
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $EXIF_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $EXIF_LIBS"
|
|
|
|
|
2021-11-21 12:29:28 +01:00
|
|
|
# GIF save with libcgif (requires quantisation_package)
|
2021-08-22 19:11:41 +02:00
|
|
|
AC_ARG_WITH([cgif],
|
|
|
|
AS_HELP_STRING([--without-cgif], [build without cgif (default: test)]))
|
|
|
|
|
2021-11-21 12:29:28 +01:00
|
|
|
if test x"$quantisation_package" != x"" && test x"$with_cgif" != x"no"; then
|
2022-02-28 17:19:13 +01:00
|
|
|
PKG_CHECK_MODULES(CGIF, cgif >= 0.2.0,
|
|
|
|
[AC_DEFINE(HAVE_CGIF,1,[define if you have cgif >= 0.2.0 installed.])
|
2021-08-22 19:11:41 +02:00
|
|
|
with_cgif=yes
|
|
|
|
PACKAGES_USED="$PACKAGES_USED cgif"
|
|
|
|
],
|
|
|
|
[AC_MSG_WARN([libcgif not found])
|
|
|
|
with_cgif=no
|
|
|
|
]
|
|
|
|
)
|
|
|
|
else
|
|
|
|
with_cgif=no
|
|
|
|
fi
|
|
|
|
|
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $CGIF_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $CGIF_LIBS"
|
|
|
|
|
2019-02-28 12:28:09 +01:00
|
|
|
# fuzzing
|
|
|
|
AC_ARG_VAR([LIB_FUZZING_ENGINE],
|
|
|
|
[fuzzing library, e.g. /path/to/libFuzzer.a])
|
|
|
|
if test x"$LIB_FUZZING_ENGINE" = x; then
|
|
|
|
LIB_FUZZING_ENGINE="libstandaloneengine.a"
|
|
|
|
fi
|
|
|
|
|
2021-03-07 13:41:44 +01:00
|
|
|
VIPS_CFLAGS="$VIPS_CFLAGS $VIPS_DEBUG_FLAGS $REQUIRED_CFLAGS"
|
|
|
|
VIPS_LIBS="$VIPS_LIBS $REQUIRED_LIBS -lm"
|
2007-08-29 18:23:50 +02:00
|
|
|
|
2021-06-22 12:48:06 +02:00
|
|
|
# build options relevant at runtime ... this becomes `vips --vips-config`
|
|
|
|
# output
|
2021-03-07 13:41:44 +01:00
|
|
|
VIPS_CONFIG="\
|
|
|
|
enable debug: $enable_debug, \
|
|
|
|
enable deprecated library components: $enable_deprecated, \
|
2021-02-13 14:15:27 +01:00
|
|
|
enable modules: $gmodule_supported_flag, \
|
2021-03-07 13:41:44 +01:00
|
|
|
use fftw3 for FFT: $with_fftw, \
|
|
|
|
accelerate loops with orc: $with_orc, \
|
|
|
|
ICC profile support with lcms: $with_lcms, \
|
|
|
|
zlib: $with_zlib, \
|
2021-04-12 16:11:18 +02:00
|
|
|
text rendering with pangocairo: $with_pangocairo, \
|
2021-04-20 13:40:10 +02:00
|
|
|
font file support with fontconfig: $with_fontconfig, \
|
2021-06-22 12:48:06 +02:00
|
|
|
RAD load/save: $with_radiance, \
|
|
|
|
Analyze7 load/save: $with_analyze, \
|
|
|
|
PPM load/save: $with_ppm, \
|
|
|
|
GIF load: $with_nsgif, \
|
2021-12-09 14:00:58 +01:00
|
|
|
GIF save with cgif: $with_cgif, \
|
2021-03-07 13:41:44 +01:00
|
|
|
EXIF metadata support with libexif: $with_libexif, \
|
|
|
|
JPEG load/save with libjpeg: $with_jpeg, \
|
2021-05-10 17:45:28 +02:00
|
|
|
JXL load/save with libjxl: $with_libjxl (dynamic module: $with_libjxl_module), \
|
|
|
|
JPEG2000 load/save with libopenjp2: $with_libopenjp2, \
|
2021-03-07 13:41:44 +01:00
|
|
|
PNG load with libspng: $with_libspng, \
|
|
|
|
PNG load/save with libpng: $with_png, \
|
2021-11-21 12:29:28 +01:00
|
|
|
selected quantisation package: $quantisation_package, \
|
2021-03-07 13:41:44 +01:00
|
|
|
TIFF load/save with libtiff: $with_tiff, \
|
|
|
|
image pyramid save: $with_gsf, \
|
2021-02-14 13:55:45 +01:00
|
|
|
HEIC/AVIF load/save with libheif: $with_heif (dynamic module: $with_heif_module), \
|
2021-03-07 13:41:44 +01:00
|
|
|
WebP load/save with libwebp: $with_libwebp, \
|
|
|
|
PDF load with PDFium: $with_pdfium, \
|
2021-04-21 16:39:02 +02:00
|
|
|
PDF load with poppler-glib: $with_poppler (dynamic module: $with_poppler_module), \
|
2021-03-07 13:41:44 +01:00
|
|
|
SVG load with librsvg-2.0: $with_rsvg, \
|
2021-03-07 14:01:57 +01:00
|
|
|
EXR load with OpenEXR: $with_OpenEXR, \
|
2021-06-22 12:48:06 +02:00
|
|
|
OpenSlide load: $with_openslide (dynamic module: $with_openslide_module), \
|
2021-03-07 13:41:44 +01:00
|
|
|
Matlab load with matio: $with_matio, \
|
|
|
|
NIfTI load/save with niftiio: $with_nifti, \
|
|
|
|
FITS load/save with cfitsio: $with_cfitsio, \
|
2021-04-21 17:27:05 +02:00
|
|
|
Magick package: $with_magickpackage (dynamic module: $with_magick_module), \
|
2021-03-07 13:41:44 +01:00
|
|
|
Magick API version: $magick_version, \
|
|
|
|
load with libMagickCore: $enable_magickload, \
|
|
|
|
save with libMagickCore: $enable_magicksave"
|
2020-06-12 18:30:57 +02:00
|
|
|
|
2011-03-28 18:18:06 +02:00
|
|
|
AC_SUBST(VIPS_LIBDIR)
|
2010-05-05 17:22:04 +02:00
|
|
|
|
2007-08-29 18:23:50 +02:00
|
|
|
AC_SUBST(VIPS_CFLAGS)
|
|
|
|
AC_SUBST(VIPS_INCLUDES)
|
|
|
|
AC_SUBST(VIPS_LIBS)
|
2020-06-12 18:30:57 +02:00
|
|
|
AC_SUBST(VIPS_CONFIG)
|
2007-08-29 18:23:50 +02:00
|
|
|
AC_SUBST(PACKAGES_USED)
|
2014-11-29 15:32:08 +01:00
|
|
|
AC_SUBST(EXTRA_LIBS_USED)
|
2007-08-29 18:23:50 +02:00
|
|
|
|
2020-07-06 11:47:43 +02:00
|
|
|
AC_CONFIG_FILES([
|
2021-03-07 13:53:20 +01:00
|
|
|
vips.pc
|
|
|
|
vips-cpp.pc
|
|
|
|
Makefile
|
|
|
|
$srcdir/libvips/include/vips/version.h
|
|
|
|
libvips/include/Makefile
|
|
|
|
libvips/include/vips/Makefile
|
|
|
|
libvips/Makefile
|
|
|
|
libvips/arithmetic/Makefile
|
|
|
|
libvips/colour/Makefile
|
|
|
|
libvips/colour/profiles/Makefile
|
|
|
|
libvips/conversion/Makefile
|
|
|
|
libvips/convolution/Makefile
|
|
|
|
libvips/deprecated/Makefile
|
|
|
|
libvips/foreign/Makefile
|
2021-03-07 15:59:31 +01:00
|
|
|
libvips/foreign/libnsgif/Makefile
|
2021-03-07 13:53:20 +01:00
|
|
|
libvips/freqfilt/Makefile
|
|
|
|
libvips/histogram/Makefile
|
|
|
|
libvips/draw/Makefile
|
|
|
|
libvips/iofuncs/Makefile
|
2021-04-30 18:27:15 +02:00
|
|
|
libvips/module/Makefile
|
2021-03-07 13:53:20 +01:00
|
|
|
libvips/morphology/Makefile
|
|
|
|
libvips/mosaicing/Makefile
|
|
|
|
libvips/create/Makefile
|
|
|
|
libvips/resample/Makefile
|
|
|
|
cplusplus/Doxyfile
|
|
|
|
cplusplus/include/Makefile
|
|
|
|
cplusplus/include/vips/Makefile
|
|
|
|
cplusplus/Makefile
|
|
|
|
tools/Makefile
|
|
|
|
tools/batch_crop
|
|
|
|
tools/batch_image_convert
|
|
|
|
tools/batch_rubber_sheet
|
|
|
|
tools/light_correct
|
|
|
|
tools/shrink_width
|
|
|
|
test/Makefile
|
|
|
|
test/variables.sh
|
|
|
|
test/test-suite/Makefile
|
|
|
|
test/test-suite/helpers/Makefile
|
|
|
|
man/Makefile
|
|
|
|
doc/Makefile
|
|
|
|
doc/libvips-docs.xml
|
|
|
|
po/Makefile.in
|
|
|
|
fuzz/Makefile
|
2007-08-29 18:23:50 +02:00
|
|
|
])
|
2020-07-06 11:47:43 +02:00
|
|
|
AC_OUTPUT
|
2008-06-19 18:38:31 +02:00
|
|
|
|
2020-06-13 12:40:45 +02:00
|
|
|
# also add any new items to VIPS_CONFIG above
|
2016-05-17 11:52:11 +02:00
|
|
|
AC_MSG_RESULT([dnl
|
2021-03-07 13:41:44 +01:00
|
|
|
## Build options
|
2021-03-07 13:53:20 +01:00
|
|
|
enable debug: $enable_debug
|
|
|
|
enable deprecated library components: $enable_deprecated
|
2021-02-13 14:15:27 +01:00
|
|
|
enable modules: $gmodule_supported_flag
|
2021-06-04 00:35:56 +02:00
|
|
|
enable C docs with gtkdoc: $enable_gtk_doc
|
|
|
|
(requires gtk-doc 1.14 or later)
|
2021-10-14 16:46:52 +02:00
|
|
|
enable C++ docs with doxygen: $enable_doxygen
|
2021-11-25 11:09:25 +01:00
|
|
|
gobject introspection: $have_introspection
|
2021-06-04 00:35:56 +02:00
|
|
|
(requires gobject-introspection 1.30 or later)
|
2021-03-07 13:53:20 +01:00
|
|
|
RAD load/save: $with_radiance
|
|
|
|
Analyze7 load/save: $with_analyze
|
|
|
|
PPM load/save: $with_ppm
|
2021-03-07 15:37:14 +01:00
|
|
|
GIF load: $with_nsgif
|
2021-03-07 13:41:44 +01:00
|
|
|
|
|
|
|
## Optional dependencies
|
2021-03-07 13:53:20 +01:00
|
|
|
use fftw3 for FFT: $with_fftw
|
|
|
|
accelerate loops with orc: $with_orc
|
2021-03-07 13:41:44 +01:00
|
|
|
(requires orc-0.4.11 or later)
|
2021-03-07 13:53:20 +01:00
|
|
|
ICC profile support with lcms: $with_lcms
|
|
|
|
zlib: $with_zlib
|
2021-04-12 16:11:18 +02:00
|
|
|
text rendering with pangocairo: $with_pangocairo
|
2021-04-20 13:40:10 +02:00
|
|
|
font file support with fontconfig: $with_fontconfig
|
2021-03-07 13:53:20 +01:00
|
|
|
EXIF metadata support with libexif: $with_libexif
|
2021-03-07 13:41:44 +01:00
|
|
|
|
|
|
|
## File format support
|
2021-03-07 13:53:20 +01:00
|
|
|
JPEG load/save with libjpeg: $with_jpeg
|
2021-05-10 17:45:28 +02:00
|
|
|
JXL load/save with libjxl: $with_libjxl (dynamic module: $with_libjxl_module)
|
2021-04-01 13:33:36 +02:00
|
|
|
JPEG2000 load/save with libopenjp2: $with_libopenjp2
|
2021-04-30 11:42:32 +02:00
|
|
|
(requires libopenjp2 2.4 or later)
|
2022-02-11 17:30:23 +01:00
|
|
|
PNG load/save with libspng: $with_libspng
|
|
|
|
(requires spng 0.7 or later)
|
2021-03-07 13:53:20 +01:00
|
|
|
PNG load/save with libpng: $with_png
|
2021-03-07 13:41:44 +01:00
|
|
|
(requires libpng-1.2.9 or later)
|
2021-11-21 12:29:28 +01:00
|
|
|
selected quantisation package: $quantisation_package
|
2021-03-07 13:53:20 +01:00
|
|
|
TIFF load/save with libtiff: $with_tiff
|
|
|
|
image pyramid save: $with_gsf
|
2021-03-07 13:41:44 +01:00
|
|
|
(requires libgsf-1 1.14.26 or later)
|
2021-02-14 13:55:45 +01:00
|
|
|
HEIC/AVIF load/save with libheif: $with_heif (dynamic module: $with_heif_module)
|
2021-03-07 13:53:20 +01:00
|
|
|
WebP load/save with libwebp: $with_libwebp
|
2021-03-07 13:41:44 +01:00
|
|
|
(requires libwebp, libwebpmux, libwebpdemux 0.6.0 or later)
|
2021-03-07 13:53:20 +01:00
|
|
|
PDF load with PDFium: $with_pdfium
|
2021-04-21 16:39:02 +02:00
|
|
|
PDF load with poppler-glib: $with_poppler (dynamic module: $with_poppler_module)
|
2021-03-07 13:41:44 +01:00
|
|
|
(requires poppler-glib 0.16.0 or later)
|
2021-03-07 13:53:20 +01:00
|
|
|
SVG load with librsvg-2.0: $with_rsvg
|
2021-03-07 13:41:44 +01:00
|
|
|
(requires librsvg-2.0 2.34.0 or later)
|
2021-03-07 14:01:57 +01:00
|
|
|
EXR load with OpenEXR: $with_OpenEXR
|
2021-06-22 12:48:06 +02:00
|
|
|
OpenSlide support: $with_openslide (dynamic module: $with_openslide_module)
|
2021-03-07 13:41:44 +01:00
|
|
|
(requires openslide-3.3.0 or later)
|
2021-03-07 13:53:20 +01:00
|
|
|
Matlab load with matio: $with_matio
|
|
|
|
NIfTI load/save with niftiio: $with_nifti
|
|
|
|
FITS load/save with cfitsio: $with_cfitsio
|
2021-08-22 19:11:41 +02:00
|
|
|
GIF save with cgif: $with_cgif
|
2021-11-21 12:29:28 +01:00
|
|
|
(requires cgif and a quantisation package)
|
2021-04-21 17:27:05 +02:00
|
|
|
Magick package: $with_magickpackage (dynamic module: $with_magick_module)
|
2021-07-29 14:12:29 +02:00
|
|
|
Magick major API version: $magick_version
|
2021-03-07 13:53:20 +01:00
|
|
|
load with libMagickCore: $enable_magickload
|
|
|
|
save with libMagickCore: $enable_magicksave
|
2014-12-18 10:15:58 +01:00
|
|
|
])
|