Module: xenomai-forge Branch: master Commit: 7daf709479cc3ec1abac9965917d0c5532e57bf1 URL: http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=7daf709479cc3ec1abac9965917d0c5532e57bf1
Author: Philippe Gerum <r...@xenomai.org> Date: Sun Nov 20 18:42:50 2011 +0100 build: require compiler support for atomic builtins --- configure | 34 ++++++++++++++++++++++++++++++++++ configure.in | 13 +++++++++++++ 2 files changed, 47 insertions(+), 0 deletions(-) diff --git a/configure b/configure index 627ee29..98f0209 100755 --- a/configure +++ b/configure @@ -12753,6 +12753,40 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 $as_echo "done" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler provides atomic builtins" >&5 +$as_echo_n "checking whether the compiler provides atomic builtins... " >&6; } +if test "${ac_cv_atomic_builtins+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int atomic_sub(int i) { return __sync_sub_and_fetch(&i, 1); } +int atomic_add(int i) { return __sync_add_and_fetch(&i, 1); } + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_atomic_builtins="yes" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_atomic_builtins" >&5 +$as_echo "$ac_cv_atomic_builtins" >&6; } +if test "$ac_cv_atomic_builtins" != "yes"; then + as_fn_error $? "compiler does not support atomic builtins." "$LINENO" 5 +fi + XENO_USER_CFLAGS="-D_GNU_SOURCE -D_REENTRANT -Wall -pipe -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wno-unused-parameter -Werror" XENO_USER_LDFLAGS= diff --git a/configure.in b/configure.in index f1524cb..d67c14c 100644 --- a/configure.in +++ b/configure.in @@ -510,6 +510,19 @@ else fi AC_MSG_RESULT([done]) +dnl Check for atomic builtins. For now we only check for the legacy +dnl interface, i.e. __sync_*. + +AC_CACHE_CHECK([whether the compiler provides atomic builtins], ac_cv_atomic_builtins, [ +AC_TRY_LINK([ +int atomic_sub(int i) { return __sync_sub_and_fetch(&i, 1); } +int atomic_add(int i) { return __sync_add_and_fetch(&i, 1); } +], [], ac_cv_atomic_builtins="yes") +]) +if test "$ac_cv_atomic_builtins" != "yes"; then + AC_MSG_ERROR([compiler does not support atomic builtins.]) +fi + dnl Common CFLAGS and LDFLAGS XENO_USER_CFLAGS="-D_GNU_SOURCE -D_REENTRANT -Wall -pipe -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wno-unused-parameter -Werror" XENO_USER_LDFLAGS= _______________________________________________ Xenomai-git mailing list Xenomai-git@gna.org https://mail.gna.org/listinfo/xenomai-git