detect whether gcc atomic builtins are available
authorLennart Poettering <lennart@poettering.net>
Tue, 4 Sep 2007 21:24:45 +0000 (21:24 +0000)
committerLennart Poettering <lennart@poettering.net>
Tue, 4 Sep 2007 21:24:45 +0000 (21:24 +0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1769 fefdeb5f-60dc-0310-8127-8f9354f1896f

configure.ac

index 3485808..626a1ce 100644 (file)
@@ -81,8 +81,8 @@ fi
 # GCC flags
 
 test_gcc_flag() {
-    AC_LANG_CONFTEST([int main() {}])
-    $CC -c conftest.c $CFLAGS $@ > /dev/null 2> /dev/null
+    AC_LANG_CONFTEST([int main(int argc, char*argv[]) {}])
+    $CC -c conftest.c $CFLAGS -o conftest.o > /dev/null 2> /dev/null
     ret=$?
     rm -f conftest.o
     return $ret
@@ -106,6 +106,18 @@ if test "x$GCC" = "xyes" ; then
     done 
 fi
 
+AC_MSG_CHECKING([whether $CC knows __sync_bool_compare_and_swap()])
+AC_LANG_CONFTEST([int main() { int a = 4; __sync_bool_compare_and_swap(&a, 4, 5); }])
+$CC conftest.c $CFLAGS -o conftest > /dev/null 2> /dev/null
+ret=$?
+rm -f conftest.o conftest
+if test $ret -eq 0 ; then
+    AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
+    AC_MSG_RESULT([yes])
+else
+    AC_MSG_RESULT([no])
+fi
+
 #### libtool stuff ####
 
 AC_LTDL_ENABLE_INSTALL