$OpenBSD: patch-configure_ac,v 1.10 2018/10/02 10:49:47 robert Exp $

Index: configure.ac
--- configure.ac.orig
+++ configure.ac
@@ -54,11 +54,13 @@ case "$host_os" in
 	openbsd*)
 		BUILDOS="openbsd"
 		ZCPPFLAGS="$ZCPPFLAGS -DOPENBSD"
+		TINFO_LIB=""
 		LN_TFSV="ln -fs"
 		;;
 	linux*)
 		BUILDOS="linux"
 		ZCPPFLAGS="$ZCPPFLAGS -DLINUX"
+		TINFO_LIB="-ltinfo"
 		LN_TFSV="ln -Tfsv"
 		;;
 esac
@@ -76,6 +78,7 @@ AC_SUBST([ZPHPCXXFLAGS])
 ZCPPFLAGS="$ZCPPFLAGS \
 	-I\${top_builddir}/common/include \
 	-I\${top_srcdir}/common/include \
+	-I\${top_srcdir}/mapi4linux/include \
 	-I\${top_srcdir}/m4lcommon/include \
 	-I\${top_srcdir}/mapi4linux/include \
 	-I\${top_srcdir}/provider/common/include \
@@ -93,7 +96,7 @@ ZCPPFLAGS="$ZCPPFLAGS $LFS_CFLAGS"
 
 AC_MSG_CHECKING([available C++ standard])
 cxxmode=""
-for i in "c++17" "c++14"; do
+for i in "c++14"; do
 	CXXFLAGS="$CXXFLAGS_system -std=$i"
 	AC_COMPILE_IFELSE([AC_LANG_SOURCE([])], [cxxmode="$i"])
 	AS_IF([test -n "$cxxmode"], [break])
@@ -219,7 +222,7 @@ AC_DEFUN([LIBNCURSES_WITH_CONFIG],[
 		[
 			dnl just pick the lowest common denominator
 			NCURSES_FLAGS=""
-			NCURSES_LIBS="-lncurses -ltinfo"
+			NCURSES_LIBS="-lncurses ${TINFO_LIB}"
 		]
 	)
 	dnl We should be using ncurses.h - or is portability to non-ncurses
@@ -391,7 +394,7 @@ PKG_CHECK_MODULES([jsoncpp], [jsoncpp >= 1.4.0])
 #
 
 AC_CHECK_HEADERS([ldap.h],
-	[ LIBS="$LIBS -lldap_r"
+	[ LIBS="$LIBS -L/usr/local/lib -lldap_r"
 	  CXXFLAGS="$CXXFLAGS -pthread"
 	  AC_MSG_CHECKING([for -lldap_r without LDAP_DEPRECATED])
 	  AC_LINK_IFELSE([ AC_LANG_SOURCE([#include <ldap.h>
@@ -448,7 +451,7 @@ iconv_t i; i = iconv_open("", "");
 	[ AC_MSG_RESULT([yes]) ],
 	[ AC_MSG_RESULT([no])
 	  AC_MSG_CHECKING([for iconv in -liconv])
-	  LIBS="$LIBS -liconv"
+	  LIBS="$LIBS -L/usr/local/lib -liconv"
 	  AC_LINK_IFELSE([ AC_LANG_SOURCE([
 #include <stdlib.h>
 #include <iconv.h>
@@ -467,7 +470,7 @@ AC_SEARCH_LIBS([crypt_r], [crypt], [
 ])
 LIBS="$LIBS_system"
 AC_SEARCH_LIBS([clock_gettime], [rt], [
-	AS_IF([test "$LIBS" = "$LIBS_system"], [clock_LIBS=""], [clock_LIBS="-lrt"])
+	AS_IF([test "$LIBS" = "$LIBS_system"], [clock_LIBS=""], [clock_LIBS=""])
 ])
 LIBS="$LIBS_system"
 AC_SUBST([CRYPT_LIBS])
@@ -583,13 +586,22 @@ AC_CHECK_LIB([z], [gzopen], GZ_LIBS="-lz",
 )
 AC_SUBST(GZ_LIBS)
 
-AC_CHECK_FUNCS([gettext], INTL_LIBS="", dnl gettext in libc
-  AC_CHECK_LIB([intl], [gettext], INTL_LIBS="-lintl", dnl in -lintl
+LIBS="$LIBS -L/usr/local/lib"
+AC_CHECK_FUNCS([gettext], INTL_LIBS="-L/usr/local/lib -lintl", dnl gettext in libc
+  AC_CHECK_LIB([intl], [gettext], INTL_LIBS="-L/usr/local/lib -lintl", dnl in -lintl
     AC_MSG_ERROR([required library libintl missing or unusable])
   )
 )
 AC_SUBST(INTL_LIBS)
+LIBS=$LIBS_system
 
+LIBS="$LIBS -L/usr/local/lib"
+AC_CHECK_LIB([execinfo], [backtrace], EXECINFO_LIBS="-L/usr/local/lib -lexecinfo", dnl in -lexecinfo
+  AC_MSG_ERROR([required library libexecinfo missing or unusable])
+)
+AC_SUBST(EXECINFO_LIBS)
+LIBS=$LIBS_system
+
 # check epoll support
 AC_ARG_ENABLE([epoll], AS_HELP_STRING([--disable-epoll], [disable epoll and fallback to select]), [want_epoll=${enableval}], [want_epoll=yes])
 AM_CONDITIONAL(WITH_EPOLL, test "$want_epoll" = "yes")
@@ -647,8 +659,10 @@ AS_IF([test "$have_icu" = 0], [
 ZCPPFLAGS="$ZCPPFLAGS $icu_uc_CFLAGS $icu_i18n_CFLAGS"
 
 # all libs for programs, because functions are in static common stuff
-PROG_LIBS="$UUID_LIBS $INTL_LIBS $ICONV_LIBS $GZ_LIBS"
+PROG_LIBS="$UUID_LIBS $INTL_LIBS $ICONV_LIBS $GZ_LIBS $EXECINFO_LIBS"
 AC_SUBST(PROG_LIBS)
+
+AC_CHECK_FUNCS([arc4random_buf])
 
 # done testing C++ requirements
 AC_LANG_POP
