From: Antoine Jacoutot Date: Wed, 28 Aug 2013 07:35:27 +0000 (+0200) Subject: fix atomic ops detection X-Git-Tag: 2.37.7~13 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=996edb0c46356d8a326f886b91a77a6af9a2de3e;p=platform%2Fupstream%2Fglib.git fix atomic ops detection AC_TRY_LINK should be used instead of AC_TRY_COMPILE because the code will compile everywhere, either producing ``atomic'' code, or an external reference to __sync_bool_compare_and_swap. https://bugzilla.gnome.org/show_bug.cgi?id=706958 --- diff --git a/configure.ac b/configure.ac index 826204e..3c2e142 100644 --- a/configure.ac +++ b/configure.ac @@ -2454,7 +2454,7 @@ AC_CACHE_CHECK([for lock-free atomic intrinsics], glib_cv_g_atomic_lock_free, [ glib_cv_g_atomic_lock_free=yes ;; *) - AC_TRY_COMPILE([], + AC_TRY_LINK([], [volatile int atomic = 2;\ __sync_bool_compare_and_swap (&atomic, 2, 3);], [glib_cv_g_atomic_lock_free=yes], @@ -2462,7 +2462,7 @@ AC_CACHE_CHECK([for lock-free atomic intrinsics], glib_cv_g_atomic_lock_free, [ if test "$glib_cv_g_atomic_lock_free" = "no"; then SAVE_CFLAGS="${CFLAGS}" CFLAGS="-march=i486" - AC_TRY_COMPILE([], + 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.])], @@ -2480,7 +2480,7 @@ case $host in # 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_COMPILE([], + AC_TRY_LINK([], [__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4;], [], [AC_DEFINE(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4, 1, [ compiler supports atomic operations])])