diff options
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 148 |
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 + |