2007-08-29 18:23:50 +02:00
|
|
|
# Process this file with autoconf to produce a configure script.
|
2009-08-16 17:00:08 +02:00
|
|
|
AC_INIT(libvips/include/vips/colour.h)
|
2007-08-29 18:23:50 +02:00
|
|
|
AM_CONFIG_HEADER(config.h)
|
2009-08-16 17:00:08 +02:00
|
|
|
AC_CONFIG_MACRO_DIR(m4)
|
2007-08-29 18:23:50 +02:00
|
|
|
|
|
|
|
# user-visible library versioning
|
2010-04-18 17:58:36 +02:00
|
|
|
m4_define([vips_major_version], [7])
|
2011-07-26 10:59:53 +02:00
|
|
|
m4_define([vips_minor_version], [26])
|
2011-08-10 11:17:36 +02:00
|
|
|
m4_define([vips_micro_version], [2])
|
2010-04-18 17:58:36 +02:00
|
|
|
m4_define([vips_version],
|
|
|
|
[vips_major_version.vips_minor_version.vips_micro_version])
|
|
|
|
|
2011-03-28 18:18:06 +02:00
|
|
|
VIPS_MAJOR_VERSION=vips_major_version
|
|
|
|
VIPS_MINOR_VERSION=vips_minor_version
|
|
|
|
VIPS_MICRO_VERSION=vips_micro_version
|
|
|
|
VIPS_VERSION=vips_version()
|
|
|
|
VIPS_VERSION_STRING=$VIPS_VERSION-`date`
|
2007-08-29 18:23:50 +02:00
|
|
|
|
2011-03-28 18:18:06 +02:00
|
|
|
VERSION=$VIPS_VERSION
|
2007-08-29 18:23:50 +02:00
|
|
|
PACKAGE=vips
|
|
|
|
|
|
|
|
# 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
|
|
|
|
# interface changed: increment current, reset revision to 0
|
|
|
|
# interface changes backwards compatible?: increment age
|
|
|
|
# interface changes not backwards compatible?: reset age to 0
|
|
|
|
|
2010-12-06 12:10:19 +01:00
|
|
|
LIBRARY_CURRENT=30
|
2011-08-10 11:17:36 +02:00
|
|
|
LIBRARY_REVISION=1
|
2010-12-06 12:10:19 +01:00
|
|
|
LIBRARY_AGE=15
|
2007-08-29 18:23:50 +02:00
|
|
|
|
|
|
|
AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
|
|
|
|
|
|
|
|
# patched into include/vips/version.h
|
2011-03-28 18:18:06 +02:00
|
|
|
AC_SUBST(VIPS_VERSION)
|
|
|
|
AC_SUBST(VIPS_VERSION_STRING)
|
|
|
|
AC_SUBST(VIPS_MAJOR_VERSION)
|
|
|
|
AC_SUBST(VIPS_MINOR_VERSION)
|
|
|
|
AC_SUBST(VIPS_MICRO_VERSION)
|
2007-08-29 18:23:50 +02:00
|
|
|
|
|
|
|
# put into library name by libsrc/Makefile.am and libsrcCC/Makefile.am
|
|
|
|
AC_SUBST(LIBRARY_CURRENT)
|
|
|
|
AC_SUBST(LIBRARY_REVISION)
|
|
|
|
AC_SUBST(LIBRARY_AGE)
|
|
|
|
|
|
|
|
AC_CANONICAL_HOST
|
|
|
|
|
2010-04-06 11:02:26 +02:00
|
|
|
AC_DEFINE_UNQUOTED(G_LOG_DOMAIN, "VIPS", [Domain for glib logging messages.])
|
|
|
|
|
2010-04-18 17:58:36 +02:00
|
|
|
# disable debugging by default for production releases
|
|
|
|
m4_define([debug_default],
|
|
|
|
m4_if(m4_eval(vips_minor_version() % 2), [1], [yes], [minimum]))
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(debug,
|
|
|
|
AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
|
|
|
|
[turn on debugging @<:@default=debug_default()@:>@]),,
|
|
|
|
enable_debug=debug_default())
|
|
|
|
|
|
|
|
if test "x$enable_debug" = "xyes"; then
|
|
|
|
VIPS_DEBUG_FLAGS="-DDEBUG_FATAL -DDEBUG_LEAK"
|
|
|
|
else
|
|
|
|
VIPS_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
|
|
|
|
|
|
|
|
if test "x$enable_debug" = "xno"; then
|
|
|
|
VIPS_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2007-08-29 18:23:50 +02:00
|
|
|
AC_MSG_CHECKING([for native Win32])
|
|
|
|
case "$host" in
|
|
|
|
*-*-mingw*)
|
|
|
|
vips_os_win32=yes
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
vips_os_win32=no
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
AC_MSG_RESULT([$vips_os_win32])
|
|
|
|
|
|
|
|
if test x"$vips_os_win32" = "xyes"; then
|
|
|
|
AC_DEFINE(OS_WIN32,1,[native win32])
|
|
|
|
|
|
|
|
# makes gcc use win native alignment
|
|
|
|
VIPS_CFLAGS="-mms-bitfields $VIPS_CFLAGS"
|
|
|
|
fi
|
|
|
|
|
2007-10-31 17:41:33 +01:00
|
|
|
# CImg needs flags changed on win32
|
|
|
|
if test x"$vips_os_win32" = "xyes"; then
|
|
|
|
AM_CONDITIONAL(OS_WIN32, true)
|
|
|
|
else
|
|
|
|
AM_CONDITIONAL(OS_WIN32, false)
|
|
|
|
fi
|
|
|
|
|
2007-08-29 18:23:50 +02:00
|
|
|
# Cygwin/mingw need binary open to avoid CR/LF madness
|
|
|
|
# ... should be a better way to test for this
|
|
|
|
AC_MSG_CHECKING([for binary open needed])
|
|
|
|
case "$host_os" in
|
|
|
|
cygwin* | mingw*)
|
|
|
|
vips_binary_open=yes
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
vips_binary_open=no
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
AC_MSG_RESULT([$vips_binary_open])
|
|
|
|
if test x"$vips_binary_open" = "xyes"; then
|
|
|
|
AC_DEFINE(BINARY_OPEN,1,[define to open non-text files in binary mode])
|
|
|
|
fi
|
|
|
|
|
2010-03-08 19:24:44 +01:00
|
|
|
AC_MSG_CHECKING([for Mac OS X])
|
|
|
|
case "$host" in
|
|
|
|
*-*-darwin*)
|
|
|
|
vips_os_darwin=yes
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
vips_os_darwin=no
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
AC_MSG_RESULT([$vips_os_darwin])
|
|
|
|
|
|
|
|
if test x"$vips_os_darwin" = x"yes"; then
|
|
|
|
AC_DEFINE(VIPS_OS_DARWIN,1,[native Mac OS X])
|
|
|
|
fi
|
|
|
|
|
|
|
|
# set the default directory for ICC profiles
|
|
|
|
if test x"$vips_os_darwin" = x"yes"; then
|
|
|
|
profile_dir="/Library/ColorSync/Profiles"
|
|
|
|
elif test x"$vips_os_win32" = x"yes"; then
|
|
|
|
profile_dir="C:\\Windows\\System32\\spool\\drivers\\color"
|
|
|
|
else
|
|
|
|
profile_dir="/usr/share/color/icc"
|
|
|
|
fi
|
|
|
|
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
|
|
|
|
|
|
|
|
# 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_C_CONST
|
2009-03-16 15:13:38 +01:00
|
|
|
AC_C_RESTRICT
|
2007-08-29 18:23:50 +02:00
|
|
|
AC_PROG_RANLIB
|
|
|
|
AC_PROG_INSTALL
|
|
|
|
AC_PROG_LN_S
|
|
|
|
AM_WITH_DMALLOC
|
|
|
|
|
2010-01-08 15:28:40 +01:00
|
|
|
# option to build without C++
|
|
|
|
# handy for some embedded applications
|
|
|
|
# also, including C++ source causes link problems on some
|
|
|
|
# platforms, so have an option to disable it
|
|
|
|
AC_ARG_ENABLE(cxx,
|
|
|
|
AS_HELP_STRING([--enable-cxx], [build C++ components (default: enabled)]))
|
|
|
|
|
|
|
|
if test x"$enable_cxx" != "xno"; then
|
|
|
|
AC_DEFINE(ENABLE_CXX,1,[build C++ components])
|
|
|
|
AM_CONDITIONAL(ENABLE_CXX, true)
|
2010-12-13 18:31:38 +01:00
|
|
|
# need -lstdc++ for (eg.) the C++ format loaders
|
|
|
|
# this gets added to vips-7.xx.pc to help mingw and friends link programs
|
|
|
|
# using libvips
|
|
|
|
VIPS_CXX_LIBS="-lstdc++"
|
2010-01-08 15:28:40 +01:00
|
|
|
enable_cxx=yes
|
|
|
|
else
|
|
|
|
AM_CONDITIONAL(ENABLE_CXX, false)
|
2010-12-13 18:31:38 +01:00
|
|
|
VIPS_CXX_LIBS=""
|
2010-01-08 15:28:40 +01:00
|
|
|
enable_cxx=no
|
|
|
|
fi
|
|
|
|
|
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
|
|
|
|
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
|
|
|
|
|
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 () {
|
|
|
|
eval expanded_value=$1
|
|
|
|
|
|
|
|
if test x"$expanded_value" != x"$1"; then
|
|
|
|
expand "$expanded_value"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
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
|
2010-05-26 13:19:25 +02:00
|
|
|
GETTEXT_PACKAGE=vips7
|
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
|
|
|
|
|
2008-10-11 23:29:16 +02:00
|
|
|
# C++ fails to compile mysteriously without gettext ... fail here
|
|
|
|
if test x"$gt_cv_have_gettext" != x"yes"; then
|
|
|
|
AC_MSG_ERROR([gettext not found])
|
|
|
|
fi
|
|
|
|
|
2007-08-29 18:23:50 +02:00
|
|
|
# Checks for libraries.
|
|
|
|
|
|
|
|
# build list of pkg-config packages we used here
|
|
|
|
PACKAGES_USED=""
|
|
|
|
|
|
|
|
# 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])
|
|
|
|
|
|
|
|
# uncomment to change which libs we build
|
|
|
|
# AC_DISABLE_SHARED
|
|
|
|
# AC_DISABLE_STATIC
|
|
|
|
AC_LIBTOOL_WIN32_DLL
|
|
|
|
AC_CHECK_TOOL(DLLWRAP, dllwrap)
|
|
|
|
AC_CHECK_TOOL(DLLTOOL, dlltool)
|
|
|
|
AC_CHECK_TOOL(OBJDUMP, objdump)
|
|
|
|
AC_CHECK_TOOL(RANLIB, ranlib)
|
|
|
|
AC_CHECK_TOOL(STRIP, strip)
|
|
|
|
AC_CHECK_TOOL(AR, ar)
|
|
|
|
AC_CHECK_TOOL(AS, as)
|
|
|
|
AC_CHECK_TOOL(LD, ld)
|
2008-11-02 23:11:01 +01:00
|
|
|
AC_PROVIDE([AC_LIBTOOL_WIN32_DLL])
|
2007-08-29 18:23:50 +02:00
|
|
|
AC_PROG_LIBTOOL
|
|
|
|
|
|
|
|
# Checks for typedefs, structures, and compiler characteristics.
|
|
|
|
AC_C_CONST
|
|
|
|
AC_TYPE_MODE_T
|
|
|
|
AC_TYPE_OFF_T
|
|
|
|
AC_TYPE_SIZE_T
|
|
|
|
|
|
|
|
# Checks for library functions.
|
|
|
|
AC_FUNC_MEMCMP
|
|
|
|
AC_FUNC_MMAP
|
|
|
|
AC_FUNC_VPRINTF
|
2010-03-15 19:11:36 +01:00
|
|
|
AC_CHECK_FUNCS([getcwd gettimeofday getwd memset munmap putenv realpath strcasecmp strchr strcspn strdup strerror strrchr strspn vsnprintf realpath mkstemp mktemp random rand sysconf])
|
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.])])
|
2007-08-29 18:23:50 +02:00
|
|
|
|
|
|
|
# have to have these
|
2008-02-18 19:39:42 +01:00
|
|
|
# need glib 2.6 for GOption
|
2007-08-29 18:23:50 +02:00
|
|
|
PKG_CHECK_MODULES(REQUIRED, glib-2.0 >= 2.6 gmodule-2.0 >= 2.4 libxml-2.0 gobject-2.0)
|
|
|
|
PACKAGES_USED="$PACKAGES_USED glib-2.0 gmodule-2.0 libxml-2.0 gobject-2.0"
|
|
|
|
|
|
|
|
# option to eval without threads
|
2008-07-10 12:14:31 +02:00
|
|
|
AC_ARG_ENABLE(threads,
|
|
|
|
AS_HELP_STRING([--enable-threads], [evaluate with threads (default: yes)]))
|
2007-08-29 18:23:50 +02:00
|
|
|
|
2007-10-31 17:41:33 +01:00
|
|
|
if test x"$enable_threads" != "xno"; then
|
2007-08-29 18:23:50 +02:00
|
|
|
AC_DEFINE(HAVE_THREADS,1,[threaded evaluation])
|
|
|
|
PKG_CHECK_MODULES(GTHREAD, gthread-2.0)
|
|
|
|
PACKAGES_USED="$PACKAGES_USED gthread-2.0"
|
2008-06-19 18:38:31 +02:00
|
|
|
enable_threads=yes
|
2007-08-29 18:23:50 +02:00
|
|
|
fi
|
|
|
|
|
2009-08-16 17:00:08 +02:00
|
|
|
# check for gtk-doc
|
|
|
|
GTK_DOC_CHECK(1.9)
|
|
|
|
|
2007-08-29 18:23:50 +02:00
|
|
|
# optional supporting libraries
|
|
|
|
|
|
|
|
# we can wrap fftw3 and fftw2 ... but just look for fftw3, since we can do
|
|
|
|
# that with pkg-config
|
2008-07-10 12:14:31 +02:00
|
|
|
AC_ARG_WITH([fftw3],
|
|
|
|
AS_HELP_STRING([--without-fftw3], [build without fftw3 (default: test)]))
|
2007-08-29 18:23:50 +02:00
|
|
|
|
2007-10-31 17:41:33 +01:00
|
|
|
if test x"$with_fftw3" != "xno"; then
|
2007-08-29 18:23:50 +02:00
|
|
|
PKG_CHECK_MODULES(FFTW3, fftw3,
|
|
|
|
[AC_DEFINE(HAVE_FFTW3,1,[define if you have fftw3 installed.])
|
2008-06-19 18:38:31 +02:00
|
|
|
with_fftw3=yes
|
|
|
|
PACKAGES_USED="$PACKAGES_USED fftw3"],
|
|
|
|
[AC_MSG_WARN([fftw3 not found; disabling fftw support])
|
|
|
|
with_fftw3=no])
|
2007-08-29 18:23:50 +02:00
|
|
|
fi
|
|
|
|
|
2007-08-31 15:01:42 +02:00
|
|
|
# ImageMagick ... detect attribute iteration too
|
2008-02-29 19:37:05 +01:00
|
|
|
# Optionally look for GraphicsMagick instead ... use
|
|
|
|
# --with-magickpackage=GraphicsMagick
|
2008-07-10 12:14:31 +02:00
|
|
|
AC_ARG_WITH([magick],
|
|
|
|
AS_HELP_STRING([--without-magick], [build without libMagic (default: test)]))
|
|
|
|
AC_ARG_WITH([magickpackage],
|
|
|
|
AS_HELP_STRING([--with-magickpackage],
|
|
|
|
[magickpackage to use (default: MagickWand, ImageMagick)]))
|
|
|
|
|
|
|
|
# recent versions of ImageMagick have split parts of the library off to
|
|
|
|
# MagickWand, so by default we test for that first
|
2008-04-12 16:37:05 +02:00
|
|
|
if test x"$with_magickpackage" = "x"; then
|
2008-07-10 12:14:31 +02:00
|
|
|
PKG_CHECK_MODULES(MAGICK_WAND, MagickWand,
|
|
|
|
[with_magickpackage=MagickWand],
|
|
|
|
[PKG_CHECK_MODULES(IMAGE_MAGICK, ImageMagick,
|
2008-10-11 23:29:16 +02:00
|
|
|
[with_magickpackage=ImageMagick],
|
|
|
|
[AC_MSG_WARN([neither MagickWand nor ImageMagick found; disabling Magick support])
|
|
|
|
with_magick=no
|
|
|
|
])])
|
2008-02-21 17:10:24 +01:00
|
|
|
fi
|
2007-08-29 18:23:50 +02:00
|
|
|
|
2007-10-31 17:41:33 +01:00
|
|
|
if test x"$with_magick" != "xno"; then
|
2008-02-21 17:10:24 +01:00
|
|
|
PKG_CHECK_MODULES(MAGICK, $with_magickpackage,
|
2007-08-29 18:23:50 +02:00
|
|
|
[AC_DEFINE(HAVE_MAGICK,1,[define if you have libMagick installed.])
|
2008-06-19 18:38:31 +02:00
|
|
|
with_magick=yes
|
|
|
|
PACKAGES_USED="$PACKAGES_USED $with_magickpackage"],
|
2008-10-11 23:29:16 +02:00
|
|
|
[AC_MSG_WARN([$with_magickpackage not found; disabling Magick support])
|
2008-06-19 18:38:31 +02:00
|
|
|
with_magick=no
|
|
|
|
])
|
2007-08-29 18:23:50 +02:00
|
|
|
fi
|
|
|
|
|
2007-10-31 17:41:33 +01:00
|
|
|
if test x"$with_magick" != "xno"; then
|
2010-04-30 21:16:39 +02:00
|
|
|
# we SetImageOption to disable some DICOM read processing, but that's only
|
|
|
|
# in more recent imagemagicks and not in graphicsmagick
|
2007-08-29 18:23:50 +02:00
|
|
|
save_LIBS=$LIBS
|
|
|
|
LIBS="$LIBS $MAGICK_LIBS"
|
2010-04-30 21:16:39 +02:00
|
|
|
AC_CHECK_FUNCS(SetImageOption,
|
|
|
|
AC_DEFINE(HAVE_SETIMAGEOPTION,1,
|
|
|
|
[define if your magick has SetImageOption.]))
|
2007-08-29 18:23:50 +02:00
|
|
|
LIBS=$save_LIBS
|
|
|
|
fi
|
|
|
|
|
2009-08-03 15:17:03 +02:00
|
|
|
if test x"$with_magick" != "xno"; then
|
2010-04-30 21:16:39 +02:00
|
|
|
# newer ImageMagicks use MagickCoreGenesis instead of InitializeMagick argh
|
2009-08-03 15:17:03 +02:00
|
|
|
save_LIBS=$LIBS
|
|
|
|
LIBS="$LIBS $MAGICK_LIBS"
|
2010-04-30 21:16:39 +02:00
|
|
|
AC_CHECK_FUNCS(MagickCoreGenesis,
|
|
|
|
AC_DEFINE(HAVE_MAGICKCOREGENESIS,1,
|
|
|
|
[define if your magick has MagickCoreGenesis.]))
|
|
|
|
LIBS=$save_LIBS
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test x"$with_magick" != "xno"; then
|
|
|
|
# newer ImageMagicks use ResetImagePropertyIterator instead of
|
|
|
|
# ResetImageAttributeIterator argh
|
|
|
|
save_LIBS=$LIBS
|
|
|
|
LIBS="$LIBS $MAGICK_LIBS"
|
|
|
|
AC_CHECK_FUNCS(ResetImagePropertyIterator,
|
|
|
|
AC_DEFINE(HAVE_RESETIMAGEPROPERTYITERATOR,1,
|
|
|
|
[define if your magick has ResetImagePropertyIterator.]))
|
|
|
|
LIBS=$save_LIBS
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test x"$with_magick" != "xno"; then
|
|
|
|
# so ... do we have ResetImageAttributeIterator()? GM does not
|
|
|
|
save_LIBS=$LIBS
|
|
|
|
LIBS="$LIBS $MAGICK_LIBS"
|
|
|
|
AC_CHECK_FUNCS(ResetImageAttributeIterator,
|
|
|
|
AC_DEFINE(HAVE_RESETIMAGEATTRIBUTEITERATOR,1,
|
|
|
|
[define if your magick has ResetImageAttributeIterator.]))
|
|
|
|
LIBS=$save_LIBS
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test x"$with_magick" != "xno"; then
|
|
|
|
# more recent magicks have GetVirtualPixels rather than GetImagePixels
|
|
|
|
save_LIBS=$LIBS
|
|
|
|
LIBS="$LIBS $MAGICK_LIBS"
|
|
|
|
AC_CHECK_FUNCS(GetVirtualPixels,
|
|
|
|
AC_DEFINE(HAVE_GETVIRTUALPIXELS,1,
|
|
|
|
[define if your magick has GetVirtualPixels.]))
|
2009-08-03 15:17:03 +02:00
|
|
|
LIBS=$save_LIBS
|
|
|
|
fi
|
|
|
|
|
2010-11-01 18:46:47 +01:00
|
|
|
# orc
|
|
|
|
AC_ARG_WITH([orc],
|
|
|
|
AS_HELP_STRING([--without-orc], [build without orc (default: test)]))
|
|
|
|
|
|
|
|
if test x"$with_orc" != "xno"; then
|
|
|
|
# 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
|
|
|
|
PACKAGES_USED="$PACKAGES_USED orc-0.4"],
|
|
|
|
[AC_MSG_WARN([orc-0.4.11 or later not found; disabling orc support])
|
|
|
|
with_orc=no
|
|
|
|
])
|
|
|
|
fi
|
|
|
|
|
2010-08-02 17:58:30 +02:00
|
|
|
# lcms ... look for lcms2 first, it has better threading support
|
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
|
|
|
|
2007-10-31 17:41:33 +01:00
|
|
|
if test x"$with_lcms" != "xno"; 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.])
|
2008-06-19 18:38:31 +02:00
|
|
|
with_lcms=yes
|
2010-08-02 17:58:30 +02:00
|
|
|
with_lcms_ver=lcms2
|
|
|
|
PACKAGES_USED="$PACKAGES_USED lcms2"],
|
|
|
|
[PKG_CHECK_MODULES(LCMS, lcms,
|
|
|
|
[AC_DEFINE(HAVE_LCMS,1,[define if you have lcms installed.])
|
|
|
|
with_lcms=yes
|
|
|
|
with_lcms_ver=lcms
|
|
|
|
PACKAGES_USED="$PACKAGES_USED lcms"],
|
|
|
|
[AC_MSG_WARN([lcms2/lcms not found; disabling lcms support])
|
|
|
|
with_lcms=no])
|
2008-06-19 18:38:31 +02:00
|
|
|
])
|
2007-08-29 18:23:50 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
# 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()
|
2007-10-31 17:41:33 +01:00
|
|
|
if test x"$with_OpenEXR" != "xno"; then
|
2007-08-29 18:23:50 +02:00
|
|
|
PKG_CHECK_MODULES(OPENEXR, OpenEXR >= 1.2.2,
|
|
|
|
[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
|
|
|
|
PACKAGES_USED="$PACKAGES_USED OpenEXR"],
|
|
|
|
[AC_MSG_WARN([OpenEXR not found; disabling OpenEXR support])
|
|
|
|
with_OpenEXR=no
|
|
|
|
])
|
2007-08-29 18:23:50 +02:00
|
|
|
fi
|
|
|
|
|
2009-02-27 17:52:25 +01:00
|
|
|
# matio
|
|
|
|
AC_ARG_WITH([matio],
|
|
|
|
AS_HELP_STRING([--without-matio], [build without matio (default: test)]))
|
|
|
|
|
|
|
|
if test x"$with_matio" != "xno"; then
|
|
|
|
PKG_CHECK_MODULES(MATIO, matio,
|
|
|
|
[AC_DEFINE(HAVE_MATIO,1,[define if you have matio installed.])
|
|
|
|
with_matio=yes
|
|
|
|
PACKAGES_USED="$PACKAGES_USED matio"],
|
|
|
|
[AC_MSG_WARN([matio not found; disabling matio support])
|
|
|
|
with_matio=no
|
|
|
|
])
|
|
|
|
fi
|
|
|
|
|
2010-10-26 17:12:49 +02:00
|
|
|
# cfitsio
|
|
|
|
AC_ARG_WITH([cfitsio],
|
|
|
|
AS_HELP_STRING([--without-cfitsio], [build without cfitsio (default: test)]))
|
|
|
|
|
|
|
|
if test x"$with_cfitsio" != "xno"; then
|
|
|
|
PKG_CHECK_MODULES(CFITSIO, cfitsio,
|
|
|
|
[AC_DEFINE(HAVE_CFITSIO,1,[define if you have cfitsio installed.])
|
|
|
|
with_cfitsio=yes
|
|
|
|
PACKAGES_USED="$PACKAGES_USED cfitsio"],
|
|
|
|
[AC_MSG_WARN([cfitsio not found; disabling cfitsio support])
|
|
|
|
with_cfitsio=no
|
|
|
|
])
|
|
|
|
fi
|
|
|
|
|
2007-08-29 18:23:50 +02:00
|
|
|
# pangoft2
|
2008-07-10 12:14:31 +02:00
|
|
|
AC_ARG_WITH([pangoft2],
|
|
|
|
AS_HELP_STRING([--without-pangoft2],
|
|
|
|
[build without pangoft2 (default: test)]))
|
2007-08-29 18:23:50 +02:00
|
|
|
|
2007-10-31 17:41:33 +01:00
|
|
|
if test x"$with_pangoft2" != "xno"; then
|
2007-08-29 18:23:50 +02:00
|
|
|
PKG_CHECK_MODULES(PANGOFT2, pangoft2,
|
|
|
|
[AC_DEFINE(HAVE_PANGOFT2,1,[define if you have pangoft2 installed.])
|
2008-06-19 18:38:31 +02:00
|
|
|
with_pangoft2=yes
|
|
|
|
PACKAGES_USED="$PACKAGES_USED pangoft2"],
|
|
|
|
[AC_MSG_WARN([pangoft2 not found; disabling pangoft2 support])
|
|
|
|
with_pangoft2=no
|
|
|
|
])
|
2007-08-29 18:23:50 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
# hmm, these don't have .pc files on ubuntu 5.10, how odd
|
2008-06-19 18:38:31 +02:00
|
|
|
FIND_TIFF(
|
|
|
|
[with_tiff=yes],
|
|
|
|
[AC_MSG_WARN([libtiff not found; disabling TIFF support])
|
|
|
|
with_tiff=no
|
|
|
|
])
|
|
|
|
FIND_ZIP(
|
|
|
|
[with_zip=yes],
|
|
|
|
[AC_MSG_WARN([libz not found; disabling ZIP support])
|
|
|
|
with_zip=no
|
|
|
|
])
|
|
|
|
FIND_JPEG(
|
|
|
|
[with_jpeg=yes],
|
|
|
|
[AC_MSG_WARN([libjpeg not found; disabling JPEG support])
|
|
|
|
with_jpeg=no
|
|
|
|
])
|
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
|
|
|
|
|
|
|
if test x"$with_png" != "xno"; 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.])
|
|
|
|
with_png=yes
|
|
|
|
PACKAGES_USED="$PACKAGES_USED libpng"],
|
|
|
|
[FIND_PNG(,
|
|
|
|
[AC_MSG_WARN([libpng not found; disabling PNG support])
|
|
|
|
with_png=no
|
|
|
|
])
|
|
|
|
])
|
|
|
|
fi
|
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
|
|
|
|
2007-10-31 17:41:33 +01:00
|
|
|
if test x"$with_libexif" != "xno"; 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
|
|
|
|
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
|
|
|
|
])
|
2007-08-29 18:23:50 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
# some libexif packages need include <libexif/poop.h>, some just <poop.h>
|
|
|
|
# how annoying
|
2007-10-31 17:41:33 +01:00
|
|
|
if test x"$with_libexif" != "xno"; then
|
2007-08-29 18:23:50 +02:00
|
|
|
# cppflags not cflags because we want the preproc to see the -I as well
|
|
|
|
save_CPPFLAGS=$CPPFLAGS
|
|
|
|
CPPFLAGS="$EXIF_CFLAGS $CPPFLAGS"
|
|
|
|
AC_CHECK_HEADER(exif-data.h,
|
|
|
|
AC_DEFINE(UNTAGGED_EXIF,1,[libexif includes don't need libexif prefix]))
|
|
|
|
CPPFLAGS=$save_CPPFLAGS
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Look for linux video
|
2008-10-11 23:29:16 +02:00
|
|
|
AC_ARG_WITH([v4l],
|
|
|
|
AS_HELP_STRING([--without-v4l], [build without video4linux (default: test)]))
|
|
|
|
|
|
|
|
if test x"$with_v4l" != "xno"; then
|
|
|
|
# try a compile as well: if we're using icc the header can break
|
|
|
|
# even try assigning to vc.type: if this works, surely the header is
|
|
|
|
# functional
|
|
|
|
AC_CHECK_HEADER(linux/videodev.h,
|
|
|
|
[AC_TRY_COMPILE([#include <linux/videodev.h>],
|
|
|
|
[struct video_capability vc; vc.type = 12],
|
|
|
|
with_videodev=yes)
|
|
|
|
])
|
|
|
|
fi
|
2008-05-14 20:08:30 +02:00
|
|
|
|
|
|
|
if test x"$with_videodev" = x"yes"; then
|
|
|
|
AC_DEFINE(HAVE_VIDEODEV,1,[have video4linux 1])
|
2008-06-19 18:38:31 +02:00
|
|
|
with_v4l=yes
|
2008-05-14 20:08:30 +02:00
|
|
|
else
|
|
|
|
AC_MSG_WARN([linux/videodev.h not functional; disabling Linux video support])
|
2008-06-19 18:38:31 +02:00
|
|
|
with_v4l=no
|
2008-05-14 20:08:30 +02:00
|
|
|
fi
|
2007-08-29 18:23:50 +02:00
|
|
|
|
|
|
|
# make python binding?
|
2008-07-10 12:14:31 +02:00
|
|
|
AC_ARG_WITH([python],
|
|
|
|
AS_HELP_STRING([--without-python],
|
|
|
|
[build without Python bindings (default: test)]))
|
2007-08-29 18:23:50 +02:00
|
|
|
|
2007-10-31 17:41:33 +01:00
|
|
|
if test x"$with_python" != "xno"; then
|
2010-01-08 15:28:40 +01:00
|
|
|
if test x"$enable_cxx" = "xno"; then
|
|
|
|
# if C++ if off, we can't do Python
|
|
|
|
with_python=no
|
|
|
|
AC_MSG_WARN([C++ is off, disabling Python binding])
|
|
|
|
else
|
|
|
|
AM_PATH_PYTHON(2.2,,
|
|
|
|
[with_python=no
|
|
|
|
AC_MSG_WARN([Python not found; disabling Python binding])])
|
|
|
|
fi
|
2007-08-29 18:23:50 +02:00
|
|
|
fi
|
|
|
|
|
2007-10-31 17:41:33 +01:00
|
|
|
if test x"$with_python" != "xno"; then
|
2007-08-29 18:23:50 +02:00
|
|
|
AM_CHECK_PYTHON_HEADERS(,
|
|
|
|
[with_python=no
|
|
|
|
AC_MSG_WARN([Python headers not found])])
|
|
|
|
fi
|
|
|
|
|
2008-10-11 23:29:16 +02:00
|
|
|
# we don't check for swig: we include the generated bindings in the
|
|
|
|
# distribution
|
2007-08-29 18:23:50 +02:00
|
|
|
|
2008-10-11 23:29:16 +02:00
|
|
|
if test x"$with_python" != x"no"; then
|
2007-08-29 18:23:50 +02:00
|
|
|
AM_CONDITIONAL(HAVE_PYTHON, true)
|
2008-10-11 23:29:16 +02:00
|
|
|
with_python=yes
|
2007-08-29 18:23:50 +02:00
|
|
|
else
|
|
|
|
AM_CONDITIONAL(HAVE_PYTHON, false)
|
|
|
|
fi
|
|
|
|
|
2010-05-22 14:13:19 +02:00
|
|
|
# Gather all up for VIPS_CFLAGS, VIPS_INCLUDES, VIPS_LIBS and VIPS_CXX_LIBS
|
2008-04-12 16:37:05 +02:00
|
|
|
# sort includes to get longer, more specific dirs first
|
|
|
|
# helps, for example, selecting graphicsmagick over imagemagick
|
2010-11-01 18:46:47 +01:00
|
|
|
VIPS_CFLAGS=`for i in $VIPS_CFLAGS $GTHREAD_CFLAGS $REQUIRED_CFLAGS $PANGOFT2_CFLAGS $FFTW3_CFLAGS $MAGICK_CFLAGS $PNG_CFLAGS $EXIF_CFLAGS $MATIO_CFLAGS $CFITSIO_CFLAGS $OPENEXR_CFLAGS $ORC_CFLAGS
|
2009-02-27 17:52:25 +01:00
|
|
|
do
|
|
|
|
echo $i
|
2008-04-09 17:37:02 +02:00
|
|
|
done | sort -ru`
|
|
|
|
VIPS_CFLAGS=`echo $VIPS_CFLAGS`
|
2010-04-18 17:58:36 +02:00
|
|
|
VIPS_CFLAGS="$VIPS_DEBUG_FLAGS $VIPS_CFLAGS"
|
2007-08-29 18:23:50 +02:00
|
|
|
VIPS_INCLUDES="$PNG_INCLUDES $TIFF_INCLUDES $ZIP_INCLUDES $JPEG_INCLUDES $FFTW_INCLUDES $LCMS_INCLUDES"
|
2010-11-01 18:46:47 +01:00
|
|
|
VIPS_LIBS="$MAGICK_LIBS $PNG_LIBS $TIFF_LIBS $ZIP_LIBS $JPEG_LIBS $GTHREAD_LIBS $REQUIRED_LIBS $PANGOFT2_LIBS $FFTW3_LIBS $FFTW_LIBS $ORC_LIBS $LCMS_LIBS $OPENEXR_LIBS $CFITSIO_LIBS $MATIO_LIBS $EXIF_LIBS -lm"
|
2007-08-29 18:23:50 +02:00
|
|
|
|
2010-05-05 17:22:04 +02:00
|
|
|
# we need this to generate paths in swig/python/setup.py.in
|
|
|
|
AC_SUBST(top_srcdir)
|
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)
|
2010-05-22 14:13:19 +02:00
|
|
|
AC_SUBST(VIPS_CXX_LIBS)
|
2007-08-29 18:23:50 +02:00
|
|
|
AC_SUBST(PACKAGES_USED)
|
|
|
|
|
2009-03-04 09:57:55 +01:00
|
|
|
# you'd think we could have
|
2011-03-28 18:18:06 +02:00
|
|
|
# vips-$VIPS_MAJOR_VERSION.$VIPS_MINOR_VERSION.pc
|
2009-03-04 09:57:55 +01:00
|
|
|
# in AC_OUTPUT, but that seems to break for some combinations of sh/m4
|
2007-08-29 18:23:50 +02:00
|
|
|
AC_OUTPUT([
|
2011-07-26 10:59:53 +02:00
|
|
|
vips-7.26.pc
|
|
|
|
vipsCC-7.26.pc
|
2007-08-29 18:23:50 +02:00
|
|
|
Makefile
|
2009-08-16 17:00:08 +02:00
|
|
|
libvips/include/vips/version.h
|
|
|
|
libvips/include/Makefile
|
|
|
|
libvips/include/vips/Makefile
|
|
|
|
libvips/Makefile
|
|
|
|
libvips/arithmetic/Makefile
|
|
|
|
libvips/boolean/Makefile
|
|
|
|
libvips/cimg/Makefile
|
|
|
|
libvips/colour/Makefile
|
|
|
|
libvips/conversion/Makefile
|
|
|
|
libvips/convolution/Makefile
|
2009-09-02 22:15:15 +02:00
|
|
|
libvips/deprecated/Makefile
|
2009-08-16 17:00:08 +02:00
|
|
|
libvips/format/Makefile
|
|
|
|
libvips/freq_filt/Makefile
|
|
|
|
libvips/histograms_lut/Makefile
|
|
|
|
libvips/inplace/Makefile
|
|
|
|
libvips/iofuncs/Makefile
|
2009-11-03 20:03:47 +01:00
|
|
|
libvips/mask/Makefile
|
2009-08-16 17:00:08 +02:00
|
|
|
libvips/morphology/Makefile
|
|
|
|
libvips/mosaicing/Makefile
|
|
|
|
libvips/other/Makefile
|
|
|
|
libvips/relational/Makefile
|
|
|
|
libvips/resample/Makefile
|
|
|
|
libvips/video/Makefile
|
|
|
|
libvipsCC/include/Makefile
|
2009-11-10 14:54:15 +01:00
|
|
|
libvipsCC/include/vips/Makefile
|
2009-08-16 17:00:08 +02:00
|
|
|
libvipsCC/Makefile
|
|
|
|
tools/Makefile
|
2011-04-06 13:06:32 +02:00
|
|
|
tools/batch_crop
|
|
|
|
tools/batch_image_convert
|
|
|
|
tools/batch_rubber_sheet
|
|
|
|
tools/light_correct
|
|
|
|
tools/shrink_width
|
2009-08-16 17:00:08 +02:00
|
|
|
swig/Makefile
|
|
|
|
swig/vipsCC/Makefile
|
2010-05-05 17:22:04 +02:00
|
|
|
swig/python/setup.py
|
2011-07-26 10:27:06 +02:00
|
|
|
man/Makefile
|
2009-08-16 17:00:08 +02:00
|
|
|
doc/Makefile
|
|
|
|
doc/reference/Makefile
|
2009-08-18 16:12:12 +02:00
|
|
|
doc/reference/libvips-docs.sgml
|
2007-08-29 18:23:50 +02:00
|
|
|
po/Makefile.in
|
|
|
|
])
|
2008-06-19 18:38:31 +02:00
|
|
|
|
|
|
|
AC_MSG_RESULT([
|
2008-08-15 10:40:05 +02:00
|
|
|
* general build options
|
2008-06-19 18:38:31 +02:00
|
|
|
native win32: $vips_os_win32
|
2010-03-08 19:24:44 +01:00
|
|
|
native OS X: $vips_os_darwin
|
2008-06-19 18:38:31 +02:00
|
|
|
open files in binary mode: $vips_binary_open
|
2010-05-05 17:22:04 +02:00
|
|
|
enable debug: $enable_debug
|
2010-01-08 15:28:40 +01:00
|
|
|
build C++ components: $enable_cxx
|
2008-06-19 18:38:31 +02:00
|
|
|
evaluate with threads: $enable_threads
|
2009-08-16 17:00:08 +02:00
|
|
|
build docs with gtkdoc $enable_gtk_doc
|
2008-08-15 10:40:05 +02:00
|
|
|
|
|
|
|
* optional packages and modules
|
2008-06-19 18:38:31 +02:00
|
|
|
use fftw3 for FFT: $with_fftw3
|
|
|
|
Magick package: $with_magickpackage
|
|
|
|
file import with libMagick: $with_magick
|
2010-11-01 18:46:47 +01:00
|
|
|
accelerate loops with orc: $with_orc
|
2010-11-02 11:59:34 +01:00
|
|
|
(requires orc-0.4.11 or later)
|
2010-08-02 17:58:30 +02:00
|
|
|
ICC profile support with lcms: $with_lcms (version $with_lcms_ver)
|
2008-06-19 18:38:31 +02:00
|
|
|
file import with OpenEXR: $with_OpenEXR
|
2009-02-27 17:52:25 +01:00
|
|
|
file import with matio: $with_matio
|
2010-10-26 17:12:49 +02:00
|
|
|
file import with cfitsio: $with_cfitsio
|
2008-06-19 18:38:31 +02:00
|
|
|
text rendering with pangoft2: $with_pangoft2
|
|
|
|
file import/export with libpng: $with_png
|
2011-03-20 12:28:17 +01:00
|
|
|
(requires libpng-1.2.9 or later)
|
2008-06-19 18:38:31 +02:00
|
|
|
file import/export with libtiff: $with_tiff
|
|
|
|
file import/export with libjpeg: $with_jpeg
|
|
|
|
use libexif to load/save JPEG metadata: $with_libexif
|
2008-07-10 12:14:31 +02:00
|
|
|
video capture with v4l: $with_v4l
|
2008-06-19 18:38:31 +02:00
|
|
|
build Python binding: $with_python
|
|
|
|
])
|