File: CheckAtomics.m4

package info (click to toggle)
php-mongodb 1.9.0%2B1.7.5-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 29,296 kB
  • sloc: ansic: 160,374; xml: 5,097; php: 2,175; sh: 107; python: 47; pascal: 23; makefile: 3
file content (23 lines) | stat: -rw-r--r-- 1,098 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
AC_LANG_PUSH([C])
AC_MSG_CHECKING([for __sync_add_and_fetch_4])
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdint.h>]],
                                [[int32_t v = 1; return __sync_add_and_fetch_4 (&v, (int32_t)10);]])],
               [AC_MSG_RESULT(yes)
                have_sync_add_and_fetch_4=yes],
               [AC_MSG_RESULT(no)
                have_sync_add_and_fetch_4=no])
AS_IF([test "$have_sync_add_and_fetch_4" = "yes"],
      [AC_SUBST(BSON_HAVE_ATOMIC_32_ADD_AND_FETCH, 1)],
      [AC_SUBST(BSON_HAVE_ATOMIC_32_ADD_AND_FETCH, 0)])

AC_MSG_CHECKING([for __sync_add_and_fetch_8])
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdint.h>]],
                                [[int64_t v; return __sync_add_and_fetch_8 (&v, (int64_t)10);]])],
               [AC_MSG_RESULT(yes)
                have_sync_add_and_fetch_8=yes],
               [AC_MSG_RESULT(no)
                have_sync_add_and_fetch_8=no])
AS_IF([test "$have_sync_add_and_fetch_8" = "yes"],
      [AC_SUBST(BSON_HAVE_ATOMIC_64_ADD_AND_FETCH, 1)],
      [AC_SUBST(BSON_HAVE_ATOMIC_64_ADD_AND_FETCH, 0)])
AC_LANG_POP([C])