summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in148
1 files changed, 115 insertions, 33 deletions
diff --git a/configure.in b/configure.in
index 61d9adbae..5ee585e73 100644
--- a/configure.in
+++ b/configure.in
@@ -1,9 +1,11 @@
+AC_PREREQ(2.54)
+
AC_INIT(src/cairo.h)
dnl ===========================================================================
# Package version number, (as distinct from shared library version)
-CAIRO_VERSION=0.3.0
+CAIRO_VERSION=0.4.0
# libtool shared library version
@@ -35,6 +37,8 @@ AM_PROG_LIBTOOL
AC_STDC_HEADERS
AC_C_BIGENDIAN
+AC_CHECK_FUNCS(vasnprintf)
+
AC_CHECK_LIBM
LIBS="$LIBS $LIBM"
@@ -75,7 +79,7 @@ CAIRO_LIBS="$CAIRO_LIBS $XRENDER_LIBS"
AC_ARG_ENABLE(quartz,
[ --disable-quartz Disable cairo's quartz backend],
- [use_quartz=$enableval], [use_quartz=yes])
+ [use_quartz=$enableval], [use_quartz="no (temporarily disabled while code is out of sync)"])
if test "x$use_quartz" = "xyes"; then
dnl There is no pkgconfig for quartz; lets do a header check
@@ -120,6 +124,50 @@ AC_SUBST(XCB_SURFACE_FEATURE)
dnl ===========================================================================
+AC_MSG_CHECKING([for some Win32 platform])
+case "$host" in
+ *-*-mingw*|*-*-cygwin*)
+ cairo_platform_win32=yes
+ ;;
+ *)
+ cairo_platform_win32=no
+ ;;
+esac
+AC_MSG_RESULT([$cairo_platform_win32])
+
+AC_ARG_ENABLE(win32,
+ [ --disable-win32 Disable cairo's Microsoft Windows backend],
+ [use_win32=$enableval], [use_win32="yes"])
+
+if test "x$cairo_platform_win32" != "xyes" ; then
+ use_win32=no
+fi
+
+if test "x$use_win32" = "xyes"; then
+ CAIRO_LIBS="$CAIRO_LIBS -lgdi32 -lmsimg32"
+fi
+
+if test "x$use_win32" != "xyes"; then
+ WIN32_SURFACE_FEATURE=CAIRO_HAS_NO_WIN32_SURFACE
+ AM_CONDITIONAL(CAIRO_HAS_WIN32_SURFACE, false)
+else
+ WIN32_SURFACE_FEATURE=CAIRO_HAS_WIN32_SURFACE
+ AM_CONDITIONAL(CAIRO_HAS_WIN32_SURFACE, true)
+fi
+
+if test "x$use_win32" != "xyes"; then
+ WIN32_FONT_FEATURE=CAIRO_HAS_NO_WIN32_FONT
+ AM_CONDITIONAL(CAIRO_HAS_WIN32_FONT, false)
+else
+ WIN32_FONT_FEATURE=CAIRO_HAS_WIN32_FONT
+ AM_CONDITIONAL(CAIRO_HAS_WIN32_FONT, true)
+fi
+
+AC_SUBST(WIN32_SURFACE_FEATURE)
+AC_SUBST(WIN32_FONT_FEATURE)
+
+dnl ===========================================================================
+
AC_ARG_ENABLE(ps,
[ --disable-ps Disable cairo's PostScript backend],
[use_ps=$enableval], [use_ps=yes])
@@ -140,37 +188,27 @@ 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])
if test "x$use_png" = "xyes"; then
- PKG_CHECK_MODULES(PNG, libpng12, [
- PNG_REQUIRES=libpng12
- use_png=yes], [
- PKG_CHECK_MODULES(PNG, libpng10, [
- PNG_REQUIRES=libpng10
- use_png=yes], [use_png="no (requires libpng http://www.libpng.org)"])])
+ 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
+ use_png=yes
+ break
+ fi
+ done
+
+ if test "x$use_png" = "xyes" ; then
+ # Sets PNG_CFLAGS, PNG_LIBS
+ PKG_CHECK_MODULES(PNG, $PNG_REQUIRES)
+ else
+ AC_MSG_WARN([Could not find libpng in the pkg-config search path])
+ fi
fi
if test "x$use_png" != "xyes"; then
@@ -194,7 +232,7 @@ AC_ARG_ENABLE(glitz,
[use_glitz=$enableval], [use_glitz=yes])
if test "x$use_glitz" = "xyes"; then
- PKG_CHECK_MODULES(GLITZ, glitz >= 0.3.0, [
+ PKG_CHECK_MODULES(GLITZ, glitz >= 0.4.0, [
GLITZ_REQUIRES=glitz
use_glitz=yes], [use_glitz="no (requires glitz http://freedesktop.org/software/glitz)"])
fi
@@ -229,7 +267,7 @@ AC_SUBST(SANITY_CHECKING_FEATURE)
dnl ===========================================================================
-PKG_CHECK_MODULES(PIXMAN, libpixman >= 0.1.2)
+PKG_CHECK_MODULES(PIXMAN, libpixman >= 0.1.4)
CAIRO_CFLAGS="$CAIRO_CFLAGS $PIXMAN_CFLAGS"
CAIRO_LIBS="$CAIRO_LIBS $PIXMAN_LIBS"
@@ -285,9 +323,11 @@ if test "x$use_freetype" = "xyes"; then
AC_MSG_RESULT($FREETYPE_VERSION - OK)
FREETYPE_CFLAGS=`$FREETYPE_CONFIG --cflags`
- FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
+ FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
+ FREETYPE_REQUIRES=fontconfig
AC_SUBST(FREETYPE_CFLAGS)
AC_SUBST(FREETYPE_LIBS)
+ AC_SUBST(FREETYPE_REQUIRES)
fi
CAIRO_CFLAGS="$CAIRO_CFLAGS $FREETYPE_CFLAGS"
@@ -304,6 +344,31 @@ AC_SUBST(FT_FONT_FEATURE)
dnl ===========================================================================
+AC_ARG_ENABLE(pdf,
+ [ --disable-pdf Disable cairo's PDF backend],
+ [use_pdf=$enableval], [use_pdf=yes])
+
+if test x"$use_freetype" != "xyes" ; then
+ AC_MSG_WARN([PDF backend requires FreeType, disabling])
+ use_pdf=no
+fi
+
+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 ===========================================================================
+
dnl This check should default to 'yes' once we have code to actually
dnl check for the atsui font backend.
@@ -346,6 +411,9 @@ AC_SUBST(CAIRO_CFLAGS)
AC_SUBST(CAIRO_LIBS)
dnl ===========================================================================
+dnl Check for gtk-doc and docbook
+
+GTK_DOC_CHECK([1.3])
AC_OUTPUT([
cairo.pc
@@ -353,6 +421,8 @@ Makefile
src/Makefile
src/cairo-features.h
test/Makefile
+doc/Makefile
+doc/public/Makefile
])
dnl ===========================================================================
@@ -362,13 +432,25 @@ echo "cairo will be compiled with the following surface backends:"
echo " Xlib: $use_xlib"
echo " Quartz: $use_quartz"
echo " XCB: $use_xcb"
+echo " Win32: $use_win32"
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 " FreeType: $use_freetype"
+echo " Win32: $use_win32"
+echo " ATSUI: $use_atsui"
echo ""
+if test x"$use_freetype" != "xyes" && \
+ test x"$use_win32" != "xyes" && \
+ test x"$use_atsui" != "xyes" ; then
+
+ AC_MSG_ERROR([Cairo requires at least one font backend.
+ Please install freetype and fontconfig, then try again:
+ http://freetype.org/ http://fontconfig.org/
+ ])
+fi
+