[kdbus] KDBUS_ITEM_PAYLOAD_OFF items are (once again) relative to msg header
[platform/upstream/glib.git] / configure.ac
index fca43a1..5bccf55 100644 (file)
@@ -30,7 +30,7 @@ m4_define(glib_configure_ac)
 # <mclasen> on the unstable (ie master), interface age = 0
 
 m4_define([glib_major_version], [2])
-m4_define([glib_minor_version], [33])
+m4_define([glib_minor_version], [43])
 m4_define([glib_micro_version], [1])
 m4_define([glib_interface_age], [0])
 m4_define([glib_binary_age],
@@ -56,14 +56,14 @@ m4_define([glib_debug_default],
 AC_INIT(glib, [glib_version],
         [http://bugzilla.gnome.org/enter_bug.cgi?product=glib])
 
-AC_CONFIG_HEADER([config.h])
+AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_SRCDIR([glib/glib.h])
 AC_CONFIG_MACRO_DIR([m4macros])
 
 # Save this value here, since automake will set cflags later
-cflags_set=${CFLAGS+set}
+cflags_set=${CFLAGS:+set}
 
-AM_INIT_AUTOMAKE([1.11 no-define no-dist-gzip dist-xz tar-ustar])
+AM_INIT_AUTOMAKE([1.11 -Wno-portability no-define no-dist-gzip dist-xz tar-ustar])
 AM_MAINTAINER_MODE([enable])
 
 # Support silent build rules. Disable
@@ -111,22 +111,12 @@ AC_SUBST(LT_CURRENT_MINUS_AGE)
 dnl Checks for programs.
 AC_PROG_CC
 AC_PROG_CPP
+AC_USE_SYSTEM_EXTENSIONS
 
 AM_CONDITIONAL(HAVE_GCC, [test "$GCC" = "yes"])
 
 AC_CANONICAL_HOST
 
-AC_MSG_CHECKING([for the BeOS])
-case $host in
-  *-*-beos*)
-    glib_native_beos="yes"
-    ;;
-  *)
-    glib_native_beos="no"
-    ;;
-esac
-AC_MSG_RESULT([$glib_native_beos])
-
 dnl
 
 AC_MSG_CHECKING([for Win32])
@@ -150,6 +140,8 @@ case "$host" in
       LIB_EXE_MACHINE_FLAG=X64
       ;;
     esac
+
+    AC_DEFINE([_WIN32_WINNT], [0x0501], [Target the Windows XP API])
     ;;
   *)
     glib_native_win32=no
@@ -164,6 +156,17 @@ esac
 
 AC_MSG_RESULT([$glib_native_win32])
 
+AC_MSG_CHECKING([for the Android])
+case $host in
+  *android*)
+    glib_native_android="yes"
+    ;;
+  *)
+    glib_native_android="no"
+    ;;
+esac
+AC_MSG_RESULT([$glib_native_android])
+
 AC_SUBST(LIB_EXE_MACHINE_FLAG)
 
 glib_have_carbon=no
@@ -193,7 +196,7 @@ AM_CONDITIONAL(OS_LINUX, [test "$glib_os_linux" = "yes"])
 AM_CONDITIONAL(OS_CARBON, [test "$glib_have_carbon" = "yes"])
 AM_CONDITIONAL(OS_COCOA, [test "$glib_have_cocoa" = "yes"])
 
-if test "$glib_native_win32" = "yes"; then
+AS_IF([test "$glib_native_win32" = "yes"], [
   AC_CHECK_TOOL(WINDRES, windres, no)
   if test "$WINDRES" = no; then
     AC_MSG_ERROR([*** Could not find an implementation of windres in your PATH.])
@@ -203,79 +206,77 @@ if test "$glib_native_win32" = "yes"; then
     AC_MSG_ERROR([*** Could not find an implementation of nm in your PATH.])
   fi
   AC_CHECK_TOOL(RANLIB, ranlib, :)
+  AC_CHECK_TOOL(DLLTOOL, dlltool, :)
   AC_CHECK_PROG(ms_librarian, [lib.exe], [yes], [no])
-fi
+])
 AM_CONDITIONAL(MS_LIB_AVAILABLE, [test x$ms_librarian = xyes])
 
-if test "$glib_native_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 "^g.*"'
-else
-    # We currently use .def files on Windows
-    LIBTOOL_EXPORT_OPTIONS=
-fi
-AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
-
-if test "x$glib_have_carbon" = "xyes"; then
+AS_IF([test "x$glib_have_carbon" = "xyes"], [
   AC_DEFINE(HAVE_CARBON, 1, [define to 1 if Carbon is available])
-  LDFLAGS="$LDFLAGS -framework Carbon"
-fi
+  CARBON_LIBS="-Wl,-framework,Carbon"
+  LDFLAGS="$LDFLAGS $CARBON_LIBS"
+], [CARBON_LIBS=""])
+
+AC_SUBST([CARBON_LIBS])
 
-if test "x$glib_have_cocoa" = "xyes"; then
+AS_IF([test "x$glib_have_cocoa" = "xyes"], [
   AC_DEFINE(HAVE_COCOA, 1, [define to 1 if Cocoa is available])
-  LDFLAGS="$LDFLAGS -framework Foundation"
-fi
+  COCOA_LIBS="-Wl,-framework,Foundation"
+  LDFLAGS="$LDFLAGS $COCOA_LIBS"
+], [COCOA_LIBS=""])
 
-gl_GLIBC21
-if test "x$GLIBC21" = "xyes"; then
-  AC_DEFINE([_GNU_SOURCE], 1, [Make all glibc extensions visible])
-fi
+AC_SUBST([COCOA_LIBS])
 
 dnl declare --enable-* args and collect ac_help strings
 AC_ARG_ENABLE(debug,
-              AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
+              AS_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
                              [turn on debugging @<:@default=glib_debug_default@:>@]),,
               enable_debug=glib_debug_default)
 
 AC_ARG_ENABLE(gc_friendly,
-              [AC_HELP_STRING([--enable-gc-friendly],
+              [AS_HELP_STRING([--enable-gc-friendly],
                               [turn on garbage collector friendliness [default=no]])],,
               [enable_gc_friendly=no])
 AC_ARG_ENABLE(mem_pools,
-              [AC_HELP_STRING([--disable-mem-pools],
+              [AS_HELP_STRING([--disable-mem-pools],
                              [disable all glib memory pools])],,
              [disable_mem_pools=no])
 AC_ARG_ENABLE(rebuilds,
-              [AC_HELP_STRING([--disable-rebuilds],
+              [AS_HELP_STRING([--disable-rebuilds],
                               [disable all source autogeneration rules])],,
               [enable_rebuilds=yes])
-AC_ARG_ENABLE(modular_tests,
-              AC_HELP_STRING([--disable-modular-tests],
-                             [Disable build of test programs (default: no)]),,
-              [enable_modular_tests=yes])
-AM_CONDITIONAL(BUILD_MODULAR_TESTS, test x$enable_modular_tests = xyes)
+AC_ARG_ENABLE(kdbus,
+              [AS_HELP_STRING([--enable-kdbus],
+                              [enable kdbus [default=no]])],,
+              [enable_kdbus=no])
+
+GLIB_TESTS
 
 AC_MSG_CHECKING([whether to enable garbage collector friendliness])
-if test "x$enable_gc_friendly" = "xyes"; then
+AS_IF([test "x$enable_gc_friendly" = "xyes"], [
   AC_DEFINE(ENABLE_GC_FRIENDLY_DEFAULT, 1, [Whether to enable GC friendliness by default])
   AC_MSG_RESULT([yes])
-else
-  AC_MSG_RESULT([no])
-fi
+], [ AC_MSG_RESULT([no]) ])
 
 AC_MSG_CHECKING([whether to disable memory pools])
-if test "x$disable_mem_pools" = "xno"; then
+AS_IF([test "x$disable_mem_pools" = "xno"], [
   AC_MSG_RESULT([no])
-else
+], [
   AC_DEFINE(DISABLE_MEM_POOLS, [1], [Whether to disable memory pools])
   AC_MSG_RESULT([yes])
-fi
+])
+
+AC_MSG_CHECKING([whether to enable kdbus])
+AM_CONDITIONAL(KDBUS_TRANSPORT, [test "x$enable_kdbus" = "xyes"])
+AS_IF([test "x$enable_kdbus" = "xyes"], [
+  AC_DEFINE(KDBUS_TRANSPORT, 1, [Whether to enable kdbus])
+  AC_MSG_RESULT([yes])
+], [ AC_MSG_RESULT([no]) ])
 
 dnl location to install runtime libraries, e.g. ../../lib to install
 dnl to /lib if libdir is /usr/lib
 AC_ARG_WITH(runtime-libdir,
-           [AC_HELP_STRING([--with-runtime-libdir=RELPATH],
+           [AS_HELP_STRING([--with-runtime-libdir=RELPATH],
                            [install runtime libraries relative to libdir])],
            [],
           [with_runtime_libdir=""])
@@ -293,7 +294,6 @@ AC_TRY_COMPILE(,[class a { int b; } c;], ,CXX=)
 AM_CONDITIONAL(HAVE_CXX, [test "$CXX" != ""])
 AC_LANG_RESTORE
 
-AM_PROG_CC_STDC
 AM_PROG_CC_C_O
 AC_PROG_INSTALL
 
@@ -302,7 +302,7 @@ AC_SYS_LARGEFILE
 PKG_PROG_PKG_CONFIG(0.16)
 
 if test "x$enable_debug" = "xyes"; then
-  if test x$cflags_set != xset ; then
+  if test "x$cflags_set" != "x" ; then
       case " $CFLAGS " in
       *[[\ \   ]]-g[[\ \       ]]*) ;;
       *) CFLAGS="$CFLAGS -g" ;;
@@ -381,7 +381,16 @@ if test "x$PERL_PATH" = x ; then
 fi
 AC_SUBST(PERL_PATH)
 
-# Need suitable python path for greport
+# option to specify python interpreter to use; this just sets $PYTHON, so that
+# we will fallback to reading $PYTHON if --with-python is not given, and
+# python.m4 will get the expected input
+AC_ARG_WITH(python,
+            AS_HELP_STRING([--with-python=PATH],
+                           [Path to Python interpreter; searches $PATH if only a program name is given; if not given, searches for a few standard names such as "python3" or "python2"]),
+            [PYTHON="$withval"], [])
+if test x"$PYTHON" = xyes; then
+  AC_MSG_ERROR([--with-python option requires a path or program argument])
+fi
 AM_PATH_PYTHON(2.5,,PYTHON="/usr/bin/env python2.5")
 
 
@@ -393,11 +402,11 @@ dnl We do this before the gettext checks, to avoid distortion
 
 dnl On Windows we use a native implementation
 
-if test x"$glib_native_win32" = xyes; then
+AS_IF([ test x"$glib_native_win32" = xyes], [
   with_libiconv=native
-else
+], [
   AC_ARG_WITH(libiconv,
-             [AC_HELP_STRING([--with-libiconv=@<:@no/gnu/native@:>@],
+             [AS_HELP_STRING([--with-libiconv=@<:@no/gnu/native@:>@],
                              [use the libiconv library])],,
              [with_libiconv=maybe])
 
@@ -429,34 +438,7 @@ else
   if test "x$found_iconv" = "xno" ; then
      AC_MSG_ERROR([*** No iconv() implementation found in C library or libiconv])
   fi
-fi
-
-AC_ARG_ENABLE(iconv-cache, 
-              [AC_HELP_STRING([--enable-iconv-cache=@<:@yes/no/auto@:>@],
-                              [cache iconv descriptors [default=auto]])],,
-              [enable_iconv_cache=auto])
-
-AC_MSG_CHECKING([whether to cache iconv descriptors])
-case $enable_iconv_cache in
-  auto)
-    if test $ac_cv_gnu_library_2_1 = yes; then
-      enable_iconv_cache=no
-    else 
-      enable_iconv_cache=yes
-    fi
-  ;;
-  yes|no) 
-  ;;
-  *) AC_MSG_ERROR([Value given to --enable-iconv-cache must be one of yes, no or auto])
-  ;;
-esac
-
-if test $enable_iconv_cache = yes; then
-   AC_DEFINE(NEED_ICONV_CACHE,1,[Do we cache iconv descriptors])
-fi
-
-AC_MSG_RESULT($enable_iconv_cache)
-
+])
 
 dnl
 dnl zlib support
@@ -503,14 +485,14 @@ dnl
 dnl Now we are done with gettext checks, figure out ICONV_LIBS
 dnl
 
-if test x"$glib_native_win32" != xyes; then
+AS_IF([test x"$glib_native_win32" != xyes], [
   if test x$with_libiconv != xno ; then
     case " $INTLLIBS " in
     *[[\ \     ]]-liconv[[\ \  ]]*) ;;
     *) ICONV_LIBS="-liconv" ;;
     esac
   fi
-fi
+])
 AC_SUBST(ICONV_LIBS)
 
 case $with_libiconv in
@@ -529,14 +511,7 @@ dnl when using libtool 2.x create libtool early, because it's used in configure
 m4_ifdef([LT_OUTPUT], [LT_OUTPUT])
 
 
-if test "x$GCC" = "xyes"; then
-  case " $CFLAGS " in
-  *[[\ \       ]]-Wall[[\ \    ]]*) ;;
-  *) CFLAGS="$CFLAGS -Wall" ;;
-  esac
-fi
-
-if test "$glib_native_win32" = "yes"; then
+AS_IF([test "$glib_native_win32" = "yes"], [
   if test x$enable_static = xyes -a x$enable_shared = xyes; then
     AC_MSG_ERROR([Can not build both shared and static at the same time on Windows.])
   fi
@@ -546,50 +521,24 @@ if test "$glib_native_win32" = "yes"; then
 #define GOBJECT_STATIC_COMPILATION 1"
     AC_SUBST(GLIB_WIN32_STATIC_COMPILATION_DEFINE)
   fi
-fi
+])
 AM_CONDITIONAL(OS_WIN32_AND_DLL_COMPILATION, [test x$glib_native_win32 = xyes -a x$glib_win32_static_compilation != xyes])
 
-dnl
-dnl DU4 native cc currently needs -std1 for ANSI mode (instead of K&R)
-dnl
-if test $cross_compiling != yes ; then
-    AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
-    glib_save_LIBS=$LIBS
-    LIBS="$LIBS -lm"
-    AC_TRY_RUN([#include <math.h>
-                int main (void) { return (log(1) != log(1.)); }],
-        AC_MSG_RESULT(none needed),
-        glib_save_CFLAGS=$CFLAGS
-        CFLAGS="$CFLAGS -std1"
-        AC_TRY_RUN([#include <math.h>
-                    int main (void) { return (log(1) != log(1.)); }],
-            AC_MSG_RESULT(-std1),
-            AC_MSG_RESULT()
-            CFLAGS=$glib_save_CFLAGS
-            AC_MSG_WARN(
-                   [No ANSI prototypes found in library. (-std1 didn't work.)])
-        )
-    )
-    LIBS=$glib_save_LIBS
-fi
-
-dnl NeXTStep cc seems to need this
-AC_MSG_CHECKING([for extra flags for POSIX compliance])
-AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
-  AC_MSG_RESULT(none needed),
-  glib_save_CFLAGS=$CFLAGS
-  CFLAGS="$CFLAGS -posix"
-  AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
-    AC_MSG_RESULT(-posix),
-    AC_MSG_RESULT()
-    CFLAGS=$glib_save_CFLAGS
-    AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
-
 # Checks for library functions.
-AC_FUNC_VPRINTF
 AC_FUNC_ALLOCA
-AC_CHECK_FUNCS(mmap posix_memalign memalign valloc fsync pipe2)
-AC_CHECK_FUNCS(atexit on_exit timegm gmtime_r)
+AC_CHECK_FUNCS(mmap posix_memalign memalign valloc fsync pipe2 issetugid)
+AC_CHECK_FUNCS(timegm gmtime_r)
+
+AC_CACHE_CHECK([for __libc_enable_secure], glib_cv_have_libc_enable_secure,
+  [AC_TRY_LINK([#include <unistd.h>
+    extern int __libc_enable_secure;],
+    [return __libc_enable_secure;],
+   glib_cv_have_libc_enable_secure=yes,
+   glib_cv_have_libc_enable_secure=no)])
+AS_IF([test x$glib_cv_have_libc_enable_secure = xyes], [
+   AC_DEFINE(HAVE_LIBC_ENABLE_SECURE, 1,
+     [Define if you have the __libc_enable_secure variable (GNU libc, eglibc)])
+])
 
 AC_CHECK_SIZEOF(char)
 AC_CHECK_SIZEOF(short)
@@ -620,7 +569,7 @@ else
 ])
 fi
 
-if test x$glib_native_win32 != xyes && test x$ac_cv_sizeof_long_long = x8; then
+AS_IF([test x$glib_native_win32 != xyes && test x$ac_cv_sizeof_long_long = x8], [
        # long long is a 64 bit integer.
        AC_MSG_CHECKING(for format to printf and scanf a guint64)
        AC_CACHE_VAL(glib_cv_long_long_format,[
@@ -639,16 +588,14 @@ if test x$glib_native_win32 != xyes && test x$ac_cv_sizeof_long_long = x8; then
                        break],
                        [],[:])
                done])
-       if test -n "$glib_cv_long_long_format"; then
+       AS_IF([ test -n "$glib_cv_long_long_format"], [
          AC_MSG_RESULT(%${glib_cv_long_long_format}u)
          AC_DEFINE(HAVE_LONG_LONG_FORMAT,1,[define if system printf can print long long])
          if test x"$glib_cv_long_long_format" = xI64; then
            AC_DEFINE(HAVE_INT64_AND_I64,1,[define to support printing 64-bit integers with format I64])
-         fi
-        else
-         AC_MSG_RESULT(none)
-        fi
-elif test x$ac_cv_sizeof___int64 = x8; then
+          fi
+       ], [AC_MSG_RESULT(none)])
+],[ test x$ac_cv_sizeof___int64 = x8], [
        # __int64 is a 64 bit integer.
        AC_MSG_CHECKING(for format to printf and scanf a guint64)
        # We know this is MSVCRT.DLL, and what the formats are
@@ -656,50 +603,22 @@ elif test x$ac_cv_sizeof___int64 = x8; then
        AC_MSG_RESULT(%${glib_cv_long_long_format}u)
         AC_DEFINE(HAVE_LONG_LONG_FORMAT,1,[define if system printf can print long long])
        AC_DEFINE(HAVE_INT64_AND_I64,1,[define to support printing 64-bit integers with format I64])
-fi
+])
 
 AC_C_CONST
 
-dnl ok, here we try to check whether the systems prototypes for
-dnl malloc and friends actually match the prototypes provided
-dnl by gmem.h (keep in sync). i currently only know how to check
-dnl this reliably with gcc (-Werror), improvements for other
-dnl compilers are apprechiated.
-SANE_MALLOC_PROTOS=no
-AC_MSG_CHECKING([if malloc() and friends prototypes are gmem.h compatible])
-glib_save_CFLAGS=$CFLAGS
-if test "x$GCC" = "xyes"; then
-  CFLAGS="$CFLAGS -Werror"
-  AC_TRY_COMPILE([#include <stdlib.h>], [
-    void* (*my_calloc_p)  (size_t, size_t) = calloc;
-    void* (*my_malloc_p)  (size_t)         = malloc;
-    void  (*my_free_p)    (void*)          = free;
-    void* (*my_realloc_p) (void*, size_t)  = realloc;
-    my_calloc_p = 0;
-    my_malloc_p = 0;
-    my_free_p = 0;
-    my_realloc_p = 0;
-  ],
-    AC_DEFINE(SANE_MALLOC_PROTOS, 1, 
-      [Define if you have correct malloc prototypes])
-    SANE_MALLOC_PROTOS=yes)
-fi
-AC_MSG_RESULT($SANE_MALLOC_PROTOS)
-CFLAGS=$glib_save_CFLAGS
-
 dnl
 dnl check in which direction the stack grows
 dnl
 AC_CACHE_CHECK([for growing stack pointer],glib_cv_stack_grows,[
         AC_TRY_RUN([
        volatile int *a = 0, *b = 0;
-       void foo (void);
-       int main () { volatile int y = 7; a = &y; foo (); return b > a; }
-       void foo (void) { volatile int x = 5; b = &x; }
+       void f (int i) { volatile int x = 5; if (i == 0) b = &x; else f (i - 1); }
+       int main () { volatile int y = 7; a = &y; f (100); return b > a ? 0 : 1; }
                ],
-       glib_cv_stack_grows=no
-        ,
        glib_cv_stack_grows=yes
+        ,
+       glib_cv_stack_grows=no
         ,)
 ])
 
@@ -775,21 +694,6 @@ main (void) {
 }]])],[g_can_inline=yes],[g_can_inline=no])
 AC_MSG_RESULT($g_can_inline)
 
-dnl *** check for working do while(0) macros ***
-AC_CACHE_CHECK([for working do while(0) macros], g_cv_support_dowhile_macros, [
-       AC_TRY_COMPILE([],[
-       #define STMT_START do
-       #define STMT_END while(0)
-       #define STMT_TEST STMT_START { i = 0; } STMT_END
-       int main(void) { int i = 1; STMT_TEST; return i; }],
-       [g_cv_support_dowhile_macros=yes],
-       [g_cv_support_dowhile_macros=no],
-       [g_cv_support_dowhile_macros=yes])
-])
-if test x$g_cv_support_dowhile_macros = xyes; then
-  AC_DEFINE(HAVE_DOWHILE_MACROS, 1, [define for working do while(0) macros])
-fi
-
 # check for flavours of varargs macros
 AC_MSG_CHECKING(for ISO C99 varargs macros in C)
 AC_TRY_COMPILE([],[
@@ -800,7 +704,7 @@ call_a(2,3);
 AC_MSG_RESULT($g_have_iso_c_varargs)
 
 AC_MSG_CHECKING(for ISO C99 varargs macros in C++)
-if test "$CXX" = ""; then
+AS_IF([test "$CXX" = ""], [
 dnl No C++ compiler
   g_have_iso_cxx_varargs=no
 else
@@ -811,7 +715,7 @@ int a(int p1, int p2, int p3);
 call_a(2,3);
 ],g_have_iso_cxx_varargs=yes,g_have_iso_cxx_varargs=no)
   AC_LANG_C
-fi
+])
 AC_MSG_RESULT($g_have_iso_cxx_varargs)
 
 AC_MSG_CHECKING(for GNUC varargs macros)
@@ -845,7 +749,7 @@ __attribute__ ((visibility ("default")))
      f_default (void)
 {
 }
-int main (int argc, char **argv)
+int main (void)
 {
        f_hidden();
        f_internal();
@@ -884,28 +788,36 @@ fi
 
 
 # check for header files
-AC_CHECK_HEADERS([dirent.h float.h limits.h pwd.h grp.h sys/param.h sys/poll.h sys/resource.h])
-AC_CHECK_HEADERS([sys/time.h sys/times.h sys/wait.h unistd.h values.h])
-AC_CHECK_HEADERS([sys/select.h sys/types.h stdint.h inttypes.h sched.h malloc.h])
-AC_CHECK_HEADERS([sys/vfs.h sys/vmount.h sys/statfs.h sys/statvfs.h])
+AC_CHECK_HEADERS([sys/param.h sys/resource.h mach/mach_time.h])
+AC_CHECK_HEADERS([sys/select.h stdint.h inttypes.h sched.h malloc.h])
+AC_CHECK_HEADERS([sys/vfs.h sys/vmount.h sys/statfs.h sys/statvfs.h sys/filio.h])
 AC_CHECK_HEADERS([mntent.h sys/mnttab.h sys/vfstab.h sys/mntctl.h fstab.h])
-AC_CHECK_HEADERS([sys/uio.h sys/mkdev.h])
-AC_CHECK_HEADERS([linux/magic.h])
-AC_CHECK_HEADERS([sys/prctl.h])
+AC_CHECK_HEADERS([linux/magic.h linux/memfd.h sys/prctl.h])
+
+# Some versions of MSC lack these
+AC_CHECK_HEADERS([dirent.h sys/time.h])
+
+# We don't care about this, but we need to keep including it in
+# glibconfig.h for backward compatibility
+AC_CHECK_HEADERS([values.h])
 
 AC_CHECK_HEADERS([sys/mount.h sys/sysctl.h], [], [],
 [#if HAVE_SYS_PARAM_H
  #include <sys/param.h>
  #endif
 ])
+AC_CHECK_FUNCS(sysctlbyname)
 
+AC_HEADER_MAJOR
 AC_CHECK_HEADERS([xlocale.h])
 
 # check for structure fields
 AC_CHECK_MEMBERS([struct stat.st_mtimensec, struct stat.st_mtim.tv_nsec, struct stat.st_atimensec, struct stat.st_atim.tv_nsec, struct stat.st_ctimensec, struct stat.st_ctim.tv_nsec])
 AC_CHECK_MEMBERS([struct stat.st_blksize, struct stat.st_blocks, struct statfs.f_fstypename, struct statfs.f_bavail],,, [#include <sys/types.h>
 #include <sys/stat.h>
+#ifdef G_OS_UNIX
 #include <unistd.h>
+#endif
 #ifdef HAVE_SYS_STATFS_H
 #include <sys/statfs.h>
 #endif
@@ -924,13 +836,12 @@ AC_STRUCT_DIRENT_D_TYPE
 
 # Checks for libcharset
 AM_LANGINFO_CODESET
-AC_CHECK_HEADERS([stddef.h stdlib.h string.h])
-AC_CHECK_FUNCS(setlocale)
+gl_GLIBC21
 
 # check additional type sizes
 AC_CHECK_SIZEOF(size_t)
 
-dnl Try to figure out whether gsize, gssize should be long or int
+dnl Try to figure out whether gsize should be long or int
 AC_MSG_CHECKING([for the appropriate definition for size_t])
 
 case $ac_cv_sizeof_size_t in
@@ -957,8 +868,8 @@ dnl If int/long are the same size, we see which one produces
 dnl warnings when used in the location as size_t. (This matters
 dnl on AIX with xlc)
 dnl
-if test $ac_cv_sizeof_size_t = $ac_cv_sizeof_int &&
-   test $ac_cv_sizeof_size_t = $ac_cv_sizeof_long ; then
+AS_IF([test $ac_cv_sizeof_size_t = $ac_cv_sizeof_int &&
+       test $ac_cv_sizeof_size_t = $ac_cv_sizeof_long], [
   GLIB_CHECK_COMPILE_WARNINGS([AC_LANG_SOURCE([[
 #if defined(_AIX) && !defined(__GNUC__)
 #pragma options langlvl=stdc89
@@ -983,15 +894,88 @@ int main ()
    return (int)*size_long;
 }
         ]])],glib_size_type=long)])
-fi
+])
 
 AC_MSG_RESULT(unsigned $glib_size_type)
 
+AC_CHECK_SIZEOF(ssize_t)
+
+dnl Try to figure out whether gssize should be long or int
+AC_MSG_CHECKING([for the appropriate definition for ssize_t])
+
+case $ac_cv_sizeof_ssize_t in
+  $ac_cv_sizeof_short) 
+      glib_ssize_type=short
+      ;;
+  $ac_cv_sizeof_int) 
+      glib_ssize_type=int
+      ;;
+  $ac_cv_sizeof_long) 
+      glib_ssize_type=long
+      ;;
+  $ac_cv_sizeof_long_long)
+      glib_ssize_type='long long'
+      ;;
+  $ac_cv_sizeof__int64)
+      glib_ssize_type='__int64'
+      ;;
+  *)  AC_MSG_ERROR([No type matching ssize_t in size])
+      ;;
+esac
+
+dnl If int/long are the same size, we see which one produces
+dnl warnings when used in the location as ssize_t. (This matters
+dnl on Android where ssize_t is long and size_t is unsigned int)
+dnl
+AS_IF([test $ac_cv_sizeof_ssize_t = $ac_cv_sizeof_int &&
+       test $ac_cv_sizeof_ssize_t = $ac_cv_sizeof_long], [
+  GLIB_CHECK_COMPILE_WARNINGS([AC_LANG_SOURCE([[
+#if defined(_AIX) && !defined(__GNUC__)
+#pragma options langlvl=stdc89
+#endif
+#include <stddef.h>
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#include <sys/types.h>
+int main ()
+{
+  ssize_t s = 1;
+  int *size_int = &s;
+  return (int)*size_int;
+}
+    ]])],glib_ssize_type=int,
+      [GLIB_CHECK_COMPILE_WARNINGS([AC_LANG_SOURCE([[
+#if defined(_AIX) && !defined(__GNUC__)
+#pragma options langlvl=stdc89
+#endif
+#include <stddef.h> 
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#include <sys/types.h>
+int main ()
+{
+   ssize_t s = 1;
+   long *size_long = &s;
+   return (int)*size_long;
+}
+        ]])],glib_ssize_type=long)])
+])
+
+AC_MSG_RESULT($glib_ssize_type)
+
 # Check for some functions
-AC_CHECK_FUNCS(lstat strerror strsignal memmove vsnprintf stpcpy strcasecmp strncasecmp poll getcwd vasprintf setenv unsetenv getc_unlocked readlink symlink fdwalk memmem)
-AC_CHECK_FUNCS(chown lchmod lchown fchmod fchown link utimes getgrgid getpwuid)
-AC_CHECK_FUNCS(getmntent_r setmntent endmntent hasmntopt getfsstat getvfsstat)
-# Check for high-resolution sleep functions
+AC_CHECK_FUNCS(lstat strsignal vsnprintf stpcpy strcasecmp strncasecmp poll vasprintf setenv unsetenv getc_unlocked readlink symlink fdwalk memmem)
+AC_CHECK_FUNCS(lchmod lchown fchmod fchown utimes getresuid)
+AC_CHECK_FUNCS(getmntent_r setmntent endmntent hasmntopt getfsstat getvfsstat fallocate)
+case $host_os in aix*) ac_cv_func_splice=no ;; esac # AIX splice() is something else
 AC_CHECK_FUNCS(splice)
 AC_CHECK_FUNCS(prlimit)
 
@@ -1028,9 +1012,6 @@ AC_CHECK_FUNCS(_NSGetEnviron)
 
 AC_CHECK_FUNCS(newlocale uselocale strtod_l strtoll_l strtoull_l)
 
-AC_FUNC_VSNPRINTF_C99
-AC_FUNC_PRINTF_UNIX98
-
 # Internet address families
 if test $glib_native_win32 = yes; then
   glib_inet_includes=["
@@ -1060,10 +1041,31 @@ if $glib_failed ; then
   AC_MSG_ERROR([Could not determine values for MSG_* constants])
 fi
 
-AC_CHECK_FUNCS(getprotobyname_r endservent if_nametoindex)
-AC_CHECK_HEADERS([netdb.h wspiapi.h arpa/nameser_compat.h])
+AC_CHECK_FUNCS(getprotobyname_r endservent if_nametoindex if_indextoname)
+
+AS_IF([test $glib_native_win32 = yes], [
+  # <wspiapi.h> in the Windows SDK and in mingw-w64 has wrappers for
+  # inline workarounds for getaddrinfo, getnameinfo and freeaddrinfo if
+  # they aren't present at run-time (on Windows 2000).
+  AC_CHECK_HEADER([wspiapi.h], [WSPIAPI_INCLUDE="#include <wspiapi.h>"])
+  AC_SUBST(WSPIAPI_INCLUDE)
+], [
+  # Android does not have C_IN in public headers, we define it wherever necessary
+  AS_IF([test $glib_native_android != yes], [
+    AC_MSG_CHECKING([if arpa/nameser_compat.h is needed])
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <sys/types.h>
+                                        #include <arpa/nameser.h>],
+                                       [int qclass = C_IN;])],
+                      [AC_MSG_RESULT([no])],
+                      [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <sys/types.h>
+                                                           #include <arpa/nameser.h>
+                                                           #include <arpa/nameser_compat.h>],
+                                                          [int qclass = C_IN;])],
+                                         [AC_MSG_RESULT([yes])
+                                          NAMESER_COMPAT_INCLUDE="#include <arpa/nameser_compat.h>"],
+                                         [AC_MSG_ERROR([could not compile test program either way])])])])
+  AC_SUBST(NAMESER_COMPAT_INCLUDE)
 
-if test $glib_native_win32 = no; then
   # We can't just use AC_CHECK_FUNC/AC_CHECK_LIB here. Bug 586150
   NETWORK_LIBS=""
   AC_MSG_CHECKING([for res_query])
@@ -1094,7 +1096,20 @@ if test $glib_native_win32 = no; then
   AC_CHECK_FUNC(socket, :, AC_CHECK_LIB(socket, socket,
                                        [NETWORK_LIBS="-lsocket $NETWORK_LIBS"],
                                        [AC_MSG_ERROR(Could not find socket())]))
-fi
+  save_libs="$LIBS"
+  LIBS="$LIBS $NETWORK_LIBS"
+  AC_MSG_CHECKING([for res_init])
+  AC_TRY_LINK([#include <sys/types.h>
+              #include <netinet/in.h>
+              #include <arpa/nameser.h>
+              #include <resolv.h>
+              ],[
+              res_init();
+              ],[AC_MSG_RESULT([yes])
+                AC_DEFINE(HAVE_RES_INIT, 1, [Define to 1 if you have the 'res_init' function.])
+             ],[AC_MSG_RESULT([no])])
+  LIBS="$save_libs"
+])
 AC_SUBST(NETWORK_LIBS)
 
 AC_CHECK_HEADER([linux/netlink.h],
@@ -1117,7 +1132,7 @@ esac
 dnl
 dnl if statfs() takes 2 arguments (Posix) or 4 (Solaris)
 dnl
-if test "$ac_cv_func_statfs" = yes ; then
+AS_IF([test "$ac_cv_func_statfs" = yes], [
   AC_MSG_CHECKING([number of arguments to statfs()])
   AC_TRY_COMPILE([#include <unistd.h>
   #ifdef HAVE_SYS_PARAM_H
@@ -1153,14 +1168,28 @@ if test "$ac_cv_func_statfs" = yes ; then
       AC_DEFINE(STATFS_ARGS, 4, [Number of arguments to statfs()])],[
       AC_MSG_RESULT(unknown)
       AC_MSG_ERROR([unable to determine number of arguments to statfs()])])])
-fi
+])
+
+dnl
+dnl open takes O_DIRECTORY as an option
+dnl
+AC_MSG_CHECKING([open() option O_DIRECTORY])
+AC_TRY_COMPILE([#include <fcntl.h>
+#include <sys/types.h>
+#include <sys/stat.h>],
+[open(0, O_DIRECTORY, 0);],[
+       AC_MSG_RESULT([yes])
+       AC_DEFINE(HAVE_OPEN_O_DIRECTORY, 1, [open option O_DIRECTORY])],[
+       AC_MSG_RESULT([no])])
 
 #
 # Check whether to use an included printf
 #
+AC_FUNC_VSNPRINTF_C99
+AC_FUNC_PRINTF_UNIX98
 
 AC_ARG_ENABLE(included-printf,
-              [AC_HELP_STRING([--enable-included-printf],
+              [AS_HELP_STRING([--enable-included-printf],
                               [use included printf [default=auto]])],
               enable_included_printf="$enableval")
 
@@ -1189,14 +1218,14 @@ fi
 enable_included_printf=$need_included_printf
 
 AM_CONDITIONAL(HAVE_GOOD_PRINTF, test "$enable_included_printf" != "yes")
-if test "$enable_included_printf" != "yes" ; then 
+AS_IF([test "$enable_included_printf" != "yes"], [
   AC_DEFINE(HAVE_GOOD_PRINTF,1,[define to use system printf])
-else
+], [
   if test -z "$glib_cv_long_long_format" ; then
     glib_cv_long_long_format="ll"
   fi
   AC_DEFINE(HAVE_VASPRINTF,1)
-fi
+])
 
 # Checks needed for gnulib vasnprintf
 bh_C_SIGNED
@@ -1210,40 +1239,13 @@ jm_AC_TYPE_INTMAX_T
 AC_CHECK_FUNCS([snprintf wcslen])
 AC_FUNC_SNPRINTF_C99
 
-# Check if bcopy can be used for overlapping copies, if memmove isn't found.
-# The check is borrowed from the PERL Configure script.
-if test "$ac_cv_func_memmove" != "yes"; then
-  AC_CACHE_CHECK(whether bcopy can handle overlapping copies,
-    glib_cv_working_bcopy,[AC_TRY_RUN([
-      int main() {
-        char buf[128], abc[128], *b;
-        int len, off, align;
-        bcopy("abcdefghijklmnopqrstuvwxyz0123456789", abc, 36);
-        for (align = 7; align >= 0; align--) {
-          for (len = 36; len; len--) {
-            b = buf+align; bcopy(abc, b, len);
-            for (off = 1; off <= len; off++) {
-              bcopy(b, b+off, len); bcopy(b+off, b, len);
-                if (bcmp(b, abc, len)) return(1);
-            }
-          }
-        }
-        return(0);
-      }],glib_cv_working_bcopy=yes,glib_cv_working_bcopy=no)])
-
-  GLIB_ASSERT_SET(glib_cv_working_bcopy)
-  if test "$glib_cv_working_bcopy" = "yes"; then
-    AC_DEFINE(HAVE_WORKING_BCOPY,1,[Have a working bcopy])
-  fi
-fi
-
 # Check if <sys/select.h> needs to be included for fd_set
 AC_MSG_CHECKING([for fd_set])
 AC_TRY_COMPILE([#include <sys/types.h>],
         [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
-if test "$gtk_ok" = "yes"; then
+AS_IF([test "$gtk_ok" = "yes"], [
     AC_MSG_RESULT([yes, found in sys/types.h])
-else
+], [
     AC_EGREP_HEADER(fd_set, sys/select.h, gtk_ok=yes)
     if test "$gtk_ok" = "yes"; then
        # *** FIXME: give it a different name
@@ -1253,26 +1255,14 @@ else
        AC_DEFINE(NO_FD_SET,1,[didn't find fd_set])
        AC_MSG_RESULT(no)
     fi
-fi
-
-dnl *** check for sane realloc() ***
-AC_CACHE_CHECK([whether realloc (NULL,) will work],glib_cv_sane_realloc,[
-        AC_TRY_RUN([#include <stdlib.h>
-        int main() {
-          return realloc (0, sizeof (int)) == 0;
-        }],
-        [glib_cv_sane_realloc=yes],
-        [glib_cv_sane_realloc=no],
-       [glib_cv_sane_realloc=yes])
 ])
-if test x$glib_cv_sane_realloc = xyes; then
-  AC_DEFINE(REALLOC_0_WORKS,1,[whether realloc (NULL,) works])
-fi
 
 dnl Check for nl_langinfo and CODESET
+AC_LANG_SAVE
+AC_LANG_C
 AC_CACHE_CHECK([for nl_langinfo (CODESET)],glib_cv_langinfo_codeset,[
-        AC_TRY_COMPILE([#include <langinfo.h>],
-                [char *codeset = nl_langinfo (CODESET);],
+        AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <langinfo.h>],
+                       [char *codeset = nl_langinfo (CODESET);])],
                 [glib_cv_langinfo_codeset=yes],
                 [glib_cv_langinfo_codeset=no])])
 if test x$glib_cv_langinfo_codeset = xyes; then
@@ -1281,8 +1271,8 @@ fi
 
 dnl Check for nl_langinfo and LC_TIME parts that are needed in gdatetime.c
 AC_CACHE_CHECK([for nl_langinfo (PM_STR)],glib_cv_langinfo_time,[
-        AC_TRY_COMPILE([#include <langinfo.h>],
-                [char *str;
+        AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <langinfo.h>],
+                 [char *str;
                  str = nl_langinfo (PM_STR);
                  str = nl_langinfo (D_T_FMT);
                  str = nl_langinfo (D_FMT);
@@ -1291,7 +1281,7 @@ AC_CACHE_CHECK([for nl_langinfo (PM_STR)],glib_cv_langinfo_time,[
                  str = nl_langinfo (MON_1);
                  str = nl_langinfo (ABMON_12);
                  str = nl_langinfo (DAY_1);
-                 str = nl_langinfo (ABDAY_7);],
+                 str = nl_langinfo (ABDAY_7);])],
                 [glib_cv_langinfo_time=yes],
                 [glib_cv_langinfo_time=no])])
 if test x$glib_cv_langinfo_time = xyes; then
@@ -1300,7 +1290,7 @@ fi
 
 dnl Check for nl_langinfo and _NL_CTYPE_OUTDIGITn_MB
 AC_CACHE_CHECK([for nl_langinfo (_NL_CTYPE_OUTDIGITn_MB)], glib_cv_langinfo_outdigit,[
-        AC_TRY_COMPILE([#include <langinfo.h>],
+        AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <langinfo.h>],
                 [char *str;
                  str = nl_langinfo (_NL_CTYPE_OUTDIGIT0_MB);
                  str = nl_langinfo (_NL_CTYPE_OUTDIGIT1_MB);
@@ -1311,12 +1301,13 @@ AC_CACHE_CHECK([for nl_langinfo (_NL_CTYPE_OUTDIGITn_MB)], glib_cv_langinfo_outd
                  str = nl_langinfo (_NL_CTYPE_OUTDIGIT6_MB);
                  str = nl_langinfo (_NL_CTYPE_OUTDIGIT7_MB);
                  str = nl_langinfo (_NL_CTYPE_OUTDIGIT8_MB);
-                 str = nl_langinfo (_NL_CTYPE_OUTDIGIT9_MB);],
+                 str = nl_langinfo (_NL_CTYPE_OUTDIGIT9_MB);])],
                 [glib_cv_langinfo_outdigit=yes],
                 [glib_cv_langinfo_outdigit=no])])
 if test x$glib_cv_langinfo_outdigit = xyes; then
   AC_DEFINE(HAVE_LANGINFO_OUTDIGIT,1,[Have nl_langinfo (_NL_CTYPE_OUTDIGITn_MB)])
 fi
+AC_LANG_RESTORE
 
 dnl ****************************************
 dnl *** posix_memalign                   ***
@@ -1353,12 +1344,12 @@ AC_CACHE_VAL(glib_cv_compliant_posix_memalign,[
       :
     fi
     ])
-if test "$glib_cv_compliant_posix_memalign" = "1"; then
+AS_IF([test "$glib_cv_compliant_posix_memalign" = "1"], [
     AC_MSG_RESULT(yes)
     AC_DEFINE(POSIX_MEMALIGN_WITH_COMPLIANT_ALLOCS, 1, [define if posix_memalign() can allocate any size])
-else
+], [
     AC_MSG_RESULT(no)
-fi
+])
 
 
 dnl ****************************************
@@ -1455,9 +1446,9 @@ AC_CACHE_CHECK([whether va_lists can be copied by value],glib_cv_va_val_copy,[
        [glib_cv_va_val_copy=yes])
 ])
 
-if test "x$glib_cv_va_val_copy" = "xno"; then
+AS_IF([ test "x$glib_cv_va_val_copy" = "xno"], [
   AC_DEFINE(G_VA_COPY_AS_ARRAY,1, ['va_lists' cannot be copies as values])
-fi
+])
 
 dnl ***********************
 dnl *** g_module checks ***
@@ -1490,45 +1481,29 @@ if test -z "$G_MODULE_IMPL"; then
   esac
 fi
 dnl *** dlopen() and dlsym() in system libraries
-if test -z "$G_MODULE_IMPL"; then
+AS_IF([ test -z "$G_MODULE_IMPL"], [
        AC_CHECK_FUNC(dlopen,
                      [AC_CHECK_FUNC(dlsym,
                                     [G_MODULE_IMPL=G_MODULE_IMPL_DL],[])],
                      [])
-fi
-dnl *** load_image (BeOS)
-if test -z "$G_MODULE_IMPL" && test "x$glib_native_beos" = "xyes"; then
-  AC_CHECK_LIB(root, load_image,
-      [G_MODULE_LIBS="-lbe -lroot -lglib-2.0 "
-      G_MODULE_LIBS_EXTRA="-L\$(top_builddir_full)/.libs"
-      G_MODULE_PLUGIN_LIBS="-L\$(top_builddir_full)/gmodule/.libs -lgmodule"
-      G_MODULE_IMPL=G_MODULE_IMPL_BEOS],
-      [])
-fi   
+])
 dnl *** NSLinkModule (dyld) in system libraries (Darwin)
-if test -z "$G_MODULE_IMPL"; then
+AS_IF([ test -z "$G_MODULE_IMPL" ], [
        AC_CHECK_FUNC(NSLinkModule,
                      [G_MODULE_IMPL=G_MODULE_IMPL_DYLD
                       G_MODULE_NEED_USCORE=1],
                      [])
-fi
+])
 dnl *** dlopen() and dlsym() in libdl
-if test -z "$G_MODULE_IMPL"; then
+AS_IF([ test -z "$G_MODULE_IMPL"], [
        AC_CHECK_LIB(dl, dlopen,
                     [AC_CHECK_LIB(dl, dlsym,
                                   [G_MODULE_LIBS=-ldl
                                   G_MODULE_IMPL=G_MODULE_IMPL_DL],[])],
                     [])
-fi
-dnl *** shl_load() in libdld (HP-UX)
-if test -z "$G_MODULE_IMPL"; then
-       AC_CHECK_LIB(dld, shl_load,
-               [G_MODULE_LIBS=-ldld
-               G_MODULE_IMPL=G_MODULE_IMPL_DLD],
-               [])
-fi
+])
 dnl *** additional checks for G_MODULE_IMPL_DL
-if test "$G_MODULE_IMPL" = "G_MODULE_IMPL_DL"; then
+AS_IF([ test "$G_MODULE_IMPL" = "G_MODULE_IMPL_DL" ], [
        LIBS_orig="$LIBS"
        LDFLAGS_orig="$LDFLAGS"
        LIBS="$G_MODULE_LIBS $LIBS"
@@ -1603,7 +1578,7 @@ dnl *** check for having dlerror()
                [G_MODULE_HAVE_DLERROR=1],
                [G_MODULE_HAVE_DLERROR=0])
        LIBS="$LIBS_orig"
-fi
+])
 dnl *** done, have we got an implementation?
 if test -z "$G_MODULE_IMPL"; then
        G_MODULE_IMPL=0
@@ -1673,7 +1648,7 @@ dnl *** Directory for GIO modules ***
 dnl *********************************
 
 AC_ARG_WITH(gio-module-dir,
-           [AC_HELP_STRING([--with-gio-module-dir=DIR],
+           [AS_HELP_STRING([--with-gio-module-dir=DIR],
                            [load gio modules from this directory [LIBDIR/gio/modules]])],
            [],
           [with_gio_module_dir='${libdir}/gio/modules'])
@@ -1684,11 +1659,11 @@ dnl **********************************
 dnl *** Check for libselinux (GIO) ***
 dnl **********************************
 AC_ARG_ENABLE(selinux,
-              AC_HELP_STRING([--disable-selinux],
+              AS_HELP_STRING([--disable-selinux],
                              [build without selinux support]))
 msg_selinux=no
 SELINUX_LIBS=
-if test "x$enable_selinux" != "xno"; then
+AS_IF([ test "x$enable_selinux" != "xno"], [
 
  AC_CHECK_LIB(selinux, is_selinux_enabled,
    [AC_CHECK_HEADERS(selinux/selinux.h,
@@ -1698,7 +1673,7 @@ if test "x$enable_selinux" != "xno"; then
         msg_selinux=yes])
      ])
    ])
-fi
+])
 AC_SUBST(SELINUX_LIBS)
 
 dnl *****************************
@@ -1707,12 +1682,22 @@ dnl *****************************
 inotify_support=no
 AC_CHECK_HEADERS([sys/inotify.h],
 [
-       inotify_support=yes
-       AC_CHECK_FUNCS(inotify_init1)
+  AC_CHECK_FUNCS(inotify_init1, [inotify_support=yes], [inotify_support=no])
 ])
 
 AM_CONDITIONAL(HAVE_INOTIFY, [test "$inotify_support" = "yes"])
 
+dnl ****************************
+dnl ** Check for kqueue (GIO) **
+dnl ****************************
+kqueue_support=no
+AC_CHECK_HEADERS([sys/event.h],
+[
+       AC_CHECK_FUNCS(kqueue kevent, [kqueue_support=yes])
+])
+
+AM_CONDITIONAL(HAVE_KQUEUE, [test "$kqueue_support" = "yes"])
+
 dnl *********************************
 dnl ** Check for Solaris FEN (GIO) **
 dnl *********************************
@@ -1736,7 +1721,7 @@ dnl ****************************
 should_disable_fam=no
 
 AC_ARG_ENABLE(fam,
-              AC_HELP_STRING([--disable-fam],
+              AS_HELP_STRING([--disable-fam],
                              [don't use fam for file system monitoring]),
                          [
                                 if test "x$enable_fam" = "xno"; then
@@ -1765,10 +1750,10 @@ dnl *****************************
 dnl *** Check for xattr (GIO) ***
 dnl *****************************
 AC_ARG_ENABLE(xattr,
-              AC_HELP_STRING([--disable-xattr], [build without xattr support]))
+              AS_HELP_STRING([--disable-xattr], [build without xattr support]))
 msg_xattr=no
 XATTR_LIBS=
-if test "x$enable_xattr" != "xno"; then
+AS_IF([ test "x$enable_xattr" != "xno"], [
 
 dnl either glibc or libattr can provide xattr support
 
@@ -1782,7 +1767,7 @@ dnl try glibc
       msg_xattr=yes])
    ])
 
-  if test "x$msg_xattr" != "xyes"; then
+  AS_IF([ test "x$msg_xattr" != "xyes"], [
 dnl   failure. try libattr
    AC_CHECK_LIB(attr, getxattr,
       [AC_CHECK_HEADERS(attr/xattr.h,
@@ -1790,9 +1775,9 @@ dnl   failure. try libattr
         XATTR_LIBS="-lattr"
         msg_xattr=yes])
       ])
-  fi
+  ])
 
-  if test "x$msg_xattr" = "xyes"; then
+  AS_IF([ test "x$msg_xattr" = "xyes"], [
     AC_MSG_CHECKING([for XATTR_NOFOLLOW])
     AC_TRY_COMPILE([
       #include <stdio.h>
@@ -1812,32 +1797,33 @@ dnl   failure. try libattr
     ],
     [AC_MSG_RESULT([no])]
     )
-  fi
-
-fi
+  ])
+])
 AC_SUBST(XATTR_LIBS)
 
 dnl ************************
 dnl *** check for libelf ***
 dnl ************************
-
-PKG_CHECK_MODULES([LIBELF], [libelf], [have_libelf=yes], [have_libelf=maybe])
-
-if test $have_libelf = maybe; then
+AC_ARG_ENABLE(libelf,
+              AS_HELP_STRING([--disable-libelf], [build without libelf support]))
+AS_IF([ test "x$enable_libelf" != "xno"],[
+PKG_CHECK_MODULES([LIBELF], [libelf >= 0.8.12], [have_libelf=yes], [have_libelf=maybe])
+AS_IF([ test $have_libelf = maybe ], [
   glib_save_LIBS=$LIBS
-  AC_CHECK_LIB([elf], [elf_begin], , [have_libelf=no])
-  AC_CHECK_LIB([elf], [elf_getshdrstrndx], , [have_libelf=no])
-  AC_CHECK_LIB([elf], [elf_getshdrnum], , [have_libelf=no])
-  AC_CHECK_HEADER([libelf.h], , [have_libelf=no])
+  AC_CHECK_LIB([elf], [elf_begin], [:], [have_libelf=no])
+  AC_CHECK_LIB([elf], [elf_getshdrstrndx], [:], [have_libelf=no])
+  AC_CHECK_LIB([elf], [elf_getshdrnum], [:], [have_libelf=no])
+  AC_CHECK_HEADER([libelf.h], [:], [have_libelf=no])
   LIBS=$glib_save_LIBS
 
   if test $have_libelf != no; then
     LIBELF_LIBS=-lelf
     have_libelf=yes
   fi
-fi
+])
+])
 
-if test $have_libelf = yes; then
+if test x$have_libelf = xyes; then
   AC_DEFINE(HAVE_LIBELF, 1, [Define if libelf is available])
 fi
 
@@ -1886,7 +1872,7 @@ dnl *** g_thread checks ***
 dnl ***********************
 
 AC_ARG_WITH(threads,
-           [AC_HELP_STRING([--with-threads=@<:@posix/win32@:>@],
+           [AS_HELP_STRING([--with-threads=@<:@posix/win32@:>@],
                            [specify a thread implementation to use])],
            [],
            [with_threads=yes])
@@ -1927,26 +1913,22 @@ dnl ***************************************
 AC_MSG_CHECKING(for thread implementation)
 
 have_threads=no
-if test "x$with_threads" = xyes || test "x$with_threads" = xposix; then
-       # -D_POSIX4_DRAFT_SOURCE -D_POSIX4A_DRAFT10_SOURCE is for DG/UX
-       # -U_OSF_SOURCE is for Digital UNIX 4.0d
-       GTHREAD_COMPILE_IMPL_DEFINES="-D_POSIX4_DRAFT_SOURCE -D_POSIX4A_DRAFT10_SOURCE -U_OSF_SOURCE"
-       glib_save_CPPFLAGS="$CPPFLAGS"
-       CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
-        if test "x$have_threads" = xno; then
+AS_IF([ test "x$with_threads" = xyes || test "x$with_threads" = xposix], [
+        AS_IF([ test "x$have_threads" = xno], [
                 AC_TRY_COMPILE([#include <pthread.h>],
                        [pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;],
                        have_threads=posix)
-        fi
+       ])
        # Tru64Unix requires -pthread to find pthread.h. See #103020
-       CPPFLAGS="$CPPFLAGS -pthread"
        if test "x$have_threads" = xno; then
-       AC_TRY_COMPILE([#include <pthread.h>],
+               glib_save_CPPFLAGS="$CPPFLAGS"
+               CPPFLAGS="$CPPFLAGS -pthread"
+               AC_TRY_COMPILE([#include <pthread.h>],
                       [pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;],
                       have_threads=posix)
+               CPPFLAGS="$glib_save_CPPFLAGS"
         fi
-       CPPFLAGS="$glib_save_CPPFLAGS"
-fi
+])
 if test "x$with_threads" = xyes || test "x$with_threads" = xwin32; then
         case $host in
                 *-*-mingw*)
@@ -1985,7 +1967,7 @@ int main()
    return (check_me != 42 || ret != &check_me);
 }])
 
-if test x"$have_threads" = xposix; then
+AS_IF([ test x"$have_threads" = xposix], [
   # First we test for posix, whether -pthread or -pthreads do the trick as 
   # both CPPFLAG and LIBS. 
   # One of them does for most gcc versions and some other platforms/compilers
@@ -2020,9 +2002,9 @@ if test x"$have_threads" = xposix; then
       done
        ;;
   esac
-fi
+])
 
-if test x"$G_THREAD_CFLAGS" = x; then
+AS_IF([ test x"$G_THREAD_CFLAGS" = x], [
 
   # The canonical -pthread[s] does not work. Try something different.
 
@@ -2045,9 +2027,6 @@ if test x"$G_THREAD_CFLAGS" = x; then
                        G_THREAD_CFLAGS="-D_THREAD_SAFE"
                fi
                ;;
-       *-dg-dgux*)  # DG/UX
-               G_THREAD_CFLAGS="-D_REENTRANT -D_POSIX4A_DRAFT10_SOURCE"
-               ;;
        *-sysv5uw7*) # UnixWare 7 
                # We are not using gcc with -pthread. Catched above.
                G_THREAD_CFLAGS="-Kthread"
@@ -2061,8 +2040,7 @@ if test x"$G_THREAD_CFLAGS" = x; then
                G_THREAD_CFLAGS="-D_REENTRANT" # good default guess otherwise
                ;;
   esac
-
-fi
+])
 
 # if we are not finding the localtime_r function, then we probably are
 # not using the proper multithread flag
@@ -2090,11 +2068,10 @@ CPPFLAGS="$CPPFLAGS $G_THREAD_CFLAGS"
 dnl determination of G_THREAD_LIBS
 dnl ******************************
 
-case $have_threads in
-        posix)
+AS_IF([test x$have_threads = xposix], [
          glib_save_CPPFLAGS="$CPPFLAGS"
          CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
-          if test x"$G_THREAD_LIBS" = x; then
+          AS_IF([ test x"$G_THREAD_LIBS" = x ], [
             case $host in
               *-aix*)
                 # We are not using gcc (would have set G_THREAD_LIBS) and thus 
@@ -2140,34 +2117,28 @@ case $have_threads in
                LIBS="$glib_save_LIBS"
                 ;;
             esac
-          fi
+         ])
 
          g_threads_impl="POSIX"
+          AC_DEFINE([THREADS_POSIX], [1], [Use pthreads])
          AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES)
           CPPFLAGS="$glib_save_CPPFLAGS"
-          ;;
-       win32)
+], [test x$have_threads = xwin32], [
+           AC_DEFINE([THREADS_WIN32], [1], [Use w32 threads])
           g_threads_impl="WIN32"
-          ;;
-        *)
+], [
+           AC_DEFINE([THREADS_NONE], [1], [Use no threads])
           g_threads_impl="NONE"
            G_THREAD_LIBS=error
-           ;;
-esac
+])
+AM_CONDITIONAL(THREADS_POSIX, [test "$g_threads_impl" = "POSIX"])
+AM_CONDITIONAL(THREADS_WIN32, [test "$g_threads_impl" = "WIN32"])
+AM_CONDITIONAL(THREADS_NONE, [test "$g_threads_impl" = "NONE"])
 
 if test "x$G_THREAD_LIBS" = xerror; then
         AC_MSG_ERROR($LIBS_NOT_FOUND_1$have_threads$LIBS_NOT_FOUND_2)
 fi
 
-case $host in
-  *-*-beos*)
-    G_THREAD_LIBS="-lbe -lroot -lglib-2.0 "
-    G_THREAD_LIBS_EXTRA="-L\$(top_builddir_full)/.libs"
-    ;;
-  *)
-    ;;
-esac
-
 AC_MSG_CHECKING(thread related libraries)
 AC_MSG_RESULT($G_THREAD_LIBS)
 
@@ -2179,7 +2150,7 @@ glib_save_LIBS="$LIBS"
 # to always be linked with the thread libs on some platforms. 
 # LIBS="$LIBS $G_THREAD_LIBS"
 AC_CHECK_FUNCS(localtime_r gmtime_r)
-if test "$ac_cv_header_pwd_h" = "yes"; then
+AS_IF([ test "$glib_native_win32" != "yes"], [
        AC_CACHE_CHECK([for posix getpwuid_r],
                ac_cv_func_posix_getpwuid_r,
                [AC_TRY_RUN([
@@ -2217,8 +2188,8 @@ int main () {
                                [Have non-POSIX function getpwuid_r])
                fi
        fi
-fi
-if test "$ac_cv_header_grp_h" = "yes"; then
+])
+AS_IF([ test "$glib_native_win32" != "yes"], [
        AC_CACHE_CHECK([for posix getgrgid_r],
                ac_cv_func_posix_getgrgid_r,
                [AC_TRY_RUN([
@@ -2237,10 +2208,10 @@ int main () {
                       [ac_cv_func_posix_getgrgid_r=yes],
                       [ac_cv_func_posix_getgrgid_r=no])])
        GLIB_ASSERT_SET(ac_cv_func_posix_getgrgid_r)
-       if test "$ac_cv_func_posix_getgrgid_r" = yes; then
+       AS_IF([ test "$ac_cv_func_posix_getgrgid_r" = yes ], [
                AC_DEFINE(HAVE_POSIX_GETGRGID_R,1,
                        [Have POSIX function getgrgid_r])
-       else
+       ], [
                AC_CACHE_CHECK([for nonposix getgrgid_r],
                        ac_cv_func_nonposix_getgrgid_r,
                        [AC_TRY_LINK([#include <grp.h>],
@@ -2255,10 +2226,10 @@ int main () {
                        AC_DEFINE(HAVE_NONPOSIX_GETGRGID_R,1,
                                [Have non-POSIX function getgrgid_r])
                fi
-       fi
-fi
+       ])
+])
 LIBS="$G_THREAD_LIBS $LIBS"
-if test x"$have_threads" = xposix; then
+AS_IF([ test x"$have_threads" = xposix], [
         glib_save_CPPFLAGS="$CPPFLAGS"
         CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
         # This is not AC_CHECK_FUNC to also work with function
@@ -2281,8 +2252,17 @@ if test x"$have_threads" = xposix; then
              AC_DEFINE(HAVE_PTHREAD_CONDATTR_SETCLOCK,1,
                 [Have function pthread_condattr_setclock])],
             [AC_MSG_RESULT(no)])
+        AC_MSG_CHECKING(for pthread_cond_timedwait_relative_np)
+        AC_LINK_IFELSE(
+            [AC_LANG_PROGRAM(
+                [#include <pthread.h>],
+                [pthread_cond_timedwait_relative_np(NULL, NULL, NULL)])],
+            [AC_MSG_RESULT(yes)
+             AC_DEFINE(HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE_NP,1,
+                [Have function pthread_cond_timedwait_relative_np])],
+            [AC_MSG_RESULT(no)])
         CPPFLAGS="$glib_save_CPPFLAGS"
-fi
+])
 
 LIBS="$glib_save_LIBS"
 
@@ -2303,12 +2283,12 @@ fi
 #  b) FreeBSD doesn't do this either.
 #
 case $host in
+  *android*)
+    G_THREAD_LIBS_FOR_GTHREAD="$G_THREAD_LIBS"
+    ;;
   *-*-freebsd*|*-*-linux*)
     G_THREAD_LIBS_FOR_GTHREAD="`echo $G_THREAD_LIBS | sed s/-pthread/-lpthread/`"
     ;;
-  *-*-openbsd*)
-    LDFLAGS="$LDFLAGS -pthread"
-    ;;
   *)
     G_THREAD_LIBS_FOR_GTHREAD="$G_THREAD_LIBS"
     ;;
@@ -2321,7 +2301,6 @@ AC_SUBST(G_THREAD_LIBS_EXTRA)
 
 AC_CHECK_FUNCS(clock_gettime, [], [
   AC_CHECK_LIB(rt, clock_gettime, [
-    AC_DEFINE(HAVE_CLOCK_GETTIME, 1)
     G_THREAD_LIBS="$G_THREAD_LIBS -lrt"
     G_THREAD_LIBS_FOR_GTHREAD="$G_THREAD_LIBS_FOR_GTHREAD -lrt"
   ])
@@ -2345,7 +2324,7 @@ dnl
 dnl We can currently support the atomic ops natively when building GLib
 dnl with recent versions of GCC or MSVC.  MSVC doesn't run ./configure,
 dnl so we skip that case here and define G_ATOMIC_LOCK_FREE exactly when
-dnl we are using GCC.
+dnl we are using GCC (and not mingw*).
 dnl
 dnl Note that the atomic ops are only available with GCC on x86 when
 dnl using -march=i486 or higher.  If we detect that the atomic ops are
@@ -2357,20 +2336,44 @@ dnl the user had the wrong build environment.
 dnl We may add other compilers here in the future...
 
 AC_CACHE_CHECK([for lock-free atomic intrinsics], glib_cv_g_atomic_lock_free, [
-  AC_TRY_COMPILE([],
-                 [__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4;],
-                 [glib_cv_g_atomic_lock_free=yes],
-                 [glib_cv_g_atomic_lock_free=no])])
-
-if test "$glib_cv_g_atomic_lock_free" = "no"; then
-  SAVE_CFLAGS="${CFLAGS}"
-  CFLAGS="-march=i486"
-  AC_TRY_COMPILE([],
-                 [__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4;],
-                 [AC_MSG_ERROR([GLib must be build with -march=i486 or later.])],
-                 [])
-  CFLAGS="${SAVE_CFLAGS}"
-fi
+  case $host in
+    *-*-mingw*)
+      glib_cv_g_atomic_lock_free=yes
+      ;;
+    *)
+      AC_TRY_LINK([],
+                     [volatile int atomic = 2;\
+                      __sync_bool_compare_and_swap (&atomic, 2, 3);],
+                     [glib_cv_g_atomic_lock_free=yes],
+                     [glib_cv_g_atomic_lock_free=no])
+      if test "$glib_cv_g_atomic_lock_free" = "no"; then
+        SAVE_CFLAGS="${CFLAGS}"
+        CFLAGS="-march=i486"
+        AC_TRY_LINK([],
+                       [volatile int atomic = 2;\
+                        __sync_bool_compare_and_swap (&atomic, 2, 3);],
+                       [AC_MSG_ERROR([GLib must be build with -march=i486 or later.])],
+                       [])
+        CFLAGS="${SAVE_CFLAGS}"
+      fi
+      ;;
+  esac])
+
+
+case $host in
+  *-*-mingw*)
+    ;;
+  *)
+    # Some compilers support atomic operations but do not define
+    # __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4, like clang
+    if test x"$glib_cv_g_atomic_lock_free" = xyes; then
+      AC_TRY_LINK([],
+                     [__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4;],
+                     [],
+                     [AC_DEFINE(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4, 1, [ compiler supports atomic operations])])
+    fi
+    ;;
+ esac
 
 dnl We need a more robust approach here...
 case $host_cpu in
@@ -2394,13 +2397,7 @@ AC_CACHE_CHECK(for futex(2) system call,
 #include <sys/syscall.h>
 #include <unistd.h>
 ],[
-int
-main (void)
-{
-  /* it is not like this actually runs or anything... */
   syscall (__NR_futex, NULL, FUTEX_WAKE, FUTEX_WAIT);
-  return 0;
-}
 ])],glib_cv_futex=yes,glib_cv_futex=no))
 if test x"$glib_cv_futex" = xyes; then
   AC_DEFINE(HAVE_FUTEX, 1, [we have the futex(2) system call])
@@ -2411,12 +2408,7 @@ AC_CACHE_CHECK(for eventfd(2) system call,
 #include <sys/eventfd.h>
 #include <unistd.h>
 ],[
-int
-main (void)
-{
   eventfd (0, EFD_CLOEXEC);
-  return 0;
-}
 ])],glib_cv_eventfd=yes,glib_cv_eventfd=no))
 if test x"$glib_cv_eventfd" = x"yes"; then
   AC_DEFINE(HAVE_EVENTFD, 1, [we have the eventfd(2) system call])
@@ -2429,11 +2421,11 @@ dnl ****************************************
 
 glib_poll_includes=["
 #include <sys/types.h>
-#include <sys/poll.h>
+#include <poll.h>
 "]
 
-if test $ac_cv_header_sys_types_h = yes &&
-   test $ac_cv_header_sys_poll_h = yes ; then
+AS_IF([ test $ac_cv_header_sys_types_h = yes &&
+   test $ac_cv_func_poll = yes ], [
   glib_failed=false
   GLIB_CHECK_VALUE(POLLIN, $glib_poll_includes, glib_failed=true)
   GLIB_CHECK_VALUE(POLLOUT, $glib_poll_includes, glib_failed=true)
@@ -2444,23 +2436,20 @@ if test $ac_cv_header_sys_types_h = yes &&
   if $glib_failed ; then
     AC_MSG_ERROR([Could not determine values for POLL* constants])
   fi
-else
+], [
   glib_cv_value_POLLIN=1
   glib_cv_value_POLLOUT=4
   glib_cv_value_POLLPRI=2
   glib_cv_value_POLLERR=8
   glib_cv_value_POLLHUP=16
   glib_cv_value_POLLNVAL=32
-fi
+])
 
 AC_MSG_CHECKING([for broken poll])
 AC_RUN_IFELSE([AC_LANG_SOURCE([[
        #include <stdlib.h>
        #include <fcntl.h>
        #include <poll.h>
-       #ifdef HAVE_SYS_POLL_H
-       #include <sys/poll.h>
-       #endif
        int main(void) {
          struct pollfd fds[1];
          int fd;
@@ -2483,16 +2472,16 @@ dnl *********************
 dnl *** GRegex checks ***
 dnl *********************
 
-PCRE_REQUIRED_VERSION=8.11
+PCRE_REQUIRED_VERSION=8.13
 
 # Check if we should use the internal or the system-supplied pcre
 AC_ARG_WITH(pcre,
-            [AC_HELP_STRING([--with-pcre=@<:@internal/system@:>@],
+            [AS_HELP_STRING([--with-pcre=@<:@internal/system@:>@],
                             [whether to use system PCRE [default=internal]])])
 
 AM_CONDITIONAL(USE_SYSTEM_PCRE, [test "x$with_pcre" = xsystem])
 
-if test "x$with_pcre" = xsystem; then
+AS_IF([ test "x$with_pcre" = xsystem], [
   PKG_CHECK_MODULES(PCRE,
                     libpcre >= $PCRE_REQUIRED_VERSION)
   AC_CACHE_CHECK([for Unicode support in PCRE],glib_cv_pcre_has_unicode,[
@@ -2524,17 +2513,17 @@ if test "x$with_pcre" = xsystem; then
   AC_DEFINE(USE_SYSTEM_PCRE, [], [using the system-supplied PCRE library])
   PCRE_REQUIRES=libpcre
   AC_SUBST(PCRE_REQUIRES)
-else
+], [
   # If using gcc 4 pass -Wno-pointer-sign when compiling the internal PCRE
-  if test x"$GCC" = xyes; then
+  AS_IF([ test x"$GCC" = xyes], [
     AC_MSG_CHECKING([whether compiler understands -Wno-pointer-sign])
     save_CFLAGS="$CFLAGS"
     CFLAGS="$CFLAGS -Wno-pointer-sign"
     AC_TRY_COMPILE([],[],[PCRE_WARN_CFLAGS="$PCRE_WARN_CFLAGS -Wno-pointer-sign"
                           AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)])
     CFLAGS="$save_CFLAGS"
-  fi
-fi
+  ])
+])
 AC_SUBST(PCRE_WARN_CFLAGS)
 
 dnl **********************
@@ -2573,7 +2562,7 @@ dnl ******************************************************************
 
 AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
 
-if test $cross_compiling = yes && test x$enable_modular_tests = xyes; then
+AS_IF([ test $cross_compiling = yes ], [
   AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal, no)
   if test x$GLIB_GENMARSHAL = xno; then
     AC_MSG_ERROR(Could not find a glib-genmarshal in your PATH)
@@ -2588,36 +2577,66 @@ if test $cross_compiling = yes && test x$enable_modular_tests = xyes; then
   if test x$GLIB_COMPILE_RESOURCES = xno; then
     AC_MSG_ERROR(Could not find a glib-compile-resources in your PATH)
   fi
-fi
+])
 
 dnl **************************
 dnl *** Checks for gtk-doc ***
 dnl **************************
-
-GTK_DOC_CHECK([1.15], [--flavour no-tmpl])
+# gtkdocize greps for ^GTK_DOC_CHECK and parses it, so you need to have
+# it on it's own line.
+m4_ifdef([GTK_DOC_CHECK], [
+GTK_DOC_CHECK([1.20], [--flavour no-tmpl])
+],[
+AM_CONDITIONAL([ENABLE_GTK_DOC],[false])
+])
 
 AC_ARG_ENABLE(man,
-              [AC_HELP_STRING([--enable-man],
-                              [regenerate man pages from Docbook [default=no]])],enable_man=yes,
-              enable_man=no)
-
-if test "${enable_man}" != no; then
-dnl
-dnl Check for xsltproc
-dnl
-AC_PATH_PROG([XSLTPROC], [xsltproc])
-  if test -z "$XSLTPROC"; then
+              [AS_HELP_STRING([--enable-man],
+                              [generate man pages [default=auto]])],,
+              enable_man=maybe)
+
+AS_IF([test "$enable_man" != no], [
+  AC_PATH_PROG([XSLTPROC], [xsltproc])
+  AS_IF([test -z "$XSLTPROC"], [
+    AS_IF([test "$enable_man" = yes], [
+      AC_MSG_ERROR([xsltproc is required for --enable-man])
+    ])
     enable_man=no
-  fi
+  ])
+])
 
-  dnl check for DocBook DTD and stylesheets in the local catalog.
+AS_IF([ test "$enable_man" != no ], [
+  dnl check for DocBook DTD in the local catalog
   JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
-     [DocBook XML DTD V4.1.2],,enable_man=no)
+     [DocBook XML DTD V4.1.2], [have_docbook_dtd=yes], [have_docbook_dtd=no])
+  AS_IF([test "$have_docbook_dtd" != yes], [
+    AS_IF([test "$enable_man" = yes ], [
+      AC_MSG_ERROR([DocBook DTD is required for --enable-man])
+    ])
+    enable_man=no
+  ])
+])
+
+AS_IF([test "$enable_man" != no], [
+  dnl check for DocBook XSL stylesheets in the local catalog
   JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
-     [DocBook XSL Stylesheets],,enable_man=no)
-fi
+     [DocBook XSL Stylesheets], [have_docbook_style=yes],[have_docbook_style=no])
+  AS_IF([ test "$have_docbook_dtd" != yes ], [
+    AS_IF([ test "$enable_man" = yes ], [
+      AC_MSG_ERROR([DocBook XSL Stylesheets are required for --enable-man])
+    ])
+    enable_man=no
+  ])
+])
 
-AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
+AM_CONDITIONAL(ENABLE_MAN, test "$enable_man" != no)
+
+AC_MSG_CHECKING([whether to generate man pages])
+AS_IF([ test "$enable_man" != no ], [
+  AC_MSG_RESULT([yes])
+], [
+  AC_MSG_RESULT([no])
+])
 
 dnl
 dnl Tracing
@@ -2628,7 +2647,7 @@ AC_ARG_ENABLE([dtrace],
                               [include tracing support for dtrace])])
 have_dtrace=no
 AC_MSG_CHECKING([whether to include dtrace tracing support])
-if test "x$enable_dtrace" != xno; then
+AS_IF([ test "x$enable_dtrace" != xno], [
   if test x$glib_have_carbon = xyes; then
     AC_MSG_RESULT([no (not yet compatible with MacOS dtrace)])
   else 
@@ -2645,9 +2664,9 @@ if test "x$enable_dtrace" != xno; then
                        fi])
     fi
   fi
-else
+], [
   AC_MSG_RESULT([no])
-fi
+])
 if test "x$have_dtrace" = xyes; then
   AC_DEFINE([HAVE_DTRACE], [1], [Define to 1 if using dtrace probes.])
 fi
@@ -2680,15 +2699,15 @@ dnl ************************************
 dnl *** Enable lcov coverage reports ***
 dnl ************************************
 
-AC_ARG_ENABLE(gcov,
-  AS_HELP_STRING([--enable-gcov],
+AC_ARG_ENABLE(coverage,
+  AS_HELP_STRING([--enable-coverage],
                 [enable coverage testing with gcov]),
   [use_gcov=$enableval], [use_gcov=no])
 
-if test "x$use_gcov" = "xyes"; then
+AS_IF([ test "x$use_gcov" = "xyes"], [
   dnl we need gcc:
   if test "$GCC" != "yes"; then
-    AC_MSG_ERROR([GCC is required for --enable-gcov])
+    AC_MSG_ERROR([GCC is required for --enable-coverage])
   fi
 
   dnl Check if ccache is being used
@@ -2699,14 +2718,14 @@ if test "x$use_gcov" = "xyes"; then
   esac
 
   if test "$gcc_ccache" = "yes" && (test -z "$CCACHE_DISABLE" || test "$CCACHE_DISABLE" != "1"); then
-    AC_MSG_ERROR([ccache must be disabled when --enable-gcov option is used. You can disable ccache by setting environment variable CCACHE_DISABLE=1.])
+    AC_MSG_ERROR([ccache must be disabled when --enable-coverage option is used. You can disable ccache by setting environment variable CCACHE_DISABLE=1.])
   fi
 
-  ltp_version_list="1.6 1.7 1.8 1.9"
+  ltp_version_list="1.6 1.7 1.8 1.9 1.10"
   AC_CHECK_PROG(LTP, lcov, lcov)
   AC_CHECK_PROG(LTP_GENHTML, genhtml, genhtml)
 
-  if test "$LTP"; then
+  AS_IF([ test "$LTP" ], [
     AC_CACHE_CHECK([for ltp version], glib_cv_ltp_version, [
       glib_cv_ltp_version=invalid
       ltp_version=`$LTP -v 2>/dev/null | $SED -e 's/^.* //'`
@@ -2716,10 +2735,10 @@ if test "x$use_gcov" = "xyes"; then
         fi
       done
     ])
-  else
+  ], [
     ltp_msg="To enable code coverage reporting you must have one of the following LTP versions installed: $ltp_version_list"
     AC_MSG_ERROR([$ltp_msg])
-  fi
+  ])
 
   case $glib_cv_ltp_version in
     ""|invalid[)]
@@ -2741,7 +2760,7 @@ if test "x$use_gcov" = "xyes"; then
   dnl Add the special gcc flags
   CFLAGS="$CFLAGS -O0 -fprofile-arcs -ftest-coverage"
   LDFLAGS="$LDFLAGS -lgcov"
-fi
+])
 
 dnl ******************************
 dnl *** output the whole stuff ***
@@ -2765,21 +2784,14 @@ AC_CONFIG_COMMANDS([glib/glibconfig.h],
 
 _______EOF
 
-       if test x$glib_limits_h = xyes; then
-         echo '#include <limits.h>' >> $outfile
-       fi
-       if test x$glib_float_h = xyes; then
-         echo '#include <float.h>' >> $outfile
-       fi
+       echo '#include <limits.h>' >> $outfile
+       echo '#include <float.h>' >> $outfile
        if test x$glib_values_h = xyes; then
          echo '#include <values.h>' >> $outfile
        fi
        if test "$glib_header_alloca_h" = "yes"; then
          echo '#define GLIB_HAVE_ALLOCA_H' >> $outfile
        fi
-       if test x$glib_sys_poll_h = xyes; then
-         echo '#define GLIB_HAVE_SYS_POLL_H' >> $outfile
-       fi
        if test x$glib_included_printf != xyes; then
           echo "
 /* Specifies that GLib's g_print*() functions wrap the
@@ -2793,24 +2805,25 @@ _______EOF
 
 G_BEGIN_DECLS
 
-#define G_MINFLOAT     $glib_mf
-#define G_MAXFLOAT     $glib_Mf
-#define G_MINDOUBLE    $glib_md
-#define G_MAXDOUBLE    $glib_Md
-#define G_MINSHORT     $glib_ms
-#define G_MAXSHORT     $glib_Ms
-#define G_MAXUSHORT    $glib_Mus
-#define G_MININT       $glib_mi
-#define G_MAXINT       $glib_Mi
-#define G_MAXUINT      $glib_Mui
-#define G_MINLONG      $glib_ml
-#define G_MAXLONG      $glib_Ml
-#define G_MAXULONG     $glib_Mul
+#define G_MINFLOAT     FLT_MIN
+#define G_MAXFLOAT     FLT_MAX
+#define G_MINDOUBLE    DBL_MIN
+#define G_MAXDOUBLE    DBL_MAX
+#define G_MINSHORT     SHRT_MIN
+#define G_MAXSHORT     SHRT_MAX
+#define G_MAXUSHORT    USHRT_MAX
+#define G_MININT       INT_MIN
+#define G_MAXINT       INT_MAX
+#define G_MAXUINT      UINT_MAX
+#define G_MINLONG      LONG_MIN
+#define G_MAXLONG      LONG_MAX
+#define G_MAXULONG     ULONG_MAX
 
 _______EOF
 
 
        ### this should always be true in a modern C/C++ compiler
+       ### and is statically asserted by glib-init.c
        cat >>$outfile <<_______EOF
 typedef signed char gint8;
 typedef unsigned char guint8;
@@ -2867,19 +2880,21 @@ _______EOF
 #define GLIB_SIZEOF_VOID_P $glib_void_p
 #define GLIB_SIZEOF_LONG   $glib_long
 #define GLIB_SIZEOF_SIZE_T $glib_size_t
+#define GLIB_SIZEOF_SSIZE_T $glib_ssize_t
 
 _______EOF
 
         cat >>$outfile <<_______EOF
-typedef signed $glib_size_type_define gssize;
+typedef signed $glib_ssize_type_define gssize;
 typedef unsigned $glib_size_type_define gsize;
 #define G_GSIZE_MODIFIER $gsize_modifier
-#define G_GSSIZE_FORMAT $gssize_format
+#define G_GSSIZE_MODIFIER $gssize_modifier
 #define G_GSIZE_FORMAT $gsize_format
+#define G_GSSIZE_FORMAT $gssize_format
 
 #define G_MAXSIZE      G_MAXU$glib_msize_type
-#define G_MINSSIZE     G_MIN$glib_msize_type
-#define G_MAXSSIZE     G_MAX$glib_msize_type
+#define G_MINSSIZE     G_MIN$glib_mssize_type
+#define G_MAXSSIZE     G_MAX$glib_mssize_type
 
 typedef gint64 goffset;
 #define G_MINOFFSET    G_MININT64
@@ -2914,8 +2929,10 @@ _______EOF
 
 
        cat >>$outfile <<_______EOF
-$glib_atexit
-$glib_memmove
+#ifndef G_DISABLE_DEPRECATED
+#define g_ATEXIT(proc) (atexit (proc))
+#define g_memmove(dest,src,len) G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END
+#endif
 $glib_defines
 $glib_os
 $glib_static_compilation
@@ -2983,7 +3000,7 @@ _______EOF
        if test x$g_have_eilseq = xno; then
                cat >>$outfile <<_______EOF
 #ifndef EILSEQ
-/* On some systems, like SunOS and NetBSD, EILSEQ is not defined.
+/* On some pre-C99 systems, EILSEQ is not defined.
  * The correspondence between this and the corresponding definition
  * in libiconv is essential.
  */
@@ -3045,9 +3062,9 @@ _______EOF
 #define GINT_TO_BE(val)                ((gint) GINT${gintbits}_TO_BE (val))
 #define GUINT_TO_BE(val)       ((guint) GUINT${gintbits}_TO_BE (val))
 #define GSIZE_TO_LE(val)       ((gsize) GUINT${gsizebits}_TO_LE (val))
-#define GSSIZE_TO_LE(val)      ((gssize) GINT${gsizebits}_TO_LE (val))
+#define GSSIZE_TO_LE(val)      ((gssize) GINT${gssizebits}_TO_LE (val))
 #define GSIZE_TO_BE(val)       ((gsize) GUINT${gsizebits}_TO_BE (val))
-#define GSSIZE_TO_BE(val)      ((gssize) GINT${gsizebits}_TO_BE (val))
+#define GSSIZE_TO_BE(val)      ((gssize) GINT${gssizebits}_TO_BE (val))
 #define G_BYTE_ORDER $g_byte_order
 
 #define GLIB_SYSDEF_POLLIN =$g_pollin
@@ -3094,38 +3111,6 @@ else
   glib_header_alloca_h="$ac_cv_header_alloca_h"
 fi
 
-case xyes in
-x$ac_cv_header_float_h)
-  glib_float_h=yes
-  glib_mf=FLT_MIN glib_Mf=FLT_MAX
-  glib_md=DBL_MIN glib_Md=DBL_MAX
-  ;;
-x$ac_cv_header_values_h)
-  glib_values_h=yes
-  glib_mf=MINFLOAT  glib_Mf=MAXFLOAT
-  glib_md=MINDOUBLE glib_Md=MAXDOUBLE
-  ;;
-esac
-
-case xyes in
-x$ac_cv_header_limits_h)
-  glib_limits_h=yes
-  glib_ms=SHRT_MIN glib_Ms=SHRT_MAX glib_Mus=USHRT_MAX
-  glib_mi=INT_MIN  glib_Mi=INT_MAX  glib_Mui=UINT_MAX
-  glib_ml=LONG_MIN glib_Ml=LONG_MAX glib_Mul=ULONG_MAX
-  ;;
-x$ac_cv_header_values_h)
-  glib_values_h=yes
-  glib_ms=MINSHORT glib_Ms=MAXSHORT glib_Mus="(((gushort)G_MAXSHORT)*2+1)"
-  glib_mi=MININT   glib_Mi=MAXINT   glib_Mui="(((guint)G_MAXINT)*2+1)"
-  glib_ml=MINLONG  glib_Ml=MAXLONG  glib_Mul="(((gulong)G_MAXLONG)*2+1)"
-  ;;
-esac
-
-if test x$ac_cv_header_sys_poll_h = xyes ; then
-  glib_sys_poll_h=yes
-fi
-
 if test x$enable_included_printf = xyes ; then
   glib_included_printf=yes
 fi
@@ -3207,7 +3192,9 @@ $ac_cv_sizeof___int64)
   ;;
 esac
 glib_size_t=$ac_cv_sizeof_size_t
+glib_ssize_t=$ac_cv_sizeof_ssize_t
 glib_size_type_define="$glib_size_type"
+glib_ssize_type_define="$glib_ssize_type"
 glib_void_p=$ac_cv_sizeof_void_p
 glib_long=$ac_cv_sizeof_long
 
@@ -3215,32 +3202,52 @@ case "$glib_size_type" in
 short)
   gsize_modifier='"h"'
   gsize_format='"hu"'
-  gssize_format='"hi"'
   glib_msize_type='SHRT'
   ;;
 int)
   gsize_modifier='""'
   gsize_format='"u"'
-  gssize_format='"i"'
   glib_msize_type='INT'
   ;;
 long)
   gsize_modifier='"l"'
   gsize_format='"lu"'
-  gssize_format='"li"'
   glib_msize_type='LONG'
   ;;
 "long long"|__int64)
   gsize_modifier='"I64"'
   gsize_format='"I64u"'
-  gssize_format='"I64i"'
   glib_msize_type='INT64'
   ;;
 esac
 
+case "$glib_ssize_type" in
+short)
+  gssize_modifier='"h"'
+  gssize_format='"hi"'
+  glib_mssize_type='SHRT'
+  ;;
+int)
+  gssize_modifier='""'
+  gssize_format='"i"'
+  glib_mssize_type='INT'
+  ;;
+long)
+  gssize_modifier='"l"'
+  gssize_format='"li"'
+  glib_mssize_type='LONG'
+  ;;
+"long long"|__int64)
+  gssize_modifier='"I64"'
+  gssize_format='"I64i"'
+  glib_mssize_type='INT64'
+  ;;
+esac
+
 gintbits=`expr $ac_cv_sizeof_int \* 8`
 glongbits=`expr $ac_cv_sizeof_long \* 8`
 gsizebits=`expr $ac_cv_sizeof_size_t \* 8`
+gssizebits=`expr $ac_cv_sizeof_ssize_t \* 8`
 
 case $ac_cv_sizeof_void_p in
 $ac_cv_sizeof_int)
@@ -3281,39 +3288,6 @@ $ac_cv_sizeof___int64)
 esac
 
 
-case xyes in
-x$ac_cv_func_atexit)
-  glib_atexit="
-#ifdef NeXT /* @#%@! NeXTStep */
-# define g_ATEXIT(proc)        (!atexit (proc))
-#else
-# define g_ATEXIT(proc)        (atexit (proc))
-#endif"
-  ;;
-x$ac_cv_func_on_exit)
-  glib_atexit="
-#define g_ATEXIT(proc) (on_exit ((void (*)(int, void*))(proc), NULL))"
-  ;;
-esac
-
-case xyes in
-x$ac_cv_func_memmove)
-  glib_memmove='
-#define g_memmove(dest,src,len) G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END'
-  ;;
-x$glib_cv_working_bcopy)
-  glib_memmove="
-/* memmove isn't available, but bcopy can copy overlapping memory regions */
-#define g_memmove(d,s,n) G_STMT_START { bcopy ((s), (d), (n)); } G_STMT_END"
-  ;;
-*)  
-  glib_memmove="
-/* memmove isn't found and bcopy can't copy overlapping memory regions, 
- * so we have to roll our own copy routine. */
-void g_memmove (void* dest, const void * src, unsigned long len);"
-  ;;
-esac
-
 glib_defines="
 #define GLIB_MAJOR_VERSION $GLIB_MAJOR_VERSION
 #define GLIB_MINOR_VERSION $GLIB_MINOR_VERSION
@@ -3400,9 +3374,6 @@ g_module_suffix="$glib_gmodule_suffix"
 
 g_pid_type="$glib_pid_type"
 case $host in
-  *-*-beos*)
-    glib_os="#define G_OS_BEOS"
-    ;;
   *-*-cygwin*)
     glib_os="#define G_OS_UNIX
 #define G_PLATFORM_WIN32
@@ -3462,14 +3433,12 @@ AC_CHECK_ALIGNOF([unsigned long])
 # Check for libdbus1 - Optional - is only used in the GDBus test cases
 #
 # 1.2.14 required for dbus_message_set_serial
-if test x$enable_modular_tests = xyes; then
-   PKG_CHECK_MODULES(DBUS1,
-                     dbus-1 >= 1.2.14,
-                     [AC_DEFINE(HAVE_DBUS1, 1, [Define if dbus-1 is available]) have_dbus1=yes],
-                     have_dbus1=no)
-   AC_SUBST(DBUS1_CFLAGS)
-   AC_SUBST(DBUS1_LIBS)
-fi
+PKG_CHECK_MODULES(DBUS1,
+     dbus-1 >= 1.2.14,
+     [AC_DEFINE(HAVE_DBUS1, 1, [Define if dbus-1 is available]) have_dbus1=yes],
+     have_dbus1=no)
+AC_SUBST(DBUS1_CFLAGS)
+AC_SUBST(DBUS1_LIBS)
 AM_CONDITIONAL(HAVE_DBUS1, [test "x$have_dbus1" = "xyes"])
 
 AC_CHECK_PROGS([DBUS_DAEMON], [dbus-daemon])
@@ -3481,17 +3450,18 @@ dnl intra-library PLT jumps, if available.
 dnl
 
 AC_ARG_ENABLE(Bsymbolic,
-              [AC_HELP_STRING([--disable-Bsymbolic],
+              [AS_HELP_STRING([--disable-Bsymbolic],
                               [avoid linking with -Bsymbolic])],,
-              [SAVED_LDFLAGS="${LDFLAGS}"
+              [SAVED_LDFLAGS="${LDFLAGS}" SAVED_LIBS="${LIBS}"
                AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
                LDFLAGS=-Wl,-Bsymbolic-functions
-               AC_TRY_LINK([], [int main (void) { return 0; }],
+               LIBS=
+               AC_TRY_LINK([], [return 0],
                            AC_MSG_RESULT(yes)
                            enable_Bsymbolic=yes,
                            AC_MSG_RESULT(no)
                            enable_Bsymbolic=no)
-               LDFLAGS="${SAVED_LDFLAGS}"])
+               LDFLAGS="${SAVED_LDFLAGS}" LIBS="${SAVED_LIBS}"])
 
 if test "x${enable_Bsymbolic}" = "xyes"; then
   GLIB_LINK_FLAGS=-Wl,-Bsymbolic-functions
@@ -3499,6 +3469,89 @@ fi
 
 AC_SUBST(GLIB_LINK_FLAGS)
 
+dnl
+dnl Check for -z,nodelete linker flag: the type system assumes that
+dnl libgobject stays loaded for the lifetime of the process.
+dnl Since ld.bfd does not treat wrong -z options as fatal by default,
+dnl we also try to check for the --fatal-warnings linker flag if
+dnl auto-detecting.
+dnl
+
+AC_ARG_ENABLE([znodelete],
+              [AS_HELP_STRING([--disable-znodelete],
+                              [avoid linking with -z,nodelete])],,
+              [SAVED_LDFLAGS="${LDFLAGS}" SAVED_LIBS="${LIBS}"
+               AC_MSG_CHECKING([for --fatal-warnings linker flag])
+               LDFLAGS=-Wl,--fatal-warnings
+               LIBS=
+               AC_TRY_LINK([], [return 0],
+                           AC_MSG_RESULT(yes)
+                           [ldflags_fatal=-Wl,--fatal-warnings],
+                           AC_MSG_RESULT(no)
+                           ldflags_fatal=)
+               AC_MSG_CHECKING([for -z,nodelete linker flag])
+               LDFLAGS="$ldflags_fatal -Wl,-z,nodelete"
+               AC_TRY_LINK([], [return 0],
+                           AC_MSG_RESULT(yes)
+                           enable_znodelete=yes,
+                           AC_MSG_RESULT(no)
+                           enable_znodelete=no)
+               LDFLAGS="${SAVED_LDFLAGS}" LIBS="${SAVED_LIBS}"])
+
+if test "x${enable_znodelete}" = "xyes"; then
+  GOBJECT_LINK_FLAGS=-Wl,-z,nodelete
+fi
+
+AC_SUBST(GOBJECT_LINK_FLAGS)
+
+dnl
+dnl Check for -fvisibility=hidden to determine if we can do GNU-style
+dnl visibility attributes for symbol export control
+dnl
+GLIB_HIDDEN_VISIBILITY_CFLAGS=""
+case "$host" in
+  *-*-mingw*)
+    dnl on mingw32 we do -fvisibility=hidden and __declspec(dllexport)
+    AC_DEFINE([_GLIB_EXTERN], [__attribute__((visibility("default"))) __declspec(dllexport) extern],
+              [defines how to decorate public symbols while building])
+    CFLAGS="${CFLAGS} -fvisibility=hidden"
+    ;;
+  *)
+    dnl on other compilers, check if we can do -fvisibility=hidden
+    SAVED_CFLAGS="${CFLAGS}"
+    CFLAGS="-fvisibility=hidden"
+    AC_MSG_CHECKING([for -fvisibility=hidden compiler flag])
+    AC_TRY_COMPILE([], [return 0],
+                   AC_MSG_RESULT(yes)
+                   enable_fvisibility_hidden=yes,
+                   AC_MSG_RESULT(no)
+                   enable_fvisibility_hidden=no)
+    CFLAGS="${SAVED_CFLAGS}"
+
+    AS_IF([test "${enable_fvisibility_hidden}" = "yes"], [
+      AC_DEFINE([_GLIB_EXTERN], [__attribute__((visibility("default"))) extern],
+                [defines how to decorate public symbols while building])
+      GLIB_HIDDEN_VISIBILITY_CFLAGS="-fvisibility=hidden"
+    ])
+    ;;
+esac
+AC_SUBST(GLIB_HIDDEN_VISIBILITY_CFLAGS)
+
+dnl Compiler flags; macro originates from systemd
+dnl See https://bugzilla.gnome.org/show_bug.cgi?id=608953
+AC_ARG_ENABLE(compile-warnings,
+              [AS_HELP_STRING([--disable-compile-warnings],
+                              [Don't use builtin compiler warnings])],,
+                             enable_compile_warnings=yes)
+AS_IF([test "x$enable_compile_warnings" = xyes], [
+  CC_CHECK_FLAGS_APPEND([GLIB_WARN_CFLAGS], [CFLAGS], [\
+   -Wall -Wstrict-prototypes -Werror=declaration-after-statement \
+   -Werror=missing-prototypes -Werror=implicit-function-declaration \
+   -Werror=pointer-arith -Werror=init-self -Werror=format-security \
+   -Werror=format=2 -Werror=missing-include-dirs])
+])
+AC_SUBST(GLIB_WARN_CFLAGS)
+
 #
 # Define variables corresponding to the correct include paths to use for
 # in-tree building.
@@ -3516,14 +3569,9 @@ AC_SUBST(config_h_INCLUDES)
 glib_INCLUDES='$(config_h_INCLUDES) -I$(top_builddir)/glib -I$(top_srcdir)/glib -I$(top_srcdir)'
 AC_SUBST(glib_INCLUDES)
 
-# gthread:
-#   same as glib
-gthread_INCLUDES='$(glib_INCLUDES)'
-AC_SUBST(gthread_INCLUDES)
-
 # gobject:
-#   same as gthread
-gobject_INCLUDES='$(gthread_INCLUDES)'
+#   same as glib
+gobject_INCLUDES='$(glib_INCLUDES)'
 AC_SUBST(gobject_INCLUDES)
 
 # gmodule:
@@ -3556,6 +3604,8 @@ build/win32/Makefile
 build/win32/dirent/Makefile
 build/win32/vs9/Makefile
 build/win32/vs10/Makefile
+build/win32/vs11/Makefile
+build/win32/vs12/Makefile
 glib/Makefile
 glib/glib.stp
 glib/libcharset/Makefile
@@ -3573,13 +3623,18 @@ gthread/Makefile
 gio/Makefile
 gio/gdbus-2.0/codegen/Makefile
 gio/gdbus-2.0/codegen/config.py
+gio/gnetworking.h
 gio/xdgmime/Makefile
 gio/inotify/Makefile
+gio/kqueue/Makefile
 gio/fen/Makefile
 gio/fam/Makefile
 gio/win32/Makefile
 gio/tests/Makefile
 gio/tests/gdbus-object-manager-example/Makefile
+gio/tests/services/Makefile
+gio/tests/services/org.gtk.GDBus.Examples.ObjectManager.service
+gio/tests/modules/Makefile
 po/Makefile.in
 docs/Makefile
 docs/reference/Makefile