479 lines
14 KiB
Plaintext
479 lines
14 KiB
Plaintext
# Process this file with autoconf to produce a configure script.
|
|
AC_INIT(include/vips/colour.h)
|
|
AM_CONFIG_HEADER(config.h)
|
|
|
|
# user-visible library versioning
|
|
IM_MAJOR_VERSION=7
|
|
IM_MINOR_VERSION=15
|
|
IM_MICRO_VERSION=0
|
|
IM_VERSION=$IM_MAJOR_VERSION.$IM_MINOR_VERSION.$IM_MICRO_VERSION
|
|
IM_VERSION_STRING=$IM_VERSION-`date`
|
|
|
|
VERSION=$IM_VERSION
|
|
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
|
|
|
|
LIBRARY_CURRENT=21
|
|
LIBRARY_REVISION=0
|
|
LIBRARY_AGE=6
|
|
|
|
AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
|
|
|
|
# patched into include/vips/version.h
|
|
AC_SUBST(IM_VERSION)
|
|
AC_SUBST(IM_VERSION_STRING)
|
|
AC_SUBST(IM_MAJOR_VERSION)
|
|
AC_SUBST(IM_MINOR_VERSION)
|
|
AC_SUBST(IM_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)
|
|
|
|
AC_CANONICAL_HOST
|
|
|
|
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
|
|
|
|
# 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
|
|
|
|
# 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
|
|
|
|
# we want largefile support, if possible
|
|
AC_SYS_LARGEFILE
|
|
|
|
# Checks for programs.
|
|
AC_PROG_AWK
|
|
AC_PROG_CC
|
|
AC_PROG_CC_STDC
|
|
AC_C_CONST
|
|
AC_PROG_RANLIB
|
|
AC_PROG_INSTALL
|
|
AC_PROG_LN_S
|
|
AC_PROG_CXX
|
|
AM_WITH_DMALLOC
|
|
|
|
# vips.c/im_guess_prefix.c need to know the exe suffix and (as a fallback)
|
|
# the configure-time install prefix
|
|
AC_DEFINE_UNQUOTED(IM_EXEEXT,"$EXEEXT",[extension for executable files])
|
|
AC_DEFINE_UNQUOTED(IM_PREFIX,"$prefix",[configure-time install prefix])
|
|
|
|
# i18n
|
|
GETTEXT_PACKAGE=vips7
|
|
AC_SUBST(GETTEXT_PACKAGE)
|
|
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
|
|
[The prefix for our gettext translation domains.])
|
|
# the 'malkovich' one is there for testing only
|
|
# ALL_LINGUAS="en_GB malkovich"
|
|
ALL_LINGUAS="en_GB"
|
|
AM_GLIB_GNU_GETTEXT
|
|
|
|
# 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)
|
|
AC_PROVIDE(AC_LIBTOOL_WIN32_DLL)
|
|
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
|
|
AC_CHECK_FUNCS([getcwd gettimeofday getwd memset munmap putenv realpath strcasecmp strchr strcspn strdup strerror strrchr strspn vsnprintf realpath mkstemp mktemp random rand])
|
|
AC_CHECK_LIB(m,cbrt,[AC_DEFINE(HAVE_CBRT,1,[have cbrt() in libm.])])
|
|
AC_CHECK_LIB(m,hypot,[AC_DEFINE(HAVE_HYPOT,1,[have hypot() in libm.])])
|
|
|
|
# have to have these
|
|
# need glib 2.6 for GOption
|
|
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
|
|
AC_ARG_ENABLE(threads, AS_HELP_STRING([--enable-threads], [evaluate with threads (default: yes)]))
|
|
|
|
if test x"$enable_threads" != "xno"; then
|
|
AC_DEFINE(HAVE_THREADS,1,[threaded evaluation])
|
|
PKG_CHECK_MODULES(GTHREAD, gthread-2.0)
|
|
PACKAGES_USED="$PACKAGES_USED gthread-2.0"
|
|
enable_threads=yes
|
|
fi
|
|
|
|
# optional supporting libraries
|
|
|
|
# we can wrap fftw3 and fftw2 ... but just look for fftw3, since we can do
|
|
# that with pkg-config
|
|
AC_ARG_WITH([fftw3], AS_HELP_STRING([--without-fftw3], [build without fftw3 (default: test)]))
|
|
|
|
if test x"$with_fftw3" != "xno"; then
|
|
PKG_CHECK_MODULES(FFTW3, fftw3,
|
|
[AC_DEFINE(HAVE_FFTW3,1,[define if you have fftw3 installed.])
|
|
with_fftw3=yes
|
|
PACKAGES_USED="$PACKAGES_USED fftw3"],
|
|
[AC_MSG_WARN([fftw3 not found; disabling fftw support])
|
|
with_fftw3=no])
|
|
fi
|
|
|
|
# ImageMagick ... detect attribute iteration too
|
|
# Optionally look for GraphicsMagick instead ... use
|
|
# --with-magickpackage=GraphicsMagick
|
|
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: ImageMagick)]))
|
|
|
|
if test x"$with_magickpackage" = "x"; then
|
|
with_magickpackage=ImageMagick
|
|
fi
|
|
|
|
if test x"$with_magick" != "xno"; then
|
|
PKG_CHECK_MODULES(MAGICK, $with_magickpackage,
|
|
[AC_DEFINE(HAVE_MAGICK,1,[define if you have libMagick installed.])
|
|
with_magick=yes
|
|
PACKAGES_USED="$PACKAGES_USED $with_magickpackage"],
|
|
[AC_MSG_WARN([libMagick not found; disabling Magick support])
|
|
with_magick=no
|
|
])
|
|
fi
|
|
|
|
if test x"$with_magick" != "xno"; then
|
|
# we need ResetImageAttributeIterator() / GetNextImageAttribute() to loop
|
|
# over attrs, but that's 6.2+ I think ... test for them
|
|
# graphicsmagick only has GetImageAttribute(), test for that as a fallback
|
|
save_LIBS=$LIBS
|
|
LIBS="$LIBS $MAGICK_LIBS"
|
|
AC_CHECK_FUNCS(GetNextImageAttribute GetImageAttribute,
|
|
AC_DEFINE(HAVE_MAGICK_ATTR,1,
|
|
[define if your magick has attribute support.]))
|
|
LIBS=$save_LIBS
|
|
fi
|
|
|
|
# liboil
|
|
AC_ARG_WITH([liboil], AS_HELP_STRING([--without-liboil], [build without liboil
|
|
(default: test)]))
|
|
|
|
if test x"$with_liboil" != "xno"; then
|
|
PKG_CHECK_MODULES(LIBOIL, liboil-0.3,
|
|
[AC_DEFINE(HAVE_LIBOIL,1,[define if you have liboil-0.3 installed.])
|
|
with_liboil=yes
|
|
PACKAGES_USED="$PACKAGES_USED liboil-0.3"],
|
|
[AC_MSG_WARN([liboil not found; disabling liboil support])
|
|
with_liboil=no
|
|
])
|
|
fi
|
|
|
|
# lcms
|
|
AC_ARG_WITH([lcms], AS_HELP_STRING([--without-lcms], [build without lcms (default: test)]))
|
|
|
|
if test x"$with_lcms" != "xno"; then
|
|
PKG_CHECK_MODULES(LCMS, lcms,
|
|
[AC_DEFINE(HAVE_LCMS,1,[define if you have lcms installed.])
|
|
with_lcms=yes
|
|
PACKAGES_USED="$PACKAGES_USED lcms"],
|
|
[AC_MSG_WARN([lcms not found; disabling lcms support])
|
|
with_lcms=no
|
|
])
|
|
fi
|
|
|
|
# OpenEXR
|
|
AC_ARG_WITH([OpenEXR], AS_HELP_STRING([--without-OpenEXR], [build without OpenEXR (default: test)]))
|
|
|
|
# require 1.2.2 since 1.2.1 has a broken ImfCloseTiledInputFile()
|
|
if test x"$with_OpenEXR" != "xno"; then
|
|
PKG_CHECK_MODULES(OPENEXR, OpenEXR >= 1.2.2,
|
|
[AC_DEFINE(HAVE_OPENEXR,1,[define if you have OpenEXR >=1.2.2 installed.])
|
|
with_OpenEXR=yes
|
|
PACKAGES_USED="$PACKAGES_USED OpenEXR"],
|
|
[AC_MSG_WARN([OpenEXR not found; disabling OpenEXR support])
|
|
with_OpenEXR=no
|
|
])
|
|
fi
|
|
|
|
# pangoft2
|
|
AC_ARG_WITH([pangoft2], AS_HELP_STRING([--without-pangoft2], [build without pangoft2 (default: test)]))
|
|
|
|
if test x"$with_pangoft2" != "xno"; then
|
|
PKG_CHECK_MODULES(PANGOFT2, pangoft2,
|
|
[AC_DEFINE(HAVE_PANGOFT2,1,[define if you have pangoft2 installed.])
|
|
with_pangoft2=yes
|
|
PACKAGES_USED="$PACKAGES_USED pangoft2"],
|
|
[AC_MSG_WARN([pangoft2 not found; disabling pangoft2 support])
|
|
with_pangoft2=no
|
|
])
|
|
fi
|
|
|
|
# hmm, these don't have .pc files on ubuntu 5.10, how odd
|
|
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
|
|
])
|
|
|
|
# look for PNG with pkg-config ... fall back to our tester
|
|
AC_ARG_WITH([png], AS_HELP_STRING([--without-png], [build without libpng (default: test)]))
|
|
|
|
if test x"$with_png" != "xno"; then
|
|
PKG_CHECK_MODULES(PNG, libpng,
|
|
[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
|
|
|
|
# libexif
|
|
AC_ARG_WITH([libexif], AS_HELP_STRING([--without-libexif], [build without libexif (default: test)]))
|
|
|
|
if test x"$with_libexif" != "xno"; then
|
|
PKG_CHECK_MODULES(EXIF, libexif >= 0.6,
|
|
[AC_DEFINE(HAVE_EXIF,1,[define if you have libexif >= 0.6 installed.])
|
|
with_libexif=yes
|
|
PACKAGES_USED="$PACKAGES_USED libexif"],
|
|
[AC_MSG_WARN([libexif >= 0.6 not found; disabling exif support])
|
|
with_libexif=no
|
|
])
|
|
fi
|
|
|
|
# some libexif packages need include <libexif/poop.h>, some just <poop.h>
|
|
# how annoying
|
|
if test x"$with_libexif" != "xno"; then
|
|
# 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
|
|
# try a compile as well: if we're using icc the header can break
|
|
AC_CHECK_HEADER(linux/videodev.h,
|
|
AC_TRY_COMPILE([#include <linux/videodev.h>], [struct video_capability vc;],
|
|
with_videodev=yes))
|
|
|
|
if test x"$with_videodev" = x"yes"; then
|
|
AC_DEFINE(HAVE_VIDEODEV,1,[have video4linux 1])
|
|
with_v4l=yes
|
|
else
|
|
AC_MSG_WARN([linux/videodev.h not functional; disabling Linux video support])
|
|
with_v4l=no
|
|
fi
|
|
|
|
# make python binding?
|
|
AC_ARG_WITH([python], AS_HELP_STRING([--without-python], [build without Python bindings (default: test)]))
|
|
|
|
if test x"$with_python" != "xno"; then
|
|
AM_PATH_PYTHON(2.2,,
|
|
[with_python=no
|
|
AC_MSG_WARN([Python not found; disabling Python binding])])
|
|
fi
|
|
|
|
if test x"$with_python" != "xno"; then
|
|
AM_CHECK_PYTHON_HEADERS(,
|
|
[with_python=no
|
|
AC_MSG_WARN([Python headers not found])])
|
|
fi
|
|
|
|
# need SWIG too
|
|
if test x"$with_python" != "xno"; then
|
|
AC_CHECK_PROG(HAVE_SWIG, swig, [yes])
|
|
|
|
if test x"$HAVE_SWIG" != "xyes"; then
|
|
with_python=no
|
|
AC_MSG_WARN([SWIG not found; disabling Python binding])
|
|
else
|
|
with_python=yes
|
|
fi
|
|
fi
|
|
|
|
if test x"$with_python" = "xyes"; then
|
|
AM_CONDITIONAL(HAVE_PYTHON, true)
|
|
else
|
|
AM_CONDITIONAL(HAVE_PYTHON, false)
|
|
fi
|
|
|
|
# make CImg wrapper? including C++ source causes link problems on some
|
|
# platforms, so have an option to disable it
|
|
AC_ARG_WITH([cimg], AS_HELP_STRING([--without-cimg], [build without CImg (default: with-cimg)]))
|
|
|
|
if test x"$with_cimg" != "xno"; then
|
|
AM_CONDITIONAL(WITH_CIMG, true)
|
|
AC_DEFINE(WITH_CIMG,1,[include cimg package])
|
|
|
|
# we have to explicitly link with stdc++ on mingw for some reason, yuk!
|
|
if test x"$vips_os_win32" = "xyes"; then
|
|
CIMG_LIBS=-lstdc++
|
|
fi
|
|
with_cimg=yes
|
|
else
|
|
AM_CONDITIONAL(WITH_CIMG, false)
|
|
AC_MSG_WARN([disabling CImg binding])
|
|
with_cimg=no
|
|
fi
|
|
|
|
# Gather all up for VIPS_CFLAGS, VIPS_INCLUDES and VIPS_LIBS
|
|
# sort includes to get longer, more specific dirs first
|
|
# helps, for example, selecting graphicsmagick over imagemagick
|
|
VIPS_CFLAGS=`for i in $VIPS_CFLAGS $GTHREAD_CFLAGS $REQUIRED_CFLAGS $PANGOFT2_CFLAGS $FFTW3_CFLAGS $MAGICK_CFLAGS $PNG_CFLAGS $EXIF_CFLAGS $OPENEXR_CFLAGS $LIBOIL_CFLAGS
|
|
do
|
|
echo $i
|
|
done | sort -ru`
|
|
VIPS_CFLAGS=`echo $VIPS_CFLAGS`
|
|
VIPS_INCLUDES="$PNG_INCLUDES $TIFF_INCLUDES $ZIP_INCLUDES $JPEG_INCLUDES $FFTW_INCLUDES $LCMS_INCLUDES"
|
|
VIPS_LIBS="$MAGICK_LIBS $PNG_LIBS $TIFF_LIBS $ZIP_LIBS $JPEG_LIBS $GTHREAD_LIBS $REQUIRED_LIBS $PANGOFT2_LIBS $FFTW3_LIBS $FFTW_LIBS $LCMS_LIBS $LIBOIL_LIBS $OPENEXR_LIBS $EXIF_LIBS -lm $CIMG_LIBS"
|
|
|
|
AC_SUBST(VIPS_CFLAGS)
|
|
AC_SUBST(VIPS_INCLUDES)
|
|
AC_SUBST(VIPS_LIBS)
|
|
AC_SUBST(PACKAGES_USED)
|
|
|
|
AC_OUTPUT([
|
|
vips-7.15.pc
|
|
vipsCC-7.15.pc
|
|
vips-7.15.spec
|
|
Makefile
|
|
include/vips/version.h
|
|
include/Makefile
|
|
include/vips/Makefile
|
|
libsrc/Makefile
|
|
libsrc/acquire/Makefile
|
|
libsrc/arithmetic/Makefile
|
|
libsrc/boolean/Makefile
|
|
libsrc/cimg/Makefile
|
|
libsrc/colour/Makefile
|
|
libsrc/conversion/Makefile
|
|
libsrc/convolution/Makefile
|
|
libsrc/freq_filt/Makefile
|
|
libsrc/histograms_lut/Makefile
|
|
libsrc/inplace/Makefile
|
|
libsrc/iofuncs/Makefile
|
|
libsrc/matrix/Makefile
|
|
libsrc/morphology/Makefile
|
|
libsrc/mosaicing/Makefile
|
|
libsrc/other/Makefile
|
|
libsrc/relational/Makefile
|
|
libsrc/video/Makefile
|
|
libsrcCC/Makefile
|
|
src/Makefile
|
|
src/iofuncs/Makefile
|
|
src/mosaicing/Makefile
|
|
src/other/Makefile
|
|
src/scripts/Makefile
|
|
src/scripts/batch_crop
|
|
src/scripts/batch_image_convert
|
|
src/scripts/batch_rubber_sheet
|
|
src/scripts/light_correct
|
|
src/scripts/shrink_width
|
|
man/Makefile
|
|
contrib/Makefile
|
|
contrib/vips2dj/Makefile
|
|
contrib/vips2dj/share/Makefile
|
|
contrib/vips2dj/share/vips2dj/Makefile
|
|
contrib/vips2dj/share/vips2dj/lab/Makefile
|
|
contrib/vips2dj/share/vips2dj/cmyk/Makefile
|
|
contrib/vips2dj/share/vips2dj/mono/Makefile
|
|
contrib/vdump/Makefile
|
|
contrib/mitsub/Makefile
|
|
python/Makefile
|
|
python/vipsCC/Makefile
|
|
po/Makefile.in
|
|
])
|
|
|
|
AC_MSG_RESULT([
|
|
native win32: $vips_os_win32
|
|
open files in binary mode: $vips_binary_open
|
|
|
|
evaluate with threads: $enable_threads
|
|
use fftw3 for FFT: $with_fftw3
|
|
Magick package: $with_magickpackage
|
|
file import with libMagick: $with_magick
|
|
accelerate loops with liboil: $with_liboil
|
|
ICC profile support with lcms: $with_lcms
|
|
file import with OpenEXR: $with_OpenEXR
|
|
text rendering with pangoft2: $with_pangoft2
|
|
file import/export with libpng: $with_png
|
|
file import/export with libtiff: $with_tiff
|
|
file import/export with libjpeg: $with_jpeg
|
|
use libexif to load/save JPEG metadata: $with_libexif
|
|
video4linux found: $with_v4l
|
|
build Python binding: $with_python
|
|
build CImg wrapper: $with_cimg
|
|
])
|