[glib] Bug 652827 - glib-2.29.8 no longer builds with mingw.org's toolchain
- From: Behdad Esfahbod <behdad src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] Bug 652827 - glib-2.29.8 no longer builds with mingw.org's toolchain
- Date: Thu, 11 Aug 2011 06:41:01 +0000 (UTC)
commit 349212211247781e7bec43b95cb57dddc1d0e5b1
Author: Behdad Esfahbod <behdad behdad org>
Date: Tue Aug 9 19:43:34 2011 +0200
Bug 652827 - glib-2.29.8 no longer builds with mingw.org's toolchain
Check for Win32 atomic intrinsics.
configure.ac | 12 +++++++++++-
glib/gatomic.c | 2 +-
2 files changed, 12 insertions(+), 2 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 8fbc4f5..8168988 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2596,10 +2596,20 @@ if test x"$GCC" = xyes; then
AC_MSG_RESULT($glib_cv_gcc_has_builtin_atomic_operations)
fi
-
AM_CONDITIONAL(HAVE_GCC_BUILTINS_FOR_ATOMIC_OPERATIONS,
[test $glib_cv_gcc_has_builtin_atomic_operations = yes])
+AC_MSG_CHECKING([for Win32 atomic intrinsics])
+glib_cv_has_win32_atomic_operations=no
+AC_TRY_LINK([],
+ [int i; _InterlockedExchangeAdd (&i, 0);],
+ [glib_cv_has_win32_atomic_operations=yes],
+ [glib_cv_has_win32_atomic_operations=no])
+AC_MSG_RESULT($glib_cv_has_win32_atomic_operations)
+if test "x$glib_cv_has_win32_atomic_operations" = xyes; then
+ AC_DEFINE(HAVE_WIN32_BUILTINS_FOR_ATOMIC_OPERATIONS,1,[Have Win32 atomic intrinsics])
+fi
+
dnl ************************
dnl ** Check for futex(2) **
dnl ************************
diff --git a/glib/gatomic.c b/glib/gatomic.c
index 328ad4f..1e83f19 100644
--- a/glib/gatomic.c
+++ b/glib/gatomic.c
@@ -455,7 +455,7 @@ gsize
return g_atomic_pointer_xor ((volatile gpointer *) atomic, val);
}
-#elif defined (G_PLATFORM_WIN32)
+#elif defined (G_PLATFORM_WIN32) && defined(HAVE_WIN32_BUILTINS_FOR_ATOMIC_OPERATIONS)
#include <windows.h>
#if !defined(_M_AMD64) && !defined (_M_IA64) && !defined(_M_X64)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]