mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-02-04 17:40:39 +01:00
Rewrite configure caching.
This commit is contained in:
parent
e747bbd350
commit
53a478d233
2 changed files with 128 additions and 159 deletions
285
configure.in
285
configure.in
|
|
@ -87,7 +87,7 @@ PKG_PROG_PKG_CONFIG
|
|||
dnl ===========================================================================
|
||||
dnl
|
||||
dnl Define a macro to enable backends.
|
||||
dnl - Macro: CAIRO_BACKEND_ENABLE (NAMESPACE, NAME, ARG, FEATURE_NAME, DEFAULT, REQUIRES, COMMANDS)
|
||||
dnl - Macro: CAIRO_BACKEND_ENABLE (NAMESPACE, NAME, ARG, FEATURE_NAME, DEFAULT, COMMANDS)
|
||||
dnl
|
||||
dnl where:
|
||||
dnl
|
||||
|
|
@ -110,42 +110,53 @@ AC_DEFUN([CAIRO_BACKEND_ENABLE],
|
|||
[AC_ARG_ENABLE([$3],
|
||||
AS_HELP_STRING([--enable-$3=@<:@no/auto/yes@:>@],
|
||||
[Enable cairo's $2 backend @<:@default=$5@:>@]),
|
||||
use_$1=$enableval, use_$1=$5)
|
||||
if test "x$use_$1" = xno; then
|
||||
enable_$1=$enableval, enable_$1=$5)
|
||||
if test "x$enable_$1" = xno; then
|
||||
use_$1="no (disabled, use --enable-$3 to enable)"
|
||||
else
|
||||
AC_CACHE_CHECK([for cairo's $2 backend], cairo_cv_use_$1,
|
||||
AC_CACHE_CHECK([for cairo's $2 backend], cairo_cv_backend_[]$1[]_use,
|
||||
[echo
|
||||
saved_use_$1=$use_$1
|
||||
use_$1=yes
|
||||
$7
|
||||
cairo_cv_use_$1=$use_$1
|
||||
use_$1=$saved_use_$1
|
||||
use_[]$1=yes
|
||||
$1[]_REQUIRES=""
|
||||
$1[]_CFLAGS=""
|
||||
$1[]_LIBS=""
|
||||
$6
|
||||
cairo_cv_backend_[]$1[]_use=$use_[]$1
|
||||
cairo_cv_backend_[]$1[]_requires=$[]$1[]_REQUIRES
|
||||
cairo_cv_backend_[]$1[]_cflags=$[]$1[]_CFLAGS
|
||||
cairo_cv_backend_[]$1[]_libs=$[]$1[]_LIBS
|
||||
AC_MSG_CHECKING([whether cairo's $2 backend could be enabled])])
|
||||
case $use_$1 in
|
||||
|
||||
# split the backend spec into its components
|
||||
use_[]$1=$cairo_cv_backend_[]$1[]_use
|
||||
$1[]_REQUIRES=$cairo_cv_backend_[]$1[]_requires
|
||||
$1[]_CFLAGS=$cairo_cv_backend_[]$1[]_cflags
|
||||
$1[]_LIBS=$cairo_cv_backend_[]$1[]_libs
|
||||
|
||||
case $enable_[]$1 in
|
||||
yes)
|
||||
if test "x$cairo_cv_use_$1" = xyes; then
|
||||
use_$1=yes
|
||||
else
|
||||
AS_IF([test "x$use_[]$1" = xyes],,[
|
||||
AC_MSG_ERROR([requested $2 backend could not be enabled])
|
||||
fi
|
||||
])
|
||||
;;
|
||||
auto)
|
||||
use_$1=$cairo_cv_use_$1
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([invalid argument passed to --enable-$3: $use_$1, should be one of @<:@no/auto/yes@:>@])
|
||||
;;
|
||||
esac
|
||||
if test "x$use_$1" = xyes; then
|
||||
if test "x$use_[]$1" = xyes; then
|
||||
CAIRO_FEATURES="$CAIRO_FEATURES $4"
|
||||
CAIRO_REQUIRES="$CAIRO_REQUIRES $$1_REQUIRES"
|
||||
CAIRO_CFLAGS="$CAIRO_CFLAGS $$1_CFLAGS"
|
||||
CAIRO_LIBS="$CAIRO_LIBS $$1_LIBS"
|
||||
outfile=`echo src/cairo-$1.pc | sed -e s/_/-/g`
|
||||
AC_MSG_NOTICE([creating $outfile])
|
||||
mkdir -p src
|
||||
AS_IF([sed \
|
||||
-e "s/@backend_name@/$1/g" \
|
||||
-e "s/@Backend_Name@/$2/g" \
|
||||
-e "s/@BACKEND_REQUIRES@/$6/g" \
|
||||
-e "s/@BACKEND_REQUIRES@/$$1_REQUIRES/g" \
|
||||
-e "s,@prefix@,$prefix,g" \
|
||||
-e "s,@exec_prefix@,$exec_prefix,g" \
|
||||
-e "s,@libdir@,$libdir,g" \
|
||||
|
|
@ -161,58 +172,56 @@ AC_DEFUN([CAIRO_BACKEND_ENABLE],
|
|||
])
|
||||
|
||||
CAIRO_FEATURES=""
|
||||
CAIRO_REQUIRES=""
|
||||
CAIRO_CFLAGS=""
|
||||
CAIRO_LIBS=""
|
||||
|
||||
dnl ===========================================================================
|
||||
|
||||
CAIRO_BACKEND_ENABLE(xlib, Xlib, xlib, XLIB_SURFACE, auto, [xrender], [
|
||||
CAIRO_BACKEND_ENABLE(xlib, Xlib, xlib, XLIB_SURFACE, auto, [
|
||||
dnl Check for Xrender header files if the Xrender package is not installed:
|
||||
PKG_CHECK_MODULES(XRENDER, xrender >= 0.6, [
|
||||
XRENDER_REQUIRES=xrender], [
|
||||
AC_CHECK_HEADER(X11/extensions/Xrender.h, [
|
||||
AC_PATH_XTRA
|
||||
XRENDER_LIBS="$X_LIBS -lXrender -lXext -lX11 $X_EXTRA_LIBS"], [
|
||||
use_xlib="no (requires Xrender http://freedesktop.org/Software/xlibs)"])])
|
||||
_CHECK_FUNCS_WITH_FLAGS(XrmFinalize, $XRENDER_CFLAGS, $XRENDER_LIBS)
|
||||
AC_PATH_XTRA
|
||||
if test "x$X_LIBS" = x; then
|
||||
use_xlib="no (requires Xlib)"
|
||||
else
|
||||
xlib_LIBS="$X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS"
|
||||
xlib_CFLAGS=$X_CFLAGS
|
||||
_CHECK_FUNCS_WITH_FLAGS(XrmFinalize, $xlib_CFLAGS, $xlib_LIBS)
|
||||
fi
|
||||
])
|
||||
|
||||
AC_SUBST(XRENDER_REQUIRES)
|
||||
|
||||
CAIRO_CFLAGS="$CAIRO_CFLAGS $XRENDER_CFLAGS"
|
||||
CAIRO_LIBS="$CAIRO_LIBS $XRENDER_LIBS"
|
||||
CAIRO_BACKEND_ENABLE(xlib_xrender, Xlib Xrender, xlib-xrender, XLIB_XRENDER_SURFACE, auto, [
|
||||
use_xlib_xrender=$use_xlib
|
||||
if test "x$use_xlib_xrender" = xyes; then
|
||||
xlib_xrender_REQUIRES="xrender >= 0.6"
|
||||
PKG_CHECK_MODULES(xlib_xrender, $xlib_xrender_REQUIRES, ,
|
||||
[xlib_xrender_REQUIRES=""
|
||||
AC_CHECK_HEADER(X11/extensions/Xrender.h,
|
||||
[xlib_xrender_LIBS="-lXrender"],
|
||||
[use_xlib_xrender="no (requires Xrender http://freedesktop.org/Software/xlibs)"])])
|
||||
xlib_xrender_REQUIRES=cairo-xlib
|
||||
fi
|
||||
])
|
||||
|
||||
dnl ===========================================================================
|
||||
|
||||
CAIRO_BACKEND_ENABLE(quartz, Quartz, quartz, QUARTZ_SURFACE, no, [], [
|
||||
CAIRO_BACKEND_ENABLE(quartz, Quartz, quartz, QUARTZ_SURFACE, no, [
|
||||
dnl There is no pkgconfig for quartz; lets do a header check
|
||||
AC_CHECK_HEADER(Carbon/Carbon.h, , [use_quartz="no (Carbon headers not found)"])
|
||||
QUARTZ_LIBS="-Xlinker -framework -Xlinker Carbon"
|
||||
quartz_LIBS="-Xlinker -framework -Xlinker Carbon"
|
||||
])
|
||||
|
||||
CAIRO_LIBS="$CAIRO_LIBS $QUARTZ_LIBS"
|
||||
|
||||
dnl ===========================================================================
|
||||
|
||||
CAIRO_BACKEND_ENABLE(xcb, XCB, xcb, XCB_SURFACE, no, [xcb xcb-render], [
|
||||
PKG_CHECK_MODULES(XCB, xcb xcb-render, , [
|
||||
CAIRO_BACKEND_ENABLE(xcb, XCB, xcb, XCB_SURFACE, no, [
|
||||
xcb_REQUIRES="xcb xcb-render"
|
||||
PKG_CHECK_MODULES(xcb, $xcb_REQUIRES, , [
|
||||
use_xcb="no (requires XCB http://xcb.freedesktop.org)"])
|
||||
])
|
||||
|
||||
CAIRO_CFLAGS="$CAIRO_CFLAGS $XCB_CFLAGS"
|
||||
CAIRO_LIBS="$CAIRO_LIBS $XCB_LIBS"
|
||||
|
||||
|
||||
dnl ===========================================================================
|
||||
|
||||
case "$host" in
|
||||
*-*-mingw*|*-*-cygwin*)
|
||||
cairo_platform_win32=yes
|
||||
;;
|
||||
*)
|
||||
cairo_platform_win32=no
|
||||
;;
|
||||
esac
|
||||
|
||||
CAIRO_BACKEND_ENABLE(win32, Microsoft Windows, win32, WIN32_SURFACE, auto, [], [
|
||||
CAIRO_BACKEND_ENABLE(win32, Microsoft Windows, win32, WIN32_SURFACE, auto, [
|
||||
case "$host" in
|
||||
*-*-mingw*|*-*-cygwin*)
|
||||
:
|
||||
|
|
@ -221,25 +230,21 @@ CAIRO_BACKEND_ENABLE(win32, Microsoft Windows, win32, WIN32_SURFACE, auto, [], [
|
|||
use_win32="no (requires a Win32 platform)"
|
||||
;;
|
||||
esac
|
||||
win32_LIBS="-lgdi32 -lmsimg32"
|
||||
])
|
||||
|
||||
|
||||
if test "x$use_win32" = "xyes"; then
|
||||
CAIRO_LIBS="$CAIRO_LIBS -lgdi32 -lmsimg32"
|
||||
fi
|
||||
|
||||
CAIRO_BACKEND_ENABLE(win32_font, Microsoft Windows font, win32-font, WIN32_FONT, auto, [], [
|
||||
CAIRO_BACKEND_ENABLE(win32_font, Microsoft Windows font, win32-font, WIN32_FONT, auto, [
|
||||
use_win32_font=$use_win32
|
||||
])
|
||||
|
||||
|
||||
dnl ===========================================================================
|
||||
|
||||
|
||||
CAIRO_BACKEND_ENABLE(beos, BeOS/Zeta, beos, BEOS_SURFACE, no, [], [
|
||||
CAIRO_BACKEND_ENABLE(beos, BeOS/Zeta, beos, BEOS_SURFACE, no, [
|
||||
case "$host" in
|
||||
*-*-beos)
|
||||
:
|
||||
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")
|
||||
;;
|
||||
*)
|
||||
use_beos="no (requires a BeOS platform)"
|
||||
|
|
@ -249,28 +254,23 @@ CAIRO_BACKEND_ENABLE(beos, BeOS/Zeta, beos, BEOS_SURFACE, no, [], [
|
|||
|
||||
if test "x$use_beos" = "xyes"; then
|
||||
AC_PROG_CXX
|
||||
dnl Add libbe and libzeta if available
|
||||
AC_CHECK_LIB(be,main,CAIRO_LIBS="$CAIRO_LIBS -lbe")
|
||||
AC_CHECK_LIB(zeta,main,CAIRO_LIBS="$CAIRO_LIBS -lzeta")
|
||||
fi
|
||||
|
||||
|
||||
dnl ===========================================================================
|
||||
|
||||
CAIRO_BACKEND_ENABLE(png, PNG, png, PNG_FUNCTIONS, yes, [], [
|
||||
CAIRO_BACKEND_ENABLE(png, PNG, png, PNG_FUNCTIONS, yes, [
|
||||
use_png=no
|
||||
# libpng13 is GnuWin32's libpng-1.2.8 :-(
|
||||
for l in libpng12 libpng13 libpng10 ; do
|
||||
if $PKG_CONFIG --exists $l ; then
|
||||
PNG_REQUIRES=$l
|
||||
png_REQUIRES=$l
|
||||
use_png=yes
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if test "x$use_png" = "xyes" ; then
|
||||
# Sets PNG_CFLAGS, PNG_LIBS
|
||||
PKG_CHECK_MODULES(PNG, $PNG_REQUIRES)
|
||||
PKG_CHECK_MODULES(png, $png_REQUIRES)
|
||||
else
|
||||
AC_MSG_WARN([Could not find libpng in the pkg-config search path])
|
||||
fi
|
||||
|
|
@ -282,17 +282,13 @@ else
|
|||
AC_MSG_WARN([*** To run the tests, cairo must be built with png support ***])
|
||||
fi
|
||||
|
||||
CAIRO_CFLAGS="$CAIRO_CFLAGS $PNG_CFLAGS"
|
||||
CAIRO_LIBS="$CAIRO_LIBS $PNG_LIBS"
|
||||
|
||||
AC_SUBST(PNG_REQUIRES)
|
||||
|
||||
dnl ===========================================================================
|
||||
|
||||
GLITZ_MIN_VERSION=0.5.1
|
||||
CAIRO_BACKEND_ENABLE(glitz, glitz, glitz, GLITZ_SURFACE, no, [glitz], [
|
||||
PKG_CHECK_MODULES(GLITZ, glitz >= $GLITZ_MIN_VERSION, [
|
||||
GLITZ_REQUIRES=glitz], [use_glitz="no (requires glitz http://freedesktop.org/Software/glitz)"])
|
||||
CAIRO_BACKEND_ENABLE(glitz, glitz, glitz, GLITZ_SURFACE, no, [
|
||||
glitz_REQUIRES="glitz >= $GLITZ_MIN_VERSION"
|
||||
PKG_CHECK_MODULES(glitz, $glitz_REQUIRES, , [
|
||||
use_glitz="no (requires glitz http://freedesktop.org/Software/glitz)"])
|
||||
])
|
||||
|
||||
if test "x$use_glitz" = "xyes";then
|
||||
|
|
@ -324,31 +320,16 @@ 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")
|
||||
|
||||
CAIRO_CFLAGS="$CAIRO_CFLAGS $GLITZ_CFLAGS"
|
||||
CAIRO_LIBS="$CAIRO_LIBS $GLITZ_LIBS"
|
||||
|
||||
AC_SUBST(GLITZ_REQUIRES)
|
||||
|
||||
dnl ===========================================================================
|
||||
|
||||
CAIRO_BACKEND_ENABLE(directfb, directfb, directfb, DIRECTFB_SURFACE, no, [directfb], [
|
||||
PKG_CHECK_MODULES(DIRECTFB, directfb, , [
|
||||
use_directfb="no (requires directfb http://www.directfb.org)"])
|
||||
CAIRO_BACKEND_ENABLE(directfb, directfb, directfb, DIRECTFB_SURFACE, no, [
|
||||
directfb_REQUIRES=directfb
|
||||
PKG_CHECK_MODULES(directfb, $directfb_REQUIRES, ,
|
||||
[use_directfb="no (requires directfb http://www.directfb.org)"])
|
||||
])
|
||||
|
||||
CAIRO_CFLAGS="$CAIRO_CFLAGS $DIRECTFB_CFLAGS"
|
||||
CAIRO_LIBS="$CAIRO_LIBS $DIRECTFB_LIBS"
|
||||
|
||||
dnl ===========================================================================
|
||||
|
||||
CAIRO_BACKEND_ENABLE(ft, FreeType font, freetype, FT_FONT, auto, [freetype2 fontconfig], [
|
||||
PKG_CHECK_MODULES(FONTCONFIG, fontconfig, , [use_ft=no])
|
||||
_CHECK_FUNCS_WITH_FLAGS(FcFini, $FONTCONFIG_CFLAGS, $FONTCONFIG_LIBS)
|
||||
])
|
||||
|
||||
CAIRO_CFLAGS="$CAIRO_CFLAGS $FONTCONFIG_CFLAGS"
|
||||
CAIRO_LIBS="$CAIRO_LIBS $FONTCONFIG_LIBS"
|
||||
|
||||
# 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
|
||||
|
|
@ -369,64 +350,66 @@ FREETYPE_MIN_RELEASE=2.1.0
|
|||
# libtool-specific version - this is what is checked
|
||||
FREETYPE_MIN_VERSION=8.0.2
|
||||
|
||||
if test "x$use_ft" = "xyes"; then
|
||||
CAIRO_BACKEND_ENABLE(ft, FreeType font, freetype, FT_FONT, auto, [
|
||||
ft_REQUIRES="fontconfig"
|
||||
PKG_CHECK_MODULES(FONTCONFIG, $ft_REQUIRES,
|
||||
[_CHECK_FUNCS_WITH_FLAGS(FcFini, $ft_CFLAGS, $ft_LIBS)],
|
||||
[use_ft="no (requires fontconfig"])
|
||||
|
||||
PKG_CHECK_MODULES(FREETYPE, freetype2 >= $FREETYPE_MIN_VERSION,
|
||||
[freetype_pkgconfig=yes], [freetype_pkgconfig=no])
|
||||
|
||||
if test "x$freetype_pkgconfig" = "xyes"; then
|
||||
|
||||
FREETYPE_REQUIRES="freetype2 >= $FREETYPE_MIN_VERSION fontconfig"
|
||||
|
||||
else
|
||||
|
||||
if test -z "$FREETYPE_CONFIG"; then
|
||||
AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
|
||||
fi
|
||||
if test "$FREETYPE_CONFIG" = "no" ; then
|
||||
AC_MSG_WARN([No freetype-config script found in path or FREETYPE_CONFIG])
|
||||
use_ft=no
|
||||
if test "x$use_ft" = "xyes"; then
|
||||
PKG_CHECK_MODULES(FREETYPE, freetype2 >= $FREETYPE_MIN_VERSION,
|
||||
[freetype_pkgconfig=yes], [freetype_pkgconfig=no])
|
||||
|
||||
if test "x$freetype_pkgconfig" = "xyes"; then
|
||||
ft_REQUIRES="freetype2 >= $FREETYPE_MIN_VERSION $ft_REQUIRES"
|
||||
else
|
||||
AC_MSG_CHECKING(freetype2 libtool version)
|
||||
|
||||
FREETYPE_VERSION=`$FREETYPE_CONFIG --version`
|
||||
|
||||
VERSION_DEC=`echo $FREETYPE_VERSION | awk -F. '{printf("%d\n", 10000*$1 + 100*$2 + $3)};'`
|
||||
MIN_VERSION_DEC=`echo $FREETYPE_MIN_VERSION | awk -F. '{printf("%d\n", 10000*$1 + 100*$2 + $3)};'`
|
||||
if test $VERSION_DEC -lt $MIN_VERSION_DEC; then
|
||||
AC_MSG_RESULT($FREETYPE_VERSION - Too old)
|
||||
AC_MSG_WARN([$FREETYPE_VERSION - version $FREETYPE_MIN_VERSION from release $FREETYPE_MIN_RELEASE required])
|
||||
use_ft=no
|
||||
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)'
|
||||
else
|
||||
AC_MSG_RESULT($FREETYPE_VERSION - OK)
|
||||
|
||||
FREETYPE_CONFIG_CFLAGS=`$FREETYPE_CONFIG --cflags`
|
||||
FREETYPE_CONFIG_LIBS=`$FREETYPE_CONFIG --libs`
|
||||
FREETYPE_CFLAGS=$FREETYPE_CONFIG_CFLAGS
|
||||
FREETYPE_LIBS=$FREETYPE_CONFIG_LIBS
|
||||
FREETYPE_REQUIRES=fontconfig
|
||||
AC_MSG_CHECKING(freetype2 libtool version)
|
||||
|
||||
FREETYPE_VERSION=`$FREETYPE_CONFIG --version`
|
||||
|
||||
VERSION_DEC=`echo $FREETYPE_VERSION | awk -F. '{printf("%d\n", 10000*$1 + 100*$2 + $3)};'`
|
||||
MIN_VERSION_DEC=`echo $FREETYPE_MIN_VERSION | awk -F. '{printf("%d\n", 10000*$1 + 100*$2 + $3)};'`
|
||||
if test $VERSION_DEC -lt $MIN_VERSION_DEC; then
|
||||
AC_MSG_RESULT($FREETYPE_VERSION - Too old)
|
||||
use_ft="no ($FREETYPE_VERSION found; version $FREETYPE_MIN_VERSION from release $FREETYPE_MIN_RELEASE required)"
|
||||
else
|
||||
AC_MSG_RESULT($FREETYPE_VERSION - OK)
|
||||
|
||||
cairo_cv_ft_config_CFLAGS=`$FREETYPE_CONFIG --cflags`
|
||||
cairo_cv_ft_config_LIBS=`$FREETYPE_CONFIG --libs`
|
||||
FREETYPE_CFLAGS=$cairo_cv_ft_config_CFLAGS
|
||||
FREETYPE_LIBS=$cairo_cv_ft_config_LIBS
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
ft_CFLAGS="$FREETYPE_CFLAGS $FONTCONFIG_CFLAGS"
|
||||
ft_LIBS="$FREETYPE_LIBS $FONTCONFIG_LIBS"
|
||||
])
|
||||
|
||||
have_ft_load_sfnt_table=no
|
||||
|
||||
if test "x$use_ft" = "xyes"; then
|
||||
AC_SUBST(FREETYPE_CFLAGS)
|
||||
AC_SUBST(FREETYPE_LIBS)
|
||||
FREETYPE_CONFIG_CFLAGS=$cairo_cv_ft_config_CFLAGS
|
||||
FREETYPE_CONFIG_LIBS=$cairo_cv_ft_config_LIBS
|
||||
AC_SUBST(FREETYPE_CONFIG_CFLAGS)
|
||||
AC_SUBST(FREETYPE_CONFIG_LIBS)
|
||||
AC_SUBST(FREETYPE_REQUIRES)
|
||||
|
||||
temp_save_libs="$LIBS"
|
||||
temp_save_cflags="$CFLAGS"
|
||||
LIBS="$LIBS $FREETYPE_LIBS"
|
||||
CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
|
||||
LIBS="$LIBS $ft_LIBS"
|
||||
CFLAGS="$CFLAGS $ft_CFLAGS"
|
||||
AC_CHECK_MEMBER(FT_Bitmap_Size.y_ppem,
|
||||
HAVE_FT_BITMAP_SIZE_Y_PPEM=1,
|
||||
HAVE_FT_BITMAP_SIZE_Y_PPEM=0,
|
||||
[#include<ft2build.h>
|
||||
[#include <ft2build.h>
|
||||
#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])
|
||||
|
|
@ -438,9 +421,6 @@ if test "x$use_ft" = "xyes"; then
|
|||
CFLAGS="$temp_save_cflags"
|
||||
fi
|
||||
|
||||
CAIRO_CFLAGS="$CAIRO_CFLAGS $FREETYPE_CFLAGS"
|
||||
CAIRO_LIBS="$CAIRO_LIBS $FREETYPE_LIBS"
|
||||
|
||||
dnl ===========================================================================
|
||||
|
||||
AC_CHECK_HEADERS([pthread.h], have_pthread=yes, have_pthread=no)
|
||||
|
|
@ -451,34 +431,27 @@ dnl ===========================================================================
|
|||
CAIRO_BACKEND_ENABLE(ps, PostScript, ps, PS_SURFACE, auto, [], [
|
||||
if test x"$have_ft_load_sfnt_table" != "xyes" ; then
|
||||
use_ps="no (requires FreeType 2.1.4 or newer)"
|
||||
else
|
||||
# The postscript module requires zlib.
|
||||
AC_CHECK_LIB(z, compress,
|
||||
[AC_CHECK_HEADER(zlib.h, [],
|
||||
[use_ps="no (requires zlib http://www.gzip.org/zlib/)"])],
|
||||
[use_ps="no (requires zlib http://www.gzip.org/zlib/)"])
|
||||
ps_LIBS=-lz
|
||||
fi
|
||||
])
|
||||
|
||||
# The postscript module requires zlib.
|
||||
AC_CHECK_LIB(z, compress,
|
||||
[AC_CHECK_HEADER(zlib.h, [],
|
||||
[use_ps="no (requires zlib http://www.gzip.org/zlib/)"])],
|
||||
[use_ps="no (requires zlib http://www.gzip.org/zlib/)"])
|
||||
|
||||
if test "x$use_ps" = "xyes"; then
|
||||
PS_LIBS=-lz
|
||||
fi
|
||||
|
||||
CAIRO_LIBS="$CAIRO_LIBS $PS_LIBS"
|
||||
|
||||
AC_SUBST(PS_LIBS)
|
||||
|
||||
dnl ===========================================================================
|
||||
|
||||
CAIRO_BACKEND_ENABLE(pdf, PDF, pdf, PDF_SURFACE, auto, [], [
|
||||
if test x"$have_ft_load_sfnt_table" != "xyes" ; then
|
||||
use_pdf="no (requires FreeType 2.1.4 or newer)"
|
||||
fi
|
||||
pdf_LIBS=-lz
|
||||
])
|
||||
|
||||
test_pdf=no
|
||||
if test "x$use_pdf" = "xyes"; then
|
||||
PDF_LIBS=-lz
|
||||
PKG_CHECK_MODULES(POPPLER, poppler-glib >= 0.4.1 pango gtk+-2.0, [test_pdf=yes], [test_pdf=no])
|
||||
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)])
|
||||
|
|
@ -493,10 +466,6 @@ AC_SUBST(POPPLER_LIBS)
|
|||
|
||||
AM_CONDITIONAL(CAIRO_HAS_MULTI_PAGE_SURFACES, test "x$use_ps" = "xyes" -o "x$use_pdf" = "xyes")
|
||||
|
||||
CAIRO_LIBS="$CAIRO_LIBS $PDF_LIBS"
|
||||
|
||||
AC_SUBST(PDF_LIBS)
|
||||
|
||||
dnl ===========================================================================
|
||||
|
||||
CAIRO_BACKEND_ENABLE(svg, SVG, svg, SVG_SURFACE, auto, [], [
|
||||
|
|
@ -523,9 +492,9 @@ dnl ===========================================================================
|
|||
dnl This check should default to 'auto' once we have code to actually
|
||||
dnl check for the atsui font backend.
|
||||
|
||||
CAIRO_BACKEND_ENABLE(atsui, ATSUI font, atsui, ATSUI_FONT, no, [], [
|
||||
CAIRO_BACKEND_ENABLE(atsui, ATSUI font, atsui, ATSUI_FONT, no, [
|
||||
dnl There is no pkgconfig for atsui; lets do a header check
|
||||
AC_CHECK_HEADER(Carbon/Carbon.h, , [use_atsui=no])
|
||||
AC_CHECK_HEADER(Carbon/Carbon.h, , [use_atsui="no (Carbon not found)"])
|
||||
])
|
||||
|
||||
dnl ===========================================================================
|
||||
|
|
@ -546,8 +515,8 @@ fi
|
|||
AC_SUBST(WARN_CFLAGS)
|
||||
|
||||
CAIRO_CFLAGS="$CAIRO_CFLAGS $WARN_CFLAGS"
|
||||
CAIRO_LIBS="$CAIRO_LIBS"
|
||||
|
||||
AC_SUBST(CAIRO_REQUIRES)
|
||||
AC_SUBST(CAIRO_CFLAGS)
|
||||
AC_SUBST(CAIRO_LIBS)
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,6 @@ Name: cairo
|
|||
Description: Multi-platform 2D graphics library
|
||||
Version: @VERSION@
|
||||
|
||||
@PKGCONFIG_REQUIRES@: @FREETYPE_REQUIRES@ @XRENDER_REQUIRES@ @PNG_REQUIRES@ @GLITZ_REQUIRES@
|
||||
@PKGCONFIG_REQUIRES@: @CAIRO_REQUIRES@
|
||||
Libs: @FREETYPE_CONFIG_LIBS@ -L${libdir} -lcairo
|
||||
Cflags: @FREETYPE_CONFIG_CFLAGS@ -I${includedir}/cairo
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue