summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2007-09-04 21:24:45 +0000
committerLennart Poettering <lennart@poettering.net>2007-09-04 21:24:45 +0000
commit984ef82e52822abdf6492ed13b016b6b115414b4 (patch)
tree27302cec1187c6d1d2bdc18ad878a61bb321517c
parent4c31ff9b452eee995e621bd877f321eea974fc7e (diff)
detect whether gcc atomic builtins are available
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1769 fefdeb5f-60dc-0310-8127-8f9354f1896f
-rw-r--r--configure.ac16
1 files changed, 14 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac
index 34858087..626a1ce6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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