2008-09-30 15:20:36 -04:00
|
|
|
AC_PREREQ(2.59)
|
2008-09-03 20:06:26 -04:00
|
|
|
CAIRO_PARSE_VERSION
|
2005-08-10 11:08:38 +00:00
|
|
|
AC_INIT([cairo],
|
2008-09-05 01:07:30 -04:00
|
|
|
[cairo_version_major.cairo_version_minor.cairo_version_micro],
|
|
|
|
|
[http://bugs.freedesktop.org/enter_bug.cgi?product=cairo])
|
2005-08-10 11:08:38 +00:00
|
|
|
AC_CONFIG_SRCDIR(src/cairo.h)
|
|
|
|
|
AC_CONFIG_HEADERS(config.h)
|
2008-09-03 19:09:57 -04:00
|
|
|
AC_CONFIG_AUX_DIR(build)
|
2008-09-11 04:17:43 -04:00
|
|
|
AC_CONFIG_MACRO_DIR(build)
|
2008-09-30 15:20:36 -04:00
|
|
|
AM_INIT_AUTOMAKE([1.9.6 gnu -Wall no-define])
|
2008-09-11 16:04:06 -04:00
|
|
|
AC_LIBTOOL_WIN32_DLL dnl Must be called before AC_PROG_LIBTOOL
|
2008-09-17 17:54:40 -04:00
|
|
|
AC_PROG_LIBTOOL dnl ([1.4]) Don't remove!
|
2008-10-21 17:44:47 -04:00
|
|
|
DOLT dnl Make my libtool fast!
|
2008-09-11 16:04:06 -04:00
|
|
|
GTK_DOC_CHECK([1.6])
|
2003-04-17 13:24:29 +00:00
|
|
|
|
2005-08-10 11:08:38 +00:00
|
|
|
dnl ===========================================================================
|
2008-08-27 19:06:13 -04:00
|
|
|
dnl
|
2008-09-03 20:06:26 -04:00
|
|
|
dnl The order of the includes here is rather important
|
2008-08-27 19:06:13 -04:00
|
|
|
dnl
|
2008-09-04 22:30:49 -04:00
|
|
|
m4_include(build/configure.ac.version) dnl macros setting up various version declares
|
|
|
|
|
m4_include(build/configure.ac.tools) dnl checks for tools we use
|
2008-09-15 23:42:51 -04:00
|
|
|
m4_include(build/configure.ac.features) dnl macros for backend/feature handling
|
2008-09-04 22:30:49 -04:00
|
|
|
m4_include(build/configure.ac.warnings) dnl checks for compiler warning
|
2009-03-03 10:27:11 +00:00
|
|
|
m4_include(build/configure.ac.system) dnl checks for system functions, headers, libs
|
2008-09-04 22:30:49 -04:00
|
|
|
m4_include(build/configure.ac.analysis) dnl checks for analysis tools (lcov, etc)
|
2008-09-03 16:38:03 +01:00
|
|
|
m4_include(build/configure.ac.noversion) dnl disable builtin libtool versioning
|
2008-09-03 20:06:26 -04:00
|
|
|
AC_CACHE_SAVE
|
2007-10-25 10:24:01 +01:00
|
|
|
|
2007-09-21 10:45:55 +01:00
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2006-08-10 13:10:24 -04:00
|
|
|
AC_CHECK_LIB(z, compress,
|
2008-11-26 17:43:22 +00:00
|
|
|
[AC_CHECK_HEADER(zlib.h, [
|
|
|
|
|
have_libz=yes
|
|
|
|
|
AC_DEFINE(HAVE_ZLIB, 1, [Define to 1 if you have zlib available])
|
|
|
|
|
],
|
2006-08-10 13:10:24 -04:00
|
|
|
[have_libz="no (requires zlib http://www.gzip.org/zlib/)"])],
|
|
|
|
|
[have_libz="no (requires zlib http://www.gzip.org/zlib/)"])
|
|
|
|
|
|
2009-08-23 15:25:42 +01:00
|
|
|
AC_CHECK_LIB(dl, dlsym,
|
2009-09-13 17:35:29 -06:00
|
|
|
[have_dlsym=yes; have_dl=yes],
|
|
|
|
|
[have_dlsym=no; have_dl=no])
|
|
|
|
|
if test "x$have_dlsym" = "xno"; then
|
|
|
|
|
AC_CHECK_FUNC(dlsym, [have_dlsym=yes], [have_dlsym=no])
|
|
|
|
|
fi
|
|
|
|
|
AC_CHECK_HEADERS(dlfcn.h, [have_dlsym=yes], [have_dlsym=no])
|
2009-08-23 15:25:42 +01:00
|
|
|
AM_CONDITIONAL(CAIRO_HAS_DL, test "x$have_dl" = "xyes")
|
|
|
|
|
|
2003-04-17 13:24:29 +00:00
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2008-09-04 19:50:32 -04:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(xlib, Xlib, auto, [
|
2006-08-18 17:17:28 -04:00
|
|
|
xlib_REQUIRES="x11"
|
|
|
|
|
PKG_CHECK_MODULES(xlib, $xlib_REQUIRES, ,
|
2007-01-21 15:11:31 -05:00
|
|
|
[AC_MSG_RESULT(no)
|
|
|
|
|
xlib_REQUIRES=""
|
2006-08-18 17:17:28 -04:00
|
|
|
AC_PATH_XTRA
|
|
|
|
|
if test "x$no_x" = xyes; then
|
|
|
|
|
use_xlib="no (requires X development libraries)"
|
|
|
|
|
else
|
|
|
|
|
xlib_NONPKGCONFIG_LIBS="$X_PRE_LIBS $X_LIBS -lX11 $X_EXTRA_LIBS"
|
|
|
|
|
xlib_NONPKGCONFIG_CFLAGS=$X_CFLAGS
|
|
|
|
|
fi])
|
2006-04-25 07:30:16 -04:00
|
|
|
])
|
2004-04-09 14:14:56 +00:00
|
|
|
|
2008-09-04 19:50:32 -04:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(xlib_xrender, Xlib Xrender, auto, [
|
2006-08-18 17:02:24 -04:00
|
|
|
if test "x$use_xlib" != "xyes"; then
|
|
|
|
|
use_xlib_xrender="no (requires --enable-xlib)"
|
|
|
|
|
else
|
2006-06-26 12:21:18 +02:00
|
|
|
dnl Check for Xrender header files if the Xrender package is not installed:
|
2006-07-12 04:27:55 -04:00
|
|
|
xlib_xrender_BASE=cairo-xlib
|
2006-06-25 17:43:27 +02:00
|
|
|
xlib_xrender_REQUIRES="xrender >= 0.6"
|
|
|
|
|
PKG_CHECK_MODULES(xlib_xrender, $xlib_xrender_REQUIRES, ,
|
2007-01-21 15:11:31 -05:00
|
|
|
[AC_MSG_RESULT(no)
|
|
|
|
|
xlib_xrender_REQUIRES=""
|
2007-09-05 00:26:56 -04:00
|
|
|
old_CPPFLAGS=$CPPFLAGS
|
|
|
|
|
CPPFLAGS="$CPPFLAGS $xlib_CFLAGS $xlib_NONPKGCONFIG_CFLAGS"
|
2006-06-25 17:43:27 +02:00
|
|
|
AC_CHECK_HEADER(X11/extensions/Xrender.h,
|
2006-08-18 17:02:24 -04:00
|
|
|
[xlib_xrender_NONPKGCONFIG_LIBS="-lXrender"],
|
2008-09-10 23:23:08 -04:00
|
|
|
[use_xlib_xrender="no (requires $xlib_xrender_REQUIRES http://freedesktop.org/Software/xlibs)"])
|
2007-09-05 00:26:56 -04:00
|
|
|
CPPFLAGS=$old_CPPFLAGS
|
|
|
|
|
])
|
2006-06-25 17:43:27 +02:00
|
|
|
fi
|
|
|
|
|
])
|
2004-10-26 14:38:43 +00:00
|
|
|
|
2006-06-21 06:25:01 -04:00
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2008-09-04 19:50:32 -04:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(xcb, XCB, no, [
|
2006-10-12 20:17:22 -07:00
|
|
|
xcb_REQUIRES="xcb >= 0.9.92 xcb-render >= 0.9.92 xcb-renderutil"
|
2007-01-21 15:11:31 -05:00
|
|
|
PKG_CHECK_MODULES(xcb, $xcb_REQUIRES, , [AC_MSG_RESULT(no)
|
2008-09-10 23:23:08 -04:00
|
|
|
use_xcb="no (requires $xcb_REQUIRES http://xcb.freedesktop.org)"])
|
2006-10-12 20:17:22 -07:00
|
|
|
])
|
|
|
|
|
|
|
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2009-06-14 20:43:05 +01:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(qt, Qt, no, [
|
|
|
|
|
qt_REQUIRES="QtGui >= 4.4.0"
|
|
|
|
|
PKG_CHECK_MODULES(qt, $qt_REQUIRES, ,
|
|
|
|
|
[AC_MSG_RESULT(no)
|
|
|
|
|
qt_REQUIRES=""
|
|
|
|
|
use_qt="no (requires Qt4 development libraries)"
|
|
|
|
|
])
|
|
|
|
|
])
|
|
|
|
|
|
|
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2008-09-04 19:50:32 -04:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(quartz, Quartz, auto, [
|
2007-03-05 23:19:24 +00:00
|
|
|
dnl There is no pkgconfig for quartz; lets do a header check
|
2008-09-10 23:23:08 -04:00
|
|
|
AC_CHECK_HEADER(ApplicationServices/ApplicationServices.h, , [use_quartz="no (requires ApplicationServices framework)"])
|
2008-03-20 13:24:48 -07:00
|
|
|
if test "x$use_quartz" != "xyes" ; then
|
|
|
|
|
dnl check for CoreGraphics as a separate framework
|
2008-09-10 23:23:08 -04:00
|
|
|
AC_CHECK_HEADER(CoreGraphics/CoreGraphics.h, , [use_quartz="no (requires CoreGraphics framework)"])
|
2008-03-20 13:24:48 -07:00
|
|
|
quartz_LIBS="-Xlinker -framework -Xlinker CoreGraphics"
|
|
|
|
|
else
|
|
|
|
|
quartz_LIBS="-Xlinker -framework -Xlinker ApplicationServices"
|
|
|
|
|
fi
|
2006-04-25 07:30:16 -04:00
|
|
|
])
|
2005-01-20 20:41:40 +00:00
|
|
|
|
2008-09-04 19:50:32 -04:00
|
|
|
CAIRO_ENABLE_FONT_BACKEND(quartz_font, Quartz, auto, [
|
2008-03-17 17:37:19 -07:00
|
|
|
use_quartz_font=$use_quartz
|
|
|
|
|
])
|
|
|
|
|
|
2008-09-04 19:50:32 -04:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(quartz_image, Quartz Image, no, [
|
2008-03-17 17:37:19 -07:00
|
|
|
use_quartz_image=$use_quartz
|
2008-03-07 14:49:15 -08:00
|
|
|
])
|
|
|
|
|
|
2003-12-12 11:44:16 +00:00
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2008-09-04 19:50:32 -04:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(win32, Microsoft Windows, auto, [
|
2007-02-20 00:57:25 -05:00
|
|
|
if test "x$have_windows" != xyes; then
|
|
|
|
|
use_win32="no (requires a Win32 platform)"
|
|
|
|
|
fi
|
2006-06-25 17:43:27 +02:00
|
|
|
win32_LIBS="-lgdi32 -lmsimg32"
|
2006-04-25 07:30:16 -04:00
|
|
|
])
|
2005-01-31 16:11:37 +00:00
|
|
|
|
2008-09-04 19:50:32 -04:00
|
|
|
CAIRO_ENABLE_FONT_BACKEND(win32_font, Microsoft Windows, auto, [
|
2007-02-20 00:57:25 -05:00
|
|
|
use_win32_font=$use_win32
|
2006-06-21 06:25:01 -04:00
|
|
|
])
|
2005-01-31 16:11:37 +00:00
|
|
|
|
2008-01-10 15:30:42 +00:00
|
|
|
test_win32_printing=no
|
|
|
|
|
if test "x$use_win32" = "xyes"; then
|
|
|
|
|
AC_CHECK_PROG(GS, gs, gs)
|
|
|
|
|
if test "$GS"; then
|
|
|
|
|
AC_DEFINE([CAIRO_CAN_TEST_WIN32_PRINTING_SURFACE], 1, [Define to 1 if the Win32 Printing backend can be tested (needs ghostscript)])
|
|
|
|
|
test_win32_printing="yes"
|
|
|
|
|
else
|
|
|
|
|
AC_MSG_WARN([Win32 Printing backend will not be tested since ghostscript is not available])
|
|
|
|
|
test_win32_printing="no (requires ghostscript)"
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
AM_CONDITIONAL(CAIRO_CAN_TEST_WIN32_PRINTING_SURFACE, test "x$test_win32_printing" = "xyes")
|
|
|
|
|
|
2005-12-18 17:20:06 +00:00
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2009-06-15 11:15:22 +01:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(skia, Skia, no, [
|
|
|
|
|
AC_ARG_WITH([skia],
|
|
|
|
|
[AS_HELP_STRING([--with-skia=/path/to/skia],
|
|
|
|
|
[directory to find compiled skia sources])],
|
|
|
|
|
[skia_DIR="$withval"],
|
|
|
|
|
[skia_DIR="`pwd`/../mesa"])
|
|
|
|
|
skia_NONPKGCONFIG_CFLAGS="-I$skia_DIR/include/config -I$skia_DIR/include/core -I$skia_DIR/include/effects"
|
|
|
|
|
skia_NONPKGCONFIG_LIBS="$skia_DIR/out/libskia.a"
|
|
|
|
|
AC_SUBST(skia_DIR)
|
|
|
|
|
])
|
|
|
|
|
|
|
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2008-09-04 19:50:32 -04:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(os2, OS/2, no, [
|
2006-09-15 11:18:47 +02:00
|
|
|
case "$host" in
|
|
|
|
|
*-*-os2*)
|
|
|
|
|
:
|
|
|
|
|
;;
|
|
|
|
|
*)
|
|
|
|
|
use_os2="no (requires an OS/2 platform)"
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
])
|
|
|
|
|
|
|
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2008-09-04 19:50:32 -04:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(beos, BeOS/Zeta, no, [
|
2006-04-25 07:30:16 -04:00
|
|
|
case "$host" in
|
|
|
|
|
*-*-beos)
|
2008-09-04 19:50:32 -04:00
|
|
|
beos_LIBS=""
|
2006-06-25 17:43:27 +02:00
|
|
|
dnl Add libbe and libzeta if available
|
|
|
|
|
AC_CHECK_LIB(be,main,beos_LIBS="$beos_LIBS -lbe")
|
|
|
|
|
AC_CHECK_LIB(zeta,main,beos_LIBS="$beos_LIBS -lzeta")
|
2006-04-25 07:30:16 -04:00
|
|
|
;;
|
|
|
|
|
*)
|
2006-06-21 07:00:34 -04:00
|
|
|
use_beos="no (requires a BeOS platform)"
|
2006-04-25 07:30:16 -04:00
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
])
|
2005-12-18 17:20:06 +00:00
|
|
|
|
2005-01-31 16:11:37 +00:00
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2009-06-11 15:18:55 +01:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(drm, DRM, no, [
|
|
|
|
|
drm_REQUIRES="libudev >= 136"
|
|
|
|
|
PKG_CHECK_MODULES(drm, $drm_REQUIRES, , [AC_MSG_RESULT(no)
|
|
|
|
|
use_drm="no (requires $drm_REQUIRES, udev is available from git://git.kernel.org/pub/scm/linux/hotplug/udev.git)"])
|
|
|
|
|
])
|
|
|
|
|
|
|
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(gallium, Gallium3D, no, [
|
|
|
|
|
if test "x$use_drm" = "xyes"; then
|
|
|
|
|
AC_ARG_WITH([gallium],
|
|
|
|
|
[AS_HELP_STRING([--with-gallium=/path/to/mesa],
|
|
|
|
|
[directory to find gallium enabled mesa])],
|
|
|
|
|
[mesa_DIR="$withval"],
|
|
|
|
|
[mesa_DIR="`pwd`/../mesa"])
|
|
|
|
|
gallium_DIR="$mesa_DIR/src/gallium"
|
|
|
|
|
gallium_NONPKGCONFIG_CFLAGS="-I$mesa_DIR/include -I$mesa_DIR/src/mesa -I$gallium_DIR/include -I$gallium_DIR/auxiliary"
|
|
|
|
|
gallium_NONPKGCONFIG_LIBS="-lGL"
|
|
|
|
|
AC_SUBST(mesa_DIR)
|
|
|
|
|
AC_SUBST(gallium_DIR)
|
|
|
|
|
else
|
|
|
|
|
use_gallium="no (requires --enable-drm)"
|
|
|
|
|
fi
|
|
|
|
|
])
|
|
|
|
|
|
|
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2008-09-04 19:50:32 -04:00
|
|
|
CAIRO_ENABLE_FUNCTIONS(png, PNG, yes, [
|
2005-01-31 16:11:37 +00:00
|
|
|
use_png=no
|
2006-08-11 13:06:37 -04:00
|
|
|
AC_ARG_VAR([png_REQUIRES], [module name for libpng to search for using pkg-config])
|
|
|
|
|
if test "x$png_REQUIRES" = x; then
|
|
|
|
|
# libpng13 is GnuWin32's libpng-1.2.8 :-(
|
2009-06-20 06:16:51 -06:00
|
|
|
for l in libpng12 libpng13 libpng10 libpng; do
|
2006-08-11 13:06:37 -04:00
|
|
|
if $PKG_CONFIG --exists $l ; then
|
|
|
|
|
png_REQUIRES=$l
|
|
|
|
|
use_png=yes
|
|
|
|
|
break
|
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
else
|
|
|
|
|
use_png=yes
|
|
|
|
|
fi
|
2005-01-31 16:11:37 +00:00
|
|
|
|
|
|
|
|
if test "x$use_png" = "xyes" ; then
|
2007-01-21 15:11:31 -05:00
|
|
|
PKG_CHECK_MODULES(png, $png_REQUIRES, , AC_MSG_RESULT(no))
|
2005-01-31 16:11:37 +00:00
|
|
|
else
|
|
|
|
|
AC_MSG_WARN([Could not find libpng in the pkg-config search path])
|
|
|
|
|
fi
|
2006-04-25 07:30:16 -04:00
|
|
|
])
|
2004-02-24 12:27:52 +00:00
|
|
|
|
|
|
|
|
dnl ===========================================================================
|
2009-09-14 10:08:57 +01:00
|
|
|
use_glew="no (not required by any backend)"
|
2009-07-21 22:28:44 +01:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(gl, OpenGL, no, [
|
2009-01-29 09:19:01 -08:00
|
|
|
gl_REQUIRES="gl"
|
2009-09-13 23:16:57 +01:00
|
|
|
PKG_CHECK_MODULES(gl, $gl_REQUIRES,, [
|
|
|
|
|
dnl Fallback to searching for headers
|
|
|
|
|
AC_CHECK_HEADER(GL/gl.h,, [use_gl="no (gl.pc nor OpenGL headers not found)"])
|
|
|
|
|
if test "x$use_gl" = "xyes"; then
|
|
|
|
|
gl_NONPKGCONFIG_CFLAGS=
|
|
|
|
|
gl_NONPKGCONFIG_LIBS="-lGL"
|
|
|
|
|
fi])
|
2009-03-28 20:59:01 -07:00
|
|
|
|
2009-09-14 09:19:10 +01:00
|
|
|
have_glew="no"
|
|
|
|
|
AC_CHECK_LIB(GLEW, glewInit,
|
|
|
|
|
[AC_CHECK_HEADER(GL/glew.h, [have_glew="yes"], [])])
|
|
|
|
|
if test "x$have_glew" = "xyes"; then
|
|
|
|
|
gl_NONPKGCONFIG_LIBS="-lGLEW $gl_NONPKGCONFIG_LIBS"
|
2009-09-14 10:08:57 +01:00
|
|
|
use_glew="yes (system library)"
|
2009-09-14 09:19:10 +01:00
|
|
|
else
|
|
|
|
|
CAIRO_ENABLE_FUNCTIONS(glew, GLEW, always)
|
2009-09-14 10:08:57 +01:00
|
|
|
use_glew="yes (private copy)"
|
2009-09-14 09:19:10 +01:00
|
|
|
CAIRO_CFLAGS="$CAIRO_CFLAGS -I\$(top_srcdir)/src/glew"
|
|
|
|
|
fi
|
2009-07-21 22:28:44 +01:00
|
|
|
need_glx_functions=yes
|
|
|
|
|
need_eagle_functions=yes
|
2009-05-19 15:53:55 +01:00
|
|
|
])
|
|
|
|
|
|
2004-02-24 12:27:52 +00:00
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2006-06-21 07:00:34 -04:00
|
|
|
GLITZ_MIN_VERSION=0.5.1
|
2008-09-04 19:50:32 -04:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(glitz, glitz, no, [
|
2006-06-25 17:43:27 +02:00
|
|
|
glitz_REQUIRES="glitz >= $GLITZ_MIN_VERSION"
|
2007-01-21 15:11:31 -05:00
|
|
|
PKG_CHECK_MODULES(glitz, $glitz_REQUIRES, , [AC_MSG_RESULT(no)
|
2008-09-10 23:23:08 -04:00
|
|
|
use_glitz="no (requires $glitz_REQUIRES http://freedesktop.org/Software/glitz)"])
|
2006-04-25 07:30:16 -04:00
|
|
|
])
|
2004-04-09 14:19:47 +00:00
|
|
|
|
2005-12-12 11:56:40 +00:00
|
|
|
if test "x$use_glitz" = "xyes";then
|
2006-06-21 07:00:34 -04:00
|
|
|
PKG_CHECK_MODULES(GLITZ_AGL, glitz-agl >= $GLITZ_MIN_VERSION,
|
2007-01-21 15:11:31 -05:00
|
|
|
[have_glitz_agl=yes], [have_glitz_agl=no; AC_MSG_RESULT(no)])
|
2006-06-21 07:00:34 -04:00
|
|
|
PKG_CHECK_MODULES(GLITZ_EGL, glitz-egl >= $GLITZ_MIN_VERSION,
|
2007-01-21 15:11:31 -05:00
|
|
|
[have_glitz_egl=yes], [have_glitz_egl=no; AC_MSG_RESULT(no)])
|
2006-06-21 07:00:34 -04:00
|
|
|
PKG_CHECK_MODULES(GLITZ_GLX, glitz-glx >= $GLITZ_MIN_VERSION,
|
2007-01-21 15:11:31 -05:00
|
|
|
[have_glitz_glx=yes], [have_glitz_glx=no; AC_MSG_RESULT(no)])
|
2006-06-21 07:00:34 -04:00
|
|
|
PKG_CHECK_MODULES(GLITZ_WGL, glitz-wgl >= $GLITZ_MIN_VERSION,
|
2007-01-21 15:11:31 -05:00
|
|
|
[have_glitz_wgl=yes], [have_glitz_wgl=no; AC_MSG_RESULT(no)])
|
2005-12-12 11:56:40 +00:00
|
|
|
|
|
|
|
|
if test "x$have_glitz_agl" = "xyes";then
|
|
|
|
|
AC_DEFINE(CAIRO_CAN_TEST_GLITZ_AGL_SURFACE, 1, [define if glitz backend can be tested against agl])
|
|
|
|
|
fi
|
|
|
|
|
if test "x$have_glitz_egl" = "xyes";then
|
|
|
|
|
AC_DEFINE(CAIRO_CAN_TEST_GLITZ_EGL_SURFACE, 1, [define if glitz backend can be tested against egl])
|
|
|
|
|
fi
|
|
|
|
|
if test "x$have_glitz_glx" = "xyes";then
|
|
|
|
|
AC_DEFINE(CAIRO_CAN_TEST_GLITZ_GLX_SURFACE, 1, [define if glitz backend can be tested against glx])
|
|
|
|
|
fi
|
|
|
|
|
if test "x$have_glitz_wgl" = "xyes";then
|
|
|
|
|
AC_DEFINE(CAIRO_CAN_TEST_GLITZ_WGL_SURFACE, 1, [define if glitz backend can be tested against wgl])
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
AM_CONDITIONAL(CAIRO_CAN_TEST_GLITZ_AGL_SURFACE, test "x$have_glitz_agl" = "xyes")
|
|
|
|
|
AM_CONDITIONAL(CAIRO_CAN_TEST_GLITZ_EGL_SURFACE, test "x$have_glitz_egl" = "xyes")
|
|
|
|
|
AM_CONDITIONAL(CAIRO_CAN_TEST_GLITZ_GLX_SURFACE, test "x$have_glitz_glx" = "xyes")
|
|
|
|
|
AM_CONDITIONAL(CAIRO_CAN_TEST_GLITZ_WGL_SURFACE, test "x$have_glitz_wgl" = "xyes")
|
|
|
|
|
|
2004-04-09 14:19:47 +00:00
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2008-09-04 19:50:32 -04:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(directfb, directfb, no, [
|
2006-06-25 17:43:27 +02:00
|
|
|
directfb_REQUIRES=directfb
|
2007-01-21 15:11:31 -05:00
|
|
|
PKG_CHECK_MODULES(directfb, $directfb_REQUIRES, , AC_MSG_RESULT(no)
|
2008-09-10 23:23:08 -04:00
|
|
|
[use_directfb="no (requires $directfb_REQUIRES http://www.directfb.org)"])
|
2006-04-25 07:30:16 -04:00
|
|
|
])
|
2005-12-29 07:17:01 +00:00
|
|
|
|
|
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2009-07-15 16:37:25 +01:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(vg, OpenVG, no, [
|
|
|
|
|
dnl There is no pkgconfig for OpenVG; lets do a header check
|
|
|
|
|
AC_CHECK_HEADER(VG/openvg.h,, [use_vg="no (OpenVG headers not found)"])
|
|
|
|
|
if test "x$use_vg" = "xyes"; then
|
|
|
|
|
vg_NONPKGCONFIG_CFLAGS=
|
|
|
|
|
vg_NONPKGCONFIG_LIBS="-lOpenVG"
|
|
|
|
|
need_egl_functions=yes
|
|
|
|
|
need_glx_functions=yes
|
|
|
|
|
fi
|
|
|
|
|
])
|
|
|
|
|
|
2009-07-21 22:28:44 +01:00
|
|
|
CAIRO_ENABLE_FUNCTIONS(eagle, eagle, auto, [
|
|
|
|
|
if test "x$need_eagle_functions" = "xyes"; then
|
|
|
|
|
eagle_REQUIRES="eagle"
|
|
|
|
|
PKG_CHECK_MODULES(eagle, $eagle_REQUIRES, ,
|
|
|
|
|
[AC_MSG_RESULT(no)
|
|
|
|
|
use_eagle="no (requires eagle)"])
|
|
|
|
|
else
|
|
|
|
|
use_eagle="no (not required by any backend)"
|
|
|
|
|
fi
|
|
|
|
|
])
|
|
|
|
|
|
2009-07-15 16:37:25 +01:00
|
|
|
CAIRO_ENABLE_FUNCTIONS(egl, EGL, auto, [
|
|
|
|
|
if test "x$need_egl_functions" = "xyes"; then
|
|
|
|
|
AC_CHECK_HEADER(EGL/egl.h,, [use_egl="no (EGL headers not found)"])
|
|
|
|
|
if test "x$use_egl" = "xyes"; then
|
|
|
|
|
egl_NONPKGCONFIG_CFLAGS=
|
|
|
|
|
egl_NONPKGCONFIG_LIBS=
|
2009-08-20 12:54:12 +01:00
|
|
|
save_LIBS="$LIBS"
|
|
|
|
|
other_egl_LIBS=""
|
|
|
|
|
# Temporary workaround for missing link from egl13
|
|
|
|
|
AC_CHECK_LIB(csi, csi_stream_attachresource, other_egl_LIBS="-lcsi")
|
|
|
|
|
LIBS="$other_egl_LIBS $LIBS"
|
|
|
|
|
for egl_lib in EGL egl13 egl12 egl11; do
|
2009-07-15 16:37:25 +01:00
|
|
|
if test -z "$egl_NONPKGCONFIG_LIBS"; then
|
2009-08-20 12:54:12 +01:00
|
|
|
AC_CHECK_LIB($egl_lib, eglGetError, egl_NONPKGCONFIG_LIBS="-l$egl_lib")
|
2009-07-15 16:37:25 +01:00
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
if test -z "$egl_NONPKGCONFIG_LIBS"; then
|
|
|
|
|
use_egl="no (EGL library not found)"
|
2009-08-20 12:54:12 +01:00
|
|
|
else
|
|
|
|
|
egl_NONPKGCONFIG_LIBS="$egl_NONPKGCONFIG_LIBS $other_egl_LIBS"
|
2009-07-15 16:37:25 +01:00
|
|
|
fi
|
2009-08-20 12:54:12 +01:00
|
|
|
LIBS="$save_LIBS"
|
2009-07-15 16:37:25 +01:00
|
|
|
fi
|
|
|
|
|
else
|
|
|
|
|
use_egl="no (not required by any backend)"
|
|
|
|
|
fi
|
|
|
|
|
])
|
|
|
|
|
|
|
|
|
|
CAIRO_ENABLE_FUNCTIONS(glx, GLX, auto, [
|
|
|
|
|
if test "x$need_glx_functions" = "xyes"; then
|
2009-09-14 10:36:08 +01:00
|
|
|
save_CFLAGS="$CFLAGS"
|
|
|
|
|
CFLAGS="$CFLAGS $gl_CFLAGS $gl_NONPKGCONFIG_CFLAGS"
|
2009-07-15 16:37:25 +01:00
|
|
|
AC_CHECK_HEADER(GL/glx.h,, [use_glx="no (GLX headers not found)"])
|
|
|
|
|
glx_NONPKGCONFIG_CFLAGS=
|
|
|
|
|
glx_NONPKGCONFIG_LIBS="-lGL"
|
2009-09-14 10:36:08 +01:00
|
|
|
CFLAGS="$save_CFLAGS"
|
2009-07-15 16:37:25 +01:00
|
|
|
else
|
|
|
|
|
use_glx="no (not required by any backend)"
|
|
|
|
|
fi
|
|
|
|
|
])
|
|
|
|
|
|
|
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2008-11-13 11:07:45 +00:00
|
|
|
any2ppm_cs=no
|
2008-11-04 10:45:34 +00:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(script, script, no, [
|
2008-11-13 11:07:45 +00:00
|
|
|
any2ppm_cs=yes
|
2008-11-04 10:45:34 +00:00
|
|
|
])
|
|
|
|
|
|
|
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2005-08-17 15:57:45 +00:00
|
|
|
# We use pkg-config to look for freetype2, but fall back to
|
|
|
|
|
# freetype-config if it fails. We prefer pkg-config, since we can
|
|
|
|
|
# then just put freetype2 >= $FREETYPE_MIN_VERSION in
|
|
|
|
|
# Requires.private, but at least up to 2003-06-07, there was no
|
|
|
|
|
# freetype2.pc in the release.
|
2003-11-08 10:28:04 +00:00
|
|
|
#
|
2006-06-21 07:00:34 -04:00
|
|
|
# FreeType versions come in three forms:
|
2007-12-01 20:41:55 -05:00
|
|
|
# release (such as 2.1.9)
|
|
|
|
|
# libtool (such as 9.7.3) (returned by freetype-config and pkg-config)
|
2003-11-08 10:28:04 +00:00
|
|
|
# platform-specific/soname (such as 6.3.4)
|
|
|
|
|
# and they recommend you never use the platform-specific version
|
|
|
|
|
# (see docs/VERSION.DLL in freetype2 sources)
|
|
|
|
|
#
|
|
|
|
|
# Set these as appropriate:
|
|
|
|
|
|
|
|
|
|
# release number - for information only
|
2007-12-01 20:41:55 -05:00
|
|
|
FREETYPE_MIN_RELEASE=2.1.9
|
2003-11-18 13:21:29 +00:00
|
|
|
# libtool-specific version - this is what is checked
|
2007-12-01 20:41:55 -05:00
|
|
|
FREETYPE_MIN_VERSION=9.7.3
|
2003-11-08 10:28:04 +00:00
|
|
|
|
2008-09-04 19:50:32 -04:00
|
|
|
CAIRO_ENABLE_FONT_BACKEND(ft, FreeType, auto, [
|
2008-05-28 12:01:38 -04:00
|
|
|
|
2006-06-25 17:43:27 +02:00
|
|
|
PKG_CHECK_MODULES(FREETYPE, freetype2 >= $FREETYPE_MIN_VERSION,
|
2007-01-21 15:11:31 -05:00
|
|
|
[freetype_pkgconfig=yes],
|
|
|
|
|
[AC_MSG_RESULT(no)
|
|
|
|
|
freetype_pkgconfig=no])
|
2005-08-17 15:57:45 +00:00
|
|
|
|
2006-06-25 17:43:27 +02:00
|
|
|
if test "x$freetype_pkgconfig" = "xyes"; then
|
|
|
|
|
ft_REQUIRES="freetype2 >= $FREETYPE_MIN_VERSION $ft_REQUIRES"
|
|
|
|
|
else
|
2005-08-17 15:57:45 +00:00
|
|
|
|
2006-06-25 17:43:27 +02:00
|
|
|
if test -z "$FREETYPE_CONFIG"; then
|
|
|
|
|
AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
|
|
|
|
|
fi
|
|
|
|
|
if test "x$FREETYPE_CONFIG" = "xno" ; then
|
|
|
|
|
use_ft='no (freetype-config not found in path or $FREETYPE_CONFIG)'
|
2005-08-18 17:22:23 +00:00
|
|
|
else
|
2006-06-25 17:43:27 +02:00
|
|
|
AC_MSG_CHECKING(freetype2 libtool version)
|
|
|
|
|
|
|
|
|
|
FREETYPE_VERSION=`$FREETYPE_CONFIG --version`
|
2009-01-02 15:36:39 +00:00
|
|
|
AX_COMPARE_VERSION([$FREETYPE_VERSION], [gt], [$FREETYPE_MIN_VERSION],
|
|
|
|
|
[AC_MSG_RESULT($FREETYPE_VERSION - OK)
|
|
|
|
|
ft_NONPKGCONFIG_CFLAGS=`$FREETYPE_CONFIG --cflags`
|
|
|
|
|
ft_NONPKGCONFIG_LIBS=`$FREETYPE_CONFIG --libs`],
|
|
|
|
|
[AC_MSG_RESULT($FREETYPE_VERSION - Too old)
|
|
|
|
|
use_ft="no ($FREETYPE_VERSION found; version $FREETYPE_MIN_VERSION from release $FREETYPE_MIN_RELEASE required)"])
|
2005-08-18 17:22:23 +00:00
|
|
|
fi
|
2005-08-17 15:57:45 +00:00
|
|
|
fi
|
2009-03-17 00:53:30 -04:00
|
|
|
|
|
|
|
|
ft_CFLAGS="$FREETYPE_CFLAGS"
|
|
|
|
|
ft_LIBS="$FREETYPE_LIBS"
|
|
|
|
|
])
|
|
|
|
|
|
2009-06-19 18:34:34 +03:00
|
|
|
FONTCONFIG_MIN_VERSION=2.2.95
|
2009-03-17 00:53:30 -04:00
|
|
|
CAIRO_ENABLE_FONT_BACKEND(fc, Fontconfig, auto, [
|
|
|
|
|
use_fc=$use_ft
|
|
|
|
|
if test "x$use_fc" = "xyes"; then
|
2009-06-19 18:34:34 +03:00
|
|
|
fc_REQUIRES="fontconfig >= $FONTCONFIG_MIN_VERSION"
|
2009-03-17 00:53:30 -04:00
|
|
|
PKG_CHECK_MODULES(FONTCONFIG, $fc_REQUIRES,,
|
|
|
|
|
[AC_MSG_RESULT(no); use_fc="no (requires $fc_REQUIRES)"])
|
2005-01-17 09:18:37 +00:00
|
|
|
fi
|
2009-03-17 00:53:30 -04:00
|
|
|
fc_CFLAGS="$FONTCONFIG_CFLAGS"
|
|
|
|
|
fc_LIBS="$FONTCONFIG_LIBS"
|
2006-06-25 17:43:27 +02:00
|
|
|
])
|
2003-11-08 10:28:04 +00:00
|
|
|
|
2006-06-21 07:00:34 -04:00
|
|
|
if test "x$use_ft" = "xyes"; then
|
2008-09-01 23:35:03 -04:00
|
|
|
_save_libs="$LIBS"
|
|
|
|
|
_save_cflags="$CFLAGS"
|
2006-06-25 17:43:27 +02:00
|
|
|
LIBS="$LIBS $ft_LIBS"
|
|
|
|
|
CFLAGS="$CFLAGS $ft_CFLAGS"
|
2005-07-31 11:19:47 +00:00
|
|
|
AC_CHECK_MEMBER(FT_Bitmap_Size.y_ppem,
|
|
|
|
|
HAVE_FT_BITMAP_SIZE_Y_PPEM=1,
|
|
|
|
|
HAVE_FT_BITMAP_SIZE_Y_PPEM=0,
|
2006-06-25 17:43:27 +02:00
|
|
|
[#include <ft2build.h>
|
2005-07-31 11:19:47 +00:00
|
|
|
#include FT_FREETYPE_H])
|
|
|
|
|
AC_DEFINE_UNQUOTED(HAVE_FT_BITMAP_SIZE_Y_PPEM,$HAVE_FT_BITMAP_SIZE_Y_PPEM,
|
|
|
|
|
[FT_Bitmap_Size structure includes y_ppem field])
|
2005-08-21 09:27:52 +00:00
|
|
|
|
2008-08-05 16:30:02 -04:00
|
|
|
AC_CHECK_FUNCS(FT_GlyphSlot_Embolden FT_Load_Sfnt_Table FT_Library_SetLcdFilter)
|
2005-08-21 09:27:52 +00:00
|
|
|
|
2008-09-01 23:35:03 -04:00
|
|
|
LIBS="$_save_libs"
|
|
|
|
|
CFLAGS="$_save_cflags"
|
2005-01-17 09:18:37 +00:00
|
|
|
fi
|
2003-11-08 10:28:04 +00:00
|
|
|
|
2009-03-17 00:53:30 -04:00
|
|
|
if test "x$use_fc" = "xyes"; then
|
2009-06-06 21:45:18 +01:00
|
|
|
CAIRO_CHECK_FUNCS_WITH_FLAGS(FcInit FcFini, [$FONTCONFIG_CFLAGS], [$FONTCONFIG_LIBS])
|
2009-03-17 00:53:30 -04:00
|
|
|
fi
|
|
|
|
|
|
2003-04-17 13:24:29 +00:00
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2007-04-19 16:49:35 -04:00
|
|
|
AC_ARG_ENABLE(pthread,
|
|
|
|
|
AS_HELP_STRING([--disable-pthread],
|
|
|
|
|
[Do not use pthread]),
|
|
|
|
|
[use_pthread=$enableval], [use_pthread=auto])
|
|
|
|
|
|
|
|
|
|
have_pthread=no
|
|
|
|
|
if test "x$use_pthread" != "xno"; then
|
2009-10-15 12:18:47 +01:00
|
|
|
pthread_REQUIRES="pthread-stubs"
|
|
|
|
|
PKG_CHECK_MODULES(pthread, $pthread_REQUIRES,
|
|
|
|
|
[use_pthread=yes; have_pthread=yes],
|
|
|
|
|
[AC_CHECK_HEADERS([pthread.h], [use_pthread=yes; have_pthread=yes], [use_pthread="no (requires $pthread_REQUIRES)"])])
|
|
|
|
|
if test "x$have_pthread" = "xyes"; then
|
|
|
|
|
AC_DEFINE([CAIRO_HAS_PTHREAD], 1, [Define to 1 if we have pthread support])
|
|
|
|
|
fi
|
2007-04-19 16:49:35 -04:00
|
|
|
fi
|
2005-08-13 03:26:18 +00:00
|
|
|
AM_CONDITIONAL(HAVE_PTHREAD, test "x$have_pthread" = "xyes")
|
2007-04-19 16:49:35 -04:00
|
|
|
if test "x$have_pthread" = xno -a "x$use_pthread" = xyes; then
|
|
|
|
|
AC_MSG_ERROR([pthread requested but not found])
|
|
|
|
|
fi
|
2005-06-25 23:24:19 +00:00
|
|
|
|
2009-11-02 11:56:29 +00:00
|
|
|
have_real_pthread=no
|
|
|
|
|
real_pthread_REQUIRES="pthread"
|
|
|
|
|
PKG_CHECK_MODULES(real_pthread, $real_pthread_REQUIRES,
|
|
|
|
|
[have_real_pthread=yes],
|
2009-11-02 13:20:25 +01:00
|
|
|
[AC_CHECK_HEADERS([pthread.h],[real_pthread_LIBS="-lpthread"], [have_real_pthread="no (requires $real_pthread_REQUIRES)"])])
|
2009-11-02 11:56:29 +00:00
|
|
|
AM_CONDITIONAL(HAVE_REAL_PTHREAD, test "x$have_real_pthread" = "xyes")
|
|
|
|
|
|
2005-06-25 23:24:19 +00:00
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2008-09-04 19:50:32 -04:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(ps, PostScript, yes, [
|
2007-08-29 12:18:16 -04:00
|
|
|
# The ps backend requires zlib.
|
|
|
|
|
use_ps=$have_libz
|
|
|
|
|
ps_NONPKGCONFIG_LIBS=-lz
|
|
|
|
|
])
|
|
|
|
|
|
2008-07-21 16:29:57 -04:00
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2008-10-09 12:11:51 +01:00
|
|
|
SPECTRE_VERSION_REQUIRED=0.2.0
|
2007-07-05 15:24:11 +01:00
|
|
|
test_ps=no
|
2008-10-09 12:11:51 +01:00
|
|
|
any2ppm_ps=no
|
2007-07-05 15:24:11 +01:00
|
|
|
if test "x$use_ps" = "xyes"; then
|
|
|
|
|
AC_CHECK_PROG(GS, gs, gs)
|
|
|
|
|
if test "$GS"; then
|
|
|
|
|
AC_DEFINE([CAIRO_CAN_TEST_PS_SURFACE], 1, [Define to 1 if the PS backend can be tested (needs ghostscript)])
|
|
|
|
|
test_ps="yes"
|
|
|
|
|
else
|
|
|
|
|
AC_MSG_WARN([PS backend will not be tested since ghostscript is not available])
|
|
|
|
|
test_ps="no (requires ghostscript)"
|
|
|
|
|
fi
|
2008-10-09 12:11:51 +01:00
|
|
|
|
|
|
|
|
libspectre_DEPENDENCY="libspectre >= $SPECTRE_VERSION_REQUIRED"
|
|
|
|
|
PKG_CHECK_MODULES(LIBSPECTRE, $libspectre_DEPENDENCY,
|
|
|
|
|
[any2ppm_ps=yes],
|
2009-09-08 17:51:33 +01:00
|
|
|
[test_ps="no (requires libspectre)"])
|
2007-07-05 15:24:11 +01:00
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
AM_CONDITIONAL(CAIRO_CAN_TEST_PS_SURFACE, test "x$test_ps" = "xyes")
|
2008-10-11 18:10:16 +01:00
|
|
|
AM_CONDITIONAL(CAIRO_HAS_SPECTRE, test "x$any2ppm_ps" = "xyes")
|
|
|
|
|
if test "x$any2ppm_ps" = "xyes"; then
|
|
|
|
|
AC_DEFINE([CAIRO_HAS_SPECTRE], 1, [Define to 1 if libspectre is available])
|
|
|
|
|
fi
|
2008-10-09 12:11:51 +01:00
|
|
|
AC_SUBST(LIBSPECTRE_CFLAGS)
|
|
|
|
|
AC_SUBST(LIBSPECTRE_LIBS)
|
2005-07-28 10:24:59 +00:00
|
|
|
|
|
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2008-09-04 19:50:32 -04:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(pdf, PDF, yes, [
|
2006-07-11 09:23:18 -04:00
|
|
|
# The pdf backend requires zlib.
|
2006-08-10 13:10:24 -04:00
|
|
|
use_pdf=$have_libz
|
2006-07-12 04:27:55 -04:00
|
|
|
pdf_NONPKGCONFIG_LIBS=-lz
|
2006-04-25 07:30:16 -04:00
|
|
|
])
|
2005-01-31 16:11:37 +00:00
|
|
|
|
2008-07-21 16:29:57 -04:00
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2008-09-24 22:35:40 +01:00
|
|
|
# poppler-0.9.2 has an important bug fixes for user-font and an
|
|
|
|
|
# enhancement not to gobble nearly 1GiB of memory during test/large-font.
|
|
|
|
|
POPPLER_VERSION_REQUIRED=0.9.2
|
2005-12-07 16:06:11 +00:00
|
|
|
test_pdf=no
|
2008-10-09 12:11:51 +01:00
|
|
|
any2ppm_pdf=no
|
2005-05-06 21:33:22 +00:00
|
|
|
if test "x$use_pdf" = "xyes"; then
|
2006-09-26 13:54:03 -04:00
|
|
|
poppler_DEPENDENCY="poppler-glib >= $POPPLER_VERSION_REQUIRED"
|
2008-11-05 19:27:49 +00:00
|
|
|
PKG_CHECK_MODULES(POPPLER, $poppler_DEPENDENCY,
|
2008-09-15 19:31:28 -04:00
|
|
|
[CAIRO_CHECK_FUNCS_WITH_FLAGS(poppler_page_render, [$POPPLER_CFLAGS], [$POPPLER_LIBS],
|
2008-10-09 12:11:51 +01:00
|
|
|
[test_pdf=yes; any2ppm_pdf=yes],
|
2009-09-08 17:51:33 +01:00
|
|
|
[test_pdf="no (requires $poppler_DEPENDENCY)"])],
|
|
|
|
|
[test_pdf="no (requires $poppler_DEPENDENCY)"])
|
2005-12-07 16:06:11 +00:00
|
|
|
if test "x$test_pdf" = "xyes"; then
|
|
|
|
|
AC_DEFINE([CAIRO_CAN_TEST_PDF_SURFACE], 1, [Define to 1 if the PDF backend can be tested (need poppler and other dependencies for pdf2png)])
|
|
|
|
|
else
|
2006-08-31 08:35:39 -07:00
|
|
|
AC_MSG_WARN([PDF backend will not be tested since poppler >= $POPPLER_VERSION_REQUIRED is not available])
|
2005-12-07 16:06:11 +00:00
|
|
|
fi
|
2005-01-31 16:11:37 +00:00
|
|
|
fi
|
|
|
|
|
|
2005-12-07 16:06:11 +00:00
|
|
|
AM_CONDITIONAL(CAIRO_CAN_TEST_PDF_SURFACE, test "x$test_pdf" = "xyes")
|
|
|
|
|
AC_SUBST(POPPLER_CFLAGS)
|
|
|
|
|
AC_SUBST(POPPLER_LIBS)
|
|
|
|
|
|
2006-01-12 16:35:12 +00:00
|
|
|
AM_CONDITIONAL(CAIRO_HAS_MULTI_PAGE_SURFACES, test "x$use_ps" = "xyes" -o "x$use_pdf" = "xyes")
|
|
|
|
|
|
2005-01-31 16:11:37 +00:00
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2008-09-04 19:50:32 -04:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(svg, SVG, yes, [
|
2006-08-17 22:10:27 -04:00
|
|
|
if test "x$use_png" != "xyes"; then
|
|
|
|
|
use_svg="no (requires --enable-png)"
|
|
|
|
|
fi
|
2006-04-25 07:30:16 -04:00
|
|
|
])
|
2005-12-08 13:09:26 +00:00
|
|
|
|
2006-11-20 14:01:50 -08:00
|
|
|
LIBRSVG_VERSION_REQUIRED=2.15.0
|
2007-10-10 12:32:16 +01:00
|
|
|
test_svg=no
|
2008-10-09 12:11:51 +01:00
|
|
|
any2ppm_svg=no
|
2005-12-08 13:09:26 +00:00
|
|
|
if test "x$use_svg" = "xyes"; then
|
2006-09-26 13:54:03 -04:00
|
|
|
librsvg_DEPENDENCY="librsvg-2.0 >= $LIBRSVG_VERSION_REQUIRED"
|
2007-01-21 15:11:31 -05:00
|
|
|
PKG_CHECK_MODULES(LIBRSVG, $librsvg_DEPENDENCY gdk-2.0,
|
2008-09-03 20:06:26 -04:00
|
|
|
[CAIRO_CHECK_FUNCS_WITH_FLAGS(rsvg_pixbuf_from_file, [$LIBRSVG_CFLAGS], [$LIBRSVG_LIBS],
|
2008-10-09 12:11:51 +01:00
|
|
|
[test_svg=yes; any2ppm_svg=yes],
|
2009-09-08 17:51:33 +01:00
|
|
|
[test_svg="no (requires $librsvg_DEPENDENCY)"])],
|
|
|
|
|
[test_svg="no (requires $librsvg_DEPENDENCY)"])
|
2005-12-19 13:59:34 +00:00
|
|
|
if test "x$test_svg" = "xyes"; then
|
2006-08-31 08:35:39 -07:00
|
|
|
AC_DEFINE([CAIRO_CAN_TEST_SVG_SURFACE], 1, [Define to 1 if the SVG backend can be tested])
|
2005-12-19 13:59:34 +00:00
|
|
|
else
|
2006-08-31 08:35:39 -07:00
|
|
|
AC_MSG_WARN([SVG backend will not be tested since librsvg >= $LIBRSVG_VERSION_REQUIRED is not available])
|
2005-12-19 13:59:34 +00:00
|
|
|
fi
|
2005-12-08 13:09:26 +00:00
|
|
|
fi
|
|
|
|
|
|
2005-12-19 13:59:34 +00:00
|
|
|
AM_CONDITIONAL(CAIRO_CAN_TEST_SVG_SURFACE, test "x$test_svg" = "xyes")
|
|
|
|
|
AC_SUBST(LIBRSVG_CFLAGS)
|
|
|
|
|
AC_SUBST(LIBRSVG_LIBS)
|
|
|
|
|
|
2008-09-02 20:20:49 -04:00
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
|
|
|
|
dnl XXX make this a private feature?
|
2008-09-04 19:50:32 -04:00
|
|
|
CAIRO_ENABLE(test_surfaces, test surfaces, no)
|
2008-09-02 20:20:49 -04:00
|
|
|
|
|
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2008-09-10 23:23:08 -04:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(image, image, always, [
|
2009-07-14 11:16:24 +02:00
|
|
|
pixman_REQUIRES="pixman-1 >= 0.15.16"
|
2008-09-11 01:04:13 -04:00
|
|
|
PKG_CHECK_MODULES(pixman, $pixman_REQUIRES, , [AC_MSG_RESULT(no)
|
|
|
|
|
use_image="no (requires $pixman_REQUIRES http://cairographics.org/releases/)"])
|
|
|
|
|
image_REQUIRES=$pixman_REQUIRES
|
|
|
|
|
image_CFLAGS=$pixman_CFLAGS
|
|
|
|
|
image_LIBS=$pixman_LIBS
|
2008-09-10 23:23:08 -04:00
|
|
|
])
|
|
|
|
|
|
|
|
|
|
dnl ===========================================================================
|
2008-09-02 20:20:49 -04:00
|
|
|
|
2009-10-22 02:13:36 +03:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(recording, recording, always)
|
2009-08-16 18:04:54 +01:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(tee, tee, always)
|
2009-08-18 14:25:25 +01:00
|
|
|
CAIRO_ENABLE_SURFACE_BACKEND(xml, xml, yes, [
|
|
|
|
|
use_xml=$have_libz
|
|
|
|
|
xml_NONPKGCONFIG_LIBS=-lz
|
|
|
|
|
])
|
2009-07-03 18:26:50 +01:00
|
|
|
|
|
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2008-09-10 23:23:08 -04:00
|
|
|
CAIRO_ENABLE_FONT_BACKEND(user, user, always)
|
2008-09-02 20:20:49 -04:00
|
|
|
|
2008-09-03 16:38:03 +01:00
|
|
|
dnl ===========================================================================
|
|
|
|
|
dnl Default to quick testing during development, but force a full test before
|
|
|
|
|
dnl release
|
|
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(full-testing,
|
|
|
|
|
AS_HELP_STRING([--enable-full-testing],
|
|
|
|
|
[Sets the test suite to perform full testing by default, which
|
|
|
|
|
will dramatically slow down make check, but is a
|
|
|
|
|
*requirement* before release.]), [
|
|
|
|
|
if test "x$enableval" = "xyes"; then
|
|
|
|
|
CAIRO_TEST_MODE=full
|
|
|
|
|
AC_SUBST(CAIRO_TEST_MODE)
|
|
|
|
|
fi
|
|
|
|
|
])
|
|
|
|
|
|
2008-08-18 18:50:00 +01:00
|
|
|
dnl ===========================================================================
|
|
|
|
|
dnl Build the external converter if we have any of the test backends
|
|
|
|
|
AM_CONDITIONAL(BUILD_ANY2PPM,
|
2008-10-09 12:11:51 +01:00
|
|
|
test "x$any2ppm_svg" = "xyes" \
|
|
|
|
|
-o "x$any2ppm_pdf" = "xyes" \
|
2008-11-13 11:07:45 +00:00
|
|
|
-o "x$any2ppm_ps" = "xyes" \
|
|
|
|
|
-o "x$any2ppm_cs" = "xyes")
|
2008-08-18 18:50:00 +01:00
|
|
|
|
2008-10-31 15:37:58 +00:00
|
|
|
dnl ===========================================================================
|
|
|
|
|
dnl The tracing utility requires LD_PRELOAD, so only build it for systems
|
|
|
|
|
dnl that are known to work.
|
|
|
|
|
|
|
|
|
|
case $host in
|
2009-09-13 12:47:19 +01:00
|
|
|
*-linux*|*-*bsd*|*-solaris*)
|
2008-10-31 15:37:58 +00:00
|
|
|
have_ld_preload="yes"
|
|
|
|
|
;;
|
|
|
|
|
*)
|
|
|
|
|
have_ld_preload="no"
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
|
2009-09-13 12:53:07 +01:00
|
|
|
CAIRO_ENABLE(trace, cairo-trace, auto, [
|
2009-09-08 17:51:33 +01:00
|
|
|
if test "x$have_ld_preload" != "xyes" -o \
|
|
|
|
|
"x$have_libz" != "xyes" -o \
|
2009-09-13 17:35:29 -06:00
|
|
|
"x$have_dlsym" != "xyes"; then
|
2009-09-05 15:21:50 +01:00
|
|
|
use_trace="no (requires dynamic linker and zlib)"
|
|
|
|
|
fi
|
|
|
|
|
])
|
2008-10-31 15:37:58 +00:00
|
|
|
|
2009-09-08 17:51:33 +01:00
|
|
|
CAIRO_ENABLE(interpreter, cairo-script-interpreter, yes, [
|
2009-09-09 01:16:08 +01:00
|
|
|
if test "x$have_libz" != "xyes"; then
|
2009-09-08 17:51:33 +01:00
|
|
|
use_interpreter="no (requires zlib)"
|
|
|
|
|
fi
|
|
|
|
|
])
|
2009-08-22 22:20:35 +01:00
|
|
|
|
2008-11-03 11:30:38 +00:00
|
|
|
AC_CHECK_LIB(bfd, bfd_openr,
|
|
|
|
|
[AC_CHECK_HEADER(bfd.h, [have_bfd=yes],
|
2008-11-03 23:16:09 +00:00
|
|
|
[have_bfd=no])], [have_bfd=no])
|
2009-08-06 09:52:34 +01:00
|
|
|
AC_CHECK_HEADER(libiberty.h,, [have_bfd=no])
|
2008-11-03 11:30:38 +00:00
|
|
|
if test "x$have_bfd" = "xyes"; then
|
2008-11-03 23:16:09 +00:00
|
|
|
AC_DEFINE([HAVE_BFD], [1], [Define to 1 if you have the binutils development files installed])
|
2008-11-03 11:30:38 +00:00
|
|
|
BFD_LIBS=-lbfd
|
|
|
|
|
AC_SUBST(BFD_LIBS)
|
|
|
|
|
fi
|
|
|
|
|
|
2009-09-13 12:53:07 +01:00
|
|
|
CAIRO_ENABLE(symbol_lookup, symbol-lookup, auto, [
|
2009-09-13 10:52:14 +01:00
|
|
|
if test "x$have_bfd" != "xyes"; then
|
|
|
|
|
use_symbol_lookup="no (requires bfd)"
|
|
|
|
|
fi
|
|
|
|
|
])
|
|
|
|
|
|
2009-08-18 10:55:54 +01:00
|
|
|
PKG_CHECK_MODULES(glib, glib-2.0, have_glib=yes, have_glib=no)
|
|
|
|
|
AC_SUBST(glib_CFLAGS)
|
|
|
|
|
AC_SUBST(glib_LIBS)
|
|
|
|
|
AM_CONDITIONAL(BUILD_SPHINX, test "x$have_glib" = "xyes")
|
|
|
|
|
|
2005-12-14 16:22:06 +00:00
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2006-12-01 12:41:55 -08:00
|
|
|
AC_ARG_ENABLE(some-floating-point,
|
|
|
|
|
AS_HELP_STRING([--disable-some-floating-point],
|
|
|
|
|
[Disable certain code paths that rely heavily on double precision
|
|
|
|
|
floating-point calculation. This option can improve
|
|
|
|
|
performance on systems without a double precision floating-point
|
|
|
|
|
unit, but might degrade performance on those that do.]), [
|
|
|
|
|
if test "x$enableval" = "xno"; then
|
|
|
|
|
# A value of 'no' for $enableval means that they want to disable, which
|
|
|
|
|
# means 'yes' for $disable_some_floating_point.
|
|
|
|
|
disable_some_floating_point=yes
|
|
|
|
|
fi
|
2006-12-02 11:24:35 -08:00
|
|
|
], [disable_some_floating_point=no])
|
2006-12-01 12:41:55 -08:00
|
|
|
|
|
|
|
|
AM_CONDITIONAL(DISABLE_SOME_FLOATING_POINT,
|
|
|
|
|
test "x$disable_some_floating_point" = "xyes")
|
|
|
|
|
if test "x$disable_some_floating_point" = "xyes"; then
|
|
|
|
|
AC_DEFINE(DISABLE_SOME_FLOATING_POINT, 1,
|
|
|
|
|
[Define to 1 to disable certain code paths that rely heavily on
|
|
|
|
|
double precision floating-point calculation])
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
dnl ===========================================================================
|
|
|
|
|
|
2008-10-16 11:56:19 +01:00
|
|
|
# We use GTK+ for some utility/debugging tools
|
2009-06-06 14:58:46 +01:00
|
|
|
PKG_CHECK_MODULES(gtk, "gtk+-2.0",have_gtk=yes, have_gtk=no)
|
|
|
|
|
AM_CONDITIONAL(HAVE_GTK, test "x$have_gtk" = "xyes")
|
2008-10-16 11:56:19 +01:00
|
|
|
|
2009-04-20 10:56:06 +01:00
|
|
|
SHAVE_INIT([build], [enable]) # dnl Make the output pretty
|
|
|
|
|
|
2006-06-21 06:25:01 -04:00
|
|
|
AC_CONFIG_FILES([
|
2009-04-20 10:56:06 +01:00
|
|
|
build/shave
|
|
|
|
|
build/shave-libtool
|
2003-04-17 13:24:29 +00:00
|
|
|
Makefile
|
2006-08-30 15:34:27 -07:00
|
|
|
boilerplate/Makefile
|
2003-04-17 13:24:29 +00:00
|
|
|
src/Makefile
|
2004-10-26 14:38:43 +00:00
|
|
|
test/Makefile
|
2006-11-21 14:19:35 -08:00
|
|
|
test/pdiff/Makefile
|
2006-08-31 07:19:05 -07:00
|
|
|
perf/Makefile
|
2007-04-21 07:48:10 -04:00
|
|
|
util/Makefile
|
2009-08-16 21:08:22 +01:00
|
|
|
util/cairo-fdr/Makefile
|
2008-11-13 11:07:45 +00:00
|
|
|
util/cairo-script/Makefile
|
2008-12-10 13:50:23 +00:00
|
|
|
util/cairo-script/examples/Makefile
|
2009-08-18 10:55:54 +01:00
|
|
|
util/cairo-sphinx/Makefile
|
2008-10-31 15:37:58 +00:00
|
|
|
util/cairo-trace/Makefile
|
|
|
|
|
util/cairo-trace/cairo-trace
|
2005-01-27 11:35:25 +00:00
|
|
|
doc/Makefile
|
|
|
|
|
doc/public/Makefile
|
2003-04-17 13:24:29 +00:00
|
|
|
])
|
2004-04-09 14:14:56 +00:00
|
|
|
|
2006-06-21 06:25:01 -04:00
|
|
|
AC_OUTPUT
|
2008-09-04 16:41:51 -04:00
|
|
|
CAIRO_REPORT
|