dnl $OpenLDAP$
dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
dnl
-dnl Copyright 1998-2004 The OpenLDAP Foundation.
+dnl Copyright 1998-2008 The OpenLDAP Foundation.
dnl All rights reserved.
dnl
dnl Redistribution and use in source and binary forms, with or without
dnl <http://www.OpenLDAP.org/license.html>.
dnl
dnl ----------------------------------------------------------------
-dnl
-dnl Redefine AC_INIT_BINSH to provide RCS IDs and copyright notice
-dnl at top of generated configure script. Prints simple copyright.
-define([AC_INIT_BINSH],
-[[#! /bin/sh
-# $]OpenLDAP[$
-# from] translit([$OpenLDAP$], $")] [
-
-# This work is part of OpenLDAP Software <http://www.openldap.org/>.
-#
-# Copyright 1998-2004 The OpenLDAP Foundation.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted only as authorized by the OpenLDAP
-# Public License.
-#
-# A copy of this license is available in the file LICENSE in the
-# top-level directory of the distribution or, alternatively, at
-# <http://www.OpenLDAP.org/license.html>.
-
-echo "Copyright 1998-2004 The OpenLDAP Foundation. All rights reserved."
-echo " Restrictions apply, see COPYRIGHT and LICENSE files."
-])dnl
-dnl ----------------------------------------------------------------
dnl Disable config.cache!
define([AC_CACHE_LOAD], )dnl
define([AC_CACHE_SAVE], )dnl
+dnl ----------------------------------------------------------------
+dnl Disable libtool 1.5 support for languages we don't use
+define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
+define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
+define([AC_LIBTOOL_LANG_GCJ_CONFIG], [:])dnl
dnl ================================================================
dnl Configure.in for OpenLDAP
-AC_INIT(build/version.sh)dnl
-
-# set unset (borrowed from autoconf 2.49c)
-if (OL_FOO=OL_FOO; unset OL_FOO) >/dev/null 2>&1; then
- ol_unset=unset
-else
- ol_unset=false
-fi
-# unset CDPATH
-$ol_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
+AC_COPYRIGHT([[Copyright 1998-2008 The OpenLDAP Foundation. All rights reserved.
+Restrictions apply, see COPYRIGHT and LICENSE files.]])
+AC_REVISION([$OpenLDAP$])
+AC_INIT([OpenLDAP],,[http://www.openldap.org/its/])
+m4_define([AC_PACKAGE_BUGREPORT],[<http://www.openldap.org/its/>])
+AC_CONFIG_SRCDIR(build/version.sh)dnl
+dnl ----------------------------------------------------------------
+dnl OpenLDAP Autoconf Macros
+builtin(include, build/openldap.m4)dnl
+dnl ================================================================
AC_CONFIG_AUX_DIR(build)dnl
AC_MSG_ERROR([could not determine version])
fi
-if test -f "$ac_aux_dir/shtool" -a ! -d $ac_aux_dir/shtool; then
+if test -f "$ac_aux_dir/shtool" && test ! -d $ac_aux_dir/shtool; then
ac_cv_shtool="$ac_aux_dir/shtool"
else
AC_MSG_ERROR([no shtool found in $ac_aux_dir])
SHTOOL="$ac_cv_shtool"
dnl AC_SUBST(SHTOOL)dnl
-TB="`$SHTOOL echo -e '%B' 2>/dev/null`"
-TN="`$SHTOOL echo -e '%b' 2>/dev/null`"
+TB="" TN=""
+if test -t 1; then
+ TB="`$SHTOOL echo -e '%B' 2>/dev/null`"
+ TN="`$SHTOOL echo -e '%b' 2>/dev/null`"
+fi
OPENLDAP_CVS=""
if test -d $ac_aux_dir/CVS; then
dnl Determine host platform
dnl we try not to use this for much
-AC_CANONICAL_SYSTEM
+AC_CANONICAL_TARGET([])
AM_INIT_AUTOMAKE([$OL_PACKAGE],[$OL_VERSION], [no defines])dnl
AC_SUBST(PACKAGE)dnl
OPENLDAP_RELEASE_DATE="$OL_RELEASE_DATE"
AC_SUBST(OPENLDAP_RELEASE_DATE)dnl
-dnl We use autoconf features new to 2.13. Later versions like won't work.
-dnl aclocal.m4 should be built using aclocal from automake 1.4
-dnl libtool 1.4.3 should be installed.
-AC_PREREQ(2.13)dnl Required Autoconf version
+dnl We use autoconf features new to 2.59. Later versions like won't work.
+dnl aclocal.m4 should be built using aclocal from automake 1.5
+dnl libtool 1.5 should be installed.
+AC_PREREQ(2.59)dnl Required Autoconf version
+
+AH_TOP([
+/* begin of portable.h.pre */
+/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
+ *
+ * Copyright 1998-2008 The OpenLDAP Foundation
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted only as authorized by the OpenLDAP
+ * Public License.
+ *
+ * A copy of this license is available in the file LICENSE in the
+ * top-level directory of the distribution or, alternatively, at
+ * <http://www.OpenLDAP.org/license.html>.
+ */
+
+#ifndef _LDAP_PORTABLE_H
+#define _LDAP_PORTABLE_H
+
+/* define this if needed to get reentrant functions */
+#ifndef REENTRANT
+#undef REENTRANT
+#endif
+#ifndef _REENTRANT
+#undef _REENTRANT
+#endif
+
+/* define this if needed to get threadsafe functions */
+#ifndef THREADSAFE
+#undef THREADSAFE
+#endif
+#ifndef _THREADSAFE
+#undef _THREADSAFE
+#endif
+#ifndef THREAD_SAFE
+#undef THREAD_SAFE
+#endif
+#ifndef _THREAD_SAFE
+#undef _THREAD_SAFE
+#endif
+
+#ifndef _SGI_MP_SOURCE
+#undef _SGI_MP_SOURCE
+#endif
+
+/* end of portable.h.pre */
+])
+AH_BOTTOM([
+/* begin of portable.h.post */
+
+#ifdef _WIN32
+ /* don't suck in all of the win32 api */
+# define WIN32_LEAN_AND_MEAN 1
+#endif
+
+#ifndef LDAP_NEEDS_PROTOTYPES
+/* force LDAP_P to always include prototypes */
+#define LDAP_NEEDS_PROTOTYPES 1
+#endif
+
+#ifndef LDAP_REL_ENG
+#if (LDAP_VENDOR_VERSION == 000000) && !defined(LDAP_DEVEL)
+#define LDAP_DEVEL
+#endif
+#if defined(LDAP_DEVEL) && !defined(LDAP_TEST)
+#define LDAP_TEST
+#endif
+#endif
+
+#ifdef HAVE_STDDEF_H
+# include <stddef.h>
+#endif
+
+#ifdef HAVE_EBCDIC
+/* ASCII/EBCDIC converting replacements for stdio funcs
+ * vsnprintf and snprintf are used too, but they are already
+ * checked by the configure script
+ */
+#define fputs ber_pvt_fputs
+#define fgets ber_pvt_fgets
+#define printf ber_pvt_printf
+#define fprintf ber_pvt_fprintf
+#define vfprintf ber_pvt_vfprintf
+#define vsprintf ber_pvt_vsprintf
+#endif
+
+#include "ac/fdset.h"
+
+#include "ldap_cdefs.h"
+#include "ldap_features.h"
+
+#include "ac/assert.h"
+#include "ac/localize.h"
-AC_CONFIG_HEADER(include/portable.h include/ldap_features.h include/lber_types.h)dnl
+#endif /* _LDAP_PORTABLE_H */
+/* end of portable.h.post */
+])
+
+AC_CONFIG_HEADERS([include/portable.h:include/portable.hin])
+AC_CONFIG_HEADERS([include/ldap_features.h:include/ldap_features.hin])
+AC_CONFIG_HEADERS([include/lber_types.h:include/lber_types.hin])
dnl ================================================================
dnl Start Args
dnl ----------------------------------------------------------------
dnl General "enable" options
-OL_ARG_ENABLE(debug,[ --enable-debug enable debugging], yes)dnl
+dnl set default to traditional to enable the original debug style
+OL_ARG_ENABLE(debug,[ --enable-debug enable debugging], yes, [no yes traditional])dnl
OL_ARG_ENABLE(dynamic,[ --enable-dynamic enable linking built binaries with dynamic libs], no)dnl
OL_ARG_ENABLE(syslog,[ --enable-syslog enable syslog support], auto)dnl
OL_ARG_ENABLE(proctitle,[ --enable-proctitle enable proctitle support], yes)dnl
dnl OL_ARG_ENABLE(referrals,[ --enable-referrals enable LDAPv2+ Referrals (experimental)], no)dnl
ol_enable_referrals=${ol_enable_referrals-no}
-dnl OL_ARG_ENABLE(kbind,[ --enable-kbind enable LDAPv2+ Kerberos IV bind (deprecated)], no)dnl
-ol_enable_kbind=${ol_enable_kbind-no}
OL_ARG_ENABLE(ipv6,[ --enable-ipv6 enable IPv6 support], auto)dnl
OL_ARG_ENABLE(local,[ --enable-local enable AF_LOCAL (AF_UNIX) socket support], auto)dnl
dnl ----------------------------------------------------------------
dnl General "with" options
-dnl OL_ARG_ENABLE(dmalloc,[ --enable-dmalloc enable debug malloc support], no)dnl
-
OL_ARG_WITH(cyrus_sasl,[ --with-cyrus-sasl with Cyrus SASL support],
auto, [auto yes no] )
OL_ARG_WITH(fetch,[ --with-fetch with fetch(3) URL support],
auto, [auto yes no] )
-dnl OL_ARG_WITH(kerberos,[ --with-kerberos with Kerberos support],
-dnl auto, [auto k5 k5only k425 kth k4 afs yes no])
-ol_with_kerberos=${ol_with_kerberos-auto}
+OL_ARG_WITH(gssapi,[ --with-gssapi with GSSAPI support],
+ auto, [auto yes no] )
OL_ARG_WITH(threads,[ --with-threads with threads],
auto, [auto nt posix mach pth lwp yes no manual] )
-OL_ARG_WITH(tls,[ --with-tls with TLS/SSL support],
- auto, [auto ssleay openssl yes no] )
-OL_ARG_WITH(yielding_select,[ --with-yielding-select with implicitly yielding select],
+OL_ARG_WITH(tls,[ --with-tls with TLS/SSL support auto|openssl|gnutls],
+ auto, [auto openssl gnutls yes no] )
+OL_ARG_WITH(yielding_select,
+ [ --with-yielding-select with implicitly yielding select],
auto, [auto yes no manual] )
-OL_ARG_WITH(multiple_precision,[ --with-multiple-precision
- multiple precision support for statistics
- auto|bignum|gmp],
- auto, [auto bignum gmp yes no] )
+OL_ARG_WITH(mp,
+ [ --with-mp with multiple precision statistics auto|longlong|long|bignum|gmp],
+ auto, [auto longlong long bignum gmp yes no])
+OL_ARG_WITH(odbc,
+ [ --with-odbc with specific ODBC support iodbc|unixodbc|odbc32|auto],
+ auto, [auto iodbc unixodbc odbc32] )
dnl ----------------------------------------------------------------
dnl Server options
dnl ----------------------------------------------------------------
dnl SLAPD OPTIONS
-AC_ARG_WITH(xxslapdoptions,[
+AC_ARG_ENABLE(xxslapdoptions,[
SLAPD (Standalone LDAP Daemon) Options:])
OL_ARG_ENABLE(slapd,[ --enable-slapd enable building slapd], yes)dnl
-OL_ARG_ENABLE(aci,[ --enable-aci enable per-object ACIs (experimental)], no)dnl
+OL_ARG_ENABLE(dynacl,[ --enable-dynacl enable run-time loadable ACL support (experimental)], no)dnl
+OL_ARG_ENABLE(aci,[ --enable-aci enable per-object ACIs (experimental)], no, [no yes mod])dnl
OL_ARG_ENABLE(cleartext,[ --enable-cleartext enable cleartext passwords], yes)dnl
OL_ARG_ENABLE(crypt,[ --enable-crypt enable crypt(3) passwords], no)dnl
OL_ARG_ENABLE(lmpasswd,[ --enable-lmpasswd enable LAN Manager passwords], no)dnl
OL_ARG_ENABLE(spasswd,[ --enable-spasswd enable (Cyrus) SASL password verification], no)dnl
OL_ARG_ENABLE(modules,[ --enable-modules enable dynamic module support], no)dnl
-dnl OL_ARG_ENABLE(multimaster,[ --enable-multimaster enable multimaster replication], no)dnl
-ol_enable_multimaster=${ol_enable_multimaster-no}
-OL_ARG_ENABLE(rewrite,[ --enable-rewrite enable DN rewriting in back-ldap and the rwm overlay], auto)dnl
+OL_ARG_ENABLE(rewrite,[ --enable-rewrite enable DN rewriting in back-ldap and rwm overlay], auto)dnl
OL_ARG_ENABLE(rlookups,[ --enable-rlookups enable reverse lookups of client hostnames], no)dnl
OL_ARG_ENABLE(slapi,[ --enable-slapi enable SLAPI support (experimental)], no)dnl
OL_ARG_ENABLE(slp,[ --enable-slp enable SLPv2 support], no)dnl
dnl ----------------------------------------------------------------
dnl SLAPD Backend Options
-Backends="bdb dnssrv hdb ldap ldbm meta monitor null \
- passwd perl relay shell sql"
-
-AC_ARG_WITH(xxslapbackends,[
+Backends="bdb \
+ dnssrv \
+ hdb \
+ ldap \
+ meta \
+ monitor \
+ ndb \
+ null \
+ passwd \
+ perl \
+ relay \
+ shell \
+ sock \
+ sql"
+
+AC_ARG_ENABLE(xxslapbackends,[
SLAPD Backend Options:])
-OL_ARG_ENABLE(backends,[ --enable-backends enable all available backends no|yes|mod],
- no, [no yes mod])dnl
-OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend no|yes|mod],
- yes, [no yes mod])dnl
-OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend no|yes|mod],
- no, [no yes mod])dnl
-OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend no|yes|mod],
- no, [no yes mod])dnl
-OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend no|yes|mod],
- no, [no yes mod])dnl
-OL_ARG_ENABLE(ldbm,[ --enable-ldbm enable ldbm backend no|yes|mod], no,
- [no yes mod])dnl
-OL_ARG_WITH(ldbm_api,[ --with-ldbm-api with LDBM API auto|berkeley|bcompat|mdbm|gdbm],
- auto, [auto berkeley bcompat mdbm gdbm])
-OL_ARG_WITH(ldbm_type,[ --with-ldbm-type use LDBM type auto|btree|hash],
- auto, [auto btree hash])
-OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend no|yes|mod],
- no, [no yes mod])dnl
-OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend no|yes|mod],
- yes, [no yes mod])dnl
-OL_ARG_ENABLE(null,[ --enable-null enable null backend no|yes|mod],
- no, [no yes mod])dnl
-OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend no|yes|mod],
- no, [no yes mod])dnl
-OL_ARG_ENABLE(perl,[ --enable-perl enable perl backend no|yes|mod],
- no, [no yes mod])dnl
-OL_ARG_ENABLE(relay,[ --enable-relay enable relay backend no|yes|mod],
- yes, [no yes mod])dnl
-OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend no|yes|mod],
- no, [no yes mod])dnl
-OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend no|yes|mod],
- no, [no yes mod])dnl
+OL_ARG_ENABLE(backends,[ --enable-backends enable all available backends],
+ --, [no yes mod])dnl
+OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend],
+ no, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend],
+ no, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend],
+ yes, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend],
+ no, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend],
+ no, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend],
+ yes, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(ndb,[ --enable-ndb enable MySQL NDB Cluster backend],
+ no, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(null,[ --enable-null enable null backend],
+ no, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend],
+ no, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(perl,[ --enable-perl enable perl backend],
+ no, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(relay,[ --enable-relay enable relay backend],
+ yes, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend],
+ no, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(sock,[ --enable-sock enable sock backend],
+ no, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend],
+ no, [no yes mod], ol_enable_backends)dnl
dnl ----------------------------------------------------------------
dnl SLAPD Overlay Options
-Overlays="chain denyop dyngroup lastmod ppolicy proxycache rwm \
- refint unique"
-
-AC_ARG_WITH(xxslapoverlays,[
+Overlays="accesslog \
+ auditlog \
+ collect \
+ constraint \
+ dds \
+ deref \
+ dyngroup \
+ dynlist \
+ memberof \
+ ppolicy \
+ proxycache \
+ refint \
+ retcode \
+ rwm \
+ seqmod \
+ syncprov \
+ translucent \
+ unique \
+ valsort"
+
+AC_ARG_ENABLE(xxslapoverlays,[
SLAPD Overlay Options:])
-OL_ARG_ENABLE(overlays,[ --enable-overlays enable all available overlays no|yes|mod],
- no, [no yes mod])dnl
-OL_ARG_ENABLE(chain,[ --enable-chain LDAP Chain Response no|yes|mod],
- no, [no yes mod])
-OL_ARG_ENABLE(denyop,[ --enable-denyop Deny Operation overlay no|yes|mod],
- no, [no yes mod])
-OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay no|yes|mod],
- no, [no yes mod])
-OL_ARG_ENABLE(lastmod,[ --enable-lastmod Last Modification overlay no|yes|mod],
- no, [no yes mod])
-OL_ARG_ENABLE(ppolicy,[ --enable-ppolicy Password Policy overlay no|yes|mod],
- no, [no yes mod])
-OL_ARG_ENABLE(proxycache,[ --enable-proxycache Proxy Cache overlay no|yes|mod],
- no, [no yes mod])
-OL_ARG_ENABLE(refint,[ --enable-refint Referential Integrity overlay no|yes|mod],
- no, [no yes mod])
-OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay no|yes|mod],
- no, [no yes mod])
-OL_ARG_ENABLE(unique,[ --enable-unique Attribute Uniqueness overlay no|yes|mod],
- no, [no yes mod])
-
-
-dnl ----------------------------------------------------------------
-dnl SLURPD OPTIONS
-AC_ARG_WITH(xxslurpdoptions,[
-SLURPD (Replication Daemon) Options:])
-OL_ARG_ENABLE(slurpd,[ --enable-slurpd enable building slurpd], auto)dnl
+OL_ARG_ENABLE(overlays,[ --enable-overlays enable all available overlays],
+ --, [no yes mod])dnl
+OL_ARG_ENABLE(accesslog,[ --enable-accesslog In-Directory Access Logging overlay],
+ no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(auditlog,[ --enable-auditlog Audit Logging overlay],
+ no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(collect,[ --enable-collect Collect overlay],
+ no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(constraint,[ --enable-constraint Attribute Constraint overlay],
+ no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(dds,[ --enable-dds Dynamic Directory Services overlay],
+ no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(deref,[ --enable-deref Dereference overlay],
+ no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay],
+ no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(dynlist,[ --enable-dynlist Dynamic List overlay],
+ no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(memberof,[ --enable-memberof Reverse Group Membership overlay],
+ no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(ppolicy,[ --enable-ppolicy Password Policy overlay],
+ no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(proxycache,[ --enable-proxycache Proxy Cache overlay],
+ no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(refint,[ --enable-refint Referential Integrity overlay],
+ no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(retcode,[ --enable-retcode Return Code testing overlay],
+ no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay],
+ no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(seqmod,[ --enable-seqmod Sequential Modify overlay],
+ yes, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(syncprov,[ --enable-syncprov Syncrepl Provider overlay],
+ yes, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(translucent,[ --enable-translucent Translucent Proxy overlay],
+ no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(unique,[ --enable-unique Attribute Uniqueness overlay],
+ no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(valsort,[ --enable-valsort Value Sorting overlay],
+ no, [no yes mod], ol_enable_overlays)
dnl ----------------------------------------------------------------
-AC_ARG_WITH(xxliboptions,[
+AC_ARG_ENABLE(xxliboptions,[
Library Generation & Linking Options])
AC_ENABLE_STATIC
AC_ENABLE_SHARED
dnl ----------------------------------------------------------------
-dnl General "enable" options
-# Activate any backends that were not explicitly enabled.
-# Note that back_bdb defaults to "yes" so this loop won't touch it.
-if test $ol_enable_backends != no ; then
- for i in $Backends; do
- eval "ol_tmp=\$ol_enable_$i"
- if test $ol_tmp = no ; then
- eval "ol_enable_$i=$ol_enable_backends"
- fi
- done
-fi
-# Activate the overlays
-if test $ol_enable_overlays != no ; then
- for i in $Overlays; do
- eval "ol_tmp=\$ol_enable_$i"
- if test $ol_tmp = no ; then
- eval "ol_enable_$i=$ol_enable_overlays"
- fi
- done
-fi
-
# validate options
if test $ol_enable_slapd = no ; then
dnl SLAPD was specificallly disabled
if test $ol_enable_slapi = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-slapi argument])
fi
- if test $ol_enable_backends != no ; then
+ case "$ol_enable_backends" in yes | mod)
AC_MSG_WARN([slapd disabled, ignoring --enable-backends argument])
- fi
+ esac
for i in $Backends; do
eval "ol_tmp=\$ol_enable_$i"
if test $ol_tmp != no ; then
if test $ol_enable_modules = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-modules argument])
fi
- if test $ol_enable_multimaster = yes ; then
- AC_MSG_WARN([slapd disabled, ignoring --enable-multimaster argument])
- fi
if test $ol_enable_wrappers = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-wrappers argument])
fi
if test $ol_enable_rlookups = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-rlookups argument])
fi
- if test $ol_enable_aci = yes ; then
- AC_MSG_WARN([slapd disabled, ignoring --enable-aci argument])
- fi
- if test $ol_with_ldbm_api != auto ; then
- AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-api argument])
+ if test $ol_enable_dynacl = yes ; then
+ AC_MSG_WARN([slapd disabled, ignoring --enable-dynacl argument])
fi
- if test $ol_with_ldbm_type != auto ; then
- AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-type argument])
- fi
- if test $ol_enable_slurpd = yes ; then
- AC_MSG_ERROR([slurpd requires slapd])
+ if test $ol_enable_aci != no ; then
+ AC_MSG_WARN([slapd disabled, ignoring --enable-aci argument])
fi
if test $ol_enable_rewrite = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument])
fi
dnl overlays
- if test $ol_enable_overlays != no ; then
+ case "$ol_enable_overlays" in yes | mod)
AC_MSG_WARN([slapd disabled, ignoring --enable-overlays argument])
- fi
+ esac
for i in $Overlays; do
eval "ol_tmp=\$ol_enable_$i"
if test $ol_tmp != no ; then
# force settings to no
ol_enable_slapi=no
- ol_enable_backends=no
- ol_enable_overlays=no
+ ol_enable_backends=
+ ol_enable_overlays=
ol_enable_modules=no
- ol_enable_multimaster=no
ol_enable_rlookups=no
+ ol_enable_dynacl=no
ol_enable_aci=no
ol_enable_wrappers=no
- ol_with_ldbm_api=no
- ol_with_ldbm_type=no
-
- ol_enable_slurpd=no
-
ol_enable_rewrite=no
-elif test $ol_enable_ldbm = no ; then
- dnl SLAPD without LDBM
-
- if test $ol_with_ldbm_api != auto ; then
- AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-api argument])
- fi
-
- if test $ol_with_ldbm_type != auto ; then
- AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-type argument])
- fi
-
- if test $ol_enable_modules != yes -a \
- $ol_enable_bdb = no -a \
- $ol_enable_dnssrv = no -a \
- $ol_enable_hdb = no -a \
- $ol_enable_ldap = no -a \
- $ol_enable_meta = no -a \
- $ol_enable_monitor = no -a \
- $ol_enable_null = no -a \
- $ol_enable_passwd = no -a \
- $ol_enable_perl = no -a \
- $ol_enable_relay = no -a \
- $ol_enable_shell = no -a \
- $ol_enable_sql = no ; then
-
- if test $ol_enable_slapd = yes ; then
- AC_MSG_ERROR([slapd requires a backend])
- else
- AC_MSG_WARN([skipping slapd, no backend specified])
- ol_enable_slapd=no
- fi
- fi
-
- ol_with_ldbm_api=no
- ol_with_ldbm_type=no
-
- if test $ol_enable_bdb != no -o $ol_enable_hdb != no; then
- ol_with_ldbm_api=berkeley
- fi
-
-else
- dnl SLAPD with LDBM
- if test $ol_with_ldbm_api = gdbm -a \
- $ol_with_ldbm_type = btree ; then
- AC_MSG_ERROR([GDBM only supports LDBM type hash])
- fi
- if test $ol_with_ldbm_api = mdbm -a \
- $ol_with_ldbm_type = btree ; then
- AC_MSG_ERROR([MDBM only supports LDBM type hash])
- fi
- if test $ol_with_ldbm_api = ndbm -a \
- $ol_with_ldbm_type = btree ; then
- AC_MSG_ERROR([NDBM only supports LDBM type hash])
- fi
-
- if test $ol_enable_bdb != no -o $ol_enable_hdb != no ; then
- if test $ol_with_ldbm_api = auto ; then
- ol_with_ldbm_api=berkeley
- elif test $ol_with_ldbm_api != berkeley ; then
- AC_MSG_ERROR([LDBM API not compatible with BDB/HDB])
- fi
+elif test $ol_enable_modules != yes &&
+ test $ol_enable_bdb = no &&
+ test $ol_enable_dnssrv = no &&
+ test $ol_enable_hdb = no &&
+ test $ol_enable_ldap = no &&
+ test $ol_enable_meta = no &&
+ test $ol_enable_monitor = no &&
+ test $ol_enable_ndb = no &&
+ test $ol_enable_null = no &&
+ test $ol_enable_passwd = no &&
+ test $ol_enable_perl = no &&
+ test $ol_enable_relay = no &&
+ test $ol_enable_shell = no &&
+ test $ol_enable_sock = no &&
+ test $ol_enable_sql = no ; then
+ dnl no slapd backend
+
+ if test $ol_enable_slapd = yes ; then
+ AC_MSG_ERROR([slapd requires a backend])
+ else
+ AC_MSG_WARN([skipping slapd, no backend specified])
+ ol_enable_slapd=no
fi
fi
-if test $ol_enable_chain != no -a $ol_enable_ldap = no ; then
- AC_MSG_ERROR([--enable-chain requires --enable-ldap])
-fi
-
-if test $ol_enable_meta = yes -a $ol_enable_ldap = no ; then
+if test $ol_enable_meta/$ol_enable_ldap = yes/no ; then
AC_MSG_ERROR([--enable-meta requires --enable-ldap])
fi
-if test $ol_enable_slurpd = yes ; then
- dnl SLURPD was specifically enabled
- if test $ol_with_threads = no ; then
- AC_MSG_ERROR([slurpd requires threads])
- fi
-fi
-
if test $ol_enable_lmpasswd = yes ; then
if test $ol_with_tls = no ; then
AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
fi
fi
-if test $ol_enable_kbind = yes ; then
- if test $ol_with_kerberos = no ; then
- AC_MSG_ERROR([options require --with-kerberos])
- elif test $ol_with_kerberos = auto ; then
- ol_with_kerberos=yes
- fi
-
-elif test $ol_enable_kbind = no ; then
- if test $ol_with_kerberos = auto ; then
- ol_with_kerberos=no
- elif test $ol_with_kerberos != no ; then
- AC_MSG_WARN([Kerberos detection enabled unnecessarily]);
- ol_with_kerberos=no
- fi
-fi
-
if test $ol_enable_spasswd = yes ; then
if test $ol_with_cyrus_sasl = no ; then
AC_MSG_ERROR([options require --with-cyrus-sasl])
dnl ----------------------------------------------------------------
dnl Initialize vars
LDAP_LIBS=
-LDBM_LIBS=
+BDB_LIBS=
+SLAPD_NDB_LIBS=
+SLAPD_NDB_INCS=
LTHREAD_LIBS=
LUTIL_LIBS=
SLAPD_LIBS=
-SLURPD_LIBS=
BUILD_SLAPD=no
-BUILD_SLURPD=no
BUILD_THREAD=no
BUILD_DNSSRV=no
BUILD_HDB=no
BUILD_LDAP=no
-BUILD_LDBM=no
BUILD_META=no
BUILD_MONITOR=no
+BUILD_NDB=no
BUILD_NULL=no
BUILD_PASSWD=no
BUILD_PERL=no
BUILD_RELAY=no
BUILD_SHELL=no
+BUILD_SOCK=no
BUILD_SQL=no
-BUILD_CHAIN=no
+BUILD_ACCESSLOG=no
+BUILD_AUDITLOG=no
+BUILD_CONSTRAINT=no
+BUILD_DDS=no
BUILD_DENYOP=no
BUILD_DYNGROUP=no
+BUILD_DYNLIST=no
BUILD_LASTMOD=no
+BUILD_MEMBEROF=no
BUILD_PPOLICY=no
BUILD_PROXYCACHE=no
BUILD_REFINT=no
+BUILD_RETCODE=no
BUILD_RWM=no
+BUILD_SEQMOD=no
+BUILD_SYNCPROV=no
+BUILD_TRANSLUCENT=no
BUILD_UNIQUE=no
+BUILD_VALSORT=no
+SLAPD_STATIC_OVERLAYS=
SLAPD_DYNAMIC_OVERLAYS=
SLAPD_MODULES_LDFLAGS=
SLAPD_MODULES_CPPFLAGS=
-SLAPD_STATIC_BACKENDS=
+SLAPD_STATIC_BACKENDS=back-ldif
SLAPD_DYNAMIC_BACKENDS=
SLAPD_PERL_LDFLAGS=
KRB4_LIBS=
KRB5_LIBS=
SASL_LIBS=
+GSSAPI_LIBS=
TLS_LIBS=
MODULES_LIBS=
SLAPI_LIBS=
LIBSLAPI=
LIBSLAPITOOLS=
AUTH_LIBS=
+ICU_LIBS=
SLAPD_SLP_LIBS=
SLAPD_GMP_LIBS=
fi
fi
- if test "${CC}" = "cc_r" -o "${CC}" = "xlc_r" ; then
+ case ${CC} in cc_r | xlc_r)
ol_with_threads=posix
ol_cv_pthread_create=yes
- fi
+ ;;
+ esac
fi
if test -z "${CC}"; then
AC_PROG_CPP
dnl ----------------------------------------------------------------
-dnl Checks for UNIX Variants
-dnl AC_AIX
-dnl AC_ISC_POSIX
-dnl AC_MINIX
+dnl Checks for Windows NT
+case $host_os in
+ *mingw32* ) ac_cv_mingw32=yes ;;
+ *cygwin* ) ac_cv_cygwin=yes ;;
+esac
dnl ----------------------------------------------------------------
-dnl Checks for system services
-AC_CYGWIN
-AC_MINGW32
+dnl Checks for file extensions
AC_EXEEXT
AC_OBJEXT
-
AC_DEFINE_UNQUOTED(EXEEXT, "${EXEEXT}", [defined to be the EXE extension])
dnl ----------------------------------------------------------------
dnl ----------------------------------------------------------------
dnl OpenLDAP requires STDC features
-AM_PROG_CC_STDC
-if test "X${am_cv_prog_cc_stdc}" = "Xno" ; then
+AC_PROG_CC
+if test "X${ac_cv_prog_cc_stdc}" = "Xno" ; then
AC_MSG_ERROR([OpenLDAP requires compiler to support STDC constructs.])
fi
dnl ----------------------------------------------------------------
dnl Check for module support
ol_link_modules=no
+WITH_MODULES_ENABLED=no
if test $ol_enable_modules != no ; then
AC_CHECK_HEADERS(ltdl.h)
AC_MSG_ERROR([could not locate libtool -lltdl])
fi
ol_link_modules=yes
+ WITH_MODULES_ENABLED=yes
else
for i in $Backends; do
AC_HEADER_DIRENT
AC_HEADER_SYS_WAIT
-AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
-if test $am_cv_sys_posix_termios = yes ; then
- AC_DEFINE(HAVE_POSIX_TERMIOS,1,
- [define if you have POSIX termios])
-fi
+AC_HEADER_TIOCGWINSZ
AC_CHECK_HEADERS( \
arpa/inet.h \
libutil.h \
limits.h \
locale.h \
- netinet/tcp.h \
malloc.h \
memory.h \
psap.h \
pwd.h \
process.h \
- resolv.h \
sgtty.h \
shadow.h \
stddef.h \
sysexits.h \
sys/file.h \
sys/filio.h \
+ sys/fstyp.h \
sys/errno.h \
sys/ioctl.h \
sys/param.h \
+ sys/privgrp.h \
sys/resource.h \
sys/select.h \
sys/socket.h \
sys/syslog.h \
sys/time.h \
sys/types.h \
- sys/ucred.h \
sys/uio.h \
+ sys/vmount.h \
syslog.h \
termios.h \
unistd.h \
- winsock.h \
- winsock2.h \
+ utime.h \
)
+dnl Only check Winsock on MinGW
+if test "$ac_cv_mingw32" = yes ; then
+ AC_CHECK_HEADERS( winsock.h winsock2.h )
+fi
+
+AC_CHECK_HEADERS( resolv.h, [], [],
+[$ac_includes_default
+#include <netinet/in.h>
+])
+
+AC_CHECK_HEADERS( netinet/tcp.h, [], [],
+[$ac_includes_default
+#include <netinet/in.h>
+])
+
+AC_CHECK_HEADERS( sys/ucred.h, [], [],
+[$ac_includes_default
+#ifdef HAVE_SYS_PARAM_H
+#include <sys/param.h>
+#endif
+])
dnl ----------------------------------------------------------------
dnl Checks for libraries
+AC_CHECK_FUNCS( sigaction sigset )
+
dnl HP-UX requires -lV3
dnl this is not needed on newer versions of HP-UX
-AC_CHECK_LIB(V3, sigset)
+if test $ac_cv_func_sigaction = no && test $ac_cv_func_sigaction = no ; then
+ AC_CHECK_LIB(V3, sigset)
+fi
dnl The following is INTENTIONALLY scripted out because shell does not
dnl support variable names with the '@' character, which is what
save_LIBS="$LIBS"
for curlib in ws2_32 wsock32; do
LIBS="$LIBS -l$curlib"
- AC_TRY_LINK([#include <winsock.h>
- ],
- [
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <winsock.h>
+ ]], [[
socket(0,0,0);
select(0,NULL,NULL,NULL,NULL);
closesocket(0);
gethostname(NULL,0);
- ],
- ol_cv_winsock=yes, ol_cv_winsock=no)
+ ]])],[ol_cv_winsock=yes],[ol_cv_winsock=no])
if test $ol_cv_winsock = yes; then
AC_DEFINE(HAVE_WINSOCK, 1, [define if you have winsock])
dnl ----------------------------------------------------------------
AC_CHECK_FUNCS( poll )
-AC_CHECK_HEADERS( poll.h )
+if test $ac_cv_func_poll = yes; then
+AC_CHECK_HEADERS( poll.h sys/poll.h )
+fi
+
+dnl ----------------------------------------------------------------
+AC_CHECK_HEADERS( sys/epoll.h )
+if test "${ac_cv_header_sys_epoll_h}" = yes; then
+ AC_MSG_CHECKING(for epoll system call)
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv)
+{
+ int epfd = epoll_create(256);
+ exit (epfd == -1 ? 1 : 0);
+}]])],[AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_EPOLL,1, [define if your system supports epoll])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
+fi
+
+dnl ----------------------------------------------------------------
+AC_CHECK_HEADERS( sys/devpoll.h )
+dnl "/dev/poll" needs <sys/poll.h> as well...
+if test "${ac_cv_header_sys_devpoll_h}" = yes \
+ -a "${ac_cv_header_poll_h}" = yes ; \
+then
+ AC_MSG_CHECKING(for /dev/poll)
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv)
+{
+ int devpollfd = open("/dev/poll", /* O_RDWR */ 2);
+ exit (devpollfd == -1 ? 1 : 0);
+}]])],[AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_DEVPOLL,1, [define if your system supports /dev/poll])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
+fi
dnl ----------------------------------------------------------------
# strerror checks
dnl ----------------------------------------------------------------
dnl require POSIX regex
-AC_CHECK_HEADERS( regex.h )
+AC_CHECK_HEADERS( regex.h, [], [],
+[$ac_includes_default
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+])
+
if test "$ac_cv_header_regex_h" != yes ; then
AC_MSG_ERROR([POSIX regex.h required.])
fi
AC_CHECK_HEADERS(sys/uuid.h)
if test $ac_cv_header_sys_uuid_h = yes ; then
save_LIBS="$LIBS"
- AC_SEARCH_LIBS(uuid_to_str, uuid, [have_uuid=yes], :)
+ AC_SEARCH_LIBS([uuid_to_str], [uuid], [have_uuid=yes], :)
LIBS="$save_LIBS"
if test have_uuid = yes ; then
fi
fi
+dnl Look for uuid_generate
+if test $have_uuid = no ; then
+ AC_CHECK_HEADERS(uuid/uuid.h)
+ if test $ac_cv_header_uuid_uuid_h = yes ; then
+ save_LIBS="$LIBS"
+ AC_SEARCH_LIBS([uuid_generate], [uuid], [have_uuid=yes], :)
+ LIBS="$save_LIBS"
+
+ if test have_uuid = yes ; then
+ AC_DEFINE(HAVE_UUID_GENERATE,1,
+ [define if you have uuid_generate()])
+
+ test "$ac_cv_search_uuid_generate" = "none required" || \
+ SLAPD_LIBS="$SLAPD_LIBS $ac_cv_search_uuid_generate"
+ fi
+ fi
+fi
+
dnl For windows, check for the need of RPCRT for UUID function support
if test $have_uuid = no ; then
AC_MSG_CHECKING(to see if -lrpcrt4 is needed for win32 UUID support)
save_LIBS="$LIBS"
LIBS="$LIBS -lrpcrt4"
- AC_TRY_LINK([
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
int __stdcall UuidCreate(void *);
int __stdcall UuidToStringA(void *,void **);
- ],
- [
+ ]], [[
UuidCreate(0);
UuidToStringA(0,0);
- ],
- need_rpcrt=yes, need_rpcrt=no)
+ ]])],[need_rpcrt=yes],[need_rpcrt=no])
if test $need_rpcrt = yes; then
SLAPD_LIBS="$SLAPD_LIBS -lrpcrt4"
fi
dnl ----------------------------------------------------------------
dnl Check for resolver routines
-dnl need to check for both res_query and __res_query
-dnl need to check -lc, -lbind, and -lresolv
-ol_link_dnssrv=no
-AC_CHECK_FUNC(res_query,:)
-if test $ac_cv_func_res_query = no ; then
- AC_CHECK_FUNC(__res_query,:)
- ac_cv_func_res_query=$ac_cv_func___res_query
-fi
-
-if test $ac_cv_func_res_query = no ; then
- AC_CHECK_LIB(bind, res_query)
- ac_cv_func_res_query=$ac_cv_lib_bind_res_query
-fi
-
-if test $ac_cv_func_res_query = no ; then
- AC_CHECK_LIB(bind, __res_query)
- ac_cv_func_res_query=$ac_cv_lib_bind___res_query
-fi
-
-if test $ac_cv_func_res_query = no ; then
- AC_CHECK_LIB(resolv, res_query)
- ac_cv_func_res_query=$ac_cv_lib_resolv_res_query
-fi
-
-if test $ac_cv_func_res_query = no ; then
- AC_CHECK_LIB(resolv, __res_query)
- ac_cv_func_res_query=$ac_cv_lib_resolv___res_query
-fi
-
-if test $ac_cv_func_res_query = no ; then
- AC_CHECK_LIB(resolv, _res_9_query)
- ac_cv_func_res_query=$ac_cv_lib_resolv_res_9_query
-fi
+OL_RESOLVER_LINK
-if test "$ac_cv_func_res_query" = yes ; then
+ol_link_dnssrv=no
+if test "$ol_cv_lib_resolver" != no ; then
AC_DEFINE(HAVE_RES_QUERY,1,
[define if you have res_query()])
- if test $ol_enable_dnssrv != no ; then
+ if test "$ol_enable_dnssrv" != no ; then
ol_link_dnssrv=yes
fi
+
+ if test "$ol_cv_lib_resolver" != yes ; then
+ LIBS="$ol_cv_lib_resolver $LIBS"
+ fi
fi
-if test "$ol_enable_dnssrv" != no -a "$ol_link_dnssrv" = no ; then
- AC_MSG_ERROR([DNSSRV requires res_query()])
+if test "$ol_enable_dnssrv" = yes || test "$ol_enable_dnssrv" = mod ; then
+ if test "$ol_link_dnssrv" = no ; then
+ AC_MSG_ERROR([DNSSRV requires res_query()])
+ fi
+else
+ ol_enable_dnssrv=no
fi
AC_CHECK_FUNCS( hstrerror )
AC_CHECK_FUNCS( getaddrinfo getnameinfo gai_strerror inet_ntop )
ol_link_ipv6=no
-if test $ac_cv_func_getaddrinfo = no -o $ac_cv_func_inet_ntop = no ; then
+if test $ac_cv_func_getaddrinfo = no || test $ac_cv_func_inet_ntop = no ; then
if test $ol_enable_ipv6 = yes ; then
AC_MSG_ERROR([IPv6 support requires getaddrinfo() and inet_ntop()])
fi
AC_CACHE_CHECK([struct sockaddr_storage],ol_cv_struct_sockaddr_storage,[
- AC_TRY_COMPILE([
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <sys/types.h>
#include <sys/socket.h>
-],[
+]], [[
struct sockaddr_storage ss;
-], [ol_cv_struct_sockaddr_storage=yes],
- [ol_cv_struct_sockaddr_storage=no])])
+]])],[ol_cv_struct_sockaddr_storage=yes],[ol_cv_struct_sockaddr_storage=no])])
- if test $ol_cv_inet6_addrstrlen = yes \
- -a $ol_cv_struct_sockaddr_storage = yes ; then
+ if test $ol_cv_inet6_addrstrlen = yes &&
+ test $ol_cv_struct_sockaddr_storage = yes ; then
ol_link_ipv6=yes
- elif test $ol_enable_ipv6 = yes \
- -a $ol_cv_inet6_addrstrlen = no ; then
+ elif test $ol_enable_ipv6 = yes &&
+ test $ol_cv_inet6_addrstrlen = no ; then
AC_MSG_ERROR([IPv6 support requires INET6_ADDRSTRLEN])
- elif test $ol_enable_ipv6 = yes \
- -a $ol_cv_struct_sockaddr_storage = no ; then
+ elif test $ol_enable_ipv6 = yes &&
+ test $ol_cv_struct_sockaddr_storage = no ; then
AC_MSG_ERROR([IPv6 support requires struct sockaddr_storage])
fi
fi
fi
dnl ----------------------------------------------------------------
-dnl Kerberos
-ol_link_kbind=no
-ol_link_krb5=no
-ol_link_krb4=no
-
-if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
- -o $ol_with_kerberos = k5 -o $ol_with_kerberos = k5only \
- -o $ol_with_kerberos = k425 ; then
-
- AC_CHECK_HEADERS(krb5.h)
-
- if test $ac_cv_header_krb5_h = yes ; then
- dnl lazy check for Heimdal Kerberos
- AC_CHECK_HEADERS(heim_err.h)
- if test $ac_cv_header_heim_err_h = yes ; then
- krb5_impl=heimdal
- else
- krb5_impl=mit
- fi
-
- if test $krb5_impl = mit; then
- AC_CHECK_LIB(k5crypto, main,
- [krb5crypto=k5crypto],
- [krb5crypto=crypto])
-
- AC_CHECK_LIB(krb5, main,
- [have_krb5=yes
- KRB5_LIBS="-lkrb5 -l$krb5crypto -lcom_err"],
- [have_krb5=no],
- [-l$krb5crypto -lcom_err])
-
- elif test $krb5_impl = heimdal; then
- AC_CHECK_LIB(des, main,
- [krb5crypto=des],
- [krb5crypto=crypto])
-
- AC_CHECK_LIB(krb5, main,
- [have_krb5=yes
- KRB5_LIBS="-lkrb5 -l$krb5crypto -lasn1 -lroken -lcom_err"],
- [have_krb5=no],
- [-l$krb5crypto -lasn1 -lroken -lcom_err])
-
- AC_DEFINE(HAVE_HEIMDAL_KERBEROS, 1,
- [define if you have HEIMDAL Kerberos])
-
- else
- have_krb5=no
- AC_MSG_WARN([Unrecognized Kerberos5 Implementation])
- fi
-
- if test $have_krb5 = yes ; then
- ol_link_krb5=yes
-
- AC_DEFINE(HAVE_KRB5, 1,
- [define if you have Kerberos V])
-
- if test $ol_with_kerberos = k5only ; then
- ol_with_kerberos=found
- fi
-
- elif test $ol_with_kerberos != auto ; then
- AC_MSG_ERROR([Required Kerberos 5 support not available])
- fi
-
- fi
-fi
-
-if test $ol_link_krb5 = yes -a \( $ol_with_kerberos = yes -o \
- $ol_with_kerberos = auto -o $ol_with_kerberos = k425 \) ; then
-
- AC_CHECK_HEADERS(kerberosIV/krb.h kerberosIV/des.h)
-
- if test $ac_cv_header_kerberosIV_krb_h = yes ; then
- if test $krb5_impl = mit; then
- AC_CHECK_LIB(krb4, main, [have_k425=yes
- KRB4_LIBS="-lkrb4 -ldes425"], [have_k425=no],
- [-ldes425 -lkrb5 -l$krb5crypto -lcom_err])
+dnl GSSAPI
+ol_link_gssapi=no
- elif test $krb5_impl = heimdal; then
- AC_CHECK_LIB(krb4, main, [have_k425=yes
- KRB4_LIBS="-lkrb4"], [have_k425=no],
- [-lkrb5 -l$krb5crypto -lasn1 -lroken -lcom_err])
+case $ol_with_gssapi in yes | auto)
- else
- have_425=no
- AC_MSG_WARN([Unrecongized Kerberos V Implementation])
- fi
-
- if test $have_k425 = yes ; then
- ol_with_kerberos=found
- ol_link_krb4=yes
-
- AC_DEFINE(HAVE_KRB425, 1,
- [define if you have Kerberos V with IV support])
- AC_DEFINE(HAVE_KRB4, 1,
- [define if you have Kerberos IV])
-
- AC_CACHE_CHECK([for des_debug in Kerberos libraries],
- [ol_cv_var_des_debug], [
- dnl save the flags
- save_LIBS="$LIBS"
- LIBS="$KRB4_LIBS $KRB5_LIBS $LIBS"
- AC_TRY_LINK([
-#include <kerberosIV/krb.h>
-#include <kerberosIV/des.h>
-extern int des_debug;
-],[
-des_debug = 1;
-], ol_cv_var_des_debug=yes, ol_cv_var_des_debug=no)
- dnl restore the LIBS
- LIBS="$save_LIBS"
- ])
-
- if test $ol_cv_var_des_debug = yes ; then
- AC_DEFINE(HAVE_DES_DEBUG,1,
- [define if you have Kerberos des_debug])
- fi
-
- LIBS="$save_LIBS"
+ ol_header_gssapi=no
+ AC_CHECK_HEADERS(gssapi/gssapi.h)
+ if test $ac_cv_header_gssapi_gssapi_h = yes ; then
+ ol_header_gssapi=yes
+ else
+ AC_CHECK_HEADERS(gssapi.h)
+ if test $ac_cv_header_gssapi_h = yes ; then
+ ol_header_gssapi=yes
fi
- fi
-fi
-
-if test $ol_link_krb5 = yes ; then
- ol_with_kerberos=found
-fi
-
-if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
- -o $ol_with_kerberos = k4 -o $ol_with_kerberos = kth ; then
-
- AC_CHECK_HEADERS(krb.h des.h krb-archaeology.h )
-
- if test $ac_cv_header_krb_h = yes ; then
- AC_CHECK_LIB(krb, main, [have_k4=yes], [have_k4=no], [-ldes])
-
- if test $have_k4 = yes ; then
- ol_with_kerberos=found
- ol_link_krb4=yes
-
- AC_DEFINE(HAVE_KRB4, 1,
- [define if you have Kerberos IV])
- KRB4_LIBS="-lkrb -ldes"
-
- if test $ac_cv_header_krb_archaeology_h = yes ; then
- AC_DEFINE(HAVE_KTH_KERBEROS, 1,
- [define if you have Kth Kerberos])
- fi
+ dnl## not every gssapi has gss_oid_to_str()
+ dnl## as it's not defined in the GSSAPI V2 API
+ dnl## anymore
+ saveLIBS="$LIBS"
+ LIBS="$LIBS $GSSAPI_LIBS"
+ AC_CHECK_FUNCS(gss_oid_to_str)
+ LIBS="$saveLIBS"
+ fi
+
+ if test $ol_header_gssapi = yes ; then
+ dnl## we check for gss_wrap
+ dnl## as it's new to the GSSAPI V2 API
+ AC_CHECK_LIB(gssapi, gss_wrap,
+ [ol_link_gssapi=yes;GSSAPI_LIBS="-lgssapi"],
+ [ol_link_gssapi=no])
+ if test $ol_link_gssapi != yes ; then
+ AC_CHECK_LIB(gssapi_krb5, gss_wrap,
+ [ol_link_gssapi=yes;GSSAPI_LIBS="-lgssapi_krb5"],
+ [ol_link_gssapi=no])
fi
fi
-fi
-
-if test $ol_link_krb4 = yes -a $ol_enable_kbind != no ; then
- ol_link_kbind=yes
-elif test $ol_enable_kbind = yes ; then
- AC_MSG_ERROR([Kerberos IV detection failed])
-fi
-
-if test $ol_link_krb4 = yes -o $ol_link_krb5 = yes ; then
- AC_DEFINE(HAVE_KERBEROS, 1, [define if you have Kerberos])
+ ;;
+esac
-elif test $ol_with_kerberos != auto -a $ol_with_kerberos != no ; then
- AC_MSG_ERROR([Kerberos detection failed])
+WITH_GSSAPI=no
+if test $ol_link_gssapi = yes; then
+ AC_DEFINE(HAVE_GSSAPI, 1, [define if you have GSSAPI])
+ WITH_GSSAPI=yes
+elif test $ol_with_gssapi = auto ; then
+ AC_MSG_WARN([Could not locate GSSAPI package])
+ AC_MSG_WARN([GSSAPI authentication not supported!])
+elif test $ol_with_gssapi = yes ; then
+ AC_MSG_ERROR([GSSAPI detection failed])
fi
dnl ----------------------------------------------------------------
dnl TLS/SSL
+if test $ol_with_tls = yes ; then
+ ol_with_tls=auto
+fi
+
ol_link_tls=no
-if test $ol_with_tls != no ; then
- AC_CHECK_HEADERS(openssl/ssl.h ssl.h)
-
- if test $ac_cv_header_openssl_ssl_h = yes \
- -o $ac_cv_header_ssl_h = yes ; then
- AC_CHECK_LIB(ssl, SSLeay_add_ssl_algorithms,
- [have_ssleay=yes
- need_rsaref=no],
- [have_ssleay=no],
+if test $ol_with_tls = openssl || test $ol_with_tls = auto ; then
+ AC_CHECK_HEADERS(openssl/ssl.h)
+
+ if test $ac_cv_header_openssl_ssl_h = yes ; then
+ AC_CHECK_LIB(ssl, SSL_library_init,
+ [have_openssl=yes
+ need_rsaref=no], [have_openssl=no],
[-lcrypto])
-
- if test $have_ssleay = no ; then
- AC_CHECK_LIB(ssl, SSL_library_init,
- [have_ssleay=yes
- need_rsaref=no], [have_ssleay=no],
- [-lcrypto])
- fi
- if test $have_ssleay = no ; then
+ if test $have_openssl = no ; then
AC_CHECK_LIB(ssl, ssl3_accept,
- [have_ssleay=yes
- need_rsaref=yes], [have_ssleay=no],
+ [have_openssl=yes
+ need_rsaref=yes], [have_openssl=no],
[-lcrypto -lRSAglue -lrsaref])
fi
- if test $have_ssleay = yes ; then
- ol_with_tls=found
+ if test $have_openssl = yes ; then
+ ol_with_tls=openssl
ol_link_tls=yes
- AC_DEFINE(HAVE_SSLEAY, 1,
- [define if you have SSLeay or OpenSSL])
+ AC_DEFINE(HAVE_OPENSSL, 1,
+ [define if you have OpenSSL])
if test $need_rsaref = yes; then
AC_DEFINE(HAVE_RSAREF, 1,
- [define if you have RSAref])
+ [define if OpenSSL needs RSAref])
TLS_LIBS="-lssl -lcrypto -lRSAglue -lrsaref"
else
TLS_LIBS="-lssl -lcrypto"
fi
- fi
- OL_SSL_COMPAT
- if test $ol_cv_ssl_crl_compat = no ; then
- ol_link_ssl=no
- else
- AC_DEFINE(HAVE_OPENSSL_CRL, 1,
- [define if you have OpenSSL with CRL checking capability])
+
+ OL_SSL_COMPAT
+ if test $ol_cv_ssl_crl_compat = yes ; then
+ AC_DEFINE(HAVE_OPENSSL_CRL, 1,
+ [define if you have OpenSSL with CRL checking capability])
+ fi
fi
fi
+fi
-else
- AC_WARN([TLS data protection not supported!])
+if test $ol_link_tls = no ; then
+ if test $ol_with_tls = gnutls || test $ol_with_tls = auto ; then
+ AC_CHECK_HEADERS(gnutls/gnutls.h)
+
+ if test $ac_cv_header_gnutls_gnutls_h = yes ; then
+ AC_CHECK_LIB(gnutls, gnutls_init,
+ [have_gnutls=yes], [have_gnutls=no])
+
+ if test $have_gnutls = yes ; then
+ ol_with_tls=gnutls
+ ol_link_tls=yes
+
+ TLS_LIBS="-lgnutls"
+
+ AC_DEFINE(HAVE_GNUTLS, 1,
+ [define if you have GNUtls])
+ fi
+ fi
+ fi
fi
WITH_TLS=no
if test $ol_link_tls = yes ; then
AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
WITH_TLS=yes
-
elif test $ol_with_tls = auto ; then
- AC_WARN([Could not locate TLS/SSL package])
- AC_WARN([TLS data protection not supported!])
-
+ AC_MSG_WARN([Could not locate TLS/SSL package])
+ AC_MSG_WARN([TLS data protection not supported!])
elif test $ol_with_tls != no ; then
- AC_ERROR([Could not locate TLS/SSL package])
+ AC_MSG_ERROR([Could not locate TLS/SSL package])
+else
+ AC_MSG_WARN([TLS data protection not supported!])
fi
dnl ----------------------------------------------------------------
dnl LAN Manger password checking requires DES from OpenSSL
if test $ol_enable_lmpasswd != no; then
if test $ol_link_tls != yes ; then
- AC_ERROR([LAN Manager passwords require OpenSSL])
+ AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
fi
AC_DEFINE(SLAPD_LMHASH, 1, [define to support LAN Manager passwords])
dnl Threads?
ol_link_threads=no
-if test $ol_with_threads = auto -o $ol_with_threads = yes \
- -o $ol_with_threads = nt ; then
+case $ol_with_threads in auto | yes | nt)
OL_NT_THREADS
if test $ol_with_threads = nt ; then
AC_MSG_ERROR([could not locate NT Threads])
fi
-fi
+ ;;
+esac
-if test $ol_with_threads = auto -o $ol_with_threads = yes \
- -o $ol_with_threads = posix ; then
+case $ol_with_threads in auto | yes | posix)
AC_CHECK_HEADERS(pthread.h)
dnl pthread_create in $LIBS
AC_CACHE_CHECK([for pthread_create in default libraries],
ol_cv_pthread_create,[
- AC_TRY_RUN(OL_PTHREAD_TEST_PROGRAM,
- [ol_cv_pthread_create=yes],
- [ol_cv_pthread_create=no],
- [AC_TRY_LINK(OL_PTHREAD_TEST_INCLUDES,OL_PTHREAD_TEST_FUNCTION,
+ AC_RUN_IFELSE([OL_PTHREAD_TEST_PROGRAM],
[ol_cv_pthread_create=yes],
- [ol_cv_pthread_create=no])])])
+ [ol_cv_pthread_create=no],
+ [AC_TRY_LINK(OL_PTHREAD_TEST_INCLUDES,OL_PTHREAD_TEST_FUNCTION,
+ [ol_cv_pthread_create=yes],
+ [ol_cv_pthread_create=no])])])
if test $ol_cv_pthread_create != no ; then
ol_link_threads=posix
dnl check for both, and thr_yield for Solaris
AC_CHECK_FUNCS(sched_yield pthread_yield thr_yield)
- if test $ac_cv_func_sched_yield = no -a \
- $ac_cv_func_pthread_yield = no -a \
- $ac_cv_func_thr_yield = no ; then
+ if test $ac_cv_func_sched_yield = no &&
+ test $ac_cv_func_pthread_yield = no &&
+ test $ac_cv_func_thr_yield = no ; then
dnl Digital UNIX has sched_yield() in -lrt
AC_CHECK_LIB(rt, sched_yield,
[LTHREAD_LIBS="$LTHREAD_LIBS -lrt"
ac_cv_func_sched_yield=yes],
[ac_cv_func_sched_yield=no])
fi
- if test $ac_cv_func_sched_yield = no -a \
- $ac_cv_func_pthread_yield = no -a \
- "$ac_cv_func_thr_yield" = no ; then
+ if test $ac_cv_func_sched_yield = no &&
+ test $ac_cv_func_pthread_yield = no &&
+ test "$ac_cv_func_thr_yield" = no ; then
AC_MSG_WARN([could not locate sched_yield() or pthread_yield()])
fi
dnl Check functions for compatibility
- AC_CHECK_FUNCS(pthread_kill pthread_rwlock_destroy)
+ AC_CHECK_FUNCS(pthread_kill)
+
+ dnl Check for pthread_rwlock_destroy with <pthread.h>
+ dnl as pthread_rwlock_t may not be defined.
+ AC_CACHE_CHECK([for pthread_rwlock_destroy with <pthread.h>],
+ [ol_cv_func_pthread_rwlock_destroy], [
+ dnl save the flags
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+#include <pthread.h>
+pthread_rwlock_t rwlock;
+]], [[pthread_rwlock_destroy(&rwlock);]])],[ol_cv_func_pthread_rwlock_destroy=yes],[ol_cv_func_pthread_rwlock_destroy=no])
+ ])
+ if test $ol_cv_func_pthread_rwlock_destroy = yes ; then
+ AC_DEFINE(HAVE_PTHREAD_RWLOCK_DESTROY,1,
+ [define if you have pthread_rwlock_destroy function])
+ fi
dnl Check for pthread_detach with <pthread.h> inclusion
dnl as it's symbol may have been mangled.
AC_CACHE_CHECK([for pthread_detach with <pthread.h>],
[ol_cv_func_pthread_detach], [
dnl save the flags
- AC_TRY_LINK([
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <pthread.h>
#ifndef NULL
#define NULL (void*)0
#endif
-],
- [pthread_detach(NULL);],
- [ol_cv_func_pthread_detach=yes],
- [ol_cv_func_pthread_detach=no])
+]], [[pthread_detach(NULL);]])],[ol_cv_func_pthread_detach=yes],[ol_cv_func_pthread_detach=no])
])
if test $ol_cv_func_pthread_detach = no ; then
AC_CACHE_CHECK([if pthread_create() works],
ol_cv_pthread_create_works,[
- AC_TRY_RUN(OL_PTHREAD_TEST_PROGRAM,
+ AC_RUN_IFELSE([OL_PTHREAD_TEST_PROGRAM],
[ol_cv_pthread_create_works=yes],
[ol_cv_pthread_create_works=no],
[dnl assume yes
AC_MSG_ERROR([pthread_create is not usable, check environment settings])
fi
+ ol_replace_broken_yield=no
+dnl case "$target" in
+dnl *-*-linux*)
+dnl AC_CHECK_FUNCS(nanosleep)
+dnl ol_replace_broken_yield=yes
+dnl ;;
+dnl esac
+
+ if test $ol_replace_broken_yield = yes ; then
+ AC_DEFINE([REPLACE_BROKEN_YIELD],1,
+ [define if sched_yield yields the entire process])
+ fi
+
dnl Check if select causes an yield
if test $ol_with_yielding_select = auto ; then
AC_CACHE_CHECK([if select yields when using pthreads],
ol_cv_pthread_select_yields,[
- AC_TRY_RUN([
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <sys/types.h>
#include <sys/time.h>
#include <unistd.h>
#endif
/* make sure task runs first */
-#if HAVE_THR_YIELD
+#ifdef HAVE_THR_YIELD
thr_yield();
#elif defined( HAVE_SCHED_YIELD )
sched_yield();
#endif
exit(2);
-}],
- [ol_cv_pthread_select_yields=no],
- [ol_cv_pthread_select_yields=yes],
- [ol_cv_pthread_select_yields=cross])])
+}]])],[ol_cv_pthread_select_yields=no],[ol_cv_pthread_select_yields=yes],[ol_cv_pthread_select_yields=cross])])
if test $ol_cv_pthread_select_yields = cross ; then
AC_MSG_ERROR([crossing compiling: use --with-yielding_select=yes|no|manual])
if test $ol_with_threads = posix ; then
AC_MSG_ERROR([could not locate POSIX Threads])
fi
-fi
-
-if test $ol_with_threads = auto -o $ol_with_threads = yes \
- -o $ol_with_threads = mach ; then
+ ;;
+esac
+
+case $ol_with_threads in auto | yes | mach)
dnl check for Mach CThreads
AC_CHECK_HEADERS(mach/cthreads.h cthreads.h)
dnl save the flags
save_LIBS="$LIBS"
LIBS="-all_load $LIBS"
- AC_TRY_LINK([#include <mach/cthreads.h>],[
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <mach/cthreads.h>]], [[
cthread_fork((void *)0, (void *)0);
- ], ol_cv_cthread_all_load=yes, ol_cv_cthread_all_load=no)
+ ]])],[ol_cv_cthread_all_load=yes],[ol_cv_cthread_all_load=no])
dnl restore the LIBS
LIBS="$save_LIBS"
])
elif test $ol_with_threads = found ; then
AC_MSG_ERROR([could not link with Mach CThreads])
fi
-fi
+ ;;
+esac
-if test $ol_with_threads = auto -o $ol_with_threads = yes \
- -o $ol_with_threads = pth ; then
+case $ol_with_threads in auto | yes | pth)
AC_CHECK_HEADERS(pth.h)
fi
fi
fi
-fi
+ ;;
+esac
-if test $ol_with_threads = auto -o $ol_with_threads = yes \
- -o $ol_with_threads = lwp ; then
+case $ol_with_threads in auto | yes | lwp)
dnl check for SunOS5 LWP
AC_CHECK_HEADERS(thread.h synch.h)
- if test $ac_cv_header_thread_h = yes -a $ac_cv_header_synch_h = yes ; then
+ if test $ac_cv_header_thread_h = yes &&
+ test $ac_cv_header_synch_h = yes ; then
AC_CHECK_LIB(thread, thr_create, [have_thr=yes], [have_thr=no])
if test $have_thr = yes ; then
fi
fi
fi
-fi
+ ;;
+esac
if test $ol_with_yielding_select = yes ; then
AC_DEFINE(HAVE_YIELDING_SELECT,1,
AC_CHECK_HEADERS(thread.h synch.h)
fi
-if test $ol_link_threads != no -a $ol_link_threads != nt ; then
+if test $ol_link_threads != no && test $ol_link_threads != nt ; then
dnl needed to get reentrant/threadsafe versions
dnl
AC_DEFINE(REENTRANT,1)
dnl If it does, we must link with thread support.
AC_CACHE_CHECK([for thread specific errno],
[ol_cv_errno_thread_specific], [
- AC_TRY_LINK([#include <errno.h>], [errno = 0;],
- [ol_cv_errno_thread_specific=yes],
- [ol_cv_errno_thread_specific=no])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <errno.h>]], [[errno = 0;]])],[ol_cv_errno_thread_specific=yes],[ol_cv_errno_thread_specific=no])
])
dnl The h_errno declaration may dependent upon _REENTRANT.
dnl If it does, we must link with thread support.
AC_CACHE_CHECK([for thread specific h_errno],
[ol_cv_h_errno_thread_specific], [
- AC_TRY_LINK([#include <netdb.h>], [h_errno = 0;],
- [ol_cv_h_errno_thread_specific=yes],
- [ol_cv_h_errno_thread_specific=no])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <netdb.h>]], [[h_errno = 0;]])],[ol_cv_h_errno_thread_specific=yes],[ol_cv_h_errno_thread_specific=no])
])
- if test $ol_cv_errno_thread_specific != yes \
- -o $ol_cv_h_errno_thread_specific != yes ; then
+ if test $ol_cv_errno_thread_specific != yes ||
+ test $ol_cv_h_errno_thread_specific != yes ; then
LIBS="$LTHREAD_LIBS $LIBS"
LTHREAD_LIBS=""
fi
AC_DEFINE(NO_THREADS,1,
[define if you have (or want) no threads])
LTHREAD_LIBS=""
+ BUILD_THREAD=no
+else
+ BUILD_THREAD=yes
fi
if test $ol_link_threads != no ; then
- AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE,1)
+ AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE,1,
+ [define to 1 if library is thread safe])
fi
dnl ----------------------------------------------------------------
fi
dnl ----------------------------------------------------------------
-ol_link_ldbm=no
-
-if test $ol_with_ldbm_api = auto \
- -o $ol_with_ldbm_api = berkeley \
- -o $ol_with_ldbm_api = bcompat ; then
-
- if test $ol_with_ldbm_api = bcompat; then \
- OL_BERKELEY_COMPAT_DB
- else
- OL_BERKELEY_DB
- fi
-
- if test $ol_cv_berkeley_db != no ; then
- AC_DEFINE(HAVE_BERKELEY_DB,1,
- [define this if Berkeley DB is available])
-
- ol_link_ldbm=berkeley
- ol_with_ldbm_api=berkeley
-
- if test $ol_with_ldbm_type = hash ; then
- AC_DEFINE(LDBM_USE_DBHASH,1,
- [define this to use DBHASH w/ LDBM backend])
- else
- AC_DEFINE(LDBM_USE_DBBTREE,1,
- [define this to use DBBTREE w/ LDBM backend])
- fi
+ol_link_bdb=no
- dnl $ol_cv_lib_db should be yes or -ldb
- dnl (it could be no, but that would be an error
- if test $ol_cv_lib_db != yes ; then
- LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db"
- fi
- fi
-fi
+if test $ol_enable_bdb/$ol_enable_hdb != no/no; then
+ OL_BERKELEY_DB
-if test $ol_enable_bdb != no -o $ol_enable_hdb != no; then
- if test $ol_link_ldbm != berkeley ; then
+ if test $ol_cv_berkeley_db = no ; then
AC_MSG_ERROR(BDB/HDB: BerkeleyDB not available)
- else
- OL_BDB_COMPAT
-
- if test $ol_cv_bdb_compat != yes ; then
- AC_MSG_ERROR([BDB/HDB: BerkeleyDB version incompatible])
- fi
- fi
-fi
-
-if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
- AC_MSG_WARN([Could not find LDBM with BTREE support])
- ol_with_ldbm_api=none
-fi
-
-if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = mdbm ; then
- OL_MDBM
-
- if test $ol_cv_mdbm = yes ; then
- ol_link_ldbm=mdbm
- ol_with_ldbm_api=mdbm
- if test $ol_cv_lib_mdbm != yes ; then
- LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_mdbm"
- fi
- fi
-fi
-
-if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = gdbm ; then
- OL_GDBM
-
- if test $ol_cv_gdbm = yes ; then
- ol_link_ldbm=gdbm
- ol_with_ldbm_api=gdbm
-
- if test $ol_cv_lib_gdbm != yes ; then
- LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_gdbm"
- fi
fi
-fi
-
-if test $ol_with_ldbm_api = ndbm ; then
- OL_NDBM
- if test $ol_cv_ndbm = yes ; then
- ol_link_ldbm=ndbm
- ol_with_ldbm_api=ndbm
+ AC_DEFINE(HAVE_BERKELEY_DB,1,
+ [define this if Berkeley DB is available])
- if test $ol_cv_lib_ndbm != yes ; then
- LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_ndbm"
- fi
+ dnl $ol_cv_lib_db should be yes or -ldb
+ dnl (it could be no, but that would be an error
+ if test $ol_cv_lib_db != yes ; then
+ BDB_LIBS="$BDB_LIBS $ol_cv_lib_db"
fi
-fi
-if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then
- AC_MSG_ERROR([could not find suitable LDBM backend])
-fi
+ SLAPD_LIBS="$SLAPD_LIBS \$(BDB_LIBS)"
-if test $ol_enable_bdb = yes -o \
- $ol_enable_hdb = yes -o \
- $ol_enable_ldbm = yes ; then
- SLAPD_LIBS="$SLAPD_LIBS \$(LDBM_LIBS)"
+ ol_link_bdb=yes
fi
dnl ----------------------------------------------------------------
-if test $ol_enable_dynamic = yes -a $enable_shared = yes ; then
+if test $ol_enable_dynamic = yes && test $enable_shared = yes ; then
BUILD_LIBS_DYNAMIC=shared
AC_DEFINE(LDAP_LIBS_DYNAMIC, 1, [define if LDAP libs are dynamic])
LTSTATIC=""
AC_MSG_CHECKING([for TCP wrappers library])
save_LIBS="$LIBS"
LIBS="$LIBS -lwrap"
- AC_TRY_LINK([
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <tcpd.h>
int allow_severity = 0;
int deny_severity = 0;
struct request_info *req;
- ],[
+ ]], [[
hosts_access(req)
- ],[AC_MSG_RESULT([-lwrap])
+ ]])],[AC_MSG_RESULT([-lwrap])
have_wrappers=yes
LIBS="$save_LIBS"],[
dnl try with -lnsl
LIBS="$save_LIBS -lnsl"],[
AC_MSG_RESULT(no)
have_wrappers=no
- LIBS=$save_LIBS])],[
- have_wrappers=no])],[have_wrappers=no])
+ LIBS=$save_LIBS])])],[have_wrappers=no])
if test $have_wrappers = yes ; then
AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
dnl ----------------------------------------------------------------
if test $ol_enable_syslog != no ; then
AC_CHECK_FUNC(openlog)
- if test $ac_cv_func_openlog = no -a $ol_enable_syslog = yes; then
+ if test $ac_cv_func_openlog = no && test $ol_enable_syslog = yes; then
AC_MSG_ERROR(could not find syslog, select appropriate options or disable)
fi
ol_enable_syslog=$ac_cv_func_openlog
fi
-dnl ----------------------------------------------------------------
-dnl dmalloc support (deprecated in favor of -DCSRIMALLOC support)
-dnl if test $ol_enable_dmalloc != no ; then
-dnl AC_CHECK_HEADERS(dmalloc.h)
-dnl AC_CHECK_LIB(dmalloc, dmalloc_shutdown)
-dnl fi
-
dnl ----------------------------------------------------------------
dnl SQL
ol_link_sql=no
AC_MSG_ERROR([could not locate SQL headers])
])
- AC_CHECK_LIB(iodbc,SQLDriverConnect,[have_iodbc=yes],[have_iodbc=no])
- if test $have_iodbc = yes ; then
- ol_link_sql="-liodbc"
- else
- AC_CHECK_LIB(odbc,SQLDriverConnect,[have_odbc=yes],[have_odbc=no])
- if test $have_odbc = yes ; then
- ol_link_sql="-lodbc"
- fi
+ sql_LIBS="$LIBS"
+ LIBS="$LTHREAD_LIBS"
+
+ if test $ol_with_odbc = auto ; then
+ ol_with_odbc="iodbc unixodbc odbc32"
fi
+ for odbc in $ol_with_odbc ; do
+ if test $ol_link_sql = no ; then
+ case $odbc in
+ iodbc)
+ AC_CHECK_LIB(iodbc, SQLDriverConnect, [have_iodbc=yes], [have_iodbc=no])
+ if test $have_iodbc = yes ; then
+ ol_link_sql="-liodbc"
+ fi
+ ;;
+
+ unixodbc)
+ AC_CHECK_LIB(odbc, SQLDriverConnect, [have_odbc=yes], [have_odbc=no])
+ if test $have_odbc = yes ; then
+ ol_link_sql="-lodbc"
+ fi
+ ;;
+
+ odbc32)
+ AC_CHECK_LIB(odbc32, SQLDriverConnect, [have_odbc32=yes], [have_odbc32=no])
+ if test $have_odbc32 = yes ; then
+ ol_link_sql="-lodbc32"
+ fi
+ ;;
+
+ *)
+ AC_MSG_ERROR([unknown ODBC library])
+ ;;
+ esac
+ fi
+ done
+
+ LIBS="$sql_LIBS"
+
if test $ol_link_sql != no ; then
SLAPD_SQL_LIBS="$ol_link_sql"
fi
fi
+dnl ----------------------------------------------------------------
+dnl MySQL NDBapi
+dnl Note: uses C++, but we don't want to add C++ test overhead to
+dnl the rest of the libtool machinery.
+ol_link_ndb=no
+if test $ol_enable_ndb != no ; then
+ AC_CHECK_PROG(MYSQL,mysql_config,yes)
+ if test "$MYSQL" != yes ; then
+ AC_MSG_ERROR([could not locate mysql_config])
+ fi
+
+ SQL_INC=`mysql_config --include`
+ SLAPD_NDB_INCS="$SQL_INC $SQL_INC/storage/ndb $SQL_INC/storage/ndb/ndbapi"
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$SLAPD_NDB_INCS"
+ AC_MSG_CHECKING(for NdbApi.hpp)
+ AC_PREPROC_IFELSE(
+ [AC_LANG_SOURCE([[#include <NdbApi.hpp>]])],
+ AC_MSG_RESULT(yes),
+ AC_MSG_ERROR([could not locate NdbApi headers])
+ )
+ CPPFLAGS="$save_CPPFLAGS"
+
+ SQL_LIB=`mysql_config --libs_r`
+ SLAPD_NDB_LIBS="$SQL_LIB -lndbclient -lstdc++"
+
+ save_LDFLAGS="$LDFLAGS"
+ save_LIBS="$LIBS"
+ LDFLAGS="$SQL_LIB"
+ AC_CHECK_LIB(ndbclient,ndb_init,[: ok],[
+ AC_MSG_ERROR([could not locate ndbclient library])
+ ],[-lstdc++])
+ LIBS="$save_LIBS"
+ LDFLAGS="$save_LDFLAGS"
+
+ if test "$ol_enable_ndb" = yes ; then
+ SLAPD_LIBS="$SLAPD_LIBS \$(SLAPD_NDB_LIBS)"
+ fi
+fi
+
+dnl ----------------------------------------------------------------
+dnl International Components for Unicode
+OL_ICU
+if test "$ol_icu" = no ; then
+ AC_MSG_WARN([ICU not available])
+else
+ ICU_LIBS="$ol_icu"
+fi
dnl ----------------------------------------------------------------
dnl
dnl Check for Cyrus SASL
if test $ol_with_cyrus_sasl != no ; then
AC_CHECK_HEADERS(sasl/sasl.h sasl.h)
- if test $ac_cv_header_sasl_sasl_h = yes -o $ac_cv_header_sasl_h = yes; then
+ if test $ac_cv_header_sasl_sasl_h = yes ||
+ test $ac_cv_header_sasl_h = yes; then
AC_CHECK_LIB(sasl2, sasl_client_init,
[ol_link_sasl="-lsasl2"],
[AC_CHECK_LIB(sasl, sasl_client_init,
dnl ----------------------------------------------------------------
dnl Check for entropy sources
-if test $cross_compiling != yes -a "$ac_cv_mingw32" != yes ; then
+if test $cross_compiling != yes && test "$ac_cv_mingw32" != yes ; then
dev=no
if test -r /dev/urandom ; then
dev="/dev/urandom";
[have_setproctitle=yes
LUTIL_LIBS="$LUTIL_LIBS -lutil"],
[have_setproctitle=no
- LIBOBJS="$LIBOBJS setproctitle.o"
+ AC_LIBOBJ(setproctitle)
LIBSRCS="$LIBSRCS setproctitle.c"])])
if test $have_setproctitle = yes ; then
fi
dnl ----------------------------------------------------------------
-dnl Check for SLPv2 Compliant API Library
if test $ol_enable_slp != no ; then
AC_CHECK_HEADERS( slp.h )
fi
dnl ----------------------------------------------------------------
-dnl Check for multiple precision support
-if test "$ol_with_multiple_precision" != "no" ; then
- ol_have_bignum=no
- ol_have_gmp=no
-
- AC_CHECK_HEADERS(openssl/bn.h bn.h)
- AC_CHECK_HEADERS(openssl/crypto.h crypto.h)
- AC_CHECK_HEADERS( gmp.h )
-
- if test "$ol_with_tls" = "found" ; then
- ol_have_bn_h=no
- ol_have_crypto_h=no
-
- if test "$ac_cv_header_openssl_bn_h" = "yes" \
- -o "$ac_cv_header_bn_h" = "yes" ; then
- ol_have_bn_h=yes
- fi
-
- if test "$ac_cv_header_openssl_crypto_h" = "yes" \
- -o "$ac_cv_header_crypto_h" = "yes" ; then
- ol_have_crypto_h=yes
- fi
-
- if test "$ol_have_bn_h" = "yes" \
- -a "$ol_have_crypto_h" = "yes" ; then
- ol_have_bignum=yes
- fi
- fi
+dnl Checks for typedefs, structures, and compiler characteristics.
- if test $ac_cv_header_gmp_h = yes ; then
- AC_CHECK_LIB(gmp, __gmpz_add_ui, [have_gmp=yes], [have_gmp=no])
- if test $have_gmp = yes ; then
- ol_have_gmp=yes
- fi
- fi
+AC_CHECK_TYPE(mode_t, int)
+AC_CHECK_TYPE(off_t, long)
+AC_CHECK_TYPE(pid_t, int)
+AC_CHECK_TYPE(ssize_t, [signed int])
+AC_CHECK_TYPE(caddr_t, [char *])
+AC_CHECK_TYPE(size_t, unsigned)
- AC_MSG_CHECKING([for multiple precision support])
+AC_CHECK_TYPES([long long])
+AC_CHECK_TYPES([ptrdiff_t])
- ol_mp_support="none"
- case "$ol_with_multiple_precision" in
- auto)
- dnl preferred sequence:
- dnl - OpenSSL's BIGNUM (if libssl is already linked)
- dnl - GNU's MP
- dnl - unsigned long
- if test "$ol_have_bignum" = "yes" ; then
- ol_mp_support="bignum"
- else
- if test "$ol_have_gmp" = "yes" ; then
- ol_mp_support="gmp"
- fi
- fi
- ;;
- bignum)
- if test "$ol_have_bignum" != "yes" ; then
- AC_MSG_ERROR([OpenSSL's BIGNUM not available])
- fi
- ol_mp_support="bignum"
- ;;
- gmp)
- if test "$ol_have_gmp" != "yes" ; then
- AC_MSG_ERROR([GMP not available])
- fi
- ol_mp_support="gmp"
- ;;
- yes)
- if test "$ol_have_bignum" = "yes" ; then
- ol_mp_support="bignum"
- elif test "$ol_have_gmp" = "yes" ; then
- ol_mp_support="gmp"
- else
- AC_MSG_ERROR([not available])
- fi
- ;;
- esac
- case "$ol_mp_support" in
- bignum)
- AC_DEFINE(HAVE_BIGNUM, 1,
- [define if you have SSLeay or OpenSSL's BIGNUM])
- ;;
- gmp)
- AC_DEFINE(HAVE_GMP, 1, [define if you have -lgmp])
- SLAPD_GMP_LIBS=-lgmp
- ;;
- none)
- ;;
- esac
+AC_CHECK_TYPE([socklen_t],,, [$ac_includes_default
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif])
+
+dnl socklen_t-like type in accept(), default socklen_t or int:
+dnl - The OS might define socklen_t without using it. POSIX moved from
+dnl int to size_t to socklen_t, hoping to stay at a 32-bit type, and
+dnl HP-UX now has selectors for what to use.
+dnl - On Solaris 2.8 the prototype has void *len, but the default is OK.
+AC_MSG_CHECKING([the type of arg 3 to accept()])
+AC_CACHE_VAL(ol_cv_type_ber_socklen_t, [
+ set socklen_t int unsigned "unsigned long" long size_t
+ test "$ac_cv_type_socklen_t" = yes || shift
+ ol_cv_type_ber_socklen_t=$1 guessing="guessing "
+ for lentype in "$@" ; do for addrtype in "struct sockaddr" void ; do
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$ac_includes_default
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+extern int accept(int s, $addrtype *ap, $lentype *lp);
+], [
+accept(0, (struct sockaddr *) 0, ($lentype *) 0);
+])], [ol_cv_type_ber_socklen_t=$lentype guessing= ; break 2])
+ done ; done])
+AC_MSG_RESULT([$guessing$ol_cv_type_ber_socklen_t *])
+AC_DEFINE_UNQUOTED(ber_socklen_t, $ol_cv_type_ber_socklen_t,
+ [Define to the type of arg 3 for `accept'.])
- AC_MSG_RESULT($ol_mp_support)
+dnl Modules should use ber_socklen_t, not socklen_t. Define socklen_t
+dnl for the time being anyway, for backwards compatibility.
+if test "$ac_cv_type_socklen_t" != yes; then
+ AC_DEFINE_UNQUOTED([socklen_t], [$ol_cv_type_ber_socklen_t],
+ [Define like ber_socklen_t if <sys/socket.h> does not define.])
fi
-dnl ----------------------------------------------------------------
-dnl Checks for typedefs, structures, and compiler characteristics.
-
-dnl Checks for long long
-AC_CACHE_CHECK([long long], ol_cv_type_long_long, [
- AC_TRY_COMPILE([], [long long x;],
- [ol_cv_type_long_long=yes],
- [ol_cv_type_long_long=no])])
-if test $ol_cv_type_long_long = yes; then
- AC_DEFINE(HAVE_LONG_LONG, 1, [define if you have 'long long'])
-fi
-AC_TYPE_MODE_T
-AC_TYPE_OFF_T
-AC_TYPE_PID_T
-AM_TYPE_PTRDIFF_T
AC_TYPE_SIGNAL
-AC_TYPE_SIZE_T
-AC_CHECK_TYPE(ssize_t, [signed int])
-AC_CHECK_TYPE(caddr_t, [char *])
+AC_CHECK_TYPE([sig_atomic_t],,
+ [AC_DEFINE_UNQUOTED([sig_atomic_t], [int],
+ [Define to `int' if <signal.h> does not define.])],
+ [$ac_includes_default
+#include <signal.h>
+ ])
-OL_TYPE_SOCKLEN_T
-AC_STRUCT_ST_BLKSIZE
-AC_HEADER_TIME
-AC_STRUCT_TM
AC_TYPE_UID_T
-OL_TYPE_SIG_ATOMIC_T
-
-dnl AC_TYPE_GETGROUPS
-OL_STRUCT_PASSWD_PW_GECOS
-OL_STRUCT_PASSWD_PW_PASSWD
+AC_HEADER_TIME
+AC_STRUCT_TM
+AC_CHECK_MEMBERS([struct stat.st_blksize])
+AC_CHECK_MEMBERS([struct passwd.pw_gecos],,,[$ac_includes_default
+#include <pwd.h>])
+AC_CHECK_MEMBERS([struct passwd.pw_passwd],,,[$ac_includes_default
+#include <pwd.h>])
OL_C_UPPER_LOWER
AC_C_CONST
AC_C_BIGENDIAN
fi
-AC_COMPILE_CHECK_SIZEOF(short)
-AC_COMPILE_CHECK_SIZEOF(int)
-AC_COMPILE_CHECK_SIZEOF(long)
-AC_COMPILE_CHECK_SIZEOF(wchar_t)
+AC_CHECK_SIZEOF(short)
+AC_CHECK_SIZEOF(int)
+AC_CHECK_SIZEOF(long)
+AC_CHECK_SIZEOF(long long)
+AC_CHECK_SIZEOF(wchar_t)
if test "$ac_cv_sizeof_int" -lt 4 ; then
AC_MSG_WARN([OpenLDAP requires 'int' to be 32 bits or greater.])
- AC_DEFINE(LBER_INT_T,long)
+ AC_DEFINE(LBER_INT_T,long,[define to 32-bit or greater integer type])
else
- AC_DEFINE(LBER_INT_T,int)
+ AC_DEFINE(LBER_INT_T,int,[define to 32-bit or greater integer type])
fi
-AC_DEFINE(LBER_LEN_T,long)
-AC_DEFINE(LBER_SOCKET_T,int)
-AC_DEFINE(LBER_TAG_T,long)
+AC_DEFINE(LBER_LEN_T,long,[define to large integer type])
+AC_DEFINE(LBER_SOCKET_T,int,[define to socket descriptor type])
+AC_DEFINE(LBER_TAG_T,long,[define to large integer type])
+
+dnl ----------------------------------------------------------------
+dnl Check for multiple precision support
+if test $ol_with_mp = longlong || test $ol_with_mp = auto ; then
+ if test $ac_cv_sizeof_long_long -gt 4 ; then
+ ol_with_mp=longlong
+ AC_DEFINE(USE_MP_LONG_LONG,1,[define to use 'long long' for MP])
+ elif test $ol_with_mp = longlong ; then
+ AC_MSG_ERROR([long long unusable for multiple precision])
+ fi
+fi
+if test $ol_with_mp = long || test $ol_with_mp = auto ; then
+ if test $ac_cv_sizeof_long -gt 4 ; then
+ ol_with_mp=long
+ AC_DEFINE(USE_MP_LONG,1,[define to use 'long' for MP])
+ elif test $ol_with_mp = long ; then
+ AC_MSG_ERROR([long unusable for multiple precision])
+ fi
+fi
+if test $ol_with_mp = bignum || test $ol_with_mp = auto ; then
+ AC_CHECK_HEADERS(openssl/bn.h)
+ AC_CHECK_HEADERS(openssl/crypto.h)
+ if test "$ac_cv_header_openssl_bn_h" = "yes" &&
+ test "$ac_cv_header_openssl_crypto_h" = "yes" &&
+ test "$ol_with_tls" = "found" ; then
+ ol_with_mp=bignum
+ AC_DEFINE(USE_MP_BIGNUM,1,[define to use OpenSSL BIGNUM for MP])
+ elif test $ol_with_mp = bignum ; then
+ AC_MSG_ERROR([bignum not available])
+ fi
+fi
+if test $ol_with_mp = gmp || test $ol_with_mp = auto ; then
+ AC_CHECK_HEADERS(gmp.h)
+ AC_CHECK_LIB(gmp, __gmpz_add_ui)
+ if test $ac_cv_header_gmp_h = yes && test $ac_cv_lib_gmp___gmpz_add_ui = yes ; then
+ AC_DEFINE(USE_MP_GMP,1,[define to use GMP for MP])
+ ol_with_mp=gmp
+ elif test $ol_with_mp = gmp ; then
+ AC_MSG_ERROR([gmp not available])
+ fi
+fi
+if test $ol_with_mp = auto ; then
+ ol_with_mp=no
+fi
dnl ----------------------------------------------------------------
dnl Checks for library functions.
AC_FUNC_MEMCMP
-dnl AM_FUNC_MKTIME dnl checks for sys/time.h and unistd.h
+
+if test $ac_cv_func_memcmp_working = no ; then
+ AC_DEFINE(NEED_MEMCMP_REPLACEMENT,1,
+ [define if memcmp is not 8-bit clean or is otherwise broken])
+fi
+
AC_FUNC_STRFTIME
-dnl AM_FUNC_STRTOD
OL_FUNC_INET_ATON
AC_CHECK_FUNCS(snprintf vsnprintf)
fi
-AC_CHECK_FUNCS( \
+AC_CHECK_FUNCS( \
bcopy \
closesocket \
chroot \
fcntl \
flock \
fstat \
- getdtablesize \
+ getdtablesize \
+ geteuid \
getgrgid \
gethostname \
getpass \
- getpassphrase \
+ getpassphrase \
getpwuid \
getpwnam \
getspnam \
- gettimeofday \
+ gettimeofday \
initgroups \
+ inet_ntoa_b \
+ ioctl \
lockf \
memcpy \
memmove \
+ memrchr \
mkstemp \
mktemp \
pipe \
setsid \
setuid \
seteuid \
- sigaction \
signal \
- sigset \
strdup \
strpbrk \
strrchr \
strtoll \
strspn \
sysconf \
- usleep \
waitpid \
wait4 \
write \
if test "$ac_cv_func_getopt" != yes; then
LIBSRCS="$LIBSRCS getopt.c"
fi
+
if test "$ac_cv_func_getpeereid" != yes; then
- OL_MSGHDR_MSG_ACCRIGHTS
+ AC_CHECK_FUNCS( getpeerucred )
+ if test "$ac_cv_func_getpeerucred" != yes ; then
+ AC_CHECK_MEMBERS([struct msghdr.msg_accrightslen],,,
+ [$ac_includes_default
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif])
+ if test "$ac_cv_member_struct_msghdr_msg_accrightslen" != yes; then
+ AC_CHECK_MEMBERS([struct msghdr.msg_control],,,
+ [$ac_includes_default
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif])
+ fi
+ AC_CHECK_MEMBERS([struct stat.st_fstype, struct stat.st_vfstype])
+ if test "$ac_cv_member_struct_stat_st_fstype" = yes; then
+ AC_COMPILE_IFELSE([struct stat st; char *ptr=st.st_fstype;],
+ AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_CHAR],1,[define to 1 if st_fstype is char *]),
+ AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_INT],1,[define to 1 if st_fstype is int]))
+ fi
+ fi
LIBSRCS="$LIBSRCS getpeereid.c"
fi
-if test "$ac_cv_func_snprintf" != yes -o "$ac_cv_func_vsnprintf" != yes; then
+
+if test "$ac_cv_func_snprintf" != yes ||
+ test "$ac_cv_func_vsnprintf" != yes; then
if test "$ac_cv_func_snprintf" != yes; then
AC_DEFINE(snprintf, ber_pvt_snprintf, [define to snprintf routine])
fi
fi
if test "$ol_enable_debug" != no ; then
+ if test "$ol_enable_debug" = traditional; then
+ AC_DEFINE(OLD_DEBUG,1,
+ [define to use the original debug style])
+ fi
AC_DEFINE(LDAP_DEBUG,1,
[define this to add debugging code])
fi
AC_DEFINE(LDAP_SYSLOG,1,
[define this to add syslog code])
fi
-if test "$ol_link_kbind" != no ; then
- AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND,LDAP_VENDOR_VERSION)
-fi
if test "$ol_enable_proctitle" != no ; then
AC_DEFINE(LDAP_PROCTITLE,1,
[define this for LDAP process title support])
fi
if test "$ol_enable_referrals" != no ; then
- AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS,LDAP_VENDOR_VERSION)
+ AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS,LDAP_VENDOR_VERSION,
+ [define to LDAP VENDOR VERSION])
fi
if test "$ol_enable_local" != no; then
AC_DEFINE(LDAP_PF_LOCAL,1,[define to support PF_LOCAL])
if test "$ol_link_spasswd" != no ; then
AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords])
fi
-if test "$ol_enable_multimaster" != no ; then
- AC_DEFINE(SLAPD_MULTIMASTER,1,[define to support multimaster replication])
-fi
if test "$ol_enable_rlookups" != no ; then
AC_DEFINE(SLAPD_RLOOKUPS,1,[define to support reverse lookups])
fi
if test "$ol_enable_aci" != no ; then
- AC_DEFINE(SLAPD_ACI_ENABLED,1,[define to support per-object ACIs])
+ if test $ol_enable_dynacl = no ; then
+ ol_enable_dynacl=yes
+ AC_MSG_WARN([ACIs need dynacl])
+ fi
+ if test "$ol_enable_aci" = mod ; then
+ MFLAG=SLAPD_MOD_DYNAMIC
+ dnl remove this after moving servers/slapd/aci.c in contrib/slapd-modules/acl
+ AC_MSG_ERROR([ACI build as dynamic module not supported (yet)])
+ else
+ MFLAG=SLAPD_MOD_STATIC
+ fi
+ WITH_ACI_ENABLED=$ol_enable_aci
+ AC_DEFINE_UNQUOTED(SLAPD_ACI_ENABLED,$MFLAG,[define to support per-object ACIs])
+else
+ WITH_ACI_ENABLED=no
+fi
+if test "$ol_enable_dynacl" != no ; then
+ AC_DEFINE(SLAP_DYNACL,1,[define to support run-time loadable ACL])
fi
if test "$ol_link_modules" != no ; then
AC_DEFINE(SLAPD_MOD_STATIC,1,[statically linked module])
AC_DEFINE(SLAPD_MOD_DYNAMIC,2,[dynamically linked module])
+dnl back-monitor goes first (well, after back-config)
+if test "$ol_enable_monitor" != no ; then
+ BUILD_SLAPD=yes
+ BUILD_MONITOR=$ol_enable_monitor
+ if test "$ol_enable_monitor" = mod ; then
+ SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-monitor"
+ MFLAG=SLAPD_MOD_DYNAMIC
+ else
+ SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-monitor"
+ MFLAG=SLAPD_MOD_STATIC
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_MONITOR,$MFLAG,[define to support cn=Monitor backend])
+fi
+
if test "$ol_enable_bdb" != no ; then
BUILD_SLAPD=yes
BUILD_BDB=$ol_enable_bdb
AC_DEFINE_UNQUOTED(SLAPD_LDAP,$MFLAG,[define to support LDAP backend])
fi
-if test "$ol_link_ldbm" != no -a $ol_enable_ldbm != no; then
- BUILD_SLAPD=yes
- BUILD_LDBM=$ol_enable_ldbm
- if test "$ol_enable_ldbm" = mod ; then
- SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldbm"
- MFLAG=SLAPD_MOD_DYNAMIC
- else
- SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldbm"
- MFLAG=SLAPD_MOD_STATIC
- fi
- AC_DEFINE_UNQUOTED(SLAPD_LDBM,$MFLAG,[define to support LDBM backend])
-fi
-
if test "$ol_enable_meta" != no ; then
BUILD_SLAPD=yes
BUILD_META=$ol_enable_meta
AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend])
fi
-if test "$ol_enable_monitor" != no ; then
+if test "$ol_enable_ndb" != no ; then
BUILD_SLAPD=yes
- BUILD_MONITOR=$ol_enable_monitor
- if test "$ol_enable_monitor" = mod ; then
- SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-monitor"
+ BUILD_NDB=$ol_enable_ndb
+ if test "$ol_enable_ndb" = mod ; then
+ SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ndb"
MFLAG=SLAPD_MOD_DYNAMIC
else
- SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-monitor"
+ SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ndb"
MFLAG=SLAPD_MOD_STATIC
fi
- AC_DEFINE_UNQUOTED(SLAPD_MONITOR,$MFLAG,[define to support cn=Monitor backend])
+ AC_DEFINE_UNQUOTED(SLAPD_NDB,$MFLAG,[define to support NDB backend])
fi
if test "$ol_enable_null" != no ; then
fi
if test "$ol_enable_shell" != no ; then
- if test "$ol_link_thread" != no ; then
+ if test "$ol_link_threads" != no ; then
AC_MSG_WARN([Use of --without-threads is recommended with back-shell])
fi
BUILD_SLAPD=yes
AC_DEFINE_UNQUOTED(SLAPD_SHELL,$MFLAG,[define to support SHELL backend])
fi
+if test "$ol_enable_sock" != no ; then
+ BUILD_SLAPD=yes
+ BUILD_SOCK=$ol_enable_sock
+ if test "$ol_enable_sock" = mod ; then
+ SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sock"
+ MFLAG=SLAPD_MOD_DYNAMIC
+ else
+ SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sock"
+ MFLAG=SLAPD_MOD_STATIC
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_SOCK,$MFLAG,[define to support SOCK backend])
+fi
+
if test "$ol_link_sql" != no ; then
BUILD_SLAPD=yes
BUILD_SQL=$ol_enable_sql
AC_DEFINE_UNQUOTED(SLAPD_SQL,$MFLAG,[define to support SQL backend])
fi
-if test "$ol_enable_chain" != no ; then
- BUILD_CHAIN=$ol_enable_chain
- if test "$ol_enable_chain" = mod ; then
+if test "$ol_enable_accesslog" != no ; then
+ BUILD_ACCESSLOG=$ol_enable_accesslog
+ if test "$ol_enable_accesslog" = mod ; then
+ MFLAG=SLAPD_MOD_DYNAMIC
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS accesslog.la"
+ else
+ MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS accesslog.o"
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_ACCESSLOG,$MFLAG,[define for In-Directory Access Logging overlay])
+fi
+
+if test "$ol_enable_auditlog" != no ; then
+ BUILD_AUDITLOG=$ol_enable_auditlog
+ if test "$ol_enable_auditlog" = mod ; then
+ MFLAG=SLAPD_MOD_DYNAMIC
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS auditlog.la"
+ else
+ MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS auditlog.o"
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_AUDITLOG,$MFLAG,[define for Audit Logging overlay])
+fi
+
+if test "$ol_enable_collect" != no ; then
+ BUILD_COLLECT=$ol_enable_collect
+ if test "$ol_enable_collect" = mod ; then
+ MFLAG=SLAPD_MOD_DYNAMIC
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS collect.la"
+ else
+ MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS collect.o"
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_COLLECT,$MFLAG,[define for Collect overlay])
+fi
+
+if test "$ol_enable_constraint" != no ; then
+ BUILD_CONSTRAINT=$ol_enable_constraint
+ if test "$ol_enable_constraint" = mod ; then
+ MFLAG=SLAPD_MOD_DYNAMIC
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS constraint.la"
+ else
+ MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS constraint.o"
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_CONSTRAINT,$MFLAG,[define for Attribute Constraint overlay])
+fi
+
+if test "$ol_enable_dds" != no ; then
+ BUILD_DDS=$ol_enable_dds
+ if test "$ol_enable_dds" = mod ; then
MFLAG=SLAPD_MOD_DYNAMIC
- SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS chain.la"
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dds.la"
else
MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dds.o"
fi
- AC_DEFINE_UNQUOTED(SLAPD_OVER_CHAIN,$MFLAG,[define for Dynamic Group overlay])
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_DDS,$MFLAG,[define for Dynamic Directory Services overlay])
fi
-if test "$ol_enable_denyop" != no ; then
- BUILD_DENYOP=$ol_enable_denyop
- if test "$ol_enable_denyop" = mod ; then
+if test "$ol_enable_deref" != no ; then
+ BUILD_DDS=$ol_enable_deref
+ if test "$ol_enable_deref" = mod ; then
MFLAG=SLAPD_MOD_DYNAMIC
- SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS denyop.la"
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS deref.la"
else
MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS deref.o"
fi
- AC_DEFINE_UNQUOTED(SLAPD_OVER_DENYOP,$MFLAG,[define for Dynamic Group overlay])
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_DEREF,$MFLAG,[define for Dynamic Directory Services overlay])
fi
if test "$ol_enable_dyngroup" != no ; then
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dyngroup.la"
else
MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dyngroup.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group overlay])
fi
-if test "$ol_enable_lastmod" != no ; then
- BUILD_LASTMOD=$ol_enable_lastmod
- if test "$ol_enable_lastmod" = mod ; then
+if test "$ol_enable_dynlist" != no ; then
+ BUILD_DYNLIST=$ol_enable_dynlist
+ if test "$ol_enable_dynlist" = mod ; then
+ MFLAG=SLAPD_MOD_DYNAMIC
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dynlist.la"
+ else
+ MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dynlist.o"
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNLIST,$MFLAG,[define for Dynamic List overlay])
+fi
+
+if test "$ol_enable_memberof" != no ; then
+ BUILD_MEMBEROF=$ol_enable_memberof
+ if test "$ol_enable_memberof" = mod ; then
MFLAG=SLAPD_MOD_DYNAMIC
- SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS lastmod.la"
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS memberof.la"
else
MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS memberof.o"
fi
- AC_DEFINE_UNQUOTED(SLAPD_OVER_LASTMOD,$MFLAG,[define for Last Modification overlay])
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_MEMBEROF,$MFLAG,[define for Reverse Group Membership overlay])
fi
if test "$ol_enable_ppolicy" != no ; then
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS ppolicy.la"
else
MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS ppolicy.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_PPOLICY,$MFLAG,[define for Password Policy overlay])
fi
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS pcache.la"
else
MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS pcache.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_PROXYCACHE,$MFLAG,[define for Proxy Cache overlay])
fi
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS refint.la"
else
MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS refint.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_REFINT,$MFLAG,[define for Referential Integrity overlay])
fi
+if test "$ol_enable_retcode" != no ; then
+ BUILD_RETCODE=$ol_enable_retcode
+ if test "$ol_enable_retcode" = mod ; then
+ MFLAG=SLAPD_MOD_DYNAMIC
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS retcode.la"
+ else
+ MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS retcode.o"
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_RETCODE,$MFLAG,[define for Referential Integrity overlay])
+fi
+
if test "$ol_enable_rwm" != no ; then
BUILD_REWRITE=yes
BUILD_RWM=$ol_enable_rwm
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS rwm.la"
else
MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS rwm_x.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_RWM,$MFLAG,[define for Rewrite/Remap overlay])
fi
+if test "$ol_enable_seqmod" != no ; then
+ BUILD_SEQMOD=$ol_enable_seqmod
+ if test "$ol_enable_seqmod" = mod ; then
+ MFLAG=SLAPD_MOD_DYNAMIC
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS seqmod.la"
+ else
+ MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS seqmod.o"
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_SEQMOD,$MFLAG,[define for Sequential Modify overlay])
+fi
+
+if test "$ol_enable_syncprov" != no ; then
+ BUILD_SYNCPROV=$ol_enable_syncprov
+ if test "$ol_enable_syncprov" = mod ; then
+ MFLAG=SLAPD_MOD_DYNAMIC
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS syncprov.la"
+ else
+ MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS syncprov.o"
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_SYNCPROV,$MFLAG,[define for Syncrepl Provider overlay])
+fi
+
+if test "$ol_enable_translucent" != no ; then
+ BUILD_TRANSLUCENT=$ol_enable_translucent
+ if test "$ol_enable_translucent" = mod ; then
+ MFLAG=SLAPD_MOD_DYNAMIC
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS translucent.la"
+ else
+ MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS translucent.o"
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_TRANSLUCENT,$MFLAG,[define for Translucent Proxy overlay])
+fi
+
if test "$ol_enable_unique" != no ; then
BUILD_UNIQUE=$ol_enable_unique
if test "$ol_enable_unique" = mod ; then
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS unique.la"
else
MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS unique.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_UNIQUE,$MFLAG,[define for Attribute Uniqueness overlay])
fi
-if test "$ol_enable_slurpd" != no -a "$ol_link_threads" != no -a \
- $BUILD_SLAPD = yes ; then
- BUILD_SLURPD=yes
+if test "$ol_enable_valsort" != no ; then
+ BUILD_VALSORT=$ol_enable_valsort
+ if test "$ol_enable_valsort" = mod ; then
+ MFLAG=SLAPD_MOD_DYNAMIC
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS valsort.la"
+ else
+ MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS valsort.o"
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_VALSORT,$MFLAG,[define for Value Sorting overlay])
fi
if test "$ol_enable_rewrite" != no ; then
PLAT=UNIX
fi
-if test -z "$SLAPD_STATIC_BACKENDS"; then
- SLAPD_NO_STATIC='#'
-else
- SLAPD_NO_STATIC=
-fi
-
-dnl Generate static backend header file
-BACKEND_HEADER=servers/slapd/backend.h
-cat > $BACKEND_HEADER << EOF
-/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
- *
- * Copyright 1998-2004 The OpenLDAP Foundation.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted only as authorized by the OpenLDAP
- * Public License.
- *
- * A copy of this license is available in the file LICENSE in the
- * top-level directory of the distribution or, alternatively, at
- * <http://www.OpenLDAP.org/license.html>.
- */
-/* This file is automatically generated by configure; please do not edit.
- */
-
-EOF
-
-for b in $SLAPD_STATIC_BACKENDS; do
- bb=`echo "$b" | sed -e 's;back-;;'`
-
- cat >> $BACKEND_HEADER << EOF
-extern BI_init ${bb}_back_initialize;
-EOF
-done
-
-cat >> $BACKEND_HEADER << EOF
-
-static BackendInfo binfo[[]] = {
-EOF
-
-for b in $SLAPD_STATIC_BACKENDS; do
- bb=`echo "$b" | sed -e 's;back-;;'`
-
- cat >> $BACKEND_HEADER << EOF
- { "$bb", ${bb}_back_initialize },
-EOF
-done
-
-cat >> $BACKEND_HEADER << EOF
- { NULL, NULL }
-};
-
-/* end of generated file */
-EOF
-dnl done generating static backend header file
-
AC_SUBST(LIBSRCS)
AC_SUBST(PLAT)
AC_SUBST(WITH_SASL)
AC_SUBST(WITH_TLS)
AC_SUBST(WITH_MODULES_ENABLED)
+AC_SUBST(WITH_ACI_ENABLED)
+AC_SUBST(BUILD_THREAD)
AC_SUBST(BUILD_LIBS_DYNAMIC)
AC_SUBST(BUILD_SLAPD)
AC_SUBST(BUILD_DNSSRV)
AC_SUBST(BUILD_HDB)
AC_SUBST(BUILD_LDAP)
- AC_SUBST(BUILD_LDBM)
AC_SUBST(BUILD_META)
AC_SUBST(BUILD_MONITOR)
+ AC_SUBST(BUILD_NDB)
AC_SUBST(BUILD_NULL)
AC_SUBST(BUILD_PASSWD)
AC_SUBST(BUILD_RELAY)
AC_SUBST(BUILD_PERL)
AC_SUBST(BUILD_SHELL)
+ AC_SUBST(BUILD_SOCK)
AC_SUBST(BUILD_SQL)
dnl overlays
- AC_SUBST(BUILD_CHAIN)
+ AC_SUBST(BUILD_ACCESSLOG)
+ AC_SUBST(BUILD_AUDITLOG)
+ AC_SUBST(BUILD_COLLECT)
+ AC_SUBST(BUILD_CONSTRAINT)
+ AC_SUBST(BUILD_DDS)
AC_SUBST(BUILD_DENYOP)
AC_SUBST(BUILD_DYNGROUP)
+ AC_SUBST(BUILD_DYNLIST)
AC_SUBST(BUILD_LASTMOD)
+ AC_SUBST(BUILD_MEMBEROF)
AC_SUBST(BUILD_PPOLICY)
AC_SUBST(BUILD_PROXYCACHE)
AC_SUBST(BUILD_REFINT)
+ AC_SUBST(BUILD_RETCODE)
AC_SUBST(BUILD_RWM)
+ AC_SUBST(BUILD_SEQMOD)
+ AC_SUBST(BUILD_SYNCPROV)
+ AC_SUBST(BUILD_TRANSLUCENT)
AC_SUBST(BUILD_UNIQUE)
-AC_SUBST(BUILD_SLURPD)
+ AC_SUBST(BUILD_VALSORT)
AC_SUBST(LDAP_LIBS)
AC_SUBST(SLAPD_LIBS)
-AC_SUBST(SLURPD_LIBS)
-AC_SUBST(LDBM_LIBS)
+AC_SUBST(BDB_LIBS)
+AC_SUBST(SLAPD_NDB_LIBS)
+AC_SUBST(SLAPD_NDB_INCS)
AC_SUBST(LTHREAD_LIBS)
AC_SUBST(LUTIL_LIBS)
AC_SUBST(WRAP_LIBS)
AC_SUBST(SLAPD_NO_STATIC)
AC_SUBST(SLAPD_STATIC_BACKENDS)
AC_SUBST(SLAPD_DYNAMIC_BACKENDS)
+AC_SUBST(SLAPD_STATIC_OVERLAYS)
AC_SUBST(SLAPD_DYNAMIC_OVERLAYS)
AC_SUBST(PERL_CPPFLAGS)
AC_SUBST(KRB4_LIBS)
AC_SUBST(KRB5_LIBS)
AC_SUBST(SASL_LIBS)
+AC_SUBST(GSSAPI_LIBS)
AC_SUBST(TLS_LIBS)
AC_SUBST(MODULES_LIBS)
AC_SUBST(SLAPI_LIBS)
AC_SUBST(LIBSLAPI)
AC_SUBST(LIBSLAPITOOLS)
AC_SUBST(AUTH_LIBS)
+AC_SUBST(ICU_LIBS)
AC_SUBST(SLAPD_SLP_LIBS)
AC_SUBST(SLAPD_GMP_LIBS)
dnl final output
dnl
-AC_OUTPUT( \
-Makefile:build/top.mk:Makefile.in:build/dir.mk \
-doc/Makefile:build/top.mk:doc/Makefile.in:build/dir.mk \
-doc/man/Makefile:build/top.mk:doc/man/Makefile.in:build/dir.mk \
-doc/man/man1/Makefile:build/top.mk:doc/man/man1/Makefile.in:build/man.mk \
-doc/man/man3/Makefile:build/top.mk:doc/man/man3/Makefile.in:build/man.mk \
-doc/man/man5/Makefile:build/top.mk:doc/man/man5/Makefile.in:build/man.mk \
-doc/man/man8/Makefile:build/top.mk:doc/man/man8/Makefile.in:build/man.mk \
-clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.mk \
-clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk \
-include/Makefile:build/top.mk:include/Makefile.in \
-libraries/Makefile:build/top.mk:libraries/Makefile.in:build/dir.mk \
-libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk:build/lib-shared.mk \
-libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk:build/lib-shared.mk \
-libraries/libldap_r/Makefile:build/top.mk:libraries/libldap_r/Makefile.in:build/lib.mk:build/lib-shared.mk \
-libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk \
-libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk \
-libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-static.mk \
-servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \
-servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
-servers/slapd/back-bdb/Makefile:build/top.mk:servers/slapd/back-bdb/Makefile.in:build/mod.mk \
-servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk \
-servers/slapd/back-hdb/Makefile:build/top.mk:servers/slapd/back-hdb/Makefile.in:build/mod.mk \
-servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/mod.mk \
-servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/mod.mk \
-servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk \
-servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk \
-servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/Makefile.in:build/mod.mk \
-servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk \
-servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk \
-servers/slapd/back-relay/Makefile:build/top.mk:servers/slapd/back-relay/Makefile.in:build/mod.mk \
-servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk \
-servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk \
-servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk \
-servers/slapd/slapi/Makefile:build/top.mk:servers/slapd/slapi/Makefile.in:build/lib.mk:build/lib-shared.mk \
-servers/slapd/overlays/Makefile:build/top.mk:servers/slapd/overlays/Makefile.in:build/lib.mk \
-servers/slurpd/Makefile:build/top.mk:servers/slurpd/Makefile.in:build/srv.mk \
-tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk \
-tests/run \
-tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \
-,[
+AC_CONFIG_FILES([Makefile:build/top.mk:Makefile.in:build/dir.mk]
+[doc/Makefile:build/top.mk:doc/Makefile.in:build/dir.mk]
+[doc/man/Makefile:build/top.mk:doc/man/Makefile.in:build/dir.mk]
+[doc/man/man1/Makefile:build/top.mk:doc/man/man1/Makefile.in:build/man.mk]
+[doc/man/man3/Makefile:build/top.mk:doc/man/man3/Makefile.in:build/man.mk]
+[doc/man/man5/Makefile:build/top.mk:doc/man/man5/Makefile.in:build/man.mk]
+[doc/man/man8/Makefile:build/top.mk:doc/man/man8/Makefile.in:build/man.mk]
+[clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.mk]
+[clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk]
+[include/Makefile:build/top.mk:include/Makefile.in]
+[libraries/Makefile:build/top.mk:libraries/Makefile.in:build/dir.mk]
+[libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk:build/lib-shared.mk]
+[libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk:build/lib-shared.mk]
+[libraries/libldap_r/Makefile:build/top.mk:libraries/libldap_r/Makefile.in:build/lib.mk:build/lib-shared.mk]
+[libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk]
+[libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk]
+[libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-static.mk]
+[servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk]
+[servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk]
+[servers/slapd/back-bdb/Makefile:build/top.mk:servers/slapd/back-bdb/Makefile.in:build/mod.mk]
+[servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk]
+[servers/slapd/back-hdb/Makefile:build/top.mk:servers/slapd/back-hdb/Makefile.in:build/mod.mk]
+[servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/mod.mk]
+[servers/slapd/back-ldif/Makefile:build/top.mk:servers/slapd/back-ldif/Makefile.in:build/mod.mk]
+[servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk]
+[servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk]
+[servers/slapd/back-ndb/Makefile:build/top.mk:servers/slapd/back-ndb/Makefile.in:build/mod.mk]
+[servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/Makefile.in:build/mod.mk]
+[servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk]
+[servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk]
+[servers/slapd/back-relay/Makefile:build/top.mk:servers/slapd/back-relay/Makefile.in:build/mod.mk]
+[servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk]
+[servers/slapd/back-sock/Makefile:build/top.mk:servers/slapd/back-sock/Makefile.in:build/mod.mk]
+[servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk]
+[servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk]
+[servers/slapd/slapi/Makefile:build/top.mk:servers/slapd/slapi/Makefile.in:build/lib.mk:build/lib-shared.mk]
+[servers/slapd/overlays/Makefile:build/top.mk:servers/slapd/overlays/Makefile.in:build/lib.mk]
+[tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk]
+[tests/run]
+[tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk])
+
+AC_CONFIG_COMMANDS([default],[[
chmod +x tests/run
date > stamp-h
-echo Please run \"make depend\" to build dependencies
-])
+BACKENDSC="servers/slapd/backends.c"
+echo "Making $BACKENDSC"
+rm -f $BACKENDSC
+cat > $BACKENDSC << ENDX
+/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
+ *
+ * Copyright 1998-2008 The OpenLDAP Foundation.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted only as authorized by the OpenLDAP
+ * Public License.
+ *
+ * A copy of this license is available in the file LICENSE in the
+ * top-level directory of the distribution or, alternatively, at
+ * <http://www.OpenLDAP.org/license.html>.
+ */
+/* This file is automatically generated by configure; please do not edit. */
+
+#include "portable.h"
+#include "slap.h"
+
+ENDX
+if test "${STATIC_BACKENDS}"; then
+ for b in config ${STATIC_BACKENDS}; do
+ bb=`echo "${b}" | sed -e 's/back-//'`
+ cat >> $BACKENDSC << ENDX
+extern BI_init ${bb}_back_initialize;
+ENDX
+ done
+
+ cat >> $BACKENDSC << ENDX
+
+BackendInfo slap_binfo[] = {
+ENDX
+
+ for b in config ${STATIC_BACKENDS}; do
+ bb=`echo "${b}" | sed -e 's/back-//'`
+ echo " Add ${bb} ..."
+ cat >> $BACKENDSC << ENDX
+ { "${bb}", ${bb}_back_initialize },
+ENDX
+ done
+
+ cat >> $BACKENDSC << ENDX
+ { NULL, NULL },
+};
+
+/* end of generated file */
+ENDX
+fi
+OVERLAYSC="servers/slapd/overlays/statover.c"
+echo "Making $OVERLAYSC"
+rm -f $OVERLAYSC
+cat > $OVERLAYSC << ENDX
+/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
+ *
+ * Copyright 1998-2008 The OpenLDAP Foundation.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted only as authorized by the OpenLDAP
+ * Public License.
+ *
+ * A copy of this license is available in the file LICENSE in the
+ * top-level directory of the distribution or, alternatively, at
+ * <http://www.OpenLDAP.org/license.html>.
+ */
+/* This file is automatically generated by configure; please do not edit. */
+
+#include "portable.h"
+#include "slap.h"
+
+ENDX
+if test "${STATIC_OVERLAYS}"; then
+ for o in ${STATIC_OVERLAYS}; do
+ oo=`echo "${o}" | sed -e 's/.o$//' -e 's/_x$//'`
+ cat >> $OVERLAYSC << ENDX
+extern OV_init ${oo}_initialize;
+ENDX
+ done
+fi
+
+cat >> $OVERLAYSC << ENDX
+
+OverlayInit slap_oinfo[] = {
+ENDX
+
+if test "${STATIC_OVERLAYS}"; then
+ for o in ${STATIC_OVERLAYS}; do
+ oo=`echo "${o}" | sed -e 's/.o$//' -e 's/_x$//'`
+ echo " Add ${oo} ..."
+ cat >> $OVERLAYSC << ENDX
+ { "${oo}", ${oo}_initialize },
+ENDX
+ done
+fi
+
+ cat >> $OVERLAYSC << ENDX
+ { NULL, NULL },
+};
+
+/* end of generated file */
+ENDX
+
+if test "${ol_cv_mkdep}" = no; then
+ echo '(Do not "make depend"; we do not know how to build dependencies)'
+else
+ echo 'Please run "make depend" to build dependencies'
+fi
+]],[[
+STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS"
+STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS"
+]])
+AC_OUTPUT