]> git.ipfire.org Git - thirdparty/pdns.git/blob - m4/pdns_check_os.m4
Merge pull request #10543 from RobinGeuze/actuallyUseQCinUeberbackend
[thirdparty/pdns.git] / m4 / pdns_check_os.m4
1 AC_DEFUN([PDNS_CHECK_OS],[
2 THREADFLAGS=""
3
4 case "$host_os" in
5 solaris2.1*)
6 LIBS="-lposix4 -lpthread $LIBS"
7 CXXFLAGS="-D_REENTRANT $CXXFLAGS"
8 have_solaris="yes"
9 ;;
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"
15 have_solaris="yes"
16 ;;
17 linux*)
18 THREADFLAGS="-pthread"
19 have_linux="yes"
20 ;;
21 darwin*)
22 CXXFLAGS="-D__APPLE_USE_RFC_3542 -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE $CXXFLAGS"
23 have_darwin="yes"
24 ;;
25 freebsd*)
26 THREADFLAGS="-pthread"
27 have_freebsd="yes"
28 ;;
29 openbsd*)
30 THREADFLAGS="-pthread"
31 have_openbsd="yes"
32 ;;
33 *)
34 LDFLAGS="-pthread $LDFLAGS"
35 CXXFLAGS="-pthread $CXXFLAGS"
36 ;;
37 esac
38
39 AM_CONDITIONAL([HAVE_FREEBSD], [test "x$have_freebsd" = "xyes"])
40 AM_CONDITIONAL([HAVE_OPENBSD], [test "x$have_openbsd" = "xyes"])
41 AM_CONDITIONAL([HAVE_LINUX], [test "x$have_linux" = "xyes"])
42 AM_CONDITIONAL([HAVE_DARWIN], [test "x$have_darwin" = "xyes"])
43 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$have_solaris" = "xyes"])
44
45 AC_MSG_CHECKING([whether -latomic is needed for __atomic builtins])
46 AC_LINK_IFELSE(
47 [AC_LANG_PROGRAM([[#include <stdint.h>]],
48 [[uint64_t val = 0; __atomic_add_fetch(&val, 1, __ATOMIC_RELAXED);]]
49 )],
50 [AC_MSG_RESULT([no])],
51 [LIBS="$LIBS -latomic"
52 AC_LINK_IFELSE(
53 [AC_LANG_PROGRAM([[#include <stdint.h>]],
54 [[uint64_t val = 0; __atomic_add_fetch(&val, 1, __ATOMIC_RELAXED);]]
55 )],
56 [AC_MSG_RESULT([yes])],
57 [AC_MSG_FAILURE([libatomic needed, but linking with -latomic failed, cannot continue])]
58 )]
59 )
60
61 AC_SUBST(THREADFLAGS)
62 AC_SUBST([DYNLINKFLAGS], [-export-dynamic])
63 ])