$OpenBSD: patch-configure_ac,v 1.3 2017/09/25 10:09:40 sthen Exp $
Index: configure.ac
--- configure.ac.orig
+++ configure.ac
@@ -43,6 +43,7 @@ AC_FUNC_MEMCMP
 AC_FUNC_MALLOC
 AC_FUNC_REALLOC
 AC_CHECK_FUNCS(strcasecmp strdup strerror snprintf vsnprintf vasprintf open vsyslog strncasecmp setlocale)
+AC_SEARCH_LIBS(arc4random, bsd, [AC_DEFINE(HAVE_ARC4RANDOM, [1], [Define to 1 if you have the `arc4random' function.])])
 AC_CHECK_DECLS([INFINITY], [], [], [[#include <math.h>]])
 AC_CHECK_DECLS([nan], [], [], [[#include <math.h>]])
 AC_CHECK_DECLS([isnan], [], [], [[#include <math.h>]])
@@ -66,6 +67,21 @@ int main(int c,char* v) {return 0;}
    AC_MSG_RESULT(no)
 ])
 
+AC_MSG_CHECKING([if compiler supports __sync_val_compare_and_swap with int objects])
+AC_LINK_IFELSE([AC_LANG_SOURCE([[
+int
+main(void) {
+    int r = 0;
+    __sync_val_compare_and_swap(&r, 0, 1);
+    return 0;
+}
+]])], [
+    AC_DEFINE(HAS___SYNC_VAL_COMPARE_AND_SWAP_INT, 1, [Define if compiler supports __sync_val_compare_and_swap.])
+    AC_MSG_RESULT(yes)
+], [
+   AC_MSG_RESULT(no)
+])
+
 AC_LANG_POP([C])
 
 AM_PROG_LIBTOOL
@@ -81,7 +97,7 @@ AS_IF([test "x$enable_Bsymbolic" = "xcheck"],
         saved_LDFLAGS="${LDFLAGS}"
         AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
         LDFLAGS=-Wl,-Bsymbolic-functions
-        AC_TRY_LINK([], [int main (void) { return 0; }],
+        AC_TRY_LINK([], [],
                     [
                       AC_MSG_RESULT([yes])
                       enable_Bsymbolic=yes
