summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in156
1 files changed, 127 insertions, 29 deletions
diff --git a/configure.in b/configure.in
index b17c91006..61d9adbae 100644
--- a/configure.in
+++ b/configure.in
@@ -3,7 +3,7 @@ AC_INIT(src/cairo.h)
dnl ===========================================================================
# Package version number, (as distinct from shared library version)
-CAIRO_VERSION=0.2.0
+CAIRO_VERSION=0.3.0
# libtool shared library version
@@ -33,6 +33,13 @@ AC_PROG_CC
AC_PROG_CPP
AM_PROG_LIBTOOL
AC_STDC_HEADERS
+AC_C_BIGENDIAN
+
+AC_CHECK_LIBM
+
+LIBS="$LIBS $LIBM"
+
+AC_CHECK_FUNCS(sincos)
dnl ===========================================================================
@@ -60,11 +67,32 @@ else
AM_CONDITIONAL(CAIRO_HAS_XLIB_SURFACE, true)
fi
+AC_SUBST(XLIB_SURFACE_FEATURE)
+AC_SUBST(XRENDER_REQUIRES)
+
CAIRO_CFLAGS="$CAIRO_CFLAGS $XRENDER_CFLAGS"
CAIRO_LIBS="$CAIRO_LIBS $XRENDER_LIBS"
-AC_SUBST(XLIB_SURFACE_FEATURE)
-AC_SUBST(XRENDER_REQUIRES)
+AC_ARG_ENABLE(quartz,
+ [ --disable-quartz Disable cairo's quartz backend],
+ [use_quartz=$enableval], [use_quartz=yes])
+
+if test "x$use_quartz" = "xyes"; then
+ dnl There is no pkgconfig for quartz; lets do a header check
+ AC_CHECK_HEADER(Carbon/Carbon.h, [use_quartz=yes], [use_quartz=no])
+fi
+
+if test "x$use_quartz" != "xyes"; then
+ QUARTZ_SURFACE_FEATURE=CAIRO_HAS_NO_QUARTZ_SURFACE
+ AM_CONDITIONAL(CAIRO_HAS_QUARTZ_SURFACE, false)
+else
+ QUARTZ_SURFACE_FEATURE=CAIRO_HAS_QUARTZ_SURFACE
+ QUARTZ_LIBS="-Xlinker -framework -Xlinker Carbon"
+ AM_CONDITIONAL(CAIRO_HAS_QUARTZ_SURFACE, true)
+fi
+
+AC_SUBST(QUARTZ_SURFACE_FEATURE)
+CAIRO_LIBS="$CAIRO_LIBS $QUARTZ_LIBS"
dnl ===========================================================================
@@ -112,6 +140,26 @@ AC_SUBST(PS_LIBS)
dnl ===========================================================================
+AC_ARG_ENABLE(pdf,
+ [ --disable-pdf Disable cairo's PDF backend],
+ [use_pdf=$enableval], [use_pdf=yes])
+
+if test "x$use_pdf" != "xyes"; then
+ PDF_SURFACE_FEATURE=CAIRO_HAS_NO_PDF_SURFACE
+ AM_CONDITIONAL(CAIRO_HAS_PDF_SURFACE, false)
+else
+ PDF_SURFACE_FEATURE=CAIRO_HAS_PDF_SURFACE
+ PDF_LIBS=-lz
+ AM_CONDITIONAL(CAIRO_HAS_PDF_SURFACE, true)
+fi
+
+CAIRO_LIBS="$CAIRO_LIBS $PDF_LIBS"
+
+AC_SUBST(PDF_SURFACE_FEATURE)
+AC_SUBST(PDF_LIBS)
+
+dnl ===========================================================================
+
AC_ARG_ENABLE(png,
[ --disable-png Disable cairo's PNG backend],
[use_png=$enableval], [use_png=yes])
@@ -146,7 +194,7 @@ AC_ARG_ENABLE(glitz,
[use_glitz=$enableval], [use_glitz=yes])
if test "x$use_glitz" = "xyes"; then
- PKG_CHECK_MODULES(GLITZ, glitz >= 0.2.3, [
+ PKG_CHECK_MODULES(GLITZ, glitz >= 0.3.0, [
GLITZ_REQUIRES=glitz
use_glitz=yes], [use_glitz="no (requires glitz http://freedesktop.org/software/glitz)"])
fi
@@ -181,14 +229,24 @@ AC_SUBST(SANITY_CHECKING_FEATURE)
dnl ===========================================================================
-PKG_CHECK_MODULES(FONTCONFIG, fontconfig)
-CAIRO_CFLAGS="$CAIRO_CFLAGS $FONTCONFIG_CFLAGS"
-CAIRO_LIBS="$CAIRO_LIBS $FONTCONFIG_LIBS"
-
-PKG_CHECK_MODULES(PIXMAN, libpixman >= 0.1.1)
+PKG_CHECK_MODULES(PIXMAN, libpixman >= 0.1.2)
CAIRO_CFLAGS="$CAIRO_CFLAGS $PIXMAN_CFLAGS"
CAIRO_LIBS="$CAIRO_LIBS $PIXMAN_LIBS"
+dnl ===========================================================================
+
+AC_ARG_ENABLE(freetype,
+ [ --disable-freetype Disable cairo's freetype font backend],
+ [use_freetype=$enableval], [use_freetype=yes])
+
+if test "x$use_freetype" = "xyes"; then
+ PKG_CHECK_MODULES(FONTCONFIG, fontconfig,
+ [use_freetype=yes], [use_freetype=no])
+fi
+
+CAIRO_CFLAGS="$CAIRO_CFLAGS $FONTCONFIG_CFLAGS"
+CAIRO_LIBS="$CAIRO_LIBS $FONTCONFIG_LIBS"
+
# Test for freetype2 separate from pkg-config since at least up to
# 2003-06-07, there was no freetype2.pc in the release.
#
@@ -206,34 +264,68 @@ FREETYPE_MIN_RELEASE=2.1.0
# libtool-specific version - this is what is checked
FREETYPE_MIN_VERSION=8.0.2
-if test -z "$FREETYPE_CONFIG"; then
- AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
-fi
-if test "$FREETYPE_CONFIG" = "no" ; then
- AC_MSG_ERROR(No freetype-config script found in path or FREETYPE_CONFIG)
-fi
+if test "x$use_freetype" = "xyes"; then
-AC_MSG_CHECKING(freetype2 libtool version)
+ if test -z "$FREETYPE_CONFIG"; then
+ AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
+ fi
+ if test "$FREETYPE_CONFIG" = "no" ; then
+ AC_MSG_ERROR(No freetype-config script found in path or FREETYPE_CONFIG)
+ fi
-FREETYPE_VERSION=`$FREETYPE_CONFIG --version`
+ AC_MSG_CHECKING(freetype2 libtool 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_ERROR($FREETYPE_VERSION - version $FREETYPE_MIN_VERSION from release $FREETYPE_MIN_RELEASE required)
-fi
-AC_MSG_RESULT($FREETYPE_VERSION - OK)
+ 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_ERROR($FREETYPE_VERSION - version $FREETYPE_MIN_VERSION from release $FREETYPE_MIN_RELEASE required)
+ fi
+ AC_MSG_RESULT($FREETYPE_VERSION - OK)
-FREETYPE_CFLAGS=`$FREETYPE_CONFIG --cflags`
-FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
-AC_SUBST(FREETYPE_CFLAGS)
-AC_SUBST(FREETYPE_LIBS)
+ FREETYPE_CFLAGS=`$FREETYPE_CONFIG --cflags`
+ FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
+ AC_SUBST(FREETYPE_CFLAGS)
+ AC_SUBST(FREETYPE_LIBS)
+fi
CAIRO_CFLAGS="$CAIRO_CFLAGS $FREETYPE_CFLAGS"
CAIRO_LIBS="$CAIRO_LIBS $FREETYPE_LIBS"
+if test "x$use_freetype" != "xyes"; then
+ FT_FONT_FEATURE=CAIRO_HAS_NO_FT_FONT
+ AM_CONDITIONAL(CAIRO_HAS_FT_FONT, false)
+else
+ FT_FONT_FEATURE=CAIRO_HAS_FT_FONT
+ AM_CONDITIONAL(CAIRO_HAS_FT_FONT, true)
+fi
+AC_SUBST(FT_FONT_FEATURE)
+
dnl ===========================================================================
+dnl This check should default to 'yes' once we have code to actually
+dnl check for the atsui font backend.
+
+AC_ARG_ENABLE(atsui,
+ [ --disable-atsui Disable cairo's atsui font backend],
+ [use_atsui=$enableval], [use_atsui=yes])
+
+if test "x$use_atsui" = "xyes"; then
+ dnl There is no pkgconfig for atsui; lets do a header check
+ AC_CHECK_HEADER(Carbon/Carbon.h, [use_atsui=yes], [use_atsui=no])
+fi
+
+if test "x$use_atsui" != "xyes"; then
+ ATSUI_FONT_FEATURE=CAIRO_HAS_NO_ATSUI_FONT
+ AM_CONDITIONAL(CAIRO_HAS_ATSUI_FONT, false)
+else
+ ATSUI_FONT_FEATURE=CAIRO_HAS_ATSUI_FONT
+ AM_CONDITIONAL(CAIRO_HAS_ATSUI_FONT, true)
+fi
+AC_SUBST(ATSUI_FONT_FEATURE)
+
+dnl ===========================================================================
dnl Checks for precise integer types
AC_CHECK_TYPES([uint64_t, uint128_t])
@@ -248,7 +340,7 @@ if test "x$GCC" = "xyes"; then
fi
CAIRO_CFLAGS="$CAIRO_CFLAGS $WARN_CFLAGS"
-CAIRO_LIBS="$CAIRO_LIBS -lm"
+CAIRO_LIBS="$CAIRO_LIBS"
AC_SUBST(CAIRO_CFLAGS)
AC_SUBST(CAIRO_LIBS)
@@ -266,11 +358,17 @@ test/Makefile
dnl ===========================================================================
echo ""
-echo "cairo will be compiled with the following backends:"
+echo "cairo will be compiled with the following surface backends:"
echo " Xlib: $use_xlib"
+echo " Quartz: $use_quartz"
echo " XCB: $use_xcb"
echo " PostScript: $use_ps"
+echo " PDF: $use_pdf"
echo " PNG: $use_png"
echo " glitz: $use_glitz"
echo ""
+echo "and the following font backends:"
+echo " freetype: $use_freetype"
+echo " atsui: $use_atsui"
+echo ""