]> Pileus Git - ~andy/gtk/blobdiff - configure.in
Updated Arabic translation
[~andy/gtk] / configure.in
index 7c80aeb05373a7e11ec04fb5ec0da77671cc494a..7e02c52f05735033c01c57d6fd70a5090244075b 100644 (file)
@@ -11,8 +11,8 @@ AC_PREREQ(2.54)
 # set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0.
 
 m4_define([gtk_major_version], [2])
-m4_define([gtk_minor_version], [13])
-m4_define([gtk_micro_version], [5])
+m4_define([gtk_minor_version], [17])
+m4_define([gtk_micro_version], [7])
 m4_define([gtk_interface_age], [0])
 m4_define([gtk_binary_age],
           [m4_eval(100 * gtk_minor_version + gtk_micro_version)])
@@ -31,7 +31,7 @@ m4_define([gtk_api_version], [2.0])
 m4_define([gtk_binary_version], [2.10.0])
 
 # required versions of other packages
-m4_define([glib_required_version], [2.17.3])
+m4_define([glib_required_version], [2.21.3])
 m4_define([pango_required_version], [1.20])
 m4_define([atk_required_version], [1.13.0])
 m4_define([cairo_required_version], [1.6])
@@ -123,10 +123,17 @@ AC_CANONICAL_HOST
 
 MATH_LIB=-lm
 AC_MSG_CHECKING([for native Win32])
+LIB_EXE_MACHINE_FLAG=X86
 case "$host" in
   *-*-mingw*)
     os_win32=yes
+    gio_can_sniff=no
     MATH_LIB=
+    case "$host" in
+    x86_64-*-*)
+      LIB_EXE_MACHINE_FLAG=X64
+      ;;
+    esac
     ;;
   *)
     os_win32=no
@@ -134,11 +141,14 @@ case "$host" in
 esac
 AC_MSG_RESULT([$os_win32])
 
+AC_SUBST(LIB_EXE_MACHINE_FLAG)
+
 case $host in
   *-*-linux*)
     os_linux=yes
     ;;
 esac
+
 dnl Initialize libtool
 AC_PROG_CC
 AM_DISABLE_STATIC
@@ -174,6 +184,9 @@ fi
 
 AC_LIBTOOL_WIN32_DLL
 AM_PROG_LIBTOOL
+dnl when using libtool 2.x create libtool early, because it's used in configure
+m4_ifdef([LT_OUTPUT], [LT_OUTPUT])
+
 
 # Make sure we use 64-bit versions of various file stuff.
 AC_SYS_LARGEFILE
@@ -228,7 +241,7 @@ AC_ARG_ENABLE(xkb,
 AC_ARG_ENABLE(xinerama,
               [AC_HELP_STRING([--enable-xinerama],
                              [support xinerama extension if available [default=yes]])],,
-              [enable_xinerama="no"])
+              [enable_xinerama="yes"])
 AC_ARG_ENABLE(rebuilds,
               [AC_HELP_STRING([--disable-rebuilds],
                               [disable all source autogeneration rules])],,
@@ -313,7 +326,7 @@ if test "x$GCC" = "xyes"; then
 fi
 changequote([,])dnl
 
-CPPFLAGS="$CPPFLAGS -DG_DISABLE_SINGLE_INCLUDES -DATK_DISABLE_SINGLE_INCLUDES -DPANGO_DISABLE_SINGLE_INCLUDES -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES"
+CPPFLAGS="$CPPFLAGS -DG_DISABLE_SINGLE_INCLUDES -DATK_DISABLE_SINGLE_INCLUDES -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES"
 
 # Ensure MSVC-compatible struct packing convention is used when
 # compiling for Win32 with gcc.
@@ -365,6 +378,19 @@ PKG_CHECK_MODULES(BASE_DEPENDENCIES,
    pango >= pango_required_version dnl
    cairo >= cairo_required_version])
 
+## In addition to checking that cairo is present, we also need to
+## check that the correct cairo backend is there. E.g. if the GDK
+## target is win32 we need the cairo-win32 backend and so on.
+cairo_backend=$gdktarget
+
+# GDK calls the xlib backend "x11," cairo calls it "xlib." Other
+# backend names are identical.
+if test "x$cairo_backend" = "xx11"; then
+   cairo_backend=xlib
+fi
+PKG_CHECK_MODULES(CAIRO_BACKEND,
+  [cairo-$cairo_backend >= cairo_required_version])
+
 if test "$os_win32" != yes; then
     # libtool option to control which symbols are exported
     # right now, symbols starting with _ are not exported
@@ -388,7 +414,7 @@ AC_MSG_CHECKING([Whether to write dependencies into .pc files])
 case $enable_explicit_deps in
   auto)
     export SED
-    deplibs_check_method=`(./libtool --config; echo 'eval echo $deplibs_check_method') | sh`
+    deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
     if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
       enable_explicit_deps=yes  
     else
@@ -484,18 +510,33 @@ if test "$gtk_ok" = "yes"; then
 fi
 
 # i18n stuff
-# TRANSLATORS:  Please note that gtk+ has both po/ and po-properties/
-# directories.  If you add a new language to ALL_LINGUAS, please make
-# sure that both po/ and po-properties/ have .po files that correspond
-# to your language.  If you only add one to po/, the build will break
-# in po-properties/.
-ALL_LINGUAS="af am ang ar as az az_IR be be@latin bg bn bn_IN br bs ca ca@valencia cs cy da de dz el en_CA en_GB eo es et eu fa fi fr ga gl gu he hi hr hu hy ia id io is it ja ka kn ko ku li lt lv mi mk ml mn mr ms nb ne nl nn nso oc or pa pl pt pt_BR ro ru rw si sk sl sq sr sr@Latn sr@ije sv ta te th tk tr tt uk ur uz uz@cyrillic vi wa xh yi zh_CN zh_HK zh_TW"
+ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS" | tr '\n' ' '`"
 AM_GLIB_GNU_GETTEXT
 LIBS="$LIBS $INTLLIBS"
 AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
         sed -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile
       esac])
 
+dnl Snippet below is copied from AM_GLIB_GNU_GETTEXT to generate a first
+dnl po-properties/POTFILES during configure; see GNOME #573515.
+dnl
+dnl Generate list of files to be processed by xgettext which will
+dnl be included in po-properties/Makefile.
+test -d po-properties || mkdir po-properties
+if test "x$srcdir" != "x."; then
+  if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
+    popropsrcprefix="$srcdir/"
+  else
+    popropsrcprefix="../$srcdir/"
+  fi
+else
+  popropsrcprefix="../"
+fi
+rm -f po-properties/POTFILES
+sed -e "/^#/d" -e "/^\$/d" -e "s,.*,   $popropsrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
+< $srcdir/po-properties/POTFILES.in > po-properties/POTFILES
+dnl (End of adapted AM_GLIB_GNU_GETTEXT snippet.)
+
 AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR)
 
 dnl The DU4 header files don't provide library prototypes unless 
@@ -578,6 +619,8 @@ if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; th
   CFLAGS="-DG_DISABLE_DEPRECATED $CFLAGS"
 fi
 
+CFLAGS="-DGDK_PIXBUF_DISABLE_DEPRECATED $CFLAGS"
+
 
 dnl
 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
@@ -782,12 +825,13 @@ AC_ARG_WITH(libtiff,
             [AC_HELP_STRING([--without-libtiff],
                             [disable TIFF loader for gdk-pixbuf])])
 AC_ARG_WITH(libjasper,
-            [AC_HELP_STRING([--without-libjasper],
-                            [disable JPEG2000 loader for gdk-pixbuf])])
+            [AC_HELP_STRING([--with-libjasper],
+                            [enable JPEG2000 loader for gdk-pixbuf])])
 
 AC_ARG_ENABLE(gdiplus,
-            [AC_HELP_STRING([--disable-gdiplus-loaders],
-                            [disable GDI+ loaders for gdk-pixbuf])])
+            [AC_HELP_STRING([--enable-gdiplus],
+                            [enble GDI+ loaders for gdk-pixbuf (currently known to be broken)])],,
+           [enable_gdiplus=no])
 
 AM_CONDITIONAL(BUILD_GDIPLUS_LOADERS, [ test x$os_win32 = xyes && test x$enable_gdiplus != xno ])
 
@@ -897,11 +941,11 @@ dnl Test for libpng
   fi
 
 dnl Test for libjasper
-  if test x$with_libjasper != xno && test -z "$LIBJASPER"; then
+  if test x$with_libjasper = xyes && test -z "$LIBJASPER"; then
     AC_CHECK_LIB(jasper, jas_init, LIBJASPER=-ljasper, [], -ljpeg)
   fi
 
-  if test x$with_libjasper != xno && test -z "$LIBJASPER"; then
+  if test x$with_libjasper = xyes && test -z "$LIBJASPER"; then
      AC_MSG_ERROR([
 *** Checks for JPEG2000 loader failed. You can build without it by passing 
 *** --without-libjasper to configure])
@@ -1015,44 +1059,48 @@ AM_CONDITIONAL(INCLUDE_JASPER, [test x"$INCLUDE_jasper" = xyes])
 # check one of the variables here
 AM_CONDITIONAL(INCLUDE_GDIPLUS, [test x"$INCLUDE_gdip_ico" = xyes])
 
-AC_MSG_CHECKING([if gio can sniff png])
-gtk_save_LIBS="$LIBS"
-gtk_save_CFLAGS="$CFLAGS"
-LIBS="`$PKG_CONFIG --libs gio-2.0`"
-CFLAGS="`$PKG_CONFIG --cflags gio-2.0`"
-AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <gio/gio.h>
-static const gsize data_size = 159;
-static const guint8 data[] = 
-{
-  0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 
-  0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 
-  0x08, 0x02, 0x00, 0x00, 0x00, 0x90, 0x77, 0x53, 0xde, 0x00, 0x00, 0x00, 
-  0x01, 0x73, 0x52, 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 
-  0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 
-  0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74, 
-  0x49, 0x4d, 0x45, 0x07, 0xd8, 0x07, 0x0f, 0x10, 0x08, 0x15, 0x61, 0xd8, 
-  0x35, 0x37, 0x00, 0x00, 0x00, 0x19, 0x74, 0x45, 0x58, 0x74, 0x43, 0x6f, 
-  0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x00, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 
-  0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x47, 0x49, 0x4d, 0x50, 0x57, 
-  0x81, 0x0e, 0x17, 0x00, 0x00, 0x00, 0x0c, 0x49, 0x44, 0x41, 0x54, 0x08, 
-  0xd7, 0x63, 0xf8, 0xff, 0xff, 0x3f, 0x00, 0x05, 0xfe, 0x02, 0xfe, 0xdc, 
-  0xcc, 0x59, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 
-  0x42, 0x60, 0x82
-};
-int
-main (int argc, char **argv)
-{
-  char *content_type;
-  content_type = g_content_type_guess (NULL, data, data_size, NULL);  
-  return strcmp (content_type, "image/png");
-}]])],
-  [gio_can_sniff=yes
-   AC_DEFINE(GDK_PIXBUF_USE_GIO_MIME, 1, [Define if gio can sniff image data])],
-  [gio_can_sniff=no])
-AC_MSG_RESULT($gio_can_sniff)
-LIBS="$gtk_save_LIBS"
-CFLAGS="$gtk_save_CFLAGS"
+if test x$gio_can_sniff = x; then
+  AC_MSG_CHECKING([if gio can sniff png])
+  gtk_save_LIBS="$LIBS"
+  gtk_save_CFLAGS="$CFLAGS"
+  LIBS="`$PKG_CONFIG --libs gio-2.0`"
+  CFLAGS="`$PKG_CONFIG --cflags gio-2.0`"
+  AC_RUN_IFELSE([AC_LANG_SOURCE([[
+  #include <gio/gio.h>
+  static const gsize data_size = 159;
+  static const guint8 data[] = 
+  {
+    0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 
+    0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 
+    0x08, 0x02, 0x00, 0x00, 0x00, 0x90, 0x77, 0x53, 0xde, 0x00, 0x00, 0x00, 
+    0x01, 0x73, 0x52, 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 
+    0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 
+    0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74, 
+    0x49, 0x4d, 0x45, 0x07, 0xd8, 0x07, 0x0f, 0x10, 0x08, 0x15, 0x61, 0xd8, 
+    0x35, 0x37, 0x00, 0x00, 0x00, 0x19, 0x74, 0x45, 0x58, 0x74, 0x43, 0x6f, 
+    0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x00, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 
+    0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x47, 0x49, 0x4d, 0x50, 0x57, 
+    0x81, 0x0e, 0x17, 0x00, 0x00, 0x00, 0x0c, 0x49, 0x44, 0x41, 0x54, 0x08, 
+    0xd7, 0x63, 0xf8, 0xff, 0xff, 0x3f, 0x00, 0x05, 0xfe, 0x02, 0xfe, 0xdc, 
+    0xcc, 0x59, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 
+    0x42, 0x60, 0x82
+  };
+  int
+  main (int argc, char **argv)
+  {
+    char *content_type;
+    char *image_png;
+    content_type = g_content_type_guess (NULL, data, data_size, NULL);  
+    image_png = g_content_type_from_mime_type ("image/png");
+    return !!strcmp (content_type, image_png);
+  }]])],
+    [gio_can_sniff=yes
+     AC_DEFINE(GDK_PIXBUF_USE_GIO_MIME, 1, [Define if gio can sniff image data])],
+    [gio_can_sniff=no])
+  AC_MSG_RESULT($gio_can_sniff)
+  LIBS="$gtk_save_LIBS"
+  CFLAGS="$gtk_save_CFLAGS"
+fi
 
 #
 # Allow building some or all immodules included
@@ -1149,8 +1197,11 @@ if $dynworks ; then
   if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then
     STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
   fi
+  if echo "$included_loaders" | egrep '(^|,)jasper($|,)' > /dev/null; then
+    STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJASPER"
+  fi
 else
-  STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
+  STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG $LIBJASPER"
 fi
 
 # Checks to see whether we should include mediaLib
@@ -1267,7 +1318,6 @@ GDK_PIXBUF_XLIB_PACKAGES=
 GDK_PIXBUF_XLIB_EXTRA_CFLAGS=
 GDK_PIXBUF_XLIB_EXTRA_LIBS=
        
-X_PACKAGES=fontconfig
 GDK_EXTRA_LIBS="$GDK_WLIBS"
 GDK_EXTRA_CFLAGS=
        
@@ -1276,6 +1326,8 @@ GTK_DEP_PACKAGES_FOR_X=
 GTK_DEP_LIBS_FOR_X=
 
 if test "x$gdktarget" = "xx11"; then
+  X_PACKAGES=fontconfig
+
   #
   # We use fontconfig very peripherally when decoding the default
   # settings.
@@ -1387,9 +1439,8 @@ if test "x$gdktarget" = "xx11"; then
 
   # Check for shaped window extension
 
-  AC_CHECK_FUNC(XShapeCombineMask,
-      AC_DEFINE(HAVE_SHAPE_EXT, 1,
-                [Define to 1 if the XShape extension is available]))
+  AC_CHECK_FUNC(XShapeCombineMask, :,
+     [AC_MSG_ERROR([Shape extension not found, check your development headers])])
 
   # X SYNC check
   gtk_save_CFLAGS="$CFLAGS"
@@ -1455,54 +1506,55 @@ if test "x$gdktarget" = "xx11"; then
     gtk_save_cppflags="$CPPFLAGS"
     CPPFLAGS="$CPPFLAGS $x_cflags"
   
-    case "$host" in
-      *-*-solaris*)
-          # Check for solaris
-         AC_MSG_CHECKING(for Xinerama support on Solaris)
+    # Check for XFree
+    AC_MSG_CHECKING(for Xinerama support on XFree86)
          
-         have_solaris_xinerama=false
-         AC_CHECK_FUNC(XineramaGetInfo,
-             [AC_CHECK_HEADER(X11/extensions/xinerama.h,
-                 [have_solaris_xinerama=true], :,
-                 [#include <X11/Xlib.h>])])
-               
-          if $have_solaris_xinerama ; then
-            AC_DEFINE(HAVE_SOLARIS_XINERAMA, 1,
-                      [Define to 1 if solaris xinerama is available])
-           AC_DEFINE(HAVE_XINERAMA, 1,
-                      [Define to 1 if xinerama is available])
-            AC_MSG_RESULT(yes)
-          else
-            AC_MSG_RESULT(no)
-          fi
-          ;;
-      *)
-         # Check for XFree
-          AC_MSG_CHECKING(for Xinerama support on XFree86)
+    have_xfree_xinerama=false
+    if $PKG_CONFIG --exists xinerama ; then
+       have_xfree_xinerama=true
+       X_PACKAGES="$X_PACKAGES xinerama"
+    else    
+       AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
+          [AC_CHECK_HEADER(X11/extensions/Xinerama.h, 
+          [GTK_ADD_LIB(x_extra_libs,Xinerama)
+          have_xfree_xinerama=true], :,
+           [#include <X11/Xlib.h>])])
+    fi
+
+    if $have_xfree_xinerama ; then
+      AC_DEFINE(HAVE_XFREE_XINERAMA, 1,
+                [Define to 1 if XFree Xinerama is available])
+      AC_DEFINE(HAVE_XINERAMA, 1,
+                [Define to 1 is Xinerama is available])
+      AC_MSG_RESULT(yes)
+    else
+      AC_MSG_RESULT(no)
+
+      case "$host" in
+        *-*-solaris*)
+            # Check for solaris
+           AC_MSG_CHECKING(for Xinerama support on Solaris)
          
-          have_xfree_xinerama=false
-          if $PKG_CONFIG --exists xinerama ; then
-             have_xfree_xinerama=true
-             X_PACKAGES="$X_PACKAGES xinerama"
-          else    
-             AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
-                 [AC_CHECK_HEADER(X11/extensions/Xinerama.h, 
-                     [GTK_ADD_LIB(x_extra_libs,Xinerama)
-                     have_xfree_xinerama=true], :,
-                      [#include <X11/Xlib.h>])])
-          fi
-
-          if $have_xfree_xinerama ; then
-            AC_DEFINE(HAVE_XFREE_XINERAMA, 1,
-                      [Define to 1 if XFree Xinerama is available])
-           AC_DEFINE(HAVE_XINERAMA, 1,
-                      [Define to 1 is Xinerama is available])
-            AC_MSG_RESULT(yes)
-         else
-            AC_MSG_RESULT(no)
-         fi
-         ;;
-    esac
+           have_solaris_xinerama=false
+           AC_CHECK_FUNC(XineramaGetInfo,
+               [AC_CHECK_HEADER(X11/extensions/xinerama.h,
+                   [have_solaris_xinerama=true], :,
+                   [#include <X11/Xlib.h>])])
+               
+            if $have_solaris_xinerama ; then
+              AC_DEFINE(HAVE_SOLARIS_XINERAMA, 1,
+                        [Define to 1 if solaris xinerama is available])
+             AC_DEFINE(HAVE_XINERAMA, 1,
+                        [Define to 1 if xinerama is available])
+              AC_MSG_RESULT(yes)
+            else
+              AC_MSG_RESULT(no)
+            fi
+            ;;
+        *)
+            ;;
+      esac
+    fi
   fi
   
   # set up things for XInput
@@ -1524,7 +1576,7 @@ if test "x$gdktarget" = "xx11"; then
   AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
 
   # Check for the RANDR extension
-  if $PKG_CONFIG --exists "xrandr >= 1.2" ; then
+  if $PKG_CONFIG --exists "xrandr >= 1.2.99" ; then
      AC_DEFINE(HAVE_RANDR, 1, [Have the Xrandr extension library])
 
      X_PACKAGES="$X_PACKAGES xrandr"
@@ -1576,6 +1628,8 @@ if test "x$gdktarget" = "xx11"; then
 
   AM_CONDITIONAL(USE_X11, true)
 else
+  XPACKAGES=
+
   AM_CONDITIONAL(XINPUT_XFREE, false)
   AM_CONDITIONAL(USE_X11, false)
   AM_CONDITIONAL(HAVE_X11R6, false)
@@ -1605,21 +1659,10 @@ AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
 AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
 
 if test "x$gdktarget" = "xdirectfb"; then
-  DIRECTFB_REQUIRED_VERSION=0.9.24
+  DIRECTFB_REQUIRED_VERSION=1.0.0
   AC_MSG_CHECKING(for DirectFB)
 
-  if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb && $PKG_CONFIG --exists cairo-directfb ; then
-      AC_MSG_RESULT(found)
-      GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags cairo-directfb` $GDK_EXTRA_CFLAGS"
-      GDK_EXTRA_LIBS="`$PKG_CONFIG --libs cairo-directfb` $GDK_EXTRA_LIBS"
-  else
-      AC_MSG_ERROR([
-*** DirectFB $DIRECTFB_REQUIRED_VERSION or newer and the cairo backend 
-*** are required. The latest version of DirectFB is always available 
-*** from http://www.directfb.org/.
-  ])
-  fi
-
+  PKG_CHECK_MODULES(DIRECTFB, [directfb >= $DIRECTFB_REQUIRED_VERSION])
   AM_CONDITIONAL(USE_DIRECTFB, true)
 else
   AM_CONDITIONAL(USE_DIRECTFB, false)
@@ -1663,13 +1706,9 @@ fi
 CFLAGS="$saved_cflags"
 LDFLAGS="$saved_ldflags"
 
-GDK_PACKAGES="$PANGO_PACKAGES gio-2.0"
-if test "x$gdktarget" = "xx11"; then
-  GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES"
-fi
+GDK_PACKAGES="$PANGO_PACKAGES gio-2.0 $X_PACKAGES cairo-$cairo_backend"
 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
 GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
-
 #
 # If we aren't writing explicit dependencies, then don't put the extra libraries we need
 # into the pkg-config files
@@ -1842,9 +1881,31 @@ else
   AM_CONDITIONAL(HAVE_CUPS, false)
 fi
 
+# Checks to see if we should compile with PAPI backend for GTK+
+#
+
+AC_ARG_ENABLE(papi,
+              [AC_HELP_STRING([--disable-papi]
+                              [disable papi print backend])],,
+             [enable_papi=auto])
+
+if test "x$enable_papi" = "xauto"
+then
+  AC_MSG_CHECKING(libpapi)
+  AC_CHECK_LIB(papi, papiServiceCreate, have_papi=yes, have_papi=no)
+  if test $have_papi = yes; then
+    AC_DEFINE([HAVE_PAPI], [], [Define to 1 if libpapi available])
+  fi
+  AM_CONDITIONAL(HAVE_PAPI, test $have_papi = yes)
+else
+  AM_CONDITIONAL(HAVE_PAPI, false)
+fi
+
+AM_CONDITIONAL(HAVE_PAPI_CUPS, test $have_papi = yes && test "x$CUPS_CONFIG" != "xno")
+
 gtk_save_cppflags="$CPPFLAGS"
-CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS"
-                         
+CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS $GDK_DEP_CFLAGS"
+
 AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
 *** Can't find cairo-pdf.h. You must build Cairo with the pdf
 *** backend enabled.]))
@@ -1892,7 +1953,7 @@ fi
 # Checks for gtk-doc and docbook-tools
 ##################################################
 
-GTK_DOC_CHECK([1.8])
+GTK_DOC_CHECK([1.11])
 
 AC_CHECK_PROG(DB2HTML, db2html, true, false)
 AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
@@ -1978,6 +2039,8 @@ if test "x$gdktarget" = "xx11" ; then
 #define GDK_WINDOWING_X11'
 elif test "x$gdktarget" = "xwin32" ; then
   gdk_windowing='
+#define GDK_NATIVE_WINDOW_POINTER
+
 #define GDK_WINDOWING_WIN32'
 elif test "x$gdktarget" = "xquartz" ; then
   gdk_windowing='
@@ -2046,6 +2109,7 @@ gdk/win32/rc/Makefile
 gdk/win32/rc/gdk.rc
 gdk/quartz/Makefile
 gdk/directfb/Makefile
+gdk/tests/Makefile
 gtk/Makefile
 gtk/makefile.msc
 gtk/gtkversion.h
@@ -2067,6 +2131,7 @@ modules/printbackends/Makefile
 modules/printbackends/cups/Makefile
 modules/printbackends/lpr/Makefile
 modules/printbackends/file/Makefile
+modules/printbackends/papi/Makefile
 modules/printbackends/test/Makefile
 perf/Makefile
 contrib/Makefile