]> Pileus Git - ~andy/gtk/blobdiff - configure.in
bump version
[~andy/gtk] / configure.in
index af7098bfbd34e4a89f2b3f64fdad29796d2b17d9..f8a21c1fdf10a93c2e73ed0e0cfc953cc4263b8f 100644 (file)
@@ -11,11 +11,11 @@ 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], [7])
+m4_define([gtk_minor_version], [10])
 m4_define([gtk_micro_version], [3])
 m4_define([gtk_version],
           [gtk_major_version.gtk_minor_version.gtk_micro_version])
-m4_define([gtk_interface_age], [1])
+m4_define([gtk_interface_age], [3])
 m4_define([gtk_binary_age],
           [m4_eval(100 * gtk_minor_version + gtk_micro_version)])
 # This is the X.Y used in -lgtk-FOO-X.Y
@@ -28,12 +28,13 @@ m4_define([gtk_api_version], [2.0])
 # for GTK+.
 #
 #GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT
-m4_define([gtk_binary_version], [2.4.0])
+m4_define([gtk_binary_version], [2.10.0])
 
 # required versions of other packages
-m4_define([glib_required_version], [2.7.1])
-m4_define([pango_required_version], [1.9.0])
-m4_define([atk_required_version], [1.0.1])
+m4_define([glib_required_version], [2.12.0])
+m4_define([pango_required_version], [1.12.0])
+m4_define([atk_required_version], [1.9.0])
+m4_define([cairo_required_version], [1.2.0])
 
 
 AC_INIT([gtk+], [gtk_version],
@@ -223,13 +224,13 @@ else
   gdktarget=x11
 fi
 
-AC_ARG_WITH(gdktarget, [  --with-gdktarget=[[x11/linux-fb/win32]] select non-default GDK target],
+AC_ARG_WITH(gdktarget, [  --with-gdktarget=[[x11/linux-fb/win32/quartz/directfb]] select non-default GDK target],
        gdktarget=$with_gdktarget)
 
 AC_SUBST(gdktarget)
 case $gdktarget in
-  x11|linux-fb|win32) ;;
-  *) AC_MSG_ERROR([Invalid target for GDK: use x11, linux-fb or win32.]);;
+  x11|linux-fb|win32|quartz|directfb) ;;
+  *) AC_MSG_ERROR([Invalid target for GDK: use x11, linux-fb, quartz, directfb or win32.]);;
 esac
 
 gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
@@ -344,7 +345,8 @@ ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
 PKG_CHECK_MODULES(BASE_DEPENDENCIES,
   [glib-2.0 >= glib_required_version dnl
    atk >= atk_required_version dnl
-   pango >= pango_required_version])
+   pango >= pango_required_version dnl
+   cairo >= cairo_required_version])
 
 if test "$os_win32" != yes; then
     # libtool option to control which symbols are exported
@@ -368,8 +370,8 @@ AC_ARG_ENABLE(explicit-deps,
 AC_MSG_CHECKING([Whether to write dependencies into .pc files])
 case $enable_explicit_deps in
   auto)
-    deplib_check_method=`(./libtool --config; echo eval echo \\$deplib_check_method) | sh`
-    if test "X$deplib_check_method" = Xnone || test "x$enable_static" = xyes ; then
+    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
       enable_explicit_deps=no  
@@ -414,6 +416,42 @@ if test "$gtk_ok" = "yes"; then
            [Define if _NL_TIME_FIRST_WEEKDAY is available])
 fi
 
+# _NL_MEASUREMENT_MEASUREMENT is an enum and not a define
+AC_MSG_CHECKING([for _NL_MEASUREMENT_MEASUREMENT])
+AC_TRY_LINK([#include <langinfo.h>], [
+char c;
+c = *((unsigned char *)  nl_langinfo(_NL_MEASUREMENT_MEASUREMENT));
+], gtk_ok=yes, gtk_ok=no)
+AC_MSG_RESULT($gtk_ok)
+if test "$gtk_ok" = "yes"; then
+  AC_DEFINE([HAVE__NL_MEASUREMENT_MEASUREMENT], [1],
+           [Define if _NL_MEASUREMENT_MEASUREMENT is available])
+fi
+
+# _NL_PAPER_HEIGHT is an enum and not a define
+AC_MSG_CHECKING([for _NL_PAPER_HEIGHT])
+AC_TRY_LINK([#include <langinfo.h>], [
+char c;
+c = *((unsigned char *)  nl_langinfo(_NL_PAPER_HEIGHT));
+], gtk_ok=yes, gtk_ok=no)
+AC_MSG_RESULT($gtk_ok)
+if test "$gtk_ok" = "yes"; then
+  AC_DEFINE([HAVE__NL_PAPER_HEIGHT], [1],
+           [Define if _NL_PAPER_HEIGHT is available])
+fi
+
+# _NL_PAPER_WIDTH is an enum and not a define
+AC_MSG_CHECKING([for _NL_PAPER_WIDTH])
+AC_TRY_LINK([#include <langinfo.h>], [
+char c;
+c = *((unsigned char *)  nl_langinfo(_NL_PAPER_WIDTH));
+], gtk_ok=yes, gtk_ok=no)
+AC_MSG_RESULT($gtk_ok)
+if test "$gtk_ok" = "yes"; then
+  AC_DEFINE([HAVE__NL_PAPER_WIDTH], [1],
+           [Define if _NL_PAPER_WIDTH is available])
+fi
+       
 # sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
 AC_MSG_CHECKING(for sigsetjmp)
 AC_TRY_LINK([#include <setjmp.h>], [
@@ -431,7 +469,7 @@ fi
 # 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 ar az az_IR be bg bn br bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu ia id is it ja ko li lt lv mi mk ml mn mr ms nb ne nl nn no nso pa pl pt pt_BR ro ru rw sk sl sq sr sr@ije sr@Latn sv ta th tk tr uk uz uz@Latn vi wa xh yi zh_CN zh_TW"
+ALL_LINGUAS="af am ar az az_IR be bg bn bn_IN br bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu hy ia id is it ja ka ko ku li lt lv mi mk ml mn mr ms nb ne nl nn nso or pa pl pt pt_BR ro ru rw sk sl sq sr sr@Latn sr@ije sv ta te th tk tr tt uk ur uz uz@Latn vi wa xh yi zh_CN zh_HK zh_TW"
 AM_GLIB_GNU_GETTEXT
 LIBS="$LIBS $INTLLIBS"
 AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
@@ -513,6 +551,14 @@ AM_PATH_GLIB_2_0(glib_required_version, :,
 *** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]),
   gobject gmodule-no-export gthread)
 
+# See if it's safe to turn G_DISABLE_DEPRECATED on.
+GLIB_VERSION_MAJOR_MINOR=`$PKG_CONFIG --modversion glib-2.0 | sed "s/\.@<:@^.@:>@*\$//"`
+GLIB_REQUIRED_VERSION_MAJOR_MINOR=`echo glib_required_version | sed "s/\.@<:@^.@:>@*\$//"`
+if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; then
+  CFLAGS="-DG_DISABLE_DEPRECATED $CFLAGS"
+fi
+
+
 dnl
 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
 dnl
@@ -991,10 +1037,10 @@ if test $cross_compiling = yes; then
   fi
 fi
 
-if test ! -f $srcdir/gtk/stock-icons/gtkstockpixbufs.h && 
+if test ! -f $srcdir/gtk/gtkbuiltincache.h && 
    test "x$REBUILD_PNGS" = "x#" ; then
      AC_MSG_ERROR([
-*** gtkstockpixbufs.h is not in the tree, and cannot be built
+*** gtkbuiltincache.h is not in the tree, and cannot be built
 *** because you don't have libpng, or (when cross-compiling) you 
 *** don't have a prebuilt gdk-pixbuf-csource on the host system.])
 fi
@@ -1018,177 +1064,85 @@ AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
 # Windowing system checks
 ########################################
 
-GDK_EXTRA_LIBS=$GDK_WLIBS
-GDK_EXTRA_CFLAGS= 
+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=
+       
+# GTK+ uses some X calls, so needs to link against X directly
+GTK_DEP_PACKAGES_FOR_X=
 GTK_DEP_LIBS_FOR_X=
 
-FREETYPE_LIBS=
-FREETYPE_CFLAGS=
-if test "x$gdktarget" = "xlinux-fb" || test "x$gdktarget" = "xx11" ; then
+if test "x$gdktarget" = "xx11"; then
   #
-  # Checks for FreeType
+  # We use fontconfig very peripherally when decoding the default
+  # settings.
   #
-  have_freetype=false
-  AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
-  if test "x$FREETYPE_CONFIG" != "xno" ; then
-    FREETYPE_CFLAGS=`$FREETYPE_CONFIG --cflags`
-    FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
-
-    gtk_save_LIBS="$LIBS"
-    LIBS="$FREETYPE_LIBS $LIBS"
-    AC_TRY_LINK_FUNC(FT_New_Face, have_freetype=true,:)
-    LIBS="$gtk_save_LIBS"
-
-    if $have_freetype ; then
-      gtk_save_cppflags="$CPPFLAGS"
-      CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS"
-
-      AC_MSG_CHECKING([For sufficiently new FreeType (at least 2.0.1)])
-      AC_TRY_COMPILE([
-#include <ft2build.h>
-#include FT_FREETYPE_H
-#include FT_ERRORS_H
-    ],
-                    [(void)1;],:,have_freetype=false)
-      if $have_freetype ; then
-        AC_MSG_RESULT(yes)
-      else
-        AC_MSG_RESULT(no)
-      fi
-
-      CPPFLAGS="$gtk_save_cppflags"
-    fi
-  fi
-  AC_SUBST(FREETYPE_LIBS)
-  AC_SUBST(FREETYPE_CFLAGS)
-fi
-
-if test "x$gdktarget" = "xx11"; then
-  # We start off with the libraries from Pango
-
-  ## be sure we also have Pango built with Xft2 support
-  if $PKG_CONFIG --exists 'pangoxft >= 1.2.0' ; then
-    if $have_freetype ; then
-      :
-    else
-      AC_MSG_ERROR([Xft Pango backend found but did not find freetype libraries])
-    fi
-  else
-    AC_MSG_ERROR([Xft Pango backend is required for x11 target])
-  fi
-
-  if $PKG_CONFIG --exists xft ; then : ; else
-    AC_MSG_ERROR([Xft version 2 is required for x11 target])
+  if $PKG_CONFIG --exists fontconfig; then : ; else
+    AC_MSG_ERROR([
+*** fontconfig (http://www.fontconfig.org) is required by the X11 backend.])
   fi
 
   #
-  # If Pango included the shared library dependencies from X11 in
-  # the pkg-config output, then we use that (to avoid duplicates).
-  # but if they were omitted to avoid binary compatibility problems,
-  # then we need to repeat the checks.
+  # Check for basic X packages; we use pkg-config if available
   #
-  x_libs="`$PKG_CONFIG --libs pangoxft`"
-  case "$x_libs" in
-    *-lX11*) pango_omitted_x_deps=no ;;
-    *)       pango_omitted_x_deps=yes ;;
-  esac
-
-  x_cflags="`$PKG_CONFIG --cflags pangoxft`"
-  x_extra_libs=
-
-  AC_PATH_XTRA
-  if test x$no_x = xyes ; then
-    AC_MSG_ERROR([X development libraries not found])
-  fi
-  
-  if test $pango_omitted_x_deps = yes ; then
-    # Old versions of Xft didn't necessarily include -lX11 in the output
-    x_libs="`$PKG_CONFIG --libs xft` -lX11 $X_EXTRA_LIBS"
-  fi           
-
-  ## Strip the .la files
-  x_libs_for_checks=""
-  for I in $x_libs ; do
-    case $I in 
-      *.la) ;;
-      *) x_libs_for_checks="$x_libs_for_checks $I" ;;
-    esac
-  done
-
-  # Sanity check for the X11 library
-  AC_CHECK_LIB(X11, XOpenDisplay, :,
-            AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]),
-            $x_libs_for_checks)
-
-  if test "x$enable_shm" = "xyes"; then
-    # Check for the Xext library (needed for XShm extention)
-    AC_CHECK_LIB(Xext, XShmAttach,
-        [GTK_ADD_LIB(x_extra_libs,Xext)],
-        # On AIX, it is in XextSam instead, but we still need -lXext
-        [AC_CHECK_LIB(XextSam, XShmAttach, 
-            [GTK_ADD_LIB(x_extra_libs,Xext)
-             GTK_ADD_LIB(x_extra_libs,XextSam)
-            ], , -lXext $x_libs_for_checks)],
-        $x_libs_for_checks)
-  fi
-
-  GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
-  # Don't ever pull in the pangoxft libraries for gdk-pixbuf-x11
-  GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $x_extra_libs $X_EXTRA_LIBS"
+  if $PKG_CONFIG --exists x11 xext xrender; then
+    have_base_x_pc=true
+    X_PACKAGES="$X_PACKAGES x11 xext xrender"
+    x_libs="`$PKG_CONFIG --libs x11 xext xrender`"
+    X_CFLAGS="`$PKG_CONFIG --cflags x11 xext xrender`"
+    
+    # Strip out any .la files that pkg-config might give us (this happens
+    # with -uninstalled.pc files)
+    x_libs_for_checks=
+    for I in $x_libs ; do
+      case $I in 
+        *.la) ;;
+        *) x_libs_for_checks="$x_libs_for_checks $I" ;;
+      esac
+    done
+    
+    GDK_PIXBUF_XLIB_PACKAGES="x11"
+    GTK_PACKAGES_FOR_X="x11"
+  else
+    have_base_x_pc=false
+    AC_PATH_XTRA
+    if test x$no_x = xyes ; then
+      AC_MSG_ERROR([X development libraries not found])
+    fi
+    
+    x_cflags="$X_CFLAGS"
+    x_libs_for_checks="$X_LIBS -lXext -lXrender -lX11 $X_EXTRA_LIBS"
 
-  # GTK+ uses some X calls, so needs to link against X directly
-  if test $enable_explicit_deps != yes ; then
-    GTK_DEP_LIBS_FOR_X="$X_LIBS -lX11 $X_EXTRA_LIBS"
+    GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
+    GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $X_EXTRA_LIBS"
+    GTK_DEP_LIBS_FOR_X="$X_LIBS -lXrender -lX11 $X_EXTRA_LIBS"
   fi
 
-  # Check for Xinerama extension (Solaris impl or Xfree impl)
+  # Extra libraries found during checks (-lXinerama, etc), not from pkg-config.
+  x_extra_libs=
 
   gtk_save_cppflags="$CPPFLAGS"
-  CPPFLAGS="$CPPFLAGS $x_cflags"
-
-  case "$host" in
-      *-*-solaris*)
-          # Check for solaris
-         use_solaris_xinerama=yes
-         AC_CHECK_LIB(Xext, XineramaGetInfo,
-                       use_solaris_xinerama=yes, 
-                       use_solaris_xinerama=no,
-                       -lXext $x_libs_for_checks)
-         if test "x$use_solaris_xinerama" = "xyes"; then
-             AC_CHECK_HEADER(X11/extensions/xinerama.h,
-               [GTK_ADD_LIB(x_extra_libs,Xext)
-               AC_DEFINE(HAVE_SOLARIS_XINERAMA)
-               AC_DEFINE(HAVE_XINERAMA)], 
-               use_solaris_xinerama=no,[#include <X11/Xlib.h>])
-         fi    
-         AC_MSG_CHECKING(for Xinerama support on Solaris)
-         AC_MSG_RESULT($use_solaris_xinerama);
-         ;;
-      *)
-         # Check for XFree
-         use_xfree_xinerama=yes
-         AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
-             [AC_CHECK_HEADER(X11/extensions/Xinerama.h, 
-                 [GTK_ADD_LIB(x_extra_libs,Xext)
-                 GTK_ADD_LIB(x_extra_libs,Xinerama)
-                 AC_DEFINE(HAVE_XFREE_XINERAMA)
-                 AC_DEFINE(HAVE_XINERAMA)], 
-                 use_xfree_xinerama=no,
-                  [#include <X11/Xlib.h>])],
-             use_xfree_xinerama=no, -lXext $x_libs_for_checks)
-         AC_MSG_CHECKING(for Xinerama support on XFree86)
-         AC_MSG_RESULT($use_xfree_xinerama);       
-          ;;
-  esac
+  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
 
-  CPPFLAGS="$gtk_save_cppflags"
+  gtk_save_LIBS=$LIBS
+  LIBS="$x_libs_for_checks $LIBS"
+  
+  # Sanity check for the X11 and Xext libraries. While everything we need from
+  # Xext is optional, the chances a system has *none* of these things is so
+  # small that we just unconditionally require it.
+  AC_CHECK_FUNC(XOpenDisplay, :,
+                AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]))
+  AC_CHECK_FUNC(XextFindDisplay, :,
+                AC_MSG_ERROR([*** libXext not found. Check 'config.log' for more details.]))
+  AC_CHECK_FUNC(XRenderQueryExtension, :,
+                AC_MSG_ERROR([*** libXrender not found. Check 'config.log' for more details.]))
 
   # Check for xReply
 
-  gtk_save_cppflags="$CPPFLAGS"
-  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
-
   AC_MSG_CHECKING([if <X11/extensions/XIproto.h> is needed for xReply])
   AC_TRY_COMPILE([#include <X11/Xlibint.h>],
       [xReply *rep;],
@@ -1202,40 +1156,18 @@ if test "x$gdktarget" = "xx11"; then
            [AC_MSG_RESULT([unknown])
             AC_MSG_ERROR([xReply type unavailable. X11 is too old])])])
 
-  CPPFLAGS="$gtk_save_cppflags"
-
-  # Check for shaped window extension
-
-  AC_CHECK_LIB(Xext, XShapeCombineMask,
-      [GTK_ADD_LIB(x_extra_libs,Xext)
-       AC_DEFINE(HAVE_SHAPE_EXT)],
-      ,
-      $x_libs_for_checks)
-
-  # Check for XConvertCase (X11R6 specific)
+  # Check for XConvertCase, XInternAtoms (X11R6 specific)
 
-  AC_CHECK_LIB(X11, XConvertCase,
-      AC_DEFINE(HAVE_XCONVERTCASE),
-      ,
-      $x_libs_for_checks)
-
-  # Check for XInternAtoms (X11R6 specific)
-
-  AC_CHECK_LIB(X11, XInternAtoms,
-      AC_DEFINE([HAVE_XINTERNATOMS], 1,
-          [Define to 1 if you have the `XInternAtoms' function.]),
-      ,
-      $x_libs_for_checks)
+  AC_CHECK_FUNCS(XConvertCase XInternAtoms)
 
   # Generic X11R6 check needed for XIM support; we could
   # probably use this to replace the above, but we'll
   # leave the separate checks for XConvertCase and XInternAtoms 
   # for clarity
+  
   have_x11r6=false
-  AC_CHECK_LIB(X11, XAddConnectionWatch,
-      have_x11r6=true,
-      ,
-      $x_libs_for_checks)
+  AC_CHECK_FUNC(XAddConnectionWatch,
+      have_x11r6=true)
 
   if $have_x11r6; then
     AC_DEFINE(HAVE_X11R6,1,[Define if we have X11R6])
@@ -1248,71 +1180,39 @@ if test "x$gdktarget" = "xx11"; then
         AC_MSG_WARN(XKB support explicitly enabled)
         AC_DEFINE(HAVE_XKB)
   elif test "x$enable_xkb" = "xmaybe"; then
-        AC_CHECK_LIB(X11, XkbQueryExtension,
-                     AC_DEFINE(HAVE_XKB),
-                    ,
-                    $x_libs_for_checks)
+        AC_CHECK_FUNC(XkbQueryExtension,
+                      AC_DEFINE(HAVE_XKB))
   else
         AC_MSG_WARN(XKB support explicitly disabled)
   fi
 
-  x_cflags="$X_CFLAGS"
-  x_ldflags="$X_LDFLAGS"
-
-  # set up things for XInput
-
-  if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
-    AC_DEFINE(XINPUT_XFREE)
-    GTK_ADD_LIB(x_extra_libs, Xi)
-  else
-    AC_DEFINE(XINPUT_NONE)
-  fi
-
-  AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
-
-  # Check for the RANDR extension
-
-  AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
-      [AC_CHECK_HEADER(X11/extensions/Xrandr.h,
-          # RANDR requires RENDER
-          [GTK_ADD_LIB(x_extra_libs, Xrender)
-          GTK_ADD_LIB(x_extra_libs, Xrandr)
-         AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)],
-         :, [#include <X11/Xlib.h>])], : ,
-       $X_LIBS -lXrandr -lXrender -lX11 $X_EXTRA_LIBS)
-
-  # Checks for Xcursor library
-  
-  have_xcursor=false
-  PKG_CHECK_MODULES(XCURSOR, xcursor, have_xcursor=true, :)
+  # Check for shaped window extension
 
-  if $have_xcursor ; then
-    AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
-    GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags xcursor` $GDK_EXTRA_CFLAGS"
-    GDK_EXTRA_LIBS="`$PKG_CONFIG --libs xcursor` $GDK_EXTRA_LIBS"
-  fi
+  AC_CHECK_FUNC(XShapeCombineMask,
+      AC_DEFINE(HAVE_SHAPE_EXT))
 
   # X SYNC check
-  AC_CHECK_LIB(Xext, XSyncQueryExtension,
+  gtk_save_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS $x_cflags"
+  
+  AC_CHECK_FUNC(XSyncQueryExtension,
       [AC_CHECK_HEADER(X11/extensions/sync.h,
-          [GTK_ADD_LIB(x_extra_libs, Xext)
-         AC_DEFINE(HAVE_XSYNC, 1, Have the SYNC extension library)],
-         :, [#include <X11/Xlib.h>])], : ,
-       $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
+         AC_DEFINE(HAVE_XSYNC, 1, Have the SYNC extension library),
+         :, [#include <X11/Xlib.h>])])
 
-  # Checks for XFixes extension
-  
-  have_xfixes=false
-  PKG_CHECK_MODULES(XFIXES, xfixes, have_xfixes=true, :)
+  CFLAGS="$gtk_save_CFLAGS"
 
-  if $have_xfixes ; then
-    AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
-    GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags xfixes` $GDK_EXTRA_CFLAGS"
-    GDK_EXTRA_LIBS="`$PKG_CONFIG --libs xfixes` $GDK_EXTRA_LIBS"
-  fi
-    
   # Xshm checks
 
+  if test "x$enable_shm" = "xyes"; then
+     # Check for the XShm extension, normally in Xext
+     AC_CHECK_FUNC(XShmAttach,
+       :,
+       # On AIX, it is in XextSam instead
+       [AC_CHECK_LIB(XextSam, XShmAttach, 
+           [GTK_ADD_LIB(x_extra_libs,XextSam)])])
+  fi    
+
   if test "x$enable_shm" = "xyes"; then
     # Check for shared memory
     AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
@@ -1343,12 +1243,117 @@ if test "x$gdktarget" = "xx11"; then
     fi
   fi
 
-  if test $pango_omitted_x_deps = yes ; then
-    GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs $x_libs $GDK_EXTRA_LIBS"
+  # Check for Xinerama extension (Solaris impl or Xfree impl)
+
+  gtk_save_cppflags="$CPPFLAGS"
+  CPPFLAGS="$CPPFLAGS $x_cflags"
+  
+  case "$host" in
+      *-*-solaris*)
+          # Check for solaris
+         AC_MSG_CHECKING(for Xinerama support on Solaris)
+         
+         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)
+           AC_DEFINE(HAVE_XINERAMA) 
+            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)
+           AC_DEFINE(HAVE_XINERAMA) 
+            AC_MSG_RESULT(yes)
+         else
+            AC_MSG_RESULT(no)
+         fi
+         ;;
+  esac
+
+  # set up things for XInput
+
+  if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
+    AC_DEFINE(XINPUT_XFREE)
+    
+    if $PKG_CONFIG --exists xi ; then
+      X_PACKAGES="$X_PACKAGES xi"
+    else
+      GTK_ADD_LIB(x_extra_libs, Xi)
+    fi
   else
-    GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs $GDK_EXTRA_LIBS"
+    AC_DEFINE(XINPUT_NONE)
   fi
 
+  AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
+
+  # Check for the RANDR extension
+
+  have_randr=false
+  if $PKG_CONFIG --exists xrandr ; then
+    have_randr=true
+    X_PACKAGES="$X_PACKAGES xrandr"
+  else    
+    AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
+       [AC_CHECK_HEADER(X11/extensions/Xrandr.h,
+          # RANDR requires RENDER
+          [have_randr=true
+          GTK_ADD_LIB(x_extra_libs, Xrender)
+          GTK_ADD_LIB(x_extra_libs, Xrandr)],
+         :, [#include <X11/Xlib.h>])])
+  fi
+
+  if $have_randr ; then
+     AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)
+  fi
+       
+  # Checks for Xcursor library
+  
+  if $PKG_CONFIG --exists xcursor ; then
+    AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
+    
+    X_PACKAGES="$X_PACKAGES xcursor"
+  fi
+
+  # Checks for XFixes extension
+  
+  if $PKG_CONFIG --exists xfixes ; then
+    AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
+    
+    X_PACKAGES="$X_PACKAGES xfixes"
+  fi
+
+  if $have_base_x_pc ; then
+    GDK_EXTRA_LIBS="$x_extra_libs"
+  else
+    GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs -lXext -lX11 $GDK_EXTRA_LIBS"
+  fi
+
+  CPPFLAGS="$gtk_save_cppflags"
+  LIBS="$gtk_save_libs"
+
   AM_CONDITIONAL(USE_X11, true)
 else
   AM_CONDITIONAL(XINPUT_XFREE, false)
@@ -1364,13 +1369,19 @@ if test "x$gdktarget" = "xwin32"; then
     AC_SUBST(GDK_WIN32_EXTRA_CFLAGS)
   fi
 
-  GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -user32 -limm32 -lshell32 -lole32 -luuid"
+  GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -user32 -limm32 -lshell32 -lole32 -Wl,-luuid"
   AM_CONDITIONAL(USE_WIN32, true)
 else
   AM_CONDITIONAL(USE_WIN32, false)
 fi
 
-GDK_PIXBUF_XLIB_PACKAGES=
+if test "x$gdktarget" = "xquartz"; then
+  GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa"
+  AM_CONDITIONAL(USE_QUARTZ, true)
+else
+  AM_CONDITIONAL(USE_QUARTZ, false)
+fi
+
 GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
 GDK_PIXBUF_XLIB_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_PIXBUF_XLIB_EXTRA_CFLAGS"
 
@@ -1381,20 +1392,6 @@ AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
 AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
 
 if test "x$gdktarget" = "xlinux-fb"; then
-  if $have_freetype ; then
-    :
-  else
-    AC_MSG_ERROR([Using linux-fb backend but freetype was not found])
-  fi
-
-  ft2_libs="`$PKG_CONFIG --libs pangoft2`"
-  case "$ft2_libs" in
-    *-lfreetype*) pango_omitted_ft2_deps=no ;;
-    *)            pango_omitted_ft2_deps=yes ;;
-  esac
-
-  CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
-
   if test x$enable_shadowfb = xyes ; then
     AC_DEFINE(ENABLE_SHADOW_FB)
   fi
@@ -1406,38 +1403,41 @@ if test "x$gdktarget" = "xlinux-fb"; then
     AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
   fi
   
-  if test $pango_omitted_ft2_deps = yes ; then
-    GDK_EXTRA_LIBS="$FREETYPE_LIBS $GDK_EXTRA_LIBS"
-  fi
-
   AM_CONDITIONAL(USE_LINUX_FB, true)
 else
   AM_CONDITIONAL(USE_LINUX_FB, false)
   AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
 fi
 
-#
-# Pick correct Pango packages to use
-#
+if test "x$gdktarget" = "xdirectfb"; then
+  DIRECTFB_REQUIRED_VERSION=0.9.24
+  AC_MSG_CHECKING(for DirectFB)
 
-if test "x$gdktarget" = "xx11"; then
-        PANGO_PACKAGES="pangoxft pangocairo"
-       
-        # We no longer use pangox, but if we find it, we link to it 
-       # for binary compatibility.
-       if $PKG_CONFIG --exists pangox ; then
-               PANGO_PACKAGES="$PANGO_PACKAGES pangox"
-       fi
-elif test "x$gdktarget" = "xwin32"; then
-        PANGO_PACKAGES="pangowin32 pangocairo"
-elif test "x$gdktarget" = "xlinux-fb"; then
-        PANGO_PACKAGES="pangoft2 pangocairo"
+  if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION 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 is required. The latest
+*** version of DirectFB is always available from http://www.directfb.org/.
+  ])
+  fi
+
+  AM_CONDITIONAL(USE_DIRECTFB, true)
 else
-        PANGO_PACKAGES="pango pangocairo"
+  AM_CONDITIONAL(USE_DIRECTFB, false)
 fi
 
+
 # Check for Pango flags
 
+if test "x$gdktarget" = "xwin32"; then
+       PANGO_PACKAGES="pangowin32 pangocairo"
+else
+       PANGO_PACKAGES="pango pangocairo"
+fi
+
 AC_MSG_CHECKING(Pango flags)
 if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
         PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
@@ -1468,6 +1468,9 @@ CFLAGS="$saved_cflags"
 LDFLAGS="$saved_ldflags"
 
 GDK_PACKAGES="$PANGO_PACKAGES"
+if test "x$gdktarget" = "xx11"; then
+  GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES"
+fi
 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"
 
@@ -1476,6 +1479,7 @@ GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PAC
 # into the pkg-config files
 #
 if test $enable_explicit_deps != yes ; then
+  GDK_PACKAGES="$PANGO_PACKAGES"
   GDK_EXTRA_LIBS=
 fi
 
@@ -1518,7 +1522,7 @@ fi
 GTK_PACKAGES="atk cairo"
 GTK_EXTRA_LIBS=
 GTK_EXTRA_CFLAGS= 
-GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
+GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $PANGO_PACKAGES $GTK_PACKAGES_FOR_X $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
 GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
 
 if test x"$os_win32" = xyes; then
@@ -1535,6 +1539,47 @@ AC_SUBST(GTK_DEP_CFLAGS)
 AC_SUBST(GTK_DEBUG_FLAGS)
 AC_SUBST(GTK_XIM_FLAGS)
 
+################################################################
+# Printing system checks
+################################################################
+
+AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
+if test "x$CUPS_CONFIG" != "xno"; then
+  CUPS_CFLAGS=`cups-config --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'`
+  CUPS_LIBS=`cups-config --libs`
+
+  CUPS_API_VERSION=`cups-config --api-version`
+  CUPS_API_MAJOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $1}'`
+  CUPS_API_MINOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $2}'`
+
+  if test $CUPS_API_MAJOR -gt 1 -o \
+          $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
+    AC_DEFINE(HAVE_CUPS_API_1_2)
+  fi
+
+  AC_SUBST(CUPS_API_MAJOR)
+  AC_SUBST(CUPS_API_MINOR)
+  AC_SUBST(CUPS_CFLAGS)
+  AC_SUBST(CUPS_LIBS)
+fi
+AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
+
+gtk_save_cppflags="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS $GTK_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.]))
+
+if test "$os_win32" != "yes"; then
+  AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([
+*** Can't find cairo-ps.h. You must build Cairo with the 
+*** postscript backend enabled.]))
+fi   
+
+CPPFLAGS="$gtk_save_cppflags"
+     
+                               
 ################################################################
 # Strip -export-dynamic from the link lines of various libraries
 ################################################################
@@ -1643,6 +1688,12 @@ elif test "x$gdktarget" = "xlinux-fb" ; then
   gdk_windowing='
 #define GDK_WINDOWING_FB
 #define GDK_NATIVE_WINDOW_POINTER'
+elif test "x$gdktarget" = "xquartz" ; then
+  gdk_windowing='
+#define GDK_WINDOWING_QUARTZ'
+elif test "x$gdktarget" = "xdirectfb" ; then
+  gdk_windowing='
+#define GDK_WINDOWING_DIRECTFB'
 fi
 
 if test x$gdk_wchar_h = xyes; then
@@ -1668,15 +1719,13 @@ Makefile
 gdk-pixbuf-2.0.pc
 gdk-2.0.pc
 gtk+-2.0.pc
+gtk+-unix-print-2.0.pc
 gdk-pixbuf-2.0-uninstalled.pc
 gdk-2.0-uninstalled.pc
 gtk+-2.0-uninstalled.pc
 m4macros/Makefile
 po/Makefile.in
 po-properties/Makefile.in
-build/Makefile
-build/win32/Makefile
-build/win32/dirent/Makefile
 demos/Makefile
 demos/gtk-demo/Makefile
 demos/gtk-demo/geninclude.pl
@@ -1702,11 +1751,12 @@ gdk/win32/Makefile
 gdk/win32/rc/Makefile
 gdk/win32/rc/gdk.rc
 gdk/linux-fb/Makefile
+gdk/quartz/Makefile
+gdk/directfb/Makefile
 gtk/Makefile
 gtk/makefile.msc
 gtk/gtkversion.h
 gtk/gtk-win32.rc
-gtk/stock-icons/Makefile
 gtk/theme-bits/Makefile
 gtk/xdgmime/Makefile
 modules/Makefile
@@ -1716,6 +1766,11 @@ modules/engines/pixbuf/Makefile
 modules/engines/ms-windows/Makefile
 modules/engines/ms-windows/Theme/Makefile
 modules/engines/ms-windows/Theme/gtk-2.0/Makefile
+modules/printbackends/Makefile
+modules/printbackends/cups/Makefile
+modules/printbackends/lpr/Makefile
+modules/printbackends/file/Makefile
+perf/Makefile
 contrib/Makefile
 contrib/gdk-pixbuf-xlib/Makefile
 contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc