$OpenBSD: patch-configure_in,v 1.2 2019/01/22 11:55:20 stsp Exp $

Index: configure.in
--- configure.in.orig
+++ configure.in
@@ -1460,6 +1460,10 @@ case $host in
     *)
         AC_CHECK_FUNCS(mkstemp)
         ;;
+    *-openbsd*)
+        off_t_fmt='#define APR_OFF_T_FMT APR_INT64_T_FMT'
+        off_t_strfn='apr_strtoi64'
+	;;
 esac
 
 AC_SUBST(fork)
@@ -1936,6 +1940,14 @@ elif test "$ac_cv_type_off_t" = "yes"; then
         off_t_fmt='#define APR_OFF_T_FMT "I64d"'
         off_t_strfn='_strtoi64'
         ;;
+    *-openbsd*)
+        int64_t_fmt='#define APR_INT64_T_FMT "lld"'
+        uint64_t_fmt='#define APR_UINT64_T_FMT "llu"'
+        uint64_t_hex_fmt='#define APR_UINT64_T_HEX_FMT "llx"'
+        int64_value="long long"
+        long_value="long long"
+        int64_strfn="strtoll"
+	;;
     esac
 else
    # Fallback on int
@@ -2289,7 +2301,7 @@ fi
 APR_IFALLYES(header:semaphore.h func:sem_open func:sem_close dnl
              func:sem_unlink func:sem_post func:sem_wait,
              hasposixser="1", hasposixser="0")
-APR_IFALLYES(func:semget func:semctl define:SEM_UNDO, hassysvser="1", 
+APR_IFALLYES(func:semget func:semctl define:SEM_UNDO, hassysvser="0", 
              hassysvser="0")
 APR_IFALLYES(func:flock define:LOCK_EX, hasflockser="1", hasflockser="0")
 APR_IFALLYES(header:fcntl.h define:F_SETLK, hasfcntlser="1", hasfcntlser="0")
@@ -2478,6 +2490,8 @@ else
 fi
 
 dnl ----------------------------- Checking for /dev/random 
+AC_CHECK_FUNCS(arc4random_buf)
+
 AC_MSG_CHECKING(for entropy source)
 
 why_no_rand=""
@@ -2494,6 +2508,13 @@ AC_ARG_WITH(egd, 
     AC_MSG_RESULT(EGD-compatible daemon)
     rand="1"
   ])
+
+if test "$rand" != "1"; then
+  if test "$ac_cv_func_arc4random_buf" = yes; then
+    AC_MSG_RESULT(arc4random)
+    rand="1"
+  fi
+fi
 
 if test "$rand" != "1"; then
   AC_ARG_WITH(devrandom,
