@@ -583,37 +583,38 @@ ]) ]) atomic_ops="none" - AC_MSG_CHECKING(whether we have an atomic ops assembly implementation) - AC_EGREP_CPP(yes, [ - #if defined(__GNUC__) && (defined(__i386__) || \ - defined(__x86_64__) || defined(__amd64__)) - yes - #endif - ], [ - AC_MSG_RESULT(yes) - atomic_ops="assembly implementation" - ], [ - AC_MSG_RESULT(no) - ]) - AC_MSG_CHECKING(whether __sync_* works) AC_TRY_LINK([#include ], [ int32_t i, j; if (__sync_add_and_fetch(&i, 1)) j = __sync_sub_and_fetch(&i, 1); while (!__sync_bool_compare_and_swap(&i, 0, 1)); ], [ AC_MSG_RESULT(yes) - test x"$atomic_ops" = x"none" && atomic_ops="gcc builtins" + atomic_ops="gcc builtins" AC_DEFINE(OF_HAVE_GCC_ATOMIC_OPS, 1, [Whether gcc atomic operations are available]) ], [ AC_MSG_RESULT(no) ]) + + AC_MSG_CHECKING(whether we have an atomic ops assembly implementation) + AC_EGREP_CPP(yes, [ + #if defined(__GNUC__) && (defined(__i386__) || \ + defined(__x86_64__) || defined(__amd64__)) + yes + #endif + ], [ + AC_MSG_RESULT(yes) + test x"$atomic_ops" = x"none" && \ + atomic_ops="assembly implementation" + ], [ + AC_MSG_RESULT(no) + ]) AC_CHECK_HEADER(libkern/OSAtomic.h, [ test x"$atomic_ops" = x"none" && atomic_ops="libkern/OSAtomic.h" AC_DEFINE(OF_HAVE_OSATOMIC, 1, [Whether we have libkern/OSAtomic.h])