1 AC_DEFUN([PDNS_CHECK_OS],[
6 LIBS="-lposix4 -lpthread $LIBS"
7 CXXFLAGS="-D_REENTRANT $CXXFLAGS"
10 solaris2.8 | solaris2.9 )
11 AC_DEFINE(NEED_POSIX_TYPEDEF,,[If POSIX typedefs need to be defined])
12 AC_DEFINE(NEED_INET_NTOP_PROTO,,[If your OS is so broken that it needs an additional prototype])
13 LIBS="-lposix4 -lpthread $LIBS"
14 CXXFLAGS="-D_REENTRANT $CXXFLAGS"
18 THREADFLAGS="-pthread"
22 CXXFLAGS="-D__APPLE_USE_RFC_3542 -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE $CXXFLAGS"
25 THREADFLAGS="-pthread"
29 LDFLAGS="-pthread $LDFLAGS"
30 CXXFLAGS="-pthread $CXXFLAGS"
34 AM_CONDITIONAL([HAVE_FREEBSD], [test "x$have_freebsd" = "xyes"])
35 AM_CONDITIONAL([HAVE_LINUX], [test "x$have_linux" = "xyes"])
36 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$have_solaris" = "xyes"])
38 AC_MSG_CHECKING([whether -latomic is needed for __atomic builtins])
40 [AC_LANG_PROGRAM([[#include <stdint.h>]],
41 [[uint64_t val = 0; __atomic_add_fetch(&val, 1, __ATOMIC_RELAXED);]]
43 [AC_MSG_RESULT([no])],
44 [LIBS="$LIBS -latomic"
46 [AC_LANG_PROGRAM([[#include <stdint.h>]],
47 [[uint64_t val = 0; __atomic_add_fetch(&val, 1, __ATOMIC_RELAXED);]]
49 [AC_MSG_RESULT([yes])],
50 [AC_MSG_FAILURE([libatomic needed, but linking with -latomic failed, cannot continue])]
55 AC_SUBST([DYNLINKFLAGS], [-export-dynamic])