]> Pileus Git - ~andy/gtk/blobdiff - configure.in
Version 1.3.11, interface, binary age 0.
[~andy/gtk] / configure.in
index 58e8015e74f21e51744deebd9aefcffccc4786ec..143260f506f01d752956b832adb4c88129c62948 100644 (file)
@@ -22,7 +22,7 @@ cflags_set=${CFLAGS+set}
 
 dnl we to AC_DIVERT_PUSH/AC_DIVERT_POP these variable definitions so they
 dnl are available for $ac_help expansion (don't we all *love* autoconf?)
-AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
+GLIB_AC_DIVERT_BEFORE_HELP([
 #
 # Making releases:
 #   GTK_MICRO_VERSION += 1;
@@ -34,12 +34,12 @@ AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
 #
 GTK_MAJOR_VERSION=1
 GTK_MINOR_VERSION=3
-GTK_MICRO_VERSION=5
+GTK_MICRO_VERSION=11
 GTK_INTERFACE_AGE=0
 GTK_BINARY_AGE=0
 GTK_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$GTK_MICRO_VERSION
 dnl
-AC_DIVERT_POP()dnl
+])dnl
 
 AC_SUBST(GTK_MAJOR_VERSION)
 AC_SUBST(GTK_MINOR_VERSION)
@@ -53,24 +53,37 @@ LT_RELEASE=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION
 LT_CURRENT=`expr $GTK_MICRO_VERSION - $GTK_INTERFACE_AGE`
 LT_REVISION=$GTK_INTERFACE_AGE
 LT_AGE=`expr $GTK_BINARY_AGE - $GTK_INTERFACE_AGE`
+LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
 AC_SUBST(LT_RELEASE)
 AC_SUBST(LT_CURRENT)
 AC_SUBST(LT_REVISION)
 AC_SUBST(LT_AGE)
+AC_SUBST(LT_CURRENT_MINUS_AGE)
+
+# Define a string for the earliest version that this release has
+# binary compatibility with. This is used for module locations.
+#
+GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT
+AC_SUBST(GTK_BINARY_VERSION)
 
 #
 # gdk-pixbuf gets versioned separately, and for now, using standard
 # libtool versioning, not GTK+-style versioning
 #
-GDK_PIXBUF_MAJOR=0
-GDK_PIXBUF_MINOR=8
-GDK_PIXBUF_MICRO=0
+GDK_PIXBUF_MAJOR=$GTK_MAJOR_VERSION
+GDK_PIXBUF_MINOR=$GTK_MINOR_VERSION
+GDK_PIXBUF_MICRO=$GTK_MICRO_VERSION
 GDK_PIXBUF_VERSION="${GDK_PIXBUF_MAJOR}.${GDK_PIXBUF_MINOR}.${GDK_PIXBUF_MICRO}"
 AC_SUBST(GDK_PIXBUF_MAJOR)
 AC_SUBST(GDK_PIXBUF_MINOR)
 AC_SUBST(GDK_PIXBUF_MICRO)
 AC_SUBST(GDK_PIXBUF_VERSION)
 
+## Versions of dependencies
+GLIB_REQUIRED_VERSION=1.3.10
+PANGO_REQUIRED_VERSION=0.20
+ATK_REQUIRED_VERSION=0.5
+
 # For automake.
 VERSION=$GTK_VERSION
 PACKAGE=gtk+
@@ -89,22 +102,59 @@ AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
 AM_CONFIG_HEADER(config.h)
 
 dnl Initialize libtool
+AC_PROG_CC
+AC_LIBTOOL_WIN32_DLL
 AM_PROG_LIBTOOL
 
+dnl Set AS and ASFLAGS so that automake 1.5 will be happy
+AS="\${CC}"
+ASFLAGS="\${CFLAGS}"
+AC_SUBST(AS)
+AC_SUBST(ASFLAGS)
+
 dnl Initialize maintainer mode
 AM_MAINTAINER_MODE
 
 AC_CANONICAL_HOST
 
+AC_MSG_CHECKING([for some Win32 platform])
+case "$host" in
+  *-*-mingw*|*-*-cygwin*)
+    platform_win32=yes
+    ;;
+  *)
+    platform_win32=no
+    ;;
+esac
+AC_MSG_RESULT([$platform_win32])
+AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
+
+AC_MSG_CHECKING([for native Win32])
+case "$host" in
+  *-*-mingw*)
+    os_win32=yes
+    ;;
+  *)
+    os_win32=no
+    ;;
+esac
+AC_MSG_RESULT([$os_win32])
+AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
+
+if test "$os_win32" = "yes"; then
+  AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
+fi
+AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
+
 dnl figure debugging default, prior to $ac_help setup
 dnl
-AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
+GLIB_AC_DIVERT_BEFORE_HELP([
 if test `expr $GTK_MINOR_VERSION \% 2` = 1 ; then
         debug_default=yes
 else
         debug_default=minimum
 fi
-AC_DIVERT_POP()dnl
+])dnl
 
 dnl declare --enable-* args and collect ac_help strings
 AC_ARG_ENABLE(debug, [  --enable-debug=[no/minimum/yes] turn on debugging [default=$debug_default]],,enable_debug=$debug_default)
@@ -122,19 +172,35 @@ AC_ARG_ENABLE(rebuilds, [  --disable-rebuilds      disable all source autogenera
 
 AC_ARG_WITH(xinput, [  --with-xinput=[no/gxi/xfree] support XInput ])
 
-gdktarget=x11
-gdktargetlib=libgdk-x11-1.3.la
-gtktargetlib=libgtk-x11-1.3.la
-AC_ARG_WITH(gdktarget, [  --with-gdktarget=[x11/nanox/linux-fb] select GDK target [default=x11] ],
+AC_ARG_WITH(wintab, [  --with-wintab=DIRECTORY use Wintab API with win32 backend])
+AC_ARG_WITH(ie55, [  --with-ie55=DIRECTORY IE5.5 libs and headers (for Active IMM)])
+
+GLIB_AC_DIVERT_BEFORE_HELP([
+if test "$platform_win32" = yes; then
+  gdktarget=win32
+else
+  gdktarget=x11
+fi
+])
+
+AC_ARG_WITH(gdktarget, [  --with-gdktarget=[[x11/linux-fb/win32]] select GDK target [default=$gdktarget]],
        gdktarget=$with_gdktarget)
 
 AC_SUBST(gdktarget)
 case $gdktarget in
-  x11|nanox|linux-fb) ;;
-  *) AC_MSG_ERROR([Invalid target for GDK: use x11, nanox or linux-fb.]);;
+  x11|linux-fb|win32) ;;
+  *) AC_MSG_ERROR([Invalid target for GDK: use x11, linux-fb or win32.]);;
 esac
 
+gdktargetlib=libgdk-$gdktarget-1.3.la
+gtktargetlib=libgtk-$gdktarget-1.3.la
+
+AC_SUBST(gdktargetlib)
+AC_SUBST(gtktargetlib)
+
 AC_ARG_ENABLE(shadowfb, [  --disable-shadowfb      disable shadowfb support for linux-fb],,enable_shadowfb=yes)
+
+AC_ARG_ENABLE(fbmanager, [  --enable-fbmanager      enable framebuffer manager support (GtkFB)],enable_fbmanager=yes,enable_fbmanager=no)
        
 if test "x$enable_debug" = "xyes"; then
   test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
@@ -154,7 +220,6 @@ AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}")
 AM_SANITY_CHECK
 
 # Checks for programs.
-AC_PROG_CC
 AC_ISC_POSIX
 AM_PROG_CC_STDC
 AC_PROG_INSTALL
@@ -178,15 +243,35 @@ if test "x$GCC" = "xyes"; then
     *) CFLAGS="$CFLAGS -pedantic" ;;
     esac
   fi
+
+  if test "$os_win32" = "yes"; then
+    case "$CC $CFLAGS " in
+    *[[\ \     ]]-fnative-struct[[\ \  ]]*) ;;
+    *) CFLAGS="$CFLAGS -fnative-struct" ;;
+    esac
+  fi
 fi
 changequote([,])dnl
 
 # Honor aclocal flags
 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
 
-# libtool option to control which symbols are exported
-# right now, symbols starting with _ are not exported
-LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
+## Initial sanity check, done here so that users get told they 
+## have the wrong dependencies as early in the process as possible.
+## Later on we actually use the cflags/libs from separate pkg-config
+## calls. Oh, also the later pkg-config calls don't include 
+## the version requirements since those make the module lists 
+## annoying to construct
+PKG_CHECK_MODULES(BASE_DEPENDENCIES, glib-2.0 >= $GLIB_REQUIRED_VERSION atk >= $ATK_REQUIRED_VERSION pango >= $PANGO_REQUIRED_VERSION)
+
+if test "$os_win32" != yes; then
+    # libtool option to control which symbols are exported
+    # right now, symbols starting with _ are not exported
+    LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
+else
+    # We currently use .def files on Windows (for gdk-pixbuf, gdk and gtk)
+    LIBTOOL_EXPORT_OPTIONS=
+fi
 AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
 
 # define a MAINT-like variable REBUILD which is set if Perl
@@ -207,7 +292,18 @@ if test "x$enable_rebuilds" = "xyes" && \
 fi
 AC_SUBST(REBUILD)
 
-AC_CHECK_FUNCS(lstat mkstemp sigsetjmp bind_textdomain_codeset)
+AC_CHECK_FUNCS(lstat mkstemp bind_textdomain_codeset)
+
+# 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>], [
+sigjmp_buf env;
+sigsetjmp(env, 0);
+], gtk_ok=yes, gtk_ok=no)
+AC_MSG_RESULT($gtk_ok)
+if test "$gtk_ok" = "yes"; then
+  AC_DEFINE(HAVE_SIGSETJMP)
+fi
 
 AC_MSG_CHECKING(whether make is GNU Make)
 STRIP_BEGIN=
@@ -287,7 +383,6 @@ AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
 # 
 
 GLIB_PACKAGES="gobject-2.0 gmodule-2.0"
-GLIB_REQUIRED_VERSION=1.3.4
 
 AM_PATH_GLIB_2_0($GLIB_REQUIRED_VERSION, :,
   AC_MSG_ERROR([
@@ -299,6 +394,71 @@ AC_CHECK_HEADERS(dirent.h, AC_DEFINE(HAVE_DIRENT_H))
 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))
+AC_CHECK_HEADERS(winsock.h, AC_DEFINE(HAVE_WINSOCK_H))
+
+if test "${with_ie55+set}" = set && test $with_ie55 != no; then
+  AC_MSG_CHECKING([for dimm.h])
+  saved_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -idirafter $with_ie55/Include"
+  AC_TRY_COMPILE([#include <windows.h>
+#include <objbase.h>
+#ifdef __GNUC__
+/* The w32api imm.h clashes a bit with the IE5.5 dimm.h */
+#define IMEMENUITEMINFOA hidden_IMEMENUITEMINFOA
+#define IMEMENUITEMINFOW hidden_IMEMENUITEMINFOW
+#include <imm.h>
+#undef IMEMENUITEMINFOA
+#undef IMEMENUITEMINFOW
+#endif
+#include <dimm.h>
+],
+   [],
+   [AC_MSG_RESULT(yes)
+    AC_MSG_CHECKING([for IE55 uuid.lib])
+    if test -f $with_ie55/Lib/uuid.lib ; then
+      AC_MSG_RESULT(yes)
+      have_ie55=yes
+      AC_DEFINE(HAVE_DIMM_H)
+      IE55_UUID_LIB="$with_ie55/Lib/uuid.lib"
+      AC_SUBST(IE55_UUID_LIB)
+    else
+      AC_MSG_RESULT(no)
+      CFLAGS="$saved_CFLAGS"
+      have_ie55=no
+    fi
+    ],
+   [AC_MSG_RESULT(no)
+    CFLAGS="$saved_CFLAGS"
+    have_ie55=no])
+fi
+AM_CONDITIONAL(HAVE_IE55, test x$have_ie55 = xyes)
+
+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])
+fi
+AM_CONDITIONAL(HAVE_WINTAB, test x$have_wintab = xyes)
 
 saved_cflags="$CFLAGS"
 saved_ldflags="$LDFLAGS"
@@ -404,23 +564,11 @@ if test x$with_modules = xno; then
 else
     AC_MSG_RESULT(yes)
     AC_MSG_CHECKING(whether dynamic modules work)
-    oLIBS="$LIBS"
-    oCFLAGS="$CFLAGS"
-    CFLAGS="$GLIB_CFLAGS"
-    LIBS="$GLIB_LIBS"
-    AC_TRY_RUN([
-    #include <glib.h>
-    #include <gmodule.h>
-    main ()
-    {
-       if (g_module_supported ())
-           exit (0);
-       else
-           exit (1);
-    }
-    ], dynworks=true)
-    LIBS="$oLIBS"
-    CFLAGS="$oCFLAGS"
+    ## for loop is to strip newline 
+    tmp=`pkg-config --variable=gmodule_supported gmodule-2.0`
+    for I in $tmp; do
+        dynworks=$I
+    done
 fi
 
 dnl Now we check to see if our libtool supports shared lib deps
@@ -447,18 +595,18 @@ fi
 dnl Test for libtiff
   if test -z "$LIBTIFF"; then
     AC_CHECK_LIB(tiff, TIFFReadScanline,
-      AC_CHECK_HEADER(tiffio.h,
+      [AC_CHECK_HEADER(tiffio.h,
         TIFF='tiff'; LIBTIFF='-ltiff',
-        AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***)),
-      AC_CHECK_LIB(tiff, TIFFWriteScanline,
-        AC_CHECK_HEADER(tiffio.h,
+        AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
+      [AC_CHECK_LIB(tiff, TIFFWriteScanline,
+        [AC_CHECK_HEADER(tiffio.h,
           TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
-          AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***)),
-        AC_CHECK_LIB(tiff34, TIFFFlushData,
-          AC_CHECK_HEADER(tiffio.h,
+          AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
+        [AC_CHECK_LIB(tiff34, TIFFFlushData,
+          [AC_CHECK_HEADER(tiffio.h,
             TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
-            AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***)),
-        AC_MSG_WARN(*** TIFF plug-in will not be built (TIFF library not found) ***), -ljpeg -lz -lm), -ljpeg -lz -lm), -lm)
+            AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
+        AC_MSG_WARN(*** TIFF plug-in will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
   fi
 
 dnl Test for libjpeg
@@ -473,6 +621,7 @@ dnl Test for libjpeg
 [#include <stdio.h>
 #undef PACKAGE
 #undef VERSION
+#undef HAVE_STDLIB_H
 #include <jpeglib.h>],
         jpeg_ok=yes,
         jpeg_ok=no)
@@ -491,9 +640,9 @@ dnl Test for libjpeg
 dnl Test for libpng
   if test -z "$LIBPNG"; then
     AC_CHECK_LIB(png, png_read_info,
-      AC_CHECK_HEADER(png.h,
+      [AC_CHECK_HEADER(png.h,
         png_ok=yes,
-        png_ok=no),
+        png_ok=no)],
       AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
     if test "$png_ok" = yes; then
       AC_MSG_CHECKING([for png_structp in png.h])
@@ -525,7 +674,16 @@ AC_MSG_CHECKING(pixbuf loaders to build)
 
 AC_ARG_WITH(included_loaders, [  --with-included-loaders=LOADER1,LOADER2,... Build the specified loaders into gdk-pixbuf (only used if module loading disabled)])
 
-all_loaders="png,bmp,wbmp,gif,ico,jpeg,pnm,ras,tiff,xpm"
+if $dynworks; then 
+        :
+else
+   ## if the option was specified, leave it; otherwise disable included loaders
+   if test x$with_included_loaders = xno; then
+           with_included_loaders=yes
+   fi
+fi
+
+all_loaders="png,bmp,wbmp,gif,ico,jpeg,pnm,ras,tiff,xpm,tga"
 included_loaders=""
 # If no loaders specified, include all
 if test "x$with_included_loaders" = xyes ; then
@@ -622,8 +780,8 @@ AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
 GDK_PIXBUF_PACKAGES="gmodule-2.0 gobject-2.0"
 GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_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 $GDK_PIXBUF_PACKAGES` $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 $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
 
 AC_SUBST(GDK_PIXBUF_PACKAGES)
 AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
@@ -651,16 +809,27 @@ if test "x$gdktarget" = "xx11"; then
     PANGO_PACKAGES="pangox"
     have_xft=false
   fi
+
   AM_CONDITIONAL(HAVE_XFT, $have_xft)
 
   x_libs="`$PKG_CONFIG --libs $PANGO_PACKAGES`"
   x_cflags="`$PKG_CONFIG --cflags $PANGO_PACKAGES`"
   x_extra_libs=
 
+  ## 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)
+            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)
@@ -674,9 +843,8 @@ if test "x$gdktarget" = "xx11"; then
                x_extra_libs="-lXextSam -lXext"
             else
                x_extra_libs="-lXextSam"
-            fi
-            no_xext_lib=yes, $x_libs),
-        $x_libs)
+            fi, , $x_libs_for_checks),
+        $x_libs_for_checks)
   fi
 
   GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
@@ -691,21 +859,21 @@ if test "x$gdktarget" = "xx11"; then
       fi
       AC_DEFINE(HAVE_SHAPE_EXT),
       ,
-      $x_libs)
+      $x_libs_for_checks)
 
   # Check for XConvertCase (X11R6 specific)
 
   AC_CHECK_LIB(X11, XConvertCase,
       AC_DEFINE(HAVE_XCONVERTCASE),
       ,
-      $x_libs)
+      $x_libs_for_checks)
 
   # Check for XIM support.
 
   AC_CHECK_LIB(X11, XUnregisterIMInstantiateCallback,
            : ,
            enable_xim_inst="no",
-           $x_libs)
+           $x_libs_for_checks)
 
   # On Solaris, calling XRegisterIMInstantiateCallback seems to
   # cause an immediate segfault, so we disable it, unless
@@ -738,7 +906,7 @@ if test "x$gdktarget" = "xx11"; then
         AC_CHECK_LIB(X11, XkbQueryExtension,
                      AC_DEFINE(HAVE_XKB),
                     ,
-                    $x_libs)
+                    $x_libs_for_checks)
   else
         AC_MSG_WARN(XKB support explicitly disabled)
   fi
@@ -768,38 +936,60 @@ if test "x$gdktarget" = "xx11"; then
     AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
 
     # Check for the X shared memory extension header file
+    have_xshm=no 
     AC_MSG_CHECKING(X11/extensions/XShm.h)
     if test "x$no_xext_lib" = "xyes"; then
-      AC_MSG_RESULT(no)
-      no_xshm=yes
+      :
     else
-      if test -f "$x_includes/X11/extensions/XShm.h"; then
-        AC_MSG_RESULT(yes)
-        AC_DEFINE(HAVE_XSHM_H)
-      else
-        AC_MSG_RESULT(no)
-        no_xshm=yes
-      fi
+      gtk_save_CFLAGS="$CFLAGS"
+      CFLAGS="$CFLAGS $x_cflags"
+      AC_TRY_COMPILE([
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/ipc.h>
+#include <sys/shm.h>
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <X11/extensions/XShm.h>
+], [XShmSegmentInfo *x_shm_info;], have_xshm=yes)
+      CFLAGS="$gtk_save_CFLAGS"
+    fi
+    AC_MSG_RESULT($have_xshm)
+    if test $have_xshm = yes ; then
+      AC_DEFINE(HAVE_XSHM_H)
     fi
   fi
 
   GDK_EXTRA_CFLAGS=
   GDK_EXTRA_LIBS="$x_extra_libs"
 
-  # these are already defined above
-  #gdktargetlib = "libgdk-x11-1.3.la"
-  #gtktargetlib = "libgtk-x11-1.3.la"
-
   AM_CONDITIONAL(USE_X11, true)
 else
   AM_CONDITIONAL(USE_X11, false)
 fi
 
+if test "x$gdktarget" = "xwin32"; then
+  # We start off with the libraries from Pango
+
+  ## be sure we also have Pango built with win32 support
+  PANGO_PACKAGES="pangowin32"
+
+  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 -luuid"
+  AM_CONDITIONAL(USE_WIN32, true)
+else
+  AM_CONDITIONAL(USE_WIN32, false)
+fi
+
 AC_SUBST(xinput_progs)
 
 GDK_PIXBUF_XLIB_PACKAGES=
-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  $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_PIXBUF_XLIB_EXTRA_CFLAGS"
+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  $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_PIXBUF_XLIB_EXTRA_CFLAGS"
 
 AC_SUBST(GDK_PIXBUF_XLIB_PACKAGES)
 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_LIBS)
@@ -807,23 +997,7 @@ 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" = "xnanox"; then
-  AC_CHECK_LIB(nano-X, GrOpen,,AC_MSG_ERROR([nano-X libraries not found.]))
-  # nano-X may require additional libraries
-  GDK_EXTRA_LIBS="-lnano-X $GDK_EXTRA_LIBS"
-
-  gdktargetlib="libgdk-nanox-1.3.la"
-  gtktargetlib="libgtk-nanox-1.3.la"
-
-  AM_CONDITIONAL(USE_NANOX, true)
-else
-  AM_CONDITIONAL(USE_NANOX, false)
-fi
-
 if test "x$gdktarget" = "xlinux-fb"; then
-  gdktargetlib="libgdk-linux-fb-1.3.la"
-  gtktargetlib="libgtk-linux-fb-1.3.la"
-
   AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
   if test x$FREETYPE_CONFIG = xno ; then
     AC_MSG_ERROR([*** freetype-config not found])
@@ -836,6 +1010,13 @@ 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
   
   GDK_EXTRA_CFLAGS="$FREETYPE_CFLAGS"
   GDK_EXTRA_LIBS="$FREETYPE_LIBS $GDK_EXTRA_LIBS"
@@ -843,11 +1024,9 @@ if test "x$gdktarget" = "xlinux-fb"; then
   AM_CONDITIONAL(USE_LINUX_FB, true)
 else
   AM_CONDITIONAL(USE_LINUX_FB, false)
+  AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
 fi
 
-AC_SUBST(gdktargetlib)
-AC_SUBST(gtktargetlib)
-
 #
 # Pick correct Pango packages to use
 #
@@ -858,6 +1037,8 @@ if test "x$gdktarget" = "xx11"; then
         else
             PANGO_PACKAGES=pangox
         fi
+elif test "x$gdktarget" = "xwin32"; then
+        PANGO_PACKAGES=pangowin32
 elif test "x$gdktarget" = "xlinux-fb"; then
         PANGO_PACKAGES=pangoft2
 else
@@ -883,16 +1064,20 @@ fi
 
 CFLAGS="$CFLAGS $PANGO_CFLAGS"
 
-AC_CHECK_LIB(pango, pango_context_new, :, AC_MSG_ERROR([
+if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
+        :
+else
+        AC_CHECK_LIB(pango, pango_context_new, :, AC_MSG_ERROR([
 *** Can't link to Pango. Pango is required to build
 *** GTK+. For more information see http://www.pango.org]), $PANGO_LIBS)
+fi
 
 CFLAGS="$saved_cflags"
 LDFLAGS="$saved_ldflags"
 
 GDK_PACKAGES=$PANGO_PACKAGES
-GDK_DEP_LIBS="$GDK_EXTRA_LIBS `pkg-config --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
-GDK_DEP_CFLAGS="`pkg-config --cflags $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
+GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
+GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
 
 AC_SUBST(GDK_PACKAGES)
 AC_SUBST(GDK_EXTRA_LIBS)
@@ -919,16 +1104,19 @@ else
 ])
 fi
 
-AC_CHECK_LIB(atk, atk_object_get_type, : , AC_MSG_ERROR([
-*** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
-*** to build GTK+]), $ATK_LIBS $GLIB_LIBS)
-
+if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
+        :
+else
+        AC_CHECK_LIB(atk, atk_object_get_type, : , AC_MSG_ERROR([
+                *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
+                *** to build GTK+]), $ATK_LIBS $GLIB_LIBS)
+fi
 
 GTK_PACKAGES=atk
 GTK_EXTRA_LIBS=
 GTK_EXTRA_CFLAGS= 
-GTK_DEP_LIBS="$GDK_EXTRA_LIBS `pkg-config --libs $GTK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
-GTK_DEP_CFLAGS="`pkg-config --cflags  $GTK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
+GTK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GTK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
+GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags  $GTK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
 
 AC_SUBST(GTK_PACKAGES)
 AC_SUBST(GTK_EXTRA_LIBS)
@@ -944,7 +1132,7 @@ AC_SUBST(GTK_XIM_FLAGS)
 # Checks for gtk-doc and docbook-tools
 ##################################################
 
-AC_ARG_WITH(html-dir, [  --with-html-dir=PATH path to installed docs ])
+AC_ARG_WITH(html-dir, [  --with-html-dir=PATH    path to installed docs ])
 
 if test "x$with_html_dir" = "x" ; then
   HTML_DIR='${datadir}/gtk-doc/html'
@@ -975,7 +1163,7 @@ AC_CHECK_PROG(DB2HTML, db2html, true, false)
 AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
 
 dnl Let people disable the gtk-doc stuff.
-AC_ARG_ENABLE(gtk-doc, [  --enable-gtk-doc  Use gtk-doc to build documentation [default=auto]], enable_gtk_doc="$enableval", enable_gtk_doc=auto)
+AC_ARG_ENABLE(gtk-doc, [  --enable-gtk-doc        Use gtk-doc to build documentation [default=auto]], enable_gtk_doc="$enableval", enable_gtk_doc=auto)
 
 if test x$enable_gtk_doc = xauto ; then
   if test x$GTKDOC = xtrue ; then
@@ -1055,9 +1243,9 @@ esac
 if test "x$gdktarget" = "xx11" ; then
   gdk_windowing='
 #define GDK_WINDOWING_X11'
-elif test "x$gdktarget" = "xnanox" ; then
+elif test "x$gdktarget" = "xwin32" ; then
   gdk_windowing='
-#define GDK_WINDOWING_NANOX'
+#define GDK_WINDOWING_WIN32'
 elif test "x$gdktarget" = "xlinux-fb" ; then
   gdk_windowing='
 #define GDK_WINDOWING_FB
@@ -1085,15 +1273,20 @@ AM_CONDITIONAL(HAVE_SGML2HTML, ! test x$SGML2HTML = xno)
 
 AC_OUTPUT([
 config.h.win32
+gtk-zip.sh
 gtk+.spec
-docs/gtk-config.1
 Makefile
 gdk-pixbuf-2.0.pc
 gdk-2.0.pc
 gtk+-2.0.pc
+gdk-pixbuf-2.0-uninstalled.pc
+gdk-2.0-uninstalled.pc
+gtk+-2.0-uninstalled.pc
+m4macros/Makefile
 po/Makefile.in
 build/Makefile
 build/win32/Makefile
+build/win32/dirent/Makefile
 demos/Makefile
 demos/gtk-demo/Makefile
 tests/Makefile
@@ -1116,12 +1309,11 @@ gdk/win32/Makefile
 gdk/win32/makefile.mingw
 gdk/win32/rc/Makefile
 gdk/win32/rc/gdk.rc
-gdk/nanox/Makefile
 gdk/linux-fb/Makefile
 gtk/Makefile
 gtk/makefile.mingw
 gtk/makefile.msc
-gtk/gtkcompat.h
+gtk/gtkversion.h
 gtk/gtk-win32.rc
 gtk/stock-icons/Makefile
 modules/Makefile