]> Pileus Git - ~andy/gtk/blobdiff - configure.in
Bug 511163 – Remove pango_extents_to_pixels() calls
[~andy/gtk] / configure.in
index 29c4831af8de80f7785f2d5a86195aa0013fc359..16eeb5614ee88ac7809e68fb1388da0cc6436f92 100644 (file)
@@ -11,13 +11,13 @@ 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], [11])
-m4_define([gtk_micro_version], [0])
-m4_define([gtk_version],
-          [gtk_major_version.gtk_minor_version.gtk_micro_version])
+m4_define([gtk_minor_version], [13])
+m4_define([gtk_micro_version], [1])
 m4_define([gtk_interface_age], [0])
 m4_define([gtk_binary_age],
           [m4_eval(100 * gtk_minor_version + gtk_micro_version)])
+m4_define([gtk_version],
+          [gtk_major_version.gtk_minor_version.gtk_micro_version])
 # This is the X.Y used in -lgtk-FOO-X.Y
 m4_define([gtk_api_version], [2.0])
 
@@ -31,10 +31,10 @@ 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.12.0])
-m4_define([pango_required_version], [1.15.2])
-m4_define([atk_required_version], [1.9.0])
-m4_define([cairo_required_version], [1.2.0])
+m4_define([glib_required_version], [2.15.0])
+m4_define([pango_required_version], [1.20])
+m4_define([atk_required_version], [1.13.0])
+m4_define([cairo_required_version], [1.6])
 
 
 AC_INIT([gtk+], [gtk_version],
@@ -93,6 +93,13 @@ LT_CURRENT_MINUS_AGE=m4_eval(lt_current - lt_age)
 AC_SUBST(LT_VERSION_INFO)
 AC_SUBST(LT_CURRENT_MINUS_AGE)
 
+m4_define([gail_lt_current],[18])
+m4_define([gail_lt_revision],[1])
+m4_define([gail_lt_age],[0])
+m4_define([gail_lt_version_info],[gail_lt_current:gail_lt_revision:gail_lt_age])
+m4_define([gail_lt_current_minus_age],[m4_eval(gail_lt_current - gail_lt_age)])
+AC_SUBST([GAIL_LT_VERSION_INFO],[gail_lt_version_info])
+AC_SUBST([GAIL_LT_CURRENT_MINUS_AGE],[gail_lt_current_minus_age])
 
 #
 # gdk-pixbuf gets versioned separately, and for now, using standard
@@ -109,7 +116,8 @@ AC_SUBST(GDK_PIXBUF_VERSION)
 
 GETTEXT_PACKAGE=gtk20
 AC_SUBST(GETTEXT_PACKAGE)
-AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE")
+AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
+                   [The prefix for our gettext translation domains.])
 
 AC_CANONICAL_HOST
 
@@ -135,6 +143,24 @@ dnl Initialize libtool
 AC_PROG_CC
 AM_DISABLE_STATIC
 
+dnl 
+dnl Check for a working C++ compiler, but do not bail out, if none is found.
+dnl We use this for an automated test for C++ header correctness.
+dnl 
+AC_CHECK_TOOLS(CXX, [$CCC c++ g++ gcc CC cxx cc++ cl], gcc)
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+
+AC_TRY_COMPILE(,[class a { int b; } c;], ,CXX=)
+AM_CONDITIONAL(HAVE_CXX, test "$CXX" != "")
+
+gtk_save_cxxflags="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS -x objective-c++"
+AC_TRY_COMPILE([@interface Foo @end],,OBJC=yes,OBJC=no)
+AM_CONDITIONAL(HAVE_OBJC, test "$OBJC" = "yes")
+CXXFLAGS="$gtk_save_cxxflags"
+AC_LANG_RESTORE
+
 if test "$os_win32" = "yes"; then
   if test x$enable_static = xyes -o x$enable_static = x; then
     AC_MSG_WARN([Disabling static library build, must build as DLL on Windows.])
@@ -199,6 +225,10 @@ AC_ARG_ENABLE(xkb,
               [AC_HELP_STRING([--enable-xkb],
                               [support XKB [default=maybe]])],,
               [enable_xkb="maybe"])
+AC_ARG_ENABLE(xinerama,
+              [AC_HELP_STRING([--enable-xinerama],
+                             [support xinerama extension if available [default=yes]])],,
+              [enable_xinerama="no"])
 AC_ARG_ENABLE(rebuilds,
               [AC_HELP_STRING([--disable-rebuilds],
                               [disable all source autogeneration rules])],,
@@ -211,22 +241,19 @@ AC_ARG_ENABLE(visibility,
 AC_ARG_WITH(xinput,
             [AC_HELP_STRING([--with-xinput=@<:@no/yes@:>@], [support XInput])])
 
-AC_ARG_WITH(wintab,
-            [AC_HELP_STRING([--with-wintab=DIRECTORY],
-                            [use Wintab API with win32 backend])])
 if test "$platform_win32" = yes; then
   gdktarget=win32
 else
   gdktarget=x11
 fi
 
-AC_ARG_WITH(gdktarget, [  --with-gdktarget=[[x11/linux-fb/win32/quartz/directfb]] select non-default GDK target],
+AC_ARG_WITH(gdktarget, [  --with-gdktarget=[[x11/win32/quartz/directfb]] select non-default GDK target],
        gdktarget=$with_gdktarget)
 
 AC_SUBST(gdktarget)
 case $gdktarget in
-  x11|linux-fb|win32|quartz|directfb) ;;
-  *) AC_MSG_ERROR([Invalid target for GDK: use x11, linux-fb, quartz, directfb or win32.]);;
+  x11|win32|quartz|directfb) ;;
+  *) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz, directfb or win32.]);;
 esac
 
 gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
@@ -235,19 +262,9 @@ gtktargetlib=libgtk-$gdktarget-$GTK_API_VERSION.la
 AC_SUBST(gdktargetlib)
 AC_SUBST(gtktargetlib)
 
-AC_ARG_ENABLE(shadowfb,
-              [AC_HELP_STRING([--disable-shadowfb],
-                              [disable shadowfb support for linux-fb])],,
-              [enable_shadowfb=yes])
-
-AC_ARG_ENABLE(fbmanager,
-              [AC_HELP_STRING([--enable-fbmanager],
-                              [enable framebuffer manager support (GtkFB)])],,
-              enable_fbmanager=no)
-       
 if test "x$enable_debug" = "xyes"; then
   test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
-  GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
+  GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG -DG_ERRORCHECK_MUTEXES" 
 else
   if test "x$enable_debug" = "xno"; then
     GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
@@ -256,12 +273,14 @@ else
   fi
 fi
 
+
 if test "x$enable_visibility" = "xno"; then
   GTK_DEBUG_FLAGS="$GTK_DEBUG_FLAGS -DDISABLE_VISIBILITY"
 fi
 
 
-AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}")
+AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}",
+                   [Define if debugging is enabled])
 
                        
 # Build time sanity check...
@@ -400,6 +419,7 @@ fi
 AC_SUBST(REBUILD)
 
 AC_CHECK_FUNCS(lstat mkstemp flockfile getc_unlocked)
+AC_CHECK_FUNCS(localtime_r)
 
 # _NL_TIME_FIRST_WEEKDAY is an enum and not a define
 AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
@@ -457,7 +477,8 @@ sigsetjmp(env, 0);
 ], gtk_ok=yes, gtk_ok=no)
 AC_MSG_RESULT($gtk_ok)
 if test "$gtk_ok" = "yes"; then
-  AC_DEFINE(HAVE_SIGSETJMP)
+  AC_DEFINE(HAVE_SIGSETJMP, 1,
+            [Define to 1 if sigsetjmp is available])
 fi
 
 # i18n stuff
@@ -466,7 +487,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 ang ar az az_IR be bg bn bn_IN br bs ca cs cy da de dz 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"
+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"
 AM_GLIB_GNU_GETTEXT
 LIBS="$LIBS $INTLLIBS"
 AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
@@ -564,36 +585,29 @@ LIBS="$LIBS $GLIB_LIBS"
 AC_CHECK_FUNCS(bind_textdomain_codeset)
 LIBS=$gtk_save_LIBS
 
-AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
-AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
-AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
-
-if test "${with_wintab+set}" = set && test $with_wintab != no; then
-  AC_MSG_CHECKING([for wintab.h])
-  saved_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -I$with_wintab/include"
-  AC_TRY_COMPILE([#include <windows.h>
-#include <wintab.h>], 
-   [],
-   [AC_MSG_RESULT(yes)
-    AC_MSG_CHECKING([for wntab32x.lib])
-    if test -f $with_wintab/lib/i386/wntab32x.lib ; then
-      AC_MSG_RESULT(yes)
-      have_wintab=yes
-      AC_DEFINE(HAVE_WINTAB)
-      WINTAB_LIB="$with_wintab/lib/i386/wntab32x.lib"
-      AC_SUBST(WINTAB_LIB)
-    else
-      AC_MSG_RESULT(no)
-      CFLAGS="$saved_cflags"
-      have_wintab=no
-    fi
-    ],
-   [AC_MSG_RESULT(no)
-    CFLAGS="$saved_cflags"
-    have_wintab=no])
+AC_CHECK_HEADERS(pwd.h,
+                 AC_DEFINE(HAVE_PWD_H, 1,
+                           [Define to 1 if pwd.h is available]))
+AC_CHECK_HEADERS(sys/time.h,
+                 AC_DEFINE(HAVE_SYS_TIME_H, 1,
+                           [Define to 1 if time.h is available]))
+AC_CHECK_HEADERS(unistd.h,
+                 AC_DEFINE(HAVE_UNISTD_H, 1,
+                           [Define to 1 if unistd.h is available]))
+AC_CHECK_HEADERS(ftw.h,
+                 AC_DEFINE(HAVE_FTW_H, 1,
+                           [Define to 1 if ftw.h is available]))
+
+AC_MSG_CHECKING([for GNU ftw extensions])
+AC_TRY_COMPILE([#define _XOPEN_SOURCE 500
+#define _GNU_SOURCE
+#include <ftw.h>], [int flags = FTW_ACTIONRETVAL;], gtk_ok=yes, gtk_ok=no)
+if test $gtk_ok = yes; then
+    AC_MSG_RESULT([yes])
+    AC_DEFINE(HAVE_GNU_FTW, 1, [Have GNU ftw])
+else
+    AC_MSG_RESULT([no])
 fi
-AM_CONDITIONAL(HAVE_WINTAB, test x$have_wintab = xyes)
 
 saved_cflags="$CFLAGS"
 saved_ldflags="$LDFLAGS"
@@ -622,10 +636,12 @@ if test $gtk_ok = yes; then
 else
     AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes)
     if test $gtk_ok = yes; then
-        AC_DEFINE(HAVE_SYS_SELECT_H)
+        AC_DEFINE(HAVE_SYS_SELECT_H, 1,
+                  [Define to 1 if sys/select.h is available])
         AC_MSG_RESULT([yes, found in sys/select.h])
     else
-       AC_DEFINE(NO_FD_SET)
+       AC_DEFINE(NO_FD_SET, 1,
+                  [Define to 1 if fd_set is not available])
        AC_MSG_RESULT(no)
     fi
 fi
@@ -634,7 +650,7 @@ fi
 AC_MSG_CHECKING(for wchar.h)
 AC_TRY_CPP([#include <wchar.h>], gdk_wchar_h=yes, gdk_wchar_h=no)
 if test $gdk_wchar_h = yes; then
-   AC_DEFINE(HAVE_WCHAR_H,1,[Have wchar.h include file])
+   AC_DEFINE(HAVE_WCHAR_H, 1, [Have wchar.h include file])
 fi
 AC_MSG_RESULT($gdk_wchar_h)
 
@@ -642,7 +658,7 @@ AC_MSG_RESULT($gdk_wchar_h)
 AC_MSG_CHECKING(for wctype.h)
 AC_TRY_CPP([#include <wctype.h>], gdk_wctype_h=yes, gdk_wctype_h=no)
 if test $gdk_wctype_h = yes; then
-   AC_DEFINE(HAVE_WCTYPE_H,1,[Have wctype.h include file])
+   AC_DEFINE(HAVE_WCTYPE_H, 1, [Have wctype.h include file])
 fi
 AC_MSG_RESULT($gdk_wctype_h)
 
@@ -671,7 +687,7 @@ iswalnum((wchar_t) 0);
 LIBS="$oLIBS"
 
 if test $gdk_working_wctype = no; then
-   AC_DEFINE(HAVE_BROKEN_WCTYPE,1,[Is the wctype implementation broken])
+   AC_DEFINE(HAVE_BROKEN_WCTYPE, 1, [Is the wctype implementation broken])
    GDK_WLIBS=
 fi
 AC_MSG_RESULT($gdk_working_wctype)
@@ -681,7 +697,7 @@ AC_SUBST(GDK_WLIBS)
 AC_MSG_CHECKING(for uxtheme.h)
 AC_TRY_CPP([#include <uxtheme.h>], gtk_uxtheme_h=yes, gtk_uxtheme_h=no)
 if test $gtk_uxtheme_h = yes; then
-   AC_DEFINE(HAVE_UXTHEME_H,1,[Have uxtheme.h include file])
+   AC_DEFINE(HAVE_UXTHEME_H, 1, [Have uxtheme.h include file])
 fi
 AC_MSG_RESULT($gtk_uxtheme_h)
 
@@ -704,7 +720,8 @@ case $host in
 esac
 
 if $use_la_modules ; then
-   AC_DEFINE(USE_LA_MODULES, 1, [Whether to load modules via .la files rather than directly])
+   AC_DEFINE(USE_LA_MODULES, 1,
+             [Whether to load modules via .la files rather than directly])
 fi
 
 
@@ -742,7 +759,8 @@ else
     fi
 
     if $dynworks; then
-        AC_DEFINE(USE_GMODULE)
+        AC_DEFINE(USE_GMODULE, 1,
+                  [Define to 1 if gmodule works and should be used])
         AC_MSG_RESULT(yes)
     else
         AC_MSG_RESULT(no)
@@ -761,10 +779,20 @@ AC_ARG_WITH(libjpeg,
 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_ARG_ENABLE(gdiplus,
+            [AC_HELP_STRING([--disable-gdiplus-loaders],
+                            [disable GDI+ loaders for gdk-pixbuf])])
+
+AM_CONDITIONAL(BUILD_GDIPLUS_LOADERS, [ test x$os_win32 = xyes && test x$enable_gdiplus != xno ])
 
 dnl Test for libtiff
+if test x$os_win32 = xno || test x$enable_gdiplus = xno; then
   if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
-    AC_CHECK_LIB(tiff, TIFFReadScanline,
+    AC_CHECK_LIB(tiff, TIFFReadRGBAImageOriented,
       [AC_CHECK_HEADER(tiffio.h,
         TIFF='tiff'; LIBTIFF='-ltiff',
         AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
@@ -785,8 +813,10 @@ dnl Test for libtiff
 *** --without-libtiff to configure but some programs using GTK+ may
 *** not work properly])
   fi
+fi
 
 dnl Test for libjpeg
+if test x$os_win32 = xno || test x$enable_gdiplus = xno; then
   if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
     AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
       jpeg_ok=yes,
@@ -806,7 +836,8 @@ dnl Test for libjpeg
       if test "$jpeg_ok" = yes; then
         LIBJPEG='-ljpeg'
         AC_CHECK_LIB(jpeg, jpeg_simple_progression,     
-          AC_DEFINE(HAVE_PROGRESSIVE_JPEG),
+          AC_DEFINE(HAVE_PROGRESSIVE_JPEG, 1,
+                    [Define to 1 is libjpeg supports progressive JPEG]),
           AC_MSG_WARN(JPEG library does not support progressive saving.))
       else
           AC_MSG_WARN(*** JPEG loader will not be built (JPEG header file not found) ***)
@@ -820,6 +851,7 @@ dnl Test for libjpeg
 *** --without-libjpeg to configure but some programs using GTK+ may
 *** not work properly])
   fi
+fi
 
 dnl Test for libpng
   if test x$with_libpng != xno && test -z "$LIBPNG"; then
@@ -862,9 +894,21 @@ dnl Test for libpng
 *** from CVS.])
   fi
 
+dnl Test for libjasper
+  if test x$with_libjasper != xno && test -z "$LIBJASPER"; then
+    AC_CHECK_LIB(jasper, jas_init, LIBJASPER=-ljasper, [])
+  fi
+
+  if test x$with_libjasper != xno && test -z "$LIBJASPER"; then
+     AC_MSG_ERROR([
+*** Checks for JPEG2000 loader failed. You can build without it by passing 
+*** --without-libjasper to configure])
+  fi
+
 AC_SUBST(LIBTIFF)
 AC_SUBST(LIBJPEG)
 AC_SUBST(LIBPNG)
+AC_SUBST(LIBJASPER)
 
 AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks)
 
@@ -890,7 +934,23 @@ else
    fi
 fi
 
-all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,xbm,tga,pcx"
+# Use the traditional png loader instead of the GDI+ one on Windows,
+# because some important apps like GIMP need to read and write
+# arbitrary tEXt chunks which doesn't seem to be possible through GDI+
+
+all_loaders="ani,icns,pcx,ras,tga,png,pnm,wbmp,xbm,xpm"
+if test x$with_libjasper != xno; then
+  all_loaders="$all_loaders,jasper"
+fi
+if test x$os_win32 = xyes && test x$enable_gdiplus != xno; then
+  # Skip PNG, see comment above
+  gdip_formats="bmp emf gif ico jpeg tiff wmf"
+  for f in $gdip_formats; do
+    all_loaders="$all_loaders,gdip-$f"
+  done
+else
+  all_loaders="$all_loaders,bmp,gif,ico,jpeg,tiff"
+fi
 included_loaders=""
 # If no loaders specified, include all
 if test "x$with_included_loaders" = xyes ; then
@@ -912,10 +972,23 @@ for loader in $included_loaders; do
    AC_MSG_ERROR([the specified loader $loader does not exist])
  fi
 
+ loader_underscores=`echo $loader | sed -e 's/-/_/g'`
  INCLUDED_LOADER_OBJ="$INCLUDED_LOADER_OBJ libstatic-pixbufloader-$loader.la"
- INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_$loader"
- eval INCLUDE_$loader=yes
+
+ # Don't bother defining separate -DINCLUDE_gdip_foo for each gdip-foo loader
+ case $loader in
+   gdip-*) ;;
+   *) INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_$loader_underscores";;
+ esac
+ eval INCLUDE_$loader_underscores=yes
 done
+
+# Just define one -DINCLUDE_gdiplus for all the gdip-foo loaders
+# (except gdip-png, which isn't built at all)
+if test x"$INCLUDE_gdip_ico" = xyes; then
+  INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_gdiplus"
+fi
+
 IFS="$gtk_save_ifs"
 AC_SUBST(INCLUDED_LOADER_OBJ)
 AC_SUBST(INCLUDED_LOADER_DEFINE)
@@ -934,6 +1007,86 @@ AM_CONDITIONAL(INCLUDE_XPM, [test x"$INCLUDE_xpm" = xyes])
 AM_CONDITIONAL(INCLUDE_XBM, [test x"$INCLUDE_xbm" = xyes])
 AM_CONDITIONAL(INCLUDE_TGA, [test x"$INCLUDE_tga" = xyes])
 AM_CONDITIONAL(INCLUDE_PCX, [test x"$INCLUDE_pcx" = xyes])
+AM_CONDITIONAL(INCLUDE_ICNS, [test x"$INCLUDE_icns" = xyes])
+AM_CONDITIONAL(INCLUDE_JASPER, [test x"$INCLUDE_jasper" = xyes])
+# As all GDI+ loaders are either built-in or not, arbitrarily just
+# check one of the variables here
+AM_CONDITIONAL(INCLUDE_GDIPLUS, [test x"$INCLUDE_gdip_ico" = xyes])
+
+#
+# Allow building some or all immodules included
+#
+AC_MSG_CHECKING(immodules to build)
+
+dnl due to an autoconf bug, commas in the first arg to
+dnl AC_HELP_STRING cause problems.
+dnl AC_HELP_STRING([--with-included-immodules=MODULE1 MODULE2 ...],
+dnl                [build the specified input method modules into gtk])
+AC_ARG_WITH(included_immodules,
+[  --with-included-immodules=MODULE1,MODULE2,...
+                          build the specified input methods into gtk])
+
+if $dynworks; then 
+   :
+else
+   ## if the option was specified, leave it; otherwise disable included immodules
+   if test x$with_included_immodules = xno; then
+           with_included_immodules=yes
+   fi
+fi
+
+all_immodules="am-et,cedilla,cyrillic-translit"
+if test "$gdktarget" = "win32"; then
+   all_immodules="${all_immodules},ime"
+fi
+all_immodules="${all_immodules},inuktitut,ipa,multipress,thai,ti-er,ti-et,viqr"
+if test "$gdktarget" = "x11"; then
+   all_immodules="${all_immodules},xim"
+fi
+
+included_immodules=""
+# If the switch specified without listing any specific ones, include all
+if test "x$with_included_immodules" = xyes ; then
+  included_immodules="$all_immodules"
+else
+  included_immodules="$with_included_immodules"
+fi
+
+AC_MSG_RESULT($included_immodules)
+AM_CONDITIONAL(HAVE_INCLUDED_IMMMODULES, test "x$included_immodules" != x)
+
+INCLUDED_IMMODULE_OBJ=
+INCLUDED_IMMODULE_DEFINE=
+
+IFS="${IFS=    }"; gtk_save_ifs="$IFS"; IFS=","
+for immodule in $included_immodules; do
+ immodule_underscores=`echo $immodule | sed -e 's/-/_/g'`
+ if echo "$all_immodules" | egrep "(^|,)$immodule(\$|,)" > /dev/null; then
+   :
+ else
+   AC_MSG_ERROR([the specified input method $immodule does not exist])
+ fi
+
+ INCLUDED_IMMODULE_OBJ="$INCLUDED_IMMODULE_OBJ ../modules/input/libstatic-im-$immodule.la"
+ INCLUDED_IMMODULE_DEFINE="$INCLUDED_IMMODULE_DEFINE -DINCLUDE_IM_$immodule_underscores"
+ eval INCLUDE_$immodule_underscores=yes
+done
+IFS="$gtk_save_ifs"
+AC_SUBST(INCLUDED_IMMODULE_OBJ)
+AC_SUBST(INCLUDED_IMMODULE_DEFINE)
+
+AM_CONDITIONAL(INCLUDE_IM_AM_ET, [test x"$INCLUDE_am_et" = xyes])
+AM_CONDITIONAL(INCLUDE_IM_CEDILLA, [test x"$INCLUDE_cedilla" = xyes])
+AM_CONDITIONAL(INCLUDE_IM_CYRILLIC_TRANSLIT, [test x"$INCLUDE_cyrillic_translit" = xyes])
+AM_CONDITIONAL(INCLUDE_IM_IME, [test x"$INCLUDE_ime" = xyes])
+AM_CONDITIONAL(INCLUDE_IM_INUKTITUT, [test x"$INCLUDE_inuktitut" = xyes])
+AM_CONDITIONAL(INCLUDE_IM_IPA, [test x"$INCLUDE_ipa" = xyes])
+AM_CONDITIONAL(INCLUDE_IM_MULTIPRESS, [test x"$INCLUDE_multipress" = xyes])
+AM_CONDITIONAL(INCLUDE_IM_THAI, [test x"$INCLUDE_thai" = xyes])
+AM_CONDITIONAL(INCLUDE_IM_TI_ER, [test x"$INCLUDE_ti_er" = xyes])
+AM_CONDITIONAL(INCLUDE_IM_TI_ET, [test x"$INCLUDE_ti_et" = xyes])
+AM_CONDITIONAL(INCLUDE_IM_VIQR, [test x"$INCLUDE_viqr" = xyes])
+AM_CONDITIONAL(INCLUDE_IM_XIM, [test x"$INCLUDE_xim" = xyes])
 
 AC_HEADER_SYS_WAIT
 
@@ -942,6 +1095,7 @@ AC_TYPE_SIGNAL
 AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)
 AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
 AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)
+AM_CONDITIONAL(HAVE_JASPER, test "x$LIBJASPER" != x)
 
 if $dynworks ; then
   STATIC_LIB_DEPS=
@@ -958,6 +1112,38 @@ else
   STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
 fi
 
+# Checks to see whether we should include mediaLib
+# support.
+#
+AC_CHECK_HEADER(sys/systeminfo.h,
+                AC_DEFINE(HAVE_SYS_SYSTEMINFO_H, 1, 
+                          [Define to 1 if sys/systeminfo.h is available]))
+AC_CHECK_HEADER(sys/sysinfo.h,
+                AC_DEFINE(HAVE_SYS_SYSINFO_H, 1,
+                          [Define to 1 if sys/sysinfo.h is available]))
+
+AC_MSG_CHECKING(for mediaLib 2.3)
+use_mlib25=no
+# Check for a mediaLib 2.3 function since that is what the GTK+ mediaLib
+# patch requires.
+AC_CHECK_LIB(mlib, mlib_ImageSetStruct, use_mlib=yes, use_mlib=no)
+if test $use_mlib = yes; then
+    AC_DEFINE(USE_MEDIALIB, 1,
+              [Define to 1 if medialib is available and should be used])
+    MEDIA_LIB=-lmlib
+
+    AC_MSG_CHECKING(for mediaLib 2.5)
+    # Check for a mediaLib 2.5 function since that is what is needed for
+    # gdk_rgb_convert integration.
+    AC_CHECK_LIB(mlib, mlib_VideoColorRGBint_to_BGRAint, use_mlib25=yes, use_mlib25=no)
+    if test $use_mlib25 = yes; then
+        AC_DEFINE(USE_MEDIALIB25, 1,
+                  [Define to 1 if medialib 2.5 is available])
+    fi
+fi
+AM_CONDITIONAL(USE_MEDIALIB, test $use_mlib = yes)
+AM_CONDITIONAL(USE_MEDIALIB25, test $use_mlib25 = yes)
+
 # Checks to see if we should compile in MMX support (there will be
 # a runtime test when the code is actually run to see if it should
 # be used - this just checks if we can compile it.)
@@ -989,7 +1175,8 @@ if test $use_x86_asm = yes; then
 
     ac_ext=$save_ac_ext
     if test $use_mmx_asm = yes; then
-      AC_DEFINE(USE_MMX)
+      AC_DEFINE(USE_MMX, 1,
+                [Define to 1 if XXM is available and should be used])
       AC_MSG_RESULT(yes)
     else
       AC_MSG_RESULT(no)
@@ -999,7 +1186,7 @@ fi
 AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
 
 REBUILD_PNGS=
-if test -z "$LIBPNG"; then
+if test -z "$LIBPNG" && test x"$os_win32" = xno -o x$enable_gdiplus = xno; then
   REBUILD_PNGS=#
 fi
 
@@ -1025,19 +1212,12 @@ fi
 
 AC_SUBST(REBUILD_PNGS)
 
-GDK_PIXBUF_PACKAGES="gmodule-no-export-2.0 gobject-2.0"
-GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB"
+GDK_PIXBUF_PACKAGES="gmodule-no-export-2.0 gobject-2.0 gio-2.0"
+GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB $MEDIA_LIB"
 GDK_PIXBUF_EXTRA_CFLAGS= 
 GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
 GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
 
-AC_SUBST(GDK_PIXBUF_PACKAGES)
-AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
-AC_SUBST(GDK_PIXBUF_EXTRA_CFLAGS)
-AC_SUBST(GDK_PIXBUF_DEP_LIBS)
-AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
-
-
 ########################################
 # Windowing system checks
 ########################################
@@ -1130,7 +1310,7 @@ if test "x$gdktarget" = "xx11"; then
            [xReply *rep;],
            [AC_MSG_RESULT([yes])
             AC_DEFINE([NEED_XIPROTO_H_FOR_XREPLY], 1,
-                [Define if <X11/extensions/XIproto.h> needed for xReply])],
+                      [Define if <X11/extensions/XIproto.h> needed for xReply])],
            [AC_MSG_RESULT([unknown])
             AC_MSG_ERROR([xReply type unavailable. X11 is too old])])])
 
@@ -1148,7 +1328,7 @@ if test "x$gdktarget" = "xx11"; then
       have_x11r6=true)
 
   if $have_x11r6; then
-    AC_DEFINE(HAVE_X11R6,1,[Define if we have X11R6])
+    AC_DEFINE(HAVE_X11R6, 1, [Define if we have X11R6])
   fi
   AM_CONDITIONAL(HAVE_X11R6, $have_x11r6)
 
@@ -1156,10 +1336,10 @@ if test "x$gdktarget" = "xx11"; then
 
   if test "x$enable_xkb" = "xyes"; then
         AC_MSG_WARN(XKB support explicitly enabled)
-        AC_DEFINE(HAVE_XKB)
+        AC_DEFINE(HAVE_XKB, 1, [Define to use XKB extension])
   elif test "x$enable_xkb" = "xmaybe"; then
         AC_CHECK_FUNC(XkbQueryExtension,
-                      AC_DEFINE(HAVE_XKB))
+                      AC_DEFINE(HAVE_XKB, 1, [Define to use XKB extension]))
   else
         AC_MSG_WARN(XKB support explicitly disabled)
   fi
@@ -1167,7 +1347,8 @@ if test "x$gdktarget" = "xx11"; then
   # Check for shaped window extension
 
   AC_CHECK_FUNC(XShapeCombineMask,
-      AC_DEFINE(HAVE_SHAPE_EXT))
+      AC_DEFINE(HAVE_SHAPE_EXT, 1,
+                [Define to 1 if the XShape extension is available]))
 
   # X SYNC check
   gtk_save_CFLAGS="$CFLAGS"
@@ -1175,7 +1356,7 @@ if test "x$gdktarget" = "xx11"; then
   
   AC_CHECK_FUNC(XSyncQueryExtension,
       [AC_CHECK_HEADER(X11/extensions/sync.h,
-         AC_DEFINE(HAVE_XSYNC, 1, Have the SYNC extension library),
+         AC_DEFINE(HAVE_XSYNC, 1, [Have the SYNC extension library]),
          :, [#include <X11/Xlib.h>])])
 
   CFLAGS="$gtk_save_CFLAGS"
@@ -1193,8 +1374,14 @@ if test "x$gdktarget" = "xx11"; then
 
   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)
-    AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
+    AC_CHECK_HEADER(sys/ipc.h,
+                    AC_DEFINE(HAVE_IPC_H, 1,
+                              [Define to 1 if ipc.h is available]),
+                    no_sys_ipc=yes)
+    AC_CHECK_HEADER(sys/shm.h,
+                    AC_DEFINE(HAVE_SHM_H, 1,
+                              [Define to 1 if shm.h is available]),
+                    no_sys_shm=yes)
 
     # Check for the X shared memory extension header file
     have_xshm=no 
@@ -1217,16 +1404,17 @@ if test "x$gdktarget" = "xx11"; then
     fi
     AC_MSG_RESULT($have_xshm)
     if test $have_xshm = yes ; then
-      AC_DEFINE(HAVE_XSHM_H)
+      AC_DEFINE(HAVE_XSHM_H, 1,
+                [Define to 1 if xshm.h is available])
     fi
   fi
 
-  # Check for Xinerama extension (Solaris impl or Xfree impl)
-
-  gtk_save_cppflags="$CPPFLAGS"
-  CPPFLAGS="$CPPFLAGS $x_cflags"
+  if test "x$enable_xinerama" = "xyes"; then
+    # Check for Xinerama extension (Solaris impl or Xfree impl)
+    gtk_save_cppflags="$CPPFLAGS"
+    CPPFLAGS="$CPPFLAGS $x_cflags"
   
-  case "$host" in
+    case "$host" in
       *-*-solaris*)
           # Check for solaris
          AC_MSG_CHECKING(for Xinerama support on Solaris)
@@ -1238,8 +1426,10 @@ if test "x$gdktarget" = "xx11"; then
                  [#include <X11/Xlib.h>])])
                
           if $have_solaris_xinerama ; then
-            AC_DEFINE(HAVE_SOLARIS_XINERAMA)
-           AC_DEFINE(HAVE_XINERAMA) 
+            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)
@@ -1262,19 +1452,23 @@ if test "x$gdktarget" = "xx11"; then
           fi
 
           if $have_xfree_xinerama ; then
-            AC_DEFINE(HAVE_XFREE_XINERAMA)
-           AC_DEFINE(HAVE_XINERAMA) 
+            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
-
+    esac
+  fi
+  
   # set up things for XInput
 
   if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
-    AC_DEFINE(XINPUT_XFREE)
+    AC_DEFINE(XINPUT_XFREE, 1,
+              [Define to 1 if XFree XInput should be used])
     
     if $PKG_CONFIG --exists xi ; then
       X_PACKAGES="$X_PACKAGES xi"
@@ -1282,35 +1476,23 @@ if test "x$gdktarget" = "xx11"; then
       GTK_ADD_LIB(x_extra_libs, Xi)
     fi
   else
-    AC_DEFINE(XINPUT_NONE)
+    AC_DEFINE(XINPUT_NONE, 1,
+              [Define to 1 if no XInput should be used])
   fi
 
   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
+     AC_DEFINE(HAVE_RANDR, 1, [Have the Xrandr extension library])
 
-  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)
+     X_PACKAGES="$X_PACKAGES xrandr"
   fi
        
   # Checks for Xcursor library
   
   if $PKG_CONFIG --exists xcursor ; then
-    AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
+    AC_DEFINE(HAVE_XCURSOR, 1, [Have the Xcursor library])
     
     X_PACKAGES="$X_PACKAGES xcursor"
   fi
@@ -1318,9 +1500,28 @@ if test "x$gdktarget" = "xx11"; then
   # Checks for XFixes extension
   
   if $PKG_CONFIG --exists xfixes ; then
-    AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
+    AC_DEFINE(HAVE_XFIXES, 1, [Have the XFIXES X extension])
     
     X_PACKAGES="$X_PACKAGES xfixes"
+    GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xfixes"
+  fi
+
+  # Checks for Xcomposite extension
+
+  if $PKG_CONFIG --exists xcomposite ; then
+    AC_DEFINE(HAVE_XCOMPOSITE, 1, [Have the XCOMPOSITE X extension])
+
+    X_PACKAGES="$X_PACKAGES xcomposite"
+    GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xcomposite"
+  fi
+
+  # Checks for Xdamage extension
+
+  if $PKG_CONFIG --exists xdamage ; then
+    AC_DEFINE(HAVE_XDAMAGE, 1, [Have the XDAMAGE X extension])
+
+    X_PACKAGES="$X_PACKAGES xdamage"
+    GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xdamage"
   fi
 
   if $have_base_x_pc ; then
@@ -1340,14 +1541,7 @@ else
 fi
 
 if test "x$gdktarget" = "xwin32"; then
-  # We start off with the libraries from Pango
-
-  if test x$have_wintab = xyes; then
-    GDK_WIN32_EXTRA_CFLAGS="-I $with_wintab/include"
-    AC_SUBST(GDK_WIN32_EXTRA_CFLAGS)
-  fi
-
-  GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -user32 -limm32 -lshell32 -lole32 -Wl,-luuid"
+  GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid"
   AM_CONDITIONAL(USE_WIN32, true)
 else
   AM_CONDITIONAL(USE_WIN32, false)
@@ -1369,24 +1563,6 @@ AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_CFLAGS)
 AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
 AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
 
-if test "x$gdktarget" = "xlinux-fb"; then
-  if test x$enable_shadowfb = xyes ; then
-    AC_DEFINE(ENABLE_SHADOW_FB)
-  fi
-
-  if test x$enable_fbmanager = xyes ; then
-    AC_DEFINE(ENABLE_FB_MANAGER)
-    AM_CONDITIONAL(ENABLE_FB_MANAGER, true)
-  else
-    AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
-  fi
-  
-  AM_CONDITIONAL(USE_LINUX_FB, true)
-else
-  AM_CONDITIONAL(USE_LINUX_FB, false)
-  AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
-fi
-
 if test "x$gdktarget" = "xdirectfb"; then
   DIRECTFB_REQUIRED_VERSION=0.9.24
   AC_MSG_CHECKING(for DirectFB)
@@ -1446,7 +1622,7 @@ fi
 CFLAGS="$saved_cflags"
 LDFLAGS="$saved_ldflags"
 
-GDK_PACKAGES="$PANGO_PACKAGES"
+GDK_PACKAGES="$PANGO_PACKAGES gio-2.0"
 if test "x$gdktarget" = "xx11"; then
   GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES"
 fi
@@ -1498,7 +1674,7 @@ else
         LIBS="$gtk_save_LIBS"
 fi
 
-GTK_PACKAGES="atk cairo"
+GTK_PACKAGES="atk cairo gio-2.0"
 GTK_EXTRA_LIBS=
 GTK_EXTRA_CFLAGS= 
 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"
@@ -1508,40 +1684,119 @@ if test x"$os_win32" = xyes; then
   GTK_EXTRA_CFLAGS="$msnative_struct"
 fi
 
+GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
+ATK_PREFIX="`$PKG_CONFIG --variable=prefix atk`"
+PANGO_PREFIX="`$PKG_CONFIG --variable=prefix pango`"
+CAIRO_PREFIX="`pkg-config --variable=prefix cairo`"
+
+if test $enable_explicit_deps != yes ; then
+  GDK_PIXBUF_EXTRA_LIBS=
+fi
+
+AC_SUBST(GDK_PIXBUF_PACKAGES)
+AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
+AC_SUBST(GDK_PIXBUF_EXTRA_CFLAGS)
+AC_SUBST(GDK_PIXBUF_DEP_LIBS)
+AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
+
 AC_SUBST(GTK_PACKAGES)
 AC_SUBST(GTK_EXTRA_LIBS)
 AC_SUBST(GTK_EXTRA_CFLAGS)
 AC_SUBST(GTK_DEP_LIBS)
 AC_SUBST(GTK_DEP_CFLAGS)
 
+AC_SUBST(GLIB_PREFIX)
+AC_SUBST(ATK_PREFIX)
+AC_SUBST(PANGO_PREFIX)
+AC_SUBST(CAIRO_PREFIX)
 
 AC_SUBST(GTK_DEBUG_FLAGS)
 AC_SUBST(GTK_XIM_FLAGS)
 
+########################
+# Checks needed for gail
+########################
+
+old_LIBS="$LIBS"
+dnl Checks for inet libraries:
+AC_SEARCH_LIBS(gethostent, nsl)
+AC_SEARCH_LIBS(setsockopt, socket)
+AC_SEARCH_LIBS(connect, inet)
+
+dnl check for the sockaddr_un.sun_len member
+AC_CHECK_MEMBER([struct sockaddr_un.sun_len],
+               [struct_sockaddr_un_sun_len=true],
+               [struct_sockaddr_un_suin_len=false],
+               [#include <sys/types.h>
+                #include <sys/un.h>]
+               )
+case $struct_sockaddr_un_sun_len in 
+       true)
+               AC_DEFINE_UNQUOTED(HAVE_SOCKADDR_UN_SUN_LEN, 1,
+                                  [Have the sockaddr_un.sun_len member])
+               ;;
+       *)
+               ;;
+esac
+
+GAIL_INET_LIBS="$LIBS"
+AC_SUBST([GAIL_INET_LIBS])
+
+LIBS="$old_LIBS"
+
 ################################################################
 # 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`
+AC_ARG_ENABLE(cups,
+              [AC_HELP_STRING([--disable-cups]
+                              [disable cups print backend])],,
+              [enable_cups=auto])
+
+if test "x$enable_cups" = "xauto"
+then
+  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 $ECHO_N $CUPS_API_VERSION | awk -F. '{print $1}'`
+    CUPS_API_MINOR=`echo $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, 1, 
+                [Define to 1 if CUPS 1.2 API is available])
+    fi
 
-  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}'`
+    AC_SUBST(CUPS_API_MAJOR)
+    AC_SUBST(CUPS_API_MINOR)
+    AC_SUBST(CUPS_CFLAGS)
+    AC_SUBST(CUPS_LIBS)
 
-  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)
+    AC_CHECK_HEADER(cups/cups.h,,AC_MSG_ERROR([[*** Sorry, cups-config present but cups/cups.h missing.]]))
   fi
+  AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
+
+  gtk_save_cflags="$CFLAGS"
+  CFLAGS="$CUPS_CFLAGS"
+  AC_TRY_COMPILE([#include <cups/http.h>],
+                 [http_t http; char *s = http.authstring;],
+                 [AC_DEFINE(HAVE_HTTP_AUTHSTRING, [],
+                            [Define if cups http_t authstring field is accessible])],)
+  CFLAGS="$gtk_save_cflags"
 
-  AC_SUBST(CUPS_API_MAJOR)
-  AC_SUBST(CUPS_API_MINOR)
-  AC_SUBST(CUPS_CFLAGS)
-  AC_SUBST(CUPS_LIBS)
+  AC_SUBST(HAVE_HTTP_AUTHSTRING)
+
+  gtk_save_libs="$LIBS"
+  LIBS="$CUPS_LIBS"
+  AC_CHECK_FUNCS(httpGetAuthString)
+  LIBS="$gtk_save_libs"
+
+else
+  AM_CONDITIONAL(HAVE_CUPS, false)
 fi
-AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
 
 gtk_save_cppflags="$CPPFLAGS"
 CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS"
@@ -1559,6 +1814,13 @@ fi
 CPPFLAGS="$gtk_save_cppflags"
      
                                
+AC_ARG_ENABLE(test-print-backend,
+              [AC_HELP_STRING([--enable-test-print-backend],
+                              [build test print backend])],,
+              [enable_test_print_backend=no])
+AM_CONDITIONAL(TEST_PRINT_BACKEND, test "x$enable_test_print_backend" != "xno")
+
+
 ################################################################
 # Strip -export-dynamic from the link lines of various libraries
 ################################################################
@@ -1586,7 +1848,7 @@ fi
 # Checks for gtk-doc and docbook-tools
 ##################################################
 
-GTK_DOC_CHECK([1.4])
+GTK_DOC_CHECK([1.8])
 
 AC_CHECK_PROG(DB2HTML, db2html, true, false)
 AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
@@ -1664,10 +1926,6 @@ if test "x$gdktarget" = "xx11" ; then
 elif test "x$gdktarget" = "xwin32" ; then
   gdk_windowing='
 #define GDK_WINDOWING_WIN32'
-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'
@@ -1700,9 +1958,11 @@ gdk-pixbuf-2.0.pc
 gdk-2.0.pc
 gtk+-2.0.pc
 gtk+-unix-print-2.0.pc
+gail.pc
 gdk-pixbuf-2.0-uninstalled.pc
 gdk-2.0-uninstalled.pc
 gtk+-2.0-uninstalled.pc
+gail-uninstalled.pc
 m4macros/Makefile
 po/Makefile.in
 po-properties/Makefile.in
@@ -1718,6 +1978,7 @@ docs/reference/gdk/Makefile
 docs/reference/gdk/version.xml
 docs/reference/gtk/Makefile
 docs/reference/gtk/version.xml
+docs/reference/libgail-util/Makefile
 docs/faq/Makefile
 docs/tools/Makefile
 docs/tutorial/Makefile
@@ -1730,7 +1991,6 @@ gdk/x11/Makefile
 gdk/win32/Makefile
 gdk/win32/rc/Makefile
 gdk/win32/rc/gdk.rc
-gdk/linux-fb/Makefile
 gdk/quartz/Makefile
 gdk/directfb/Makefile
 gtk/Makefile
@@ -1738,18 +1998,24 @@ gtk/makefile.msc
 gtk/gtkversion.h
 gtk/gtk-win32.rc
 gtk/theme-bits/Makefile
+gtk/tests/Makefile
 gtk/xdgmime/Makefile
 modules/Makefile
-modules/input/Makefile
+modules/other/Makefile
+modules/other/gail/Makefile
+modules/other/gail/libgail-util/Makefile
+modules/other/gail/tests/Makefile
 modules/engines/Makefile
 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/input/Makefile
 modules/printbackends/Makefile
 modules/printbackends/cups/Makefile
 modules/printbackends/lpr/Makefile
 modules/printbackends/file/Makefile
+modules/printbackends/test/Makefile
 perf/Makefile
 contrib/Makefile
 contrib/gdk-pixbuf-xlib/Makefile
@@ -1760,9 +2026,3 @@ AC_OUTPUT
 
 echo "configuration:
         target: $gdktarget"
-
-if test "x$gdktarget" = "xlinux-fb"; then
-  echo "Warning: The linux-fb GDK target is unmaintained"
-  echo "         and may not work or even compile"
-fi
-