openldap/configure.ac

3277 lines
92 KiB
Plaintext
Raw Normal View History

1999-08-30 16:02:39 +08:00
dnl $OpenLDAP$
dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
dnl
2020-01-10 00:50:21 +08:00
dnl Copyright 1998-2020 The OpenLDAP Foundation.
2003-11-26 10:58:56 +08:00
dnl All rights reserved.
dnl
dnl Redistribution and use in source and binary forms, with or without
dnl modification, are permitted only as authorized by the OpenLDAP
2003-11-26 10:58:56 +08:00
dnl Public License.
dnl
dnl A copy of this license is available in the file LICENSE in the
dnl top-level directory of the distribution or, alternatively, at
dnl <http://www.OpenLDAP.org/license.html>.
dnl
1999-09-13 01:13:15 +08:00
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
1999-09-14 02:31:39 +08:00
dnl ================================================================
1998-10-25 09:41:42 +08:00
dnl Configure.in for OpenLDAP
2020-01-10 00:50:21 +08:00
AC_COPYRIGHT([[Copyright 1998-2020 The OpenLDAP Foundation. All rights reserved.
2005-08-13 07:05:32 +08:00
Restrictions apply, see COPYRIGHT and LICENSE files.]])
AC_REVISION([$Id: 43923a51f8a8e37b897c4c7fa207edfbf55040ef $])
AC_INIT([OpenLDAP],,[https://bugs.openldap.org],,[https://www.openldap.org])
AC_CONFIG_SRCDIR(build/version.sh)dnl
2005-08-13 07:05:32 +08:00
dnl ----------------------------------------------------------------
dnl OpenLDAP Autoconf Macros
builtin(include, build/openldap.m4)dnl
dnl ================================================================
AC_CONFIG_AUX_DIR(build)dnl
AC_CONFIG_MACRO_DIRS([build])
eval `$ac_aux_dir/version.sh`
if test -z "$OL_STRING"; then
AC_MSG_ERROR([could not determine version])
fi
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])
fi
SHTOOL="$ac_cv_shtool"
dnl AC_SUBST(SHTOOL)dnl
2002-02-10 12:30:23 +08:00
TB="" TN=""
if test -t 1; then
TB="`$SHTOOL echo -e '%B' 2>/dev/null`"
TN="`$SHTOOL echo -e '%b' 2>/dev/null`"
fi
2002-02-10 14:26:48 +08:00
OPENLDAP_REPO=""
if test -d $ac_aux_dir/../.git; then
OPENLDAP_REPO="(from Git clone) "
elif test -d $ac_aux_dir/CVS; then
OPENLDAP_REPO="(from CVS checkout) "
2002-11-27 02:11:05 +08:00
fi
echo "Configuring ${TB}${OL_STRING}${TN} ${OPENLDAP_REPO}..."
1999-09-13 01:13:15 +08:00
dnl Determine host platform
dnl we try not to use this for much
AC_CANONICAL_TARGET([])
AC_SUBST(PACKAGE,$OL_PACKAGE)dnl
AC_SUBST(VERSION,$OL_VERSION)dnl
AC_DEFINE_UNQUOTED(OPENLDAP_PACKAGE,"$PACKAGE",Package)
AC_DEFINE_UNQUOTED(OPENLDAP_VERSION,"$VERSION",Version)
2003-04-06 09:44:08 +08:00
AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION,$OL_API_INC,Version)
AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_MAJOR,$OL_MAJOR,Major)
AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_MINOR,$OL_MINOR,Minor)
AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_PATCH,$OL_PATCH,Patch)
2004-03-25 06:42:16 +08:00
OPENLDAP_LIBRELEASE=$OL_API_LIB_RELEASE
AC_SUBST(OPENLDAP_LIBRELEASE)dnl
OPENLDAP_LIBVERSION=$OL_API_LIB_VERSION
2000-12-31 10:32:39 +08:00
AC_SUBST(OPENLDAP_LIBVERSION)dnl
2002-06-13 11:59:10 +08:00
OPENLDAP_RELEASE_DATE="$OL_RELEASE_DATE"
AC_SUBST(OPENLDAP_RELEASE_DATE)dnl
AC_PREREQ(2.69)dnl Required Autoconf version
AH_TOP([
/* begin of portable.h.pre */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
2020-01-10 00:50:21 +08:00
* Copyright 1998-2020 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"
#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 ================================================================
1998-10-25 09:41:42 +08:00
dnl Start Args
AC_MSG_CHECKING(configure arguments)
AC_PREFIX_DEFAULT(/usr/local)
top_builddir=`pwd`
AC_SUBST(top_builddir)dnl
dnl ----------------------------------------------------------------
dnl --with-subdir
ldap_subdir="/openldap"
AC_ARG_WITH(subdir,
2001-01-22 15:51:24 +08:00
[ --with-subdir=DIR change default subdirectory used for installs],
[case "$withval" in
no) ldap_subdir=""
;;
yes)
;;
/*|\\*)
ldap_subdir="$withval"
;;
*)
ldap_subdir="/$withval"
;;
esac
])dnl
AC_SUBST(ldap_subdir)dnl
dnl ----------------------------------------------------------------
dnl General "enable" options
2005-12-28 00:29:37 +08:00
dnl set default to traditional to enable the original debug style
OL_ARG_ENABLE(debug, [AS_HELP_STRING([--enable-debug], [enable debugging])], yes, [no yes traditional])dnl
OL_ARG_ENABLE(dynamic, [AS_HELP_STRING([--enable-dynamic], [enable linking built binaries with dynamic libs])], auto)dnl
OL_ARG_ENABLE(syslog, [AS_HELP_STRING([--enable-syslog], [enable syslog support])], auto)dnl
dnl OL_ARG_ENABLE(referrals,[AS_HELP_STRING([--enable-referrals], [enable LDAPv2+ Referrals (experimental)])], no)dnl
2003-01-03 14:10:15 +08:00
ol_enable_referrals=${ol_enable_referrals-no}
OL_ARG_ENABLE(ipv6, [AS_HELP_STRING([--enable-ipv6], [enable IPv6 support])], auto)dnl
OL_ARG_ENABLE(local, [AS_HELP_STRING([--enable-local], [enable AF_LOCAL (AF_UNIX) socket support])], auto)dnl
1998-10-25 09:41:42 +08:00
dnl ----------------------------------------------------------------
1998-10-25 09:41:42 +08:00
dnl General "with" options
OL_ARG_WITH(cyrus_sasl, [AS_HELP_STRING([--with-cyrus-sasl], [with Cyrus SASL support])],
auto, [auto yes no] )
OL_ARG_WITH(fetch, [AS_HELP_STRING([--with-fetch], [with fetch(3) URL support])],
auto, [auto yes no] )
OL_ARG_WITH(threads,
[AS_HELP_STRING([--with-threads], [with threads library auto|nt|posix|pth|lwp|manual])],
auto, [auto nt posix pth lwp yes no manual] )
OL_ARG_WITH(tls,
[AS_HELP_STRING([--with-tls], [with TLS/SSL support auto|openssl|gnutls])],
auto, [auto openssl gnutls yes no] )
2006-02-10 16:21:02 +08:00
OL_ARG_WITH(yielding_select,
[AS_HELP_STRING([--with-yielding-select], [with implicitly yielding select])],
auto, [auto yes no manual] )
2006-02-10 16:21:02 +08:00
OL_ARG_WITH(mp,
[AS_HELP_STRING([--with-mp], [with multiple precision statistics auto|longlong|long|bignum|gmp])],
2006-02-10 16:21:02 +08:00
auto, [auto longlong long bignum gmp yes no])
OL_ARG_WITH(odbc,
[AS_HELP_STRING([--with-odbc], [with specific ODBC support iodbc|unixodbc|odbc32|auto])],
auto, [auto iodbc unixodbc odbc32] )
1998-10-25 09:41:42 +08:00
dnl ----------------------------------------------------------------
1998-10-25 09:41:42 +08:00
dnl Server options
dnl ----------------------------------------------------------------
dnl ----------------------------------------------------------------
1998-10-25 09:41:42 +08:00
dnl SLAPD OPTIONS
SlapdOptions="dynacl \
aci \
cleartext \
crypt \
spasswd \
modules \
rlookups \
slapi \
slp \
wrappers"
AC_ARG_ENABLE(xxslapdoptions,[
SLAPD (Standalone LDAP Daemon) Options:])
OL_ARG_ENABLE(slapd, [AS_HELP_STRING([--enable-slapd], [enable building slapd])], yes)dnl
OL_ARG_ENABLE(dynacl, [AS_HELP_STRING([--enable-dynacl], [enable run-time loadable ACL support (experimental)])], no)dnl
OL_ARG_ENABLE(aci, [AS_HELP_STRING([--enable-aci], [enable per-object ACIs (experimental)])], no, [no yes mod])dnl
OL_ARG_ENABLE(cleartext, [AS_HELP_STRING([--enable-cleartext], [enable cleartext passwords])], yes)dnl
OL_ARG_ENABLE(crypt, [AS_HELP_STRING([--enable-crypt], [enable crypt(3) passwords])], no)dnl
OL_ARG_ENABLE(spasswd, [AS_HELP_STRING([--enable-spasswd], [enable (Cyrus) SASL password verification])], no)dnl
OL_ARG_ENABLE(modules, [AS_HELP_STRING([--enable-modules], [enable dynamic module support])], no)dnl
OL_ARG_ENABLE(rlookups, [AS_HELP_STRING([--enable-rlookups], [enable reverse lookups of client hostnames])], no)dnl
OL_ARG_ENABLE(slapi, [AS_HELP_STRING([--enable-slapi], [enable SLAPI support (experimental)])], no)dnl
OL_ARG_ENABLE(slp, [AS_HELP_STRING([--enable-slp], [enable SLPv2 support])], no)dnl
OL_ARG_ENABLE(wrappers, [AS_HELP_STRING([--enable-wrappers], [enable tcp wrapper support])], no)dnl
2004-04-16 06:46:42 +08:00
dnl ----------------------------------------------------------------
dnl SLAPD Backend Options
Backends="dnssrv \
2005-08-26 04:37:24 +08:00
ldap \
mdb \
2005-08-26 04:37:24 +08:00
meta \
2016-02-02 03:22:46 +08:00
asyncmeta \
2008-08-27 05:48:17 +08:00
ndb \
2005-08-26 04:37:24 +08:00
null \
passwd \
perl \
relay \
shell \
sock \
2015-04-27 09:27:58 +08:00
sql \
wt"
AC_ARG_ENABLE(xxslapbackends,[
2004-04-16 06:46:42 +08:00
SLAPD Backend Options:])
OL_ARG_ENABLE(backends, [AS_HELP_STRING([--enable-backends], [enable all available backends])],
--, [no yes mod])dnl
OL_ARG_ENABLE(dnssrv, [AS_HELP_STRING([--enable-dnssrv], [enable dnssrv backend])],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(ldap, [AS_HELP_STRING([--enable-ldap], [enable ldap backend])],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(mdb, [AS_HELP_STRING([--enable-mdb], [enable mdb database backend])],
yes, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(meta, [AS_HELP_STRING([--enable-meta], [enable metadirectory backend])],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(asyncmeta, [AS_HELP_STRING([--enable-asyncmeta], [enable asynchronous metadirectory backend])],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(ndb, [AS_HELP_STRING([--enable-ndb], [enable MySQL NDB Cluster backend])],
2008-08-27 05:48:17 +08:00
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(null, [AS_HELP_STRING([--enable-null], [enable null backend])],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(passwd, [AS_HELP_STRING([--enable-passwd], [enable passwd backend])],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(perl, [AS_HELP_STRING([--enable-perl], [enable perl backend])],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(relay, [AS_HELP_STRING([--enable-relay], [enable relay backend])],
yes, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(shell, [AS_HELP_STRING([--enable-shell], [enable shell backend])],
no, [no yes mod])dnl
OL_ARG_ENABLE(sock, [AS_HELP_STRING([--enable-sock], [enable sock backend])],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(sql, [AS_HELP_STRING([--enable-sql], [enable sql backend])],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(wt, [AS_HELP_STRING([--enable-wt], [enable WiredTiger backend])],
2015-04-27 09:27:58 +08:00
no, [no yes mod], ol_enable_backends)dnl
1998-10-25 09:41:42 +08:00
2003-12-06 18:59:27 +08:00
dnl ----------------------------------------------------------------
dnl SLAPD Overlay Options
2005-08-20 19:57:01 +08:00
Overlays="accesslog \
2006-02-27 19:20:08 +08:00
auditlog \
autoca \
collect \
2006-04-29 18:09:31 +08:00
constraint \
2006-01-07 01:46:52 +08:00
dds \
deref \
2005-08-20 19:57:01 +08:00
dyngroup \
dynlist \
2007-08-24 10:46:55 +08:00
memberof \
2005-08-20 19:57:01 +08:00
ppolicy \
proxycache \
refint \
retcode \
rwm \
seqmod \
2009-07-13 22:27:04 +08:00
sssvlv \
2005-08-20 19:57:01 +08:00
syncprov \
translucent \
2005-08-24 17:05:13 +08:00
unique \
valsort"
AC_ARG_ENABLE(xxslapoverlays,[
2003-12-06 18:59:27 +08:00
SLAPD Overlay Options:])
2004-04-16 06:46:42 +08:00
OL_ARG_ENABLE(overlays, [AS_HELP_STRING([--enable-overlays], [enable all available overlays])],
--, [no yes mod])dnl
OL_ARG_ENABLE(accesslog, [AS_HELP_STRING([--enable-accesslog], [In-Directory Access Logging overlay])],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(auditlog, [AS_HELP_STRING([--enable-auditlog], [Audit Logging overlay])],
2006-02-27 19:20:08 +08:00
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(autoca, [AS_HELP_STRING([--enable-autoca], [Automatic Certificate Authority overlay])],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(collect, [AS_HELP_STRING([--enable-collect], [Collect overlay])],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(constraint, [AS_HELP_STRING([--enable-constraint], [Attribute Constraint overlay])],
2006-04-29 18:09:31 +08:00
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(dds, [AS_HELP_STRING([--enable-dds], [Dynamic Directory Services overlay])],
2006-01-07 01:46:52 +08:00
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(deref, [AS_HELP_STRING([--enable-deref], [Dereference overlay])],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(dyngroup, [AS_HELP_STRING([--enable-dyngroup], [Dynamic Group overlay])],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(dynlist, [AS_HELP_STRING([--enable-dynlist], [Dynamic List overlay])],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(memberof, [AS_HELP_STRING([--enable-memberof], [Reverse Group Membership overlay])],
2007-08-24 10:46:55 +08:00
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(ppolicy, [AS_HELP_STRING([--enable-ppolicy], [Password Policy overlay])],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(proxycache, [AS_HELP_STRING([--enable-proxycache], [Proxy Cache overlay])],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(refint, [AS_HELP_STRING([--enable-refint], [Referential Integrity overlay])],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(retcode, [AS_HELP_STRING([--enable-retcode], [Return Code testing overlay])],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(rwm, [AS_HELP_STRING([--enable-rwm], [Rewrite/Remap overlay])],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(seqmod, [AS_HELP_STRING([--enable-seqmod], [Sequential Modify overlay])],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(sssvlv, [AS_HELP_STRING([--enable-sssvlv], [ServerSideSort/VLV overlay])],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(syncprov, [AS_HELP_STRING([--enable-syncprov], [Syncrepl Provider overlay])],
yes, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(translucent, [AS_HELP_STRING([--enable-translucent], [Translucent Proxy overlay])],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(unique, [AS_HELP_STRING([--enable-unique], [Attribute Uniqueness overlay])],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(valsort, [AS_HELP_STRING([--enable-valsort], [Value Sorting overlay])],
no, [no yes mod], ol_enable_overlays)
2003-12-06 18:59:27 +08:00
2017-03-09 06:59:57 +08:00
dnl ----------------------------------------------------------------
dnl BALANCER OPTIONS
AC_ARG_ENABLE(balanceroptions,[
LLOADD (Load Balancer Daemon) Options:])
OL_ARG_ENABLE(balancer, [AS_HELP_STRING([--enable-balancer], [enable load balancer])],
no, [no yes mod])
2017-03-09 06:59:57 +08:00
dnl ----------------------------------------------------------------
AC_ARG_ENABLE(xxliboptions,[
Library Generation & Linking Options])
1999-07-20 12:32:42 +08:00
AC_ENABLE_STATIC
AC_ENABLE_SHARED
dnl ----------------------------------------------------------------
dnl Validate options
dnl ----------------------------------------------------------------
1998-10-25 09:41:42 +08:00
if test $ol_enable_slapd = no ; then
ITS#8605 - spelling fixes * javascript * kernel * ldap * length * macros * maintained * manager * matching * maximum * mechanism * memory * method * mimic * minimum * modifiable * modifiers * modifying * multiple * necessary * normalized * objectclass * occurrence * occurring * offered * operation * original * overridden * parameter * permanent * preemptively * printable * protocol * provider * really * redistribution * referenced * refresh * regardless * registered * request * reserved * resource * response * sanity * separated * setconcurrency * should * specially * specifies * structure * structures * subordinates * substitution * succeed * successful * successfully * sudoers * sufficient * superiors * supported * synchronization * terminated * they're * through * traffic * transparent * unsigned * unsupported * version * absence * achieves * adamson * additional * address * against * appropriate * architecture * associated * async * attribute * authentication * authorized * auxiliary * available * begin * beginning * buffered * canonical * certificate * charray * check * class * compatibility * compilation * component * configurable * configuration * configure * conjunction * constraints * constructor * contained * containing * continued * control * convenience * correspond * credentials * cyrillic * database * definitions * deloldrdn * dereferencing * destroy * distinguish * documentation * emmanuel * enabled * entry * enumerated * everything * exhaustive * existence * existing * explicitly * extract * fallthru * fashion * february * finally * function * generically * groupname * happened * implementation * including * initialization * initializes * insensitive * instantiated * instantiation * integral * internal * iterate
2017-02-26 15:49:31 +08:00
dnl SLAPD was specifically disabled
dnl Disable all of its options
for i in $SlapdOptions; do
eval "ol_tmp=\$ol_enable_$i"
if test $ol_tmp = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-$i argument])
2004-04-08 14:23:09 +08:00
eval "ol_enable_$i=no"
fi
done
for i in $Backends $Overlays; do
eval "ol_tmp=\$ol_enable_$i"
if test $ol_tmp != no ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-$i argument])
2004-04-08 14:23:09 +08:00
eval "ol_enable_$i=no"
fi
done
if test $ol_enable_balancer = mod ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-balancer=mod argument])
ol_enable_balancer=no
fi
else
dnl If slapd enabled and loadable module support disabled
dnl then require at least one built-in backend
if test $ol_enable_modules = no; then
for i in backends overlays balancer $Backends $Overlays; do
eval "ol_tmp=\$ol_enable_$i"
if test -n "$ol_tmp" && test "$ol_tmp" = mod ; then
AC_MSG_ERROR([--enable-$i=mod requires --enable-modules])
fi
done
ol_any_backend=no
for i in $Backends; do
eval "ol_tmp=\$ol_enable_$i"
if test $ol_tmp = yes; then
ol_any_backend=yes
fi
done
if test $ol_any_backend = no; then
AC_MSG_ERROR([slapd requires a backend])
fi
fi
1998-10-25 09:41:42 +08:00
fi
if test $ol_enable_aci = yes ; then
if test $ol_enable_dynacl = no ; then
AC_MSG_ERROR([--enable-aci requires --enable-dynacl])
fi
elif test $ol_enable_aci = mod ; then
AC_MSG_ERROR([ACI build as dynamic module not supported (yet)])
2004-04-07 14:26:02 +08:00
fi
if test $ol_enable_modules = yes ; then
if test $ol_enable_dynamic = no ; then
AC_MSG_ERROR([--enable-modules requires --enable-dynamic])
fi
ol_enable_dynamic=yes
fi
if test $ol_enable_balancer != no ; then
2017-03-09 06:59:57 +08:00
dnl Load Balancer was specifically enabled
if test $ol_with_threads = no ; then
AC_MSG_ERROR([Load balancer requires threads])
fi
fi
if test $ol_enable_spasswd = yes ; then
if test $ol_with_cyrus_sasl = no ; then
AC_MSG_ERROR([--enable-spasswd requires --with-cyrus-sasl])
fi
2000-09-20 05:11:02 +08:00
ol_with_cyrus_sasl=yes
fi
if test $ol_enable_meta/$ol_enable_ldap = yes/no ; then
AC_MSG_ERROR([--enable-meta requires --enable-ldap])
fi
if test $ol_enable_asyncmeta/$ol_enable_ldap = yes/no ; then
AC_MSG_ERROR([--enable-asyncmeta requires --enable-ldap])
fi
1998-10-25 09:41:42 +08:00
AC_MSG_RESULT(done)
dnl ----------------------------------------------------------------
dnl Initialize vars
1998-10-25 09:41:42 +08:00
LDAP_LIBS=
2008-08-27 05:48:17 +08:00
SLAPD_NDB_LIBS=
SLAPD_NDB_INCS=
1998-10-25 09:41:42 +08:00
LTHREAD_LIBS=
2017-03-09 06:59:57 +08:00
LEVENT_LIBS=
1998-10-25 09:41:42 +08:00
LUTIL_LIBS=
CLIENT_LIBS=
1998-10-25 09:41:42 +08:00
SLAPD_LIBS=
2017-03-09 06:59:57 +08:00
BALANCER_LIBS=
BALANCER_INCLUDE=
1998-10-25 09:41:42 +08:00
BUILD_SLAPD=no
2017-03-09 06:59:57 +08:00
BUILD_BALANCER=no
1998-10-25 09:41:42 +08:00
BUILD_THREAD=no
BUILD_SLAPI=no
SLAPD_SLAPI_DEPEND=
BUILD_DNSSRV=no
BUILD_LDAP=no
BUILD_MDB=no
BUILD_META=no
BUILD_ASYNCMETA=no
BUILD_NDB=no
BUILD_NULL=no
1998-10-25 09:41:42 +08:00
BUILD_PASSWD=no
BUILD_PERL=no
BUILD_RELAY=no
1998-10-25 09:41:42 +08:00
BUILD_SHELL=no
BUILD_SOCK=no
BUILD_SQL=no
2015-04-27 09:27:58 +08:00
BUILD_WT=no
1998-10-25 09:41:42 +08:00
2005-06-10 19:48:16 +08:00
BUILD_ACCESSLOG=no
2006-02-27 19:20:08 +08:00
BUILD_AUDITLOG=no
BUILD_AUTOCA=no
2006-04-29 18:09:31 +08:00
BUILD_CONSTRAINT=no
2006-01-07 01:46:52 +08:00
BUILD_DDS=no
2004-03-19 02:59:46 +08:00
BUILD_DENYOP=no
2009-09-30 07:53:43 +08:00
BUILD_DEREF=no
2003-12-06 18:59:27 +08:00
BUILD_DYNGROUP=no
2005-04-08 07:35:36 +08:00
BUILD_DYNLIST=no
2004-04-15 01:48:26 +08:00
BUILD_LASTMOD=no
2007-09-15 06:04:50 +08:00
BUILD_MEMBEROF=no
2004-03-21 04:38:48 +08:00
BUILD_PPOLICY=no
2003-12-06 18:59:27 +08:00
BUILD_PROXYCACHE=no
BUILD_REFINT=no
BUILD_RETCODE=no
BUILD_RWM=no
BUILD_SEQMOD=no
2009-07-13 22:27:04 +08:00
BUILD_SSSVLV=no
2004-12-05 03:48:47 +08:00
BUILD_SYNCPROV=no
2005-03-10 12:35:57 +08:00
BUILD_TRANSLUCENT=no
BUILD_UNIQUE=no
2005-08-24 17:05:13 +08:00
BUILD_VALSORT=no
2003-12-06 18:59:27 +08:00
SLAPD_STATIC_OVERLAYS=
2003-12-06 18:59:27 +08:00
SLAPD_DYNAMIC_OVERLAYS=
SLAPD_MODULES_LDFLAGS=
SLAPD_MODULES_CPPFLAGS=
SLAPD_STATIC_BACKENDS="back-ldif back-monitor"
SLAPD_DYNAMIC_BACKENDS=
SLAPD_PERL_LDFLAGS=
MOD_PERL_LDFLAGS=
PERL_CPPFLAGS=
SLAPD_SQL_LDFLAGS=
SLAPD_SQL_LIBS=
SLAPD_SQL_INCLUDES=
KRB4_LIBS=
KRB5_LIBS=
SASL_LIBS=
TLS_LIBS=
2018-06-14 23:12:59 +08:00
WITH_TLS_TYPE=
MODULES_LIBS=
SLAPI_LIBS=
2002-12-08 03:19:26 +08:00
LIBSLAPI=
AUTH_LIBS=
1998-10-25 09:41:42 +08:00
SLAPD_SLP_LIBS=
SLAPD_GMP_LIBS=
dnl ================================================================
1998-10-25 09:41:42 +08:00
dnl Checks for programs
AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion])
dnl ----------------------------------------------------------------
dnl
dnl Determine which C translator to use
dnl
dnl AIX Thread requires we use cc_r or xlc_r.
1999-06-11 01:19:43 +08:00
dnl But only do this IF AIX and CC is not set
dnl and threads are auto|yes|posix.
dnl
dnl If we find cc_r|xlc_r, force pthreads and assume
dnl pthread_create is in $LIBS (ie: don't bring in
dnl any additional thread libraries)
dnl If we do not find cc_r|xlc_r, disable threads
ol_aix_threads=no
case "$target" in
1999-06-11 01:19:43 +08:00
*-*-aix*) dnl all AIX is not a good idea.
if test -z "$CC" ; then
1999-06-11 01:19:43 +08:00
case "$ol_with_threads" in
auto | yes | posix) ol_aix_threads=yes ;;
1999-06-11 01:19:43 +08:00
esac
fi
;;
esac
if test $ol_aix_threads = yes ; then
if test -z "${CC}" ; then
AC_CHECK_PROGS(CC,cc_r xlc_r cc)
if test "$CC" = cc ; then
dnl no CC! don't allow --with-threads
if test $ol_with_threads != auto ; then
AC_MSG_ERROR([--with-threads requires cc_r (or other suitable compiler) on AIX])
else
AC_MSG_WARN([disabling threads, no cc_r on AIX])
fi
ol_with_threads=no
fi
fi
1999-06-11 01:19:43 +08:00
case ${CC} in cc_r | xlc_r)
ol_with_threads=posix
ol_cv_pthread_create=yes
;;
esac
fi
1999-06-11 01:19:43 +08:00
if test -z "${CC}"; then
2002-06-25 13:50:20 +08:00
AC_CHECK_PROGS(CC,cc gcc,missing)
2002-06-25 10:18:50 +08:00
if test "${CC}" = "missing" ; then
2002-06-25 13:50:20 +08:00
AC_MSG_ERROR([Unable to locate cc(1) or suitable replacement. Check PATH or set CC.])
2002-06-25 10:18:50 +08:00
fi
1999-06-11 01:19:43 +08:00
fi
2002-05-02 03:22:32 +08:00
if test -z "${AR}"; then
AC_CHECK_PROGS(AR,ar gar,missing)
if test "${AR}" = "missing" ; then
2002-06-25 13:50:20 +08:00
AC_MSG_ERROR([Unable to locate ar(1) or suitable replacement. Check PATH or set AR.])
2002-05-02 03:22:32 +08:00
fi
fi
2001-11-28 10:32:47 +08:00
if test -z "${STRIP}"; then
AC_CHECK_PROGS(STRIP,strip,missing)
if test "${STRIP}" = "missing" ; then
AC_MSG_ERROR([Unable to locate strip(1) or suitable replacement. Check PATH or set STRIP.])
fi
fi
AC_LIBTOOL_WIN32_DLL
AC_LIBTOOL_DLOPEN
AC_PROG_MAKE_SET
1999-07-20 12:32:42 +08:00
AC_PROG_LIBTOOL
1998-10-25 09:41:42 +08:00
dnl ----------------------------------------------------------------
dnl Perl
ol_link_perl=no
if test $ol_enable_perl != no ; then
AC_PATH_PROG(PERLBIN, perl, /usr/bin/perl)
if test "no$PERLBIN" = "no" ; then
if test $ol_enable_perl = yes ; then
AC_MSG_ERROR([could not locate perl])
fi
else
PERL_CPPFLAGS="`$PERLBIN -MExtUtils::Embed -e ccopts`"
PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e 's/ -lc / /' -e 's/ -lc$//'`"
2003-10-22 04:56:36 +08:00
if test x"$ol_enable_perl" = "xyes" ; then
2003-10-22 04:56:36 +08:00
SLAPD_PERL_LDFLAGS="$PERL_LDFLAGS"
else
2003-10-22 04:56:36 +08:00
MOD_PERL_LDFLAGS="$PERL_LDFLAGS"
fi
dnl should check perl version
ol_link_perl=yes
fi
fi
AC_PROG_CPP
2009-01-17 09:50:21 +08:00
OL_MSVC
2005-08-26 05:44:57 +08:00
dnl ----------------------------------------------------------------
dnl Checks for Windows NT
case $host_os in
*mingw32* ) ac_cv_mingw32=yes ;;
*cygwin* ) ac_cv_cygwin=yes ;;
2009-01-22 08:40:04 +08:00
*interix* ) ac_cv_interix=yes ;;
2005-08-26 05:44:57 +08:00
esac
AC_CHECK_TOOL(RC, windres, )
dnl ----------------------------------------------------------------
dnl Checks for file extensions
AC_EXEEXT
AC_OBJEXT
2002-10-29 12:55:15 +08:00
AC_DEFINE_UNQUOTED(EXEEXT, "${EXEEXT}", [defined to be the EXE extension])
1999-05-19 15:13:42 +08:00
dnl ----------------------------------------------------------------
dnl BeOS requires -lbe -lroot -lnet
AC_CHECK_LIB(be, be_app, [LIBS="$LIBS -lbe -lroot -lnet"], :, [-lroot -lnet])
dnl ----------------------------------------------------------------
dnl OpenLDAP requires STDC features
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 cc depend flags
OL_MKDEPEND
if test "${ol_cv_mkdep}" = no ; then
# this will soon become an error
AC_MSG_WARN([do not know how to generate dependencies])
fi
dnl ----------------------------------------------------------------
dnl Check for AIX security library
AC_CHECK_LIB(s, afopen, [
AUTH_LIBS=-ls
AC_DEFINE(HAVE_AIX_SECURITY,1,[define if you have AIX security lib])
])
dnl ----------------------------------------------------------------
dnl Check for IBM OS/390
case "$target" in
*-ibm-openedition)
ac_cv_func_getopt=no
AC_DEFINE(BOTH_STRINGS_H,1,[define to use both <string.h> and <strings.h>])
;;
esac
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)
if test $ac_cv_header_ltdl_h = no ; then
AC_MSG_ERROR([could not locate libtool ltdl.h])
fi
AC_CHECK_LIB(ltdl, lt_dlinit, [
2001-12-08 12:29:34 +08:00
MODULES_LIBS=-lltdl
AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
])
if test "$ac_cv_lib_ltdl_lt_dlinit" = no ; then
AC_MSG_ERROR([could not locate libtool -lltdl])
fi
ol_link_modules=yes
WITH_MODULES_ENABLED=yes
fi
dnl ----------------------------------------------------------------
dnl Checks for header files.
OL_HEADER_STDC
if test $ol_cv_header_stdc != yes; then
AC_MSG_WARN([could not locate Standard C compliant headers])
fi
AC_HEADER_DIRENT
AC_HEADER_SYS_WAIT
2005-08-12 12:12:13 +08:00
AC_HEADER_TIOCGWINSZ
AC_CHECK_HEADERS( \
arpa/inet.h \
arpa/nameser.h \
assert.h \
bits/types.h \
conio.h \
crypt.h \
direct.h \
errno.h \
fcntl.h \
filio.h \
getopt.h \
grp.h \
io.h \
libutil.h \
limits.h \
locale.h \
malloc.h \
memory.h \
psap.h \
pwd.h \
process.h \
sgtty.h \
shadow.h \
stddef.h \
string.h \
strings.h \
sysexits.h \
sys/file.h \
sys/filio.h \
2007-04-06 07:41:35 +08:00
sys/fstyp.h \
sys/errno.h \
sys/ioctl.h \
sys/param.h \
2007-04-06 07:41:35 +08:00
sys/privgrp.h \
sys/resource.h \
sys/select.h \
sys/socket.h \
sys/stat.h \
sys/syslog.h \
sys/time.h \
sys/types.h \
sys/uio.h \
2007-04-06 07:41:35 +08:00
sys/vmount.h \
syslog.h \
termios.h \
unistd.h \
2005-07-26 04:50:33 +08:00
utime.h \
)
dnl Only check Winsock on MinGW
2009-01-22 08:40:04 +08:00
if test "$ac_cv_mingw32" = yes \
-o "$ac_cv_interix" = yes \
-o "$ol_cv_msvc" = 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 ----------------------------------------------------------------
1998-10-25 09:41:42 +08:00
dnl Checks for libraries
AC_CHECK_FUNCS( sigaction sigset )
AC_CHECK_FUNCS( fmemopen )
dnl HP-UX requires -lV3
dnl this is not needed on newer versions of HP-UX
if test $ac_cv_func_sigaction = no && test $ac_cv_func_sigaction = no ; then
AC_CHECK_LIB(V3, sigset)
fi
2009-05-10 17:52:00 +08:00
if test $ol_cv_msvc = yes ; then
2009-01-17 09:15:30 +08:00
ol_cv_winsock=yes
fi
2001-12-07 12:03:25 +08:00
dnl The following is INTENTIONALLY scripted out because shell does not
dnl support variable names with the '@' character, which is what
dnl autoconf would try to generate if one merely used AC_SEARCH_LIBS
if test "$ac_cv_header_winsock_h" = yes; then
AC_CACHE_CHECK([for winsock], [ol_cv_winsock],[
save_LIBS="$LIBS"
for curlib in none ws2_32 wsock32; do
2009-05-10 17:52:00 +08:00
if test $curlib != none ; then
LIBS="$save_LIBS -l$curlib"
fi
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <winsock.h>
2005-08-12 18:55:09 +08:00
]], [[
2004-01-15 12:21:16 +08:00
socket(0,0,0);
select(0,NULL,NULL,NULL,NULL);
closesocket(0);
gethostname(NULL,0);
2009-01-17 08:04:24 +08:00
]])],[ol_cv_winsock=$curlib],[ol_cv_winsock=no])
2001-12-07 12:03:25 +08:00
test "$ol_cv_winsock" != no && break
done
LIBS="$save_LIBS"
])
2009-01-17 09:15:30 +08:00
if test $ol_cv_winsock != no ; then
AC_DEFINE(HAVE_WINSOCK, 1, [define if you have winsock])
ac_cv_func_socket=yes
ac_cv_func_select=yes
ac_cv_func_closesocket=yes
ac_cv_func_gethostname=yes
2009-01-17 07:28:31 +08:00
if test $ol_cv_winsock != none -a $ol_cv_winsock != yes ; then
LIBS="$LIBS -l$ol_cv_winsock"
fi
2009-01-17 07:45:24 +08:00
if test $ol_cv_winsock = ws2_32 -o $ol_cv_winsock = yes ; then
AC_DEFINE(HAVE_WINSOCK2, 1, [define if you have winsock2])
fi
fi
2009-01-17 09:20:20 +08:00
fi
1998-10-25 09:41:42 +08:00
dnl Find socket()
dnl Likely combinations:
dnl -lsocket [ -lnsl_s | -lnsl ]
dnl -linet
AC_CHECK_FUNC(socket, :, [
1998-10-25 09:41:42 +08:00
dnl hopefully we won't include too many libraries
AC_CHECK_LIB(socket, main)
2011-11-02 03:09:01 +08:00
AC_CHECK_LIB(net, socket)
1998-10-25 09:41:42 +08:00
AC_CHECK_LIB(nsl_s, main)
AC_CHECK_LIB(nsl, main)
AC_CHECK_LIB(inet, socket)
AC_CHECK_LIB(gen, main)
])
1999-08-30 04:11:23 +08:00
dnl require select
AC_CHECK_FUNC(select, :, AC_MSG_ERROR([select() required.]))
if test "${ac_cv_header_winsock_h}" != yes; then
2001-12-08 12:29:34 +08:00
dnl Select arg types
ITS#8605 - spelling fixes * javascript * kernel * ldap * length * macros * maintained * manager * matching * maximum * mechanism * memory * method * mimic * minimum * modifiable * modifiers * modifying * multiple * necessary * normalized * objectclass * occurrence * occurring * offered * operation * original * overridden * parameter * permanent * preemptively * printable * protocol * provider * really * redistribution * referenced * refresh * regardless * registered * request * reserved * resource * response * sanity * separated * setconcurrency * should * specially * specifies * structure * structures * subordinates * substitution * succeed * successful * successfully * sudoers * sufficient * superiors * supported * synchronization * terminated * they're * through * traffic * transparent * unsigned * unsupported * version * absence * achieves * adamson * additional * address * against * appropriate * architecture * associated * async * attribute * authentication * authorized * auxiliary * available * begin * beginning * buffered * canonical * certificate * charray * check * class * compatibility * compilation * component * configurable * configuration * configure * conjunction * constraints * constructor * contained * containing * continued * control * convenience * correspond * credentials * cyrillic * database * definitions * deloldrdn * dereferencing * destroy * distinguish * documentation * emmanuel * enabled * entry * enumerated * everything * exhaustive * existence * existing * explicitly * extract * fallthru * fashion * february * finally * function * generically * groupname * happened * implementation * including * initialization * initializes * insensitive * instantiated * instantiation * integral * internal * iterate
2017-02-26 15:49:31 +08:00
dnl (if this detection becomes permanent, it and the select() detection
2001-12-08 12:29:34 +08:00
dnl should be done before the yielding select test)
AC_FUNC_SELECT_ARGTYPES
fi
dnl check to see if system call automatically restart
dnl AC_SYS_RESTARTABLE_SYSCALLS
2004-04-25 05:30:28 +08:00
dnl ----------------------------------------------------------------
AC_CHECK_FUNCS( poll )
2006-09-22 01:54:37 +08:00
if test $ac_cv_func_poll = yes; then
AC_CHECK_HEADERS( poll.h sys/poll.h )
fi
2004-10-19 01:51:32 +08:00
2004-11-19 06:06:15 +08:00
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);
2005-08-12 18:55:09 +08:00
}]])],[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/event.h )
if test "${ac_cv_header_sys_event_h}" = yes; then
AC_MSG_CHECKING(for kqueue system call)
AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv)
{
int kqfd = kqueue();
exit (kqfd == -1 ? 1 : 0);
}]])],[AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_KQUEUE,1, [define if your system supports kqueue])],[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
2004-11-19 06:06:15 +08:00
2004-10-19 01:51:32 +08:00
dnl ----------------------------------------------------------------
2004-04-25 05:30:28 +08:00
OL_STRERROR
dnl ----------------------------------------------------------------
1999-08-30 04:11:23 +08:00
dnl require POSIX regex
2006-10-11 20:36:50 +08:00
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
2001-12-07 12:03:25 +08:00
AC_SEARCH_LIBS(regfree, [regex gnuregex],
2001-12-08 12:29:34 +08:00
:, AC_MSG_ERROR([POSIX regex required.]))
OL_POSIX_REGEX
if test "$ol_cv_c_posix_regex" = no ; then
AC_MSG_ERROR([broken POSIX regex!])
fi
dnl ----------------------------------------------------------------
2002-02-12 04:17:08 +08:00
dnl UUID Support
have_uuid=no
AC_CHECK_HEADERS(sys/uuid.h)
2009-01-27 06:52:40 +08:00
dnl The HAVE_UUID_TO_STR code path also needs uuid_create
2002-02-12 04:17:08 +08:00
if test $ac_cv_header_sys_uuid_h = yes ; then
save_LIBS="$LIBS"
2007-03-03 04:53:56 +08:00
AC_SEARCH_LIBS([uuid_to_str], [uuid], [have_uuid=yes], :)
2009-01-27 06:52:40 +08:00
AC_SEARCH_LIBS([uuid_create], [uuid], :, [have_uuid=no])
2002-02-12 04:17:08 +08:00
LIBS="$save_LIBS"
2009-01-17 09:50:21 +08:00
if test $have_uuid = yes ; then
2002-02-12 04:17:08 +08:00
AC_DEFINE(HAVE_UUID_TO_STR,1,
[define if you have uuid_to_str()])
test "$ac_cv_search_uuid_to_str" = "none required" || \
LUTIL_LIBS="$LUTIL_LIBS $ac_cv_search_uuid_to_str"
2002-02-12 04:17:08 +08:00
fi
fi
dnl Look for uuid_generate
2009-01-27 06:52:40 +08:00
dnl The HAVE_UUID_GENERATE code path also needs uuid_unparse_lower
if test $have_uuid = no ; then
AC_CHECK_HEADERS(uuid/uuid.h)
if test $ac_cv_header_uuid_uuid_h = yes ; then
2007-03-03 04:44:31 +08:00
save_LIBS="$LIBS"
2007-03-03 04:53:56 +08:00
AC_SEARCH_LIBS([uuid_generate], [uuid], [have_uuid=yes], :)
2009-01-27 06:52:40 +08:00
AC_SEARCH_LIBS([uuid_unparse_lower], [uuid], :, [have_uuid=no])
2007-03-03 04:44:31 +08:00
LIBS="$save_LIBS"
2009-01-17 09:50:21 +08:00
if test $have_uuid = yes ; then
2007-03-03 04:44:31 +08:00
AC_DEFINE(HAVE_UUID_GENERATE,1,
[define if you have uuid_generate()])
test "$ac_cv_search_uuid_generate" = "none required" || \
LUTIL_LIBS="$LUTIL_LIBS $ac_cv_search_uuid_generate"
2007-03-03 04:44:31 +08:00
fi
fi
fi
dnl For windows, check for the need of RPCRT for UUID function support
2002-02-12 04:17:08 +08:00
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"
2005-08-12 18:55:09 +08:00
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
int __stdcall UuidCreate(void *);
int __stdcall UuidToStringA(void *,void **);
2005-08-12 18:55:09 +08:00
]], [[
UuidCreate(0);
UuidToStringA(0,0);
2005-08-12 18:55:09 +08:00
]])],[need_rpcrt=yes],[need_rpcrt=no])
2002-02-12 04:17:08 +08:00
if test $need_rpcrt = yes; then
SLAPD_LIBS="$SLAPD_LIBS -lrpcrt4"
CLIENT_LIBS="$CLIENT_LIBS -lrpcrt4"
2002-02-12 04:17:08 +08:00
fi
LIBS="$save_LIBS"
AC_MSG_RESULT($need_rpcrt)
fi
dnl ----------------------------------------------------------------
dnl Check for resolver routines
2005-04-03 04:52:18 +08:00
OL_RESOLVER_LINK
2005-04-03 04:52:18 +08:00
ol_link_dnssrv=no
if test "$ol_cv_lib_resolver" != no ; then
AC_DEFINE(HAVE_RES_QUERY,1,
[define if you have res_query()])
2005-04-03 04:52:18 +08:00
if test "$ol_enable_dnssrv" != no ; then
ol_link_dnssrv=yes
2005-04-03 04:52:18 +08:00
fi
if test "$ol_cv_lib_resolver" != yes ; then
LIBS="$ol_cv_lib_resolver $LIBS"
fi
fi
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
2005-04-03 04:52:18 +08:00
else
ol_enable_dnssrv=no
fi
2004-04-25 09:05:15 +08:00
AC_CHECK_FUNCS( hstrerror )
2000-09-25 09:11:39 +08:00
dnl ----------------------------------------------------------------
dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN
dnl PF_LOCAL may use getaddrinfo in available
AC_CHECK_FUNCS( getaddrinfo getnameinfo gai_strerror inet_ntop )
2000-09-25 09:11:39 +08:00
ol_link_ipv6=no
if test $ac_cv_func_getaddrinfo = no || test $ac_cv_func_inet_ntop = no ; then
2000-09-25 09:11:39 +08:00
if test $ol_enable_ipv6 = yes ; then
AC_MSG_ERROR([IPv6 support requires getaddrinfo() and inet_ntop()])
2000-09-25 09:11:39 +08:00
fi
2001-12-27 10:22:13 +08:00
elif test $ol_enable_ipv6 != no ; then
2000-09-25 09:21:20 +08:00
AC_CACHE_CHECK([INET6_ADDRSTRLEN],[ol_cv_inet6_addrstrlen],[
AC_EGREP_CPP(__has_inet6_addrstrlen__,[
2000-09-25 09:17:22 +08:00
# include <netinet/in.h>
2000-09-25 09:21:20 +08:00
# ifdef INET6_ADDRSTRLEN
__has_inet6_addrstrlen__;
2000-09-25 09:11:39 +08:00
# endif
2000-09-25 09:21:20 +08:00
], [ol_cv_inet6_addrstrlen=yes], [ol_cv_inet6_addrstrlen=no])])
2000-09-25 09:11:39 +08:00
AC_CACHE_CHECK([struct sockaddr_storage],ol_cv_struct_sockaddr_storage,[
2005-08-12 18:55:09 +08:00
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <sys/types.h>
#include <sys/socket.h>
2005-08-12 18:55:09 +08:00
]], [[
struct sockaddr_storage ss;
2005-08-12 18:55:09 +08:00
]])],[ol_cv_struct_sockaddr_storage=yes],[ol_cv_struct_sockaddr_storage=no])])
if test $ol_cv_inet6_addrstrlen = yes &&
test $ol_cv_struct_sockaddr_storage = yes ; then
2000-09-25 09:11:39 +08:00
ol_link_ipv6=yes
elif test $ol_enable_ipv6 = yes &&
test $ol_cv_inet6_addrstrlen = no ; then
2000-09-25 09:11:39 +08:00
AC_MSG_ERROR([IPv6 support requires INET6_ADDRSTRLEN])
elif test $ol_enable_ipv6 = yes &&
test $ol_cv_struct_sockaddr_storage = no ; then
AC_MSG_ERROR([IPv6 support requires struct sockaddr_storage])
2000-09-25 09:11:39 +08:00
fi
fi
if test $ol_enable_local != no ; then
AC_CHECK_HEADERS( sys/un.h )
if test $ol_enable_local = auto ; then
ol_enable_local=$ac_cv_header_sys_un_h
elif test $ac_cv_header_sys_un_h = no ; then
AC_MSG_ERROR([AF_LOCAL domain support requires sys/un.h])
fi
fi
dnl ----------------------------------------------------------------
dnl TLS/SSL
2006-02-18 06:46:22 +08:00
if test $ol_with_tls = yes ; then
ol_with_tls=auto
fi
ol_link_tls=no
2006-02-18 06:46:22 +08:00
if test $ol_with_tls = openssl || test $ol_with_tls = auto ; then
2005-10-14 07:52:14 +08:00
AC_CHECK_HEADERS(openssl/ssl.h)
if test $ac_cv_header_openssl_ssl_h = yes ; then
AC_PREPROC_IFELSE([AC_LANG_SOURCE(
[[#include <openssl/opensslv.h>]
[#if OPENSSL_VERSION_NUMBER < 0x1000200fL]
[#error "OpenSSL is too old"]
[#endif]])],
, [AC_MSG_FAILURE([OpenSSL 1.0.2a or newer required])])
AC_CHECK_LIB(ssl, SSL_CTX_set_msg_callback,
2005-10-14 07:52:14 +08:00
[have_openssl=yes
need_rsaref=no], [have_openssl=no],
[-lcrypto])
2005-10-14 07:52:14 +08:00
if test $have_openssl = no ; then
AC_CHECK_LIB(ssl, ssl3_accept,
2005-10-14 07:52:14 +08:00
[have_openssl=yes
need_rsaref=yes], [have_openssl=no],
[-lcrypto -lRSAglue -lrsaref])
fi
2005-10-14 07:52:14 +08:00
if test $have_openssl = yes ; then
2006-02-18 06:46:22 +08:00
ol_with_tls=openssl
ol_link_tls=yes
2018-06-14 23:12:59 +08:00
WITH_TLS_TYPE=openssl
2005-10-14 07:52:14 +08:00
AC_DEFINE(HAVE_OPENSSL, 1,
[define if you have OpenSSL])
if test $need_rsaref = yes; then
AC_DEFINE(HAVE_RSAREF, 1,
2005-10-14 07:52:14 +08:00
[define if OpenSSL needs RSAref])
TLS_LIBS="-lssl -lcrypto -lRSAglue -lrsaref"
else
TLS_LIBS="-lssl -lcrypto"
fi
fi
fi
fi
2007-05-11 04:33:10 +08:00
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
2017-05-24 23:12:48 +08:00
AC_PREPROC_IFELSE([AC_LANG_SOURCE(
[[#include <gnutls/gnutls.h>]
2020-05-14 22:56:28 +08:00
[#if GNUTLS_VERSION_NUMBER < 0x030306]
[#error "GnuTLS is too old"]
2017-05-24 23:12:48 +08:00
[#endif]])],
2020-05-14 22:56:28 +08:00
, [AC_MSG_FAILURE([GnuTLS 3.3.6 or newer required])])
2007-05-11 04:33:10 +08:00
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
2018-06-14 23:12:59 +08:00
WITH_TLS_TYPE=gnutls
2007-05-11 04:33:10 +08:00
2007-05-24 07:28:11 +08:00
TLS_LIBS="-lgnutls"
2007-05-11 04:33:10 +08:00
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
2000-07-25 09:11:09 +08:00
elif test $ol_with_tls = auto ; then
2005-08-12 18:55:09 +08:00
AC_MSG_WARN([Could not locate TLS/SSL package])
AC_MSG_WARN([TLS data protection not supported!])
2000-07-25 09:11:09 +08:00
elif test $ol_with_tls != no ; then
2005-08-12 18:55:09 +08:00
AC_MSG_ERROR([Could not locate TLS/SSL package])
2006-02-18 06:46:22 +08:00
else
AC_MSG_WARN([TLS data protection not supported!])
2000-07-25 09:11:09 +08:00
fi
2001-01-12 11:21:38 +08:00
dnl ----------------------------------------------------------------
dnl Threads?
1998-10-25 09:41:42 +08:00
ol_link_threads=no
case $ol_with_threads in auto | yes | nt)
OL_NT_THREADS
if test "$ol_cv_nt_threads" = yes ; then
2001-12-08 12:29:34 +08:00
ol_link_threads=nt
ol_with_threads=found
ol_with_yielding_select=yes
AC_DEFINE(HAVE_NT_SERVICE_MANAGER,1,[if you have NT Service Manager])
AC_DEFINE(HAVE_NT_EVENT_LOG,1,[if you have NT Event Log])
fi
if test $ol_with_threads = nt ; then
AC_MSG_ERROR([could not locate NT Threads])
fi
;;
esac
case $ol_with_threads in auto | yes | posix)
1998-12-03 03:31:48 +08:00
AC_CHECK_HEADERS(pthread.h)
1998-10-25 09:41:42 +08:00
if test $ac_cv_header_pthread_h = yes ; then
OL_POSIX_THREAD_VERSION
if test $ol_cv_pthread_version != 0 ; then
AC_DEFINE_UNQUOTED(HAVE_PTHREADS,$ol_cv_pthread_version,
[define to pthreads API spec revision])
1998-10-25 09:41:42 +08:00
else
AC_MSG_ERROR([unknown pthread version])
fi
# consider threads found
ol_with_threads=found
OL_HEADER_LINUX_THREADS
OL_HEADER_GNU_PTH_PTHREAD_H
if test $ol_cv_header_gnu_pth_pthread_h = no ; then
AC_CHECK_HEADERS(sched.h)
fi
1998-10-25 09:41:42 +08:00
dnl Now the hard part, how to link?
dnl
dnl currently supported checks:
dnl
1999-02-04 01:22:22 +08:00
dnl Check for no flags
dnl pthread_create() in $LIBS
dnl
dnl Check special pthread (final) flags
dnl [skipped] pthread_create() with -mt (Solaris) [disabled]
1999-02-04 01:22:22 +08:00
dnl pthread_create() with -kthread (FreeBSD)
dnl pthread_create() with -pthread (FreeBSD/Digital Unix)
dnl pthread_create() with -pthreads (?)
1999-07-20 12:32:42 +08:00
dnl pthread_create() with -mthreads (AIX)
1999-02-04 01:22:22 +08:00
dnl pthread_create() with -thread (?)
dnl
dnl Check pthread (final) libraries
1999-02-04 01:22:22 +08:00
dnl pthread_mutex_unlock() in -lpthread -lmach -lexc -lc_r (OSF/1)
dnl pthread_mutex_lock() in -lpthread -lmach -lexc (OSF/1)
dnl [skipped] pthread_mutex_trylock() in -lpthread -lexc (OSF/1)
dnl pthread_join() -Wl,-woff,85 -lpthread (IRIX)
1999-02-04 01:22:22 +08:00
dnl pthread_create() in -lpthread (many)
dnl pthread_create() in -lc_r (FreeBSD)
dnl
dnl Check pthread (draft4) flags (depreciated)
1999-02-04 01:22:22 +08:00
dnl pthread_create() with -threads (OSF/1)
dnl
dnl Check pthread (draft4) libraries (depreciated)
1999-02-04 01:22:22 +08:00
dnl pthread_mutex_unlock() in -lpthreads -lmach -lexc -lc_r (OSF/1)
dnl pthread_mutex_lock() in -lpthreads -lmach -lexc (OSF/1)
dnl pthread_mutex_trylock() in -lpthreads -lexc (OSF/1)
dnl pthread_create() in -lpthreads (many)
dnl
dnl pthread_create in $LIBS
AC_CACHE_CHECK([for pthread_create in default libraries],
ol_cv_pthread_create,[
2005-08-12 18:55:09 +08:00
AC_RUN_IFELSE([OL_PTHREAD_TEST_PROGRAM],
1999-08-14 07:07:21 +08:00
[ol_cv_pthread_create=yes],
2005-08-12 18:55:09 +08:00
[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
ol_link_pthreads=""
fi
dnl OL_PTHREAD_TRY([-mt], [ol_cv_pthread_mt])
1999-08-14 07:07:21 +08:00
OL_PTHREAD_TRY([-kthread], [ol_cv_pthread_kthread])
OL_PTHREAD_TRY([-pthread], [ol_cv_pthread_pthread])
OL_PTHREAD_TRY([-pthreads], [ol_cv_pthread_pthreads])
OL_PTHREAD_TRY([-mthreads], [ol_cv_pthread_mthreads])
OL_PTHREAD_TRY([-thread], [ol_cv_pthread_thread])
OL_PTHREAD_TRY([-lpthread -lmach -lexc -lc_r],
[ol_cv_pthread_lpthread_lmach_lexc_lc_r])
1999-08-14 07:07:21 +08:00
OL_PTHREAD_TRY([-lpthread -lmach -lexc],
[ol_cv_pthread_lpthread_lmach_lexc])
1999-08-14 07:07:21 +08:00
dnl OL_PTHREAD_TRY([-lpthread -lexc],
dnl [ol_cv_pthread_lpthread_lexc])
1999-08-14 07:07:21 +08:00
OL_PTHREAD_TRY([-lpthread -Wl,-woff,85],
[ol_cv_pthread_lib_lpthread_woff])
1999-08-14 07:07:21 +08:00
OL_PTHREAD_TRY([-lpthread], [ol_cv_pthread_lpthread])
OL_PTHREAD_TRY([-lc_r], [ol_cv_pthread_lc_r])
1998-10-25 09:41:42 +08:00
1999-08-14 07:07:21 +08:00
OL_PTHREAD_TRY([-threads], [ol_cv_pthread_threads])
1998-10-25 09:41:42 +08:00
1999-08-14 07:07:21 +08:00
OL_PTHREAD_TRY([-lpthreads -lmach -lexc -lc_r],
[ol_cv_pthread_lpthreads_lmach_lexc_lc_r])
1999-08-14 07:07:21 +08:00
OL_PTHREAD_TRY([-lpthreads -lmach -lexc],
[ol_cv_pthread_lpthreads_lmach_lexc])
1999-08-14 07:07:21 +08:00
OL_PTHREAD_TRY([-lpthreads -lexc],
[ol_cv_pthread_lpthreads_lexc])
1999-08-14 07:07:21 +08:00
OL_PTHREAD_TRY([-lpthreads],[ol_cv_pthread_lib_lpthreads])
1998-10-25 09:41:42 +08:00
if test $ol_link_threads != no ; then
LTHREAD_LIBS="$LTHREAD_LIBS $ol_link_pthreads"
dnl save flags
1998-10-25 09:41:42 +08:00
save_CPPFLAGS="$CPPFLAGS"
save_LIBS="$LIBS"
LIBS="$LTHREAD_LIBS $LIBS"
dnl All POSIX Thread (final) implementations should have
dnl sched_yield instead of pthread yield.
dnl check for both, and thr_yield for Solaris
AC_CHECK_FUNCS(sched_yield pthread_yield thr_yield)
1998-10-25 09:41:42 +08:00
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_DEFINE(HAVE_SCHED_YIELD,1,
[Define if you have the sched_yield function.])
ac_cv_func_sched_yield=yes],
[ac_cv_func_sched_yield=no])
fi
if test $ac_cv_func_sched_yield = no &&
test $ac_cv_func_pthread_yield = no &&
test "$ac_cv_func_thr_yield" = no ; then
1998-10-25 09:41:42 +08:00
AC_MSG_WARN([could not locate sched_yield() or pthread_yield()])
fi
dnl Check functions for compatibility
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,
2007-01-19 10:54:38 +08:00
[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
2005-08-12 18:55:09 +08:00
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <pthread.h>
#ifndef NULL
#define NULL (void*)0
#endif
2005-08-12 18:55:09 +08:00
]], [[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_MSG_ERROR([could not locate pthread_detach()])
fi
1998-10-25 09:41:42 +08:00
AC_DEFINE(HAVE_PTHREAD_DETACH,1,
[define if you have pthread_detach function])
ITS#8605 - spelling fixes * javascript * kernel * ldap * length * macros * maintained * manager * matching * maximum * mechanism * memory * method * mimic * minimum * modifiable * modifiers * modifying * multiple * necessary * normalized * objectclass * occurrence * occurring * offered * operation * original * overridden * parameter * permanent * preemptively * printable * protocol * provider * really * redistribution * referenced * refresh * regardless * registered * request * reserved * resource * response * sanity * separated * setconcurrency * should * specially * specifies * structure * structures * subordinates * substitution * succeed * successful * successfully * sudoers * sufficient * superiors * supported * synchronization * terminated * they're * through * traffic * transparent * unsigned * unsupported * version * absence * achieves * adamson * additional * address * against * appropriate * architecture * associated * async * attribute * authentication * authorized * auxiliary * available * begin * beginning * buffered * canonical * certificate * charray * check * class * compatibility * compilation * component * configurable * configuration * configure * conjunction * constraints * constructor * contained * containing * continued * control * convenience * correspond * credentials * cyrillic * database * definitions * deloldrdn * dereferencing * destroy * distinguish * documentation * emmanuel * enabled * entry * enumerated * everything * exhaustive * existence * existing * explicitly * extract * fallthru * fashion * february * finally * function * generically * groupname * happened * implementation * including * initialization * initializes * insensitive * instantiated * instantiation * integral * internal * iterate
2017-02-26 15:49:31 +08:00
dnl Check for setconcurrency functions
AC_CHECK_FUNCS( \
pthread_setconcurrency \
pthread_getconcurrency \
thr_setconcurrency \
thr_getconcurrency \
)
OL_SYS_LINUX_THREADS
OL_LINUX_THREADS
if test $ol_cv_linux_threads = error; then
AC_MSG_ERROR([LinuxThreads header/library mismatch]);
fi
2017-05-24 23:12:48 +08:00
AC_CACHE_CHECK([AC_LANG_SOURCE([if pthread_create() works])],
ol_cv_pthread_create_works,[
2005-08-12 18:55:09 +08:00
AC_RUN_IFELSE([OL_PTHREAD_TEST_PROGRAM],
1998-11-30 09:58:54 +08:00
[ol_cv_pthread_create_works=yes],
[ol_cv_pthread_create_works=no],
[dnl assume yes
ol_cv_pthread_create_works=yes])])
if test $ol_cv_pthread_create_works = no ; then
AC_MSG_ERROR([pthread_create is not usable, check environment settings])
1998-11-30 09:58:54 +08:00
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,[
2005-08-12 18:55:09 +08:00
AC_RUN_IFELSE([AC_LANG_SOURCE([[
1998-10-25 09:41:42 +08:00
#include <sys/types.h>
#include <sys/time.h>
#include <unistd.h>
#include <pthread.h>
#ifndef NULL
#define NULL (void*) 0
1998-10-25 09:41:42 +08:00
#endif
static int fildes[2];
static void *task(p)
void *p;
1998-10-25 09:41:42 +08:00
{
int i;
1998-10-25 09:41:42 +08:00
struct timeval tv;
fd_set rfds;
tv.tv_sec=10;
1998-10-25 09:41:42 +08:00
tv.tv_usec=0;
FD_ZERO(&rfds);
FD_SET(fildes[0], &rfds);
/* we're not interested in any fds */
i = select(FD_SETSIZE, &rfds, NULL, NULL, &tv);
if(i < 0) {
perror("select");
exit(10);
}
1998-10-25 09:41:42 +08:00
exit(0); /* if we exit here, the select blocked the whole process */
1998-10-25 09:41:42 +08:00
}
int main(argc, argv)
int argc;
char **argv;
1998-10-25 09:41:42 +08:00
{
pthread_t t;
/* create a pipe to select */
if(pipe(&fildes[0])) {
perror("select");
exit(1);
}
#ifdef HAVE_PTHREAD_SETCONCURRENCY
(void) pthread_setconcurrency(2);
#else
#ifdef HAVE_THR_SETCONCURRENCY
/* Set Solaris LWP concurrency to 2 */
thr_setconcurrency(2);
#endif
#endif
#if HAVE_PTHREADS < 6
pthread_create(&t, pthread_attr_default, task, NULL);
#else
pthread_create(&t, NULL, task, NULL);
#endif
1998-10-25 09:41:42 +08:00
/* make sure task runs first */
#ifdef HAVE_THR_YIELD
thr_yield();
#elif defined( HAVE_SCHED_YIELD )
sched_yield();
#elif defined( HAVE_PTHREAD_YIELD )
pthread_yield();
1998-10-25 09:41:42 +08:00
#endif
exit(2);
2005-08-12 18:55:09 +08:00
}]])],[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])
fi
1998-10-25 09:41:42 +08:00
1998-11-30 09:58:54 +08:00
if test $ol_cv_pthread_select_yields = yes ; then
ol_with_yielding_select=yes
1998-10-25 09:41:42 +08:00
fi
fi
dnl restore flags
1998-10-25 09:41:42 +08:00
CPPFLAGS="$save_CPPFLAGS"
LIBS="$save_LIBS"
else
AC_MSG_ERROR([could not locate usable POSIX Threads])
1998-10-25 09:41:42 +08:00
fi
fi
if test $ol_with_threads = posix ; then
AC_MSG_ERROR([could not locate POSIX Threads])
fi
;;
esac
1998-10-25 09:41:42 +08:00
case $ol_with_threads in auto | yes | pth)
AC_CHECK_HEADERS(pth.h)
if test $ac_cv_header_pth_h = yes ; then
AC_CHECK_LIB(pth, pth_version, [have_pth=yes], [have_pth=no])
if test $have_pth = yes ; then
AC_DEFINE(HAVE_GNU_PTH,1,[if you have GNU Pth])
LTHREAD_LIBS="$LTHREAD_LIBS -lpth"
ol_link_threads=pth
2002-01-21 11:12:40 +08:00
ol_with_threads=found
if test $ol_with_yielding_select = auto ; then
ol_with_yielding_select=yes
fi
fi
fi
;;
esac
case $ol_with_threads in auto | yes | lwp)
1998-12-03 03:31:48 +08:00
1998-10-25 09:41:42 +08:00
dnl check for SunOS5 LWP
AC_CHECK_HEADERS(thread.h synch.h)
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])
1998-10-25 09:41:42 +08:00
if test $have_thr = yes ; then
AC_DEFINE(HAVE_THR,1,
[if you have Solaris LWP (thr) package])
LTHREAD_LIBS="$LTHREAD_LIBS -lthread"
ol_link_threads=thr
1998-10-25 09:41:42 +08:00
if test $ol_with_yielding_select = auto ; then
ol_with_yielding_select=yes
1998-10-25 09:41:42 +08:00
fi
ITS#8605 - spelling fixes * javascript * kernel * ldap * length * macros * maintained * manager * matching * maximum * mechanism * memory * method * mimic * minimum * modifiable * modifiers * modifying * multiple * necessary * normalized * objectclass * occurrence * occurring * offered * operation * original * overridden * parameter * permanent * preemptively * printable * protocol * provider * really * redistribution * referenced * refresh * regardless * registered * request * reserved * resource * response * sanity * separated * setconcurrency * should * specially * specifies * structure * structures * subordinates * substitution * succeed * successful * successfully * sudoers * sufficient * superiors * supported * synchronization * terminated * they're * through * traffic * transparent * unsigned * unsupported * version * absence * achieves * adamson * additional * address * against * appropriate * architecture * associated * async * attribute * authentication * authorized * auxiliary * available * begin * beginning * buffered * canonical * certificate * charray * check * class * compatibility * compilation * component * configurable * configuration * configure * conjunction * constraints * constructor * contained * containing * continued * control * convenience * correspond * credentials * cyrillic * database * definitions * deloldrdn * dereferencing * destroy * distinguish * documentation * emmanuel * enabled * entry * enumerated * everything * exhaustive * existence * existing * explicitly * extract * fallthru * fashion * february * finally * function * generically * groupname * happened * implementation * including * initialization * initializes * insensitive * instantiated * instantiation * integral * internal * iterate
2017-02-26 15:49:31 +08:00
dnl Check for setconcurrency functions
AC_CHECK_FUNCS( \
thr_setconcurrency \
thr_getconcurrency \
)
1998-10-25 09:41:42 +08:00
fi
fi
;;
esac
1998-10-25 09:41:42 +08:00
if test $ol_with_yielding_select = yes ; then
AC_DEFINE(HAVE_YIELDING_SELECT,1,
[define if select implicitly yields])
1998-10-25 09:41:42 +08:00
fi
if test $ol_with_threads = manual ; then
dnl User thinks he can manually configure threads.
1998-11-05 00:36:04 +08:00
ol_link_threads=yes
1998-10-25 09:41:42 +08:00
AC_MSG_WARN([thread defines and link options must be set manually])
AC_CHECK_HEADERS(pthread.h sched.h)
AC_CHECK_FUNCS(sched_yield pthread_yield)
OL_HEADER_LINUX_THREADS
1998-10-25 09:41:42 +08:00
AC_CHECK_HEADERS(thread.h synch.h)
fi
if test $ol_link_threads != no && test $ol_link_threads != nt ; then
dnl needed to get reentrant/threadsafe versions
dnl
1998-12-01 04:40:42 +08:00
AC_DEFINE(REENTRANT,1)
AC_DEFINE(_REENTRANT,1)
1998-12-01 04:40:42 +08:00
AC_DEFINE(THREAD_SAFE,1)
AC_DEFINE(_THREAD_SAFE,1)
1998-12-01 04:40:42 +08:00
AC_DEFINE(THREADSAFE,1)
AC_DEFINE(_THREADSAFE,1)
AC_DEFINE(_SGI_MP_SOURCE,1)
dnl The errno declaration may dependent upon _REENTRANT.
dnl If it does, we must link with thread support.
AC_CACHE_CHECK([for thread specific errno],
[ol_cv_errno_thread_specific], [
2005-08-12 18:55:09 +08:00
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], [
2005-08-12 18:55:09 +08:00
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 ||
test $ol_cv_h_errno_thread_specific != yes ; then
LIBS="$LTHREAD_LIBS $LIBS"
LTHREAD_LIBS=""
fi
dnl When in thread environment, use
dnl #if defined( HAVE_REENTRANT_FUNCTIONS ) || defined( HAVE_FUNC_R )
dnl func_r(...);
dnl #else
dnl /* lock */
dnl func(...);
dnl /* unlock */
dnl #endif
dnl
dnl HAVE_REENTRANT_FUNCTIONS is derived from:
dnl _POSIX_REENTRANT_FUNCTIONS
dnl _POSIX_THREAD_SAFE_FUNCTIONS
dnl _POSIX_THREADSAFE_FUNCTIONS
dnl
dnl and is currently defined in <ldap_pvt_thread.h>
dnl
dnl libldap/*.c should only include <ldap_pvt_thread.h> iff
dnl LDAP_R_COMPILE is defined. ie:
dnl #ifdef LDAP_R_COMPILE
dnl # include <ldap_pvt_thread.h>
dnl #endif
dnl
dnl LDAP_R_COMPILE is defined by libldap/ldap-int.h
dnl specifically for compiling the threadsafe version of
dnl the ldap library.
dnl
dnl dnl check for reentrant/threadsafe functions
dnl dnl
dnl dnl note: these should only be used when linking
2001-12-08 12:29:34 +08:00
dnl dnl with $LTHREAD_LIBS
dnl dnl
dnl save_CPPFLAGS="$CPPFLAGS"
dnl save_LIBS="$LIBS"
dnl LIBS="$LTHREAD_LIBS $LIBS"
dnl AC_CHECK_FUNCS( \
dnl gmtime_r \
dnl gethostbyaddr_r gethostbyname_r \
dnl feof_unlocked unlocked_feof \
dnl putc_unlocked unlocked_putc \
dnl flockfile ftrylockfile \
dnl )
dnl CPPFLAGS="$save_CPPFLAGS"
dnl LIBS="$save_LIBS"
fi
1998-10-25 09:41:42 +08:00
if test $ol_link_threads = no ; then
if test $ol_enable_slapd != no; then
AC_MSG_ERROR([slapd requires thread support])
fi
1998-10-25 09:41:42 +08:00
if test $ol_with_threads = yes ; then
AC_MSG_ERROR([no suitable thread support])
fi
if test $ol_with_threads = auto ; then
AC_MSG_WARN([no suitable thread support, disabling threads])
1998-11-05 01:35:18 +08:00
ol_with_threads=no
1998-10-25 09:41:42 +08:00
fi
AC_DEFINE(NO_THREADS,1,
[define if you have (or want) no threads])
1998-10-25 09:41:42 +08:00
LTHREAD_LIBS=""
BUILD_THREAD=no
else
BUILD_THREAD=yes
1998-10-25 09:41:42 +08:00
fi
if test $ol_link_threads != no ; then
2005-08-12 14:52:49 +08:00
AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE,1,
[define to 1 if library is thread safe])
dnl This could be enabled without threads if all of the
dnl reentrant functions are available. Needs testing.
AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_REENTRANT,1,
[define to 1 if library is reentrant])
fi
dnl ----------------------------------------------------------------
dnl Tests for reentrant functions necessary for reentrant build
AC_CHECK_FUNCS( \
ctime_r \
2009-08-19 07:48:15 +08:00
gmtime_r localtime_r \
gethostbyname_r gethostbyaddr_r \
)
if test "$ac_cv_func_ctime_r" = no ; then
ol_cv_func_ctime_r_nargs=0
else
OL_FUNC_CTIME_R_NARGS
dnl OL_FUNC_CTIME_R_TYPE
fi
if test "$ac_cv_func_gethostbyname_r" = yes ; then
OL_FUNC_GETHOSTBYNAME_R_NARGS
else
ol_cv_func_gethostbyname_r_nargs=0
fi
if test "$ac_cv_func_gethostbyaddr_r" = yes ; then
OL_FUNC_GETHOSTBYADDR_R_NARGS
else
ol_cv_func_gethostbyaddr_r_nargs=0
fi
dnl ----------------------------------------------------------------
if test $ol_enable_dynamic = yes && test $enable_shared = yes ; then
2001-12-07 12:03:25 +08:00
BUILD_LIBS_DYNAMIC=shared
AC_DEFINE(LDAP_LIBS_DYNAMIC, 1, [define if LDAP libs are dynamic])
LTSTATIC=""
else
2001-12-07 12:03:25 +08:00
BUILD_LIBS_DYNAMIC=static
LTSTATIC="-static"
fi
AC_SUBST(LTSTATIC)dnl
dnl ----------------------------------------------------------------
if test $ol_enable_wrappers != no ; then
AC_CHECK_HEADERS(tcpd.h,[
AC_MSG_CHECKING([for TCP wrappers library])
save_LIBS="$LIBS"
LIBS="$LIBS -lwrap"
2005-08-12 18:55:09 +08:00
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <tcpd.h>
int allow_severity = 0;
int deny_severity = 0;
1999-01-24 09:33:22 +08:00
struct request_info *req;
2005-08-12 18:55:09 +08:00
]], [[
hosts_access(req)
2005-08-12 18:55:09 +08:00
]])],[AC_MSG_RESULT([-lwrap])
have_wrappers=yes
LIBS="$save_LIBS"],[
dnl try with -lnsl
LIBS="$LIBS -lnsl"
AC_TRY_LINK([
#include <tcpd.h>
int allow_severity = 0;
int deny_severity = 0;
struct request_info *req;
],[
hosts_access(req)
],[AC_MSG_RESULT([-lwrap -lnsl])
have_wrappers=yes
LIBS="$save_LIBS -lnsl"],[
AC_MSG_RESULT(no)
have_wrappers=no
2005-08-12 18:55:09 +08:00
LIBS=$save_LIBS])])],[have_wrappers=no])
1998-10-25 09:41:42 +08:00
if test $have_wrappers = yes ; then
AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
WRAP_LIBS="-lwrap"
elif test $ol_enable_wrappers = yes ; then
ITS#8605 - spelling fixes * javascript * kernel * ldap * length * macros * maintained * manager * matching * maximum * mechanism * memory * method * mimic * minimum * modifiable * modifiers * modifying * multiple * necessary * normalized * objectclass * occurrence * occurring * offered * operation * original * overridden * parameter * permanent * preemptively * printable * protocol * provider * really * redistribution * referenced * refresh * regardless * registered * request * reserved * resource * response * sanity * separated * setconcurrency * should * specially * specifies * structure * structures * subordinates * substitution * succeed * successful * successfully * sudoers * sufficient * superiors * supported * synchronization * terminated * they're * through * traffic * transparent * unsigned * unsupported * version * absence * achieves * adamson * additional * address * against * appropriate * architecture * associated * async * attribute * authentication * authorized * auxiliary * available * begin * beginning * buffered * canonical * certificate * charray * check * class * compatibility * compilation * component * configurable * configuration * configure * conjunction * constraints * constructor * contained * containing * continued * control * convenience * correspond * credentials * cyrillic * database * definitions * deloldrdn * dereferencing * destroy * distinguish * documentation * emmanuel * enabled * entry * enumerated * everything * exhaustive * existence * existing * explicitly * extract * fallthru * fashion * february * finally * function * generically * groupname * happened * implementation * including * initialization * initializes * insensitive * instantiated * instantiation * integral * internal * iterate
2017-02-26 15:49:31 +08:00
AC_MSG_ERROR([could not find TCP wrappers, select appropriate options or disable])
1998-10-25 09:41:42 +08:00
else
AC_MSG_WARN([could not find TCP wrappers, support disabled])
WRAP_LIBS=""
1998-10-25 09:41:42 +08:00
fi
fi
dnl ----------------------------------------------------------------
if test $ol_enable_syslog != no ; then
AC_CHECK_FUNC(openlog)
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
2000-08-26 01:50:05 +08:00
dnl ----------------------------------------------------------------
dnl SQL
ol_link_sql=no
if test $ol_enable_sql != no ; then
AC_CHECK_HEADERS(sql.h sqlext.h,[],[
AC_MSG_ERROR([could not locate SQL headers])
])
2005-04-03 13:04:34 +08:00
sql_LIBS="$LIBS"
LIBS="$LTHREAD_LIBS $LIBS"
2005-04-03 13:04:34 +08:00
if test $ol_with_odbc = auto ; then
ol_with_odbc="iodbc unixodbc odbc32"
2000-08-26 01:50:05 +08:00
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])
2011-02-17 10:15:44 +08:00
dnl The windows API uses __stdcall which cannot be detected by AC_CHECK_LIB
if test $have_odbc32 = no ; then
AC_MSG_CHECKING([for SQLDriverConnect in -lodbc32 with windows.h])
save_LIBS="$LIBS"
LIBS="$LIBS -lodbc32"
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <windows.h>
#include <sqlext.h>
]], [[
SQLDriverConnect(NULL,NULL,NULL,0,NULL,0,NULL,0);
]])],[have_odbc32=yes], [have_odbc32=no])
LIBS="$save_LIBS"
AC_MSG_RESULT($have_odbc32)
fi
if test $have_odbc32 = yes ; then
ol_link_sql="-lodbc32"
fi
;;
*)
AC_MSG_ERROR([unknown ODBC library])
;;
esac
fi
done
2005-04-03 13:04:34 +08:00
LIBS="$sql_LIBS"
2000-08-26 01:50:05 +08:00
if test $ol_link_sql != no ; then
SLAPD_SQL_LIBS="$ol_link_sql"
elif test $ol_enable_sql != auto ; then
AC_MSG_ERROR([could not locate suitable ODBC library])
fi
fi
2008-08-27 05:48:17 +08:00
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.
2008-08-27 05:48:17 +08:00
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"
2008-08-27 05:48:17 +08:00
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"
2008-08-27 05:48:17 +08:00
if test "$ol_enable_ndb" = yes ; then
SLAPD_LIBS="$SLAPD_LIBS \$(SLAPD_NDB_LIBS)"
fi
fi
2015-04-27 09:27:58 +08:00
dnl ----------------------------------------------------------------
dnl WiredTiger
ol_link_wt=no
if test $ol_enable_wt != no ; then
AC_CHECK_PROG(PKGCONFIG,pkg-config,yes)
if test "$PKGCONFIG" != yes ; then
AC_MSG_ERROR([could not locate pkg-config])
fi
WT_INCS=`pkg-config --cflags wiredtiger`
WT_LIBS=`pkg-config --libs wiredtiger`
save_CFLAGS="$CFLAGS"
save_LDFLAGS="$LDFLAGS"
CFLAGS="$WT_INCS"
CPPFLAGS="$WT_INCS"
LDFLAGS="$WT_LIBS"
AC_CHECK_HEADERS([wiredtiger.h])
AC_CHECK_LIB(wiredtiger,wiredtiger_version,[: ok],[
AC_MSG_ERROR([could not locate wiredtiger library])
])
CFLAGS="$save_CFLAGS"
CPPFLAGS="$save_CPPFLAGS"
LDFLAGS="$save_LDFLAGS"
SLAPD_LIBS="$SLAPD_LIBS \$(WT_LIBS)"
ol_link_wt=yes
fi
dnl ----------------------------------------------------------------
dnl
dnl Check for Cyrus SASL
dnl
2004-06-19 18:00:25 +08:00
WITH_SASL=no
ol_link_sasl=no
ol_link_spasswd=no
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 ||
test $ac_cv_header_sasl_h = yes; then
2002-02-10 22:23:55 +08:00
AC_CHECK_LIB(sasl2, sasl_client_init,
[ol_link_sasl="-lsasl2"],
[AC_CHECK_LIB(sasl, sasl_client_init,
[ol_link_sasl="-lsasl"])])
fi
2000-07-25 09:11:09 +08:00
if test $ol_link_sasl = no ; then
if test $ol_with_cyrus_sasl != auto ; then
AC_MSG_ERROR([Could not locate Cyrus SASL])
else
AC_MSG_WARN([Could not locate Cyrus SASL])
AC_MSG_WARN([SASL authentication not supported!])
if test $ol_link_tls = no ; then
AC_MSG_WARN([Strong authentication not supported!])
fi
fi
2002-02-10 22:23:55 +08:00
else
OL_SASL_COMPAT
if test $ol_cv_sasl_compat = no ; then
ol_link_sasl=no
2004-04-07 14:40:06 +08:00
AC_MSG_ERROR([Cyrus SASL library located but is incompatible])
fi
2002-02-10 22:23:55 +08:00
AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
SASL_LIBS="$ol_link_sasl"
2002-02-10 22:23:55 +08:00
if test $ol_enable_spasswd != no ; then
ol_link_spasswd=yes
fi
ac_save_LIBS="$LIBS"
LIBS="$LIBS $ol_link_sasl"
AC_CHECK_FUNC(sasl_version, [AC_DEFINE(HAVE_SASL_VERSION,1,
[define if your SASL library has sasl_version()])])
LIBS="$ac_save_LIBS"
2004-06-19 18:00:25 +08:00
WITH_SASL=yes
2000-07-25 09:11:09 +08:00
fi
2000-09-20 05:11:02 +08:00
2000-07-25 09:11:09 +08:00
else
AC_MSG_WARN([SASL authentication not supported!])
if test $ol_link_tls = no ; then
AC_MSG_WARN([Strong authentication not supported!])
fi
fi
dnl ----------------------------------------------------------------
dnl Check for entropy sources
if test $cross_compiling != yes && test "$ac_cv_mingw32" != yes ; then
dev=no
if test -r /dev/urandom ; then
dev="/dev/urandom";
elif test -r /idev/urandom ; then
dev="/idev/urandom";
elif test -r /dev/srandom ; then
dev="/dev/srandom";
elif test -r /dev/random ; then
dev="/dev/random";
elif test -r /idev/random ; then
dev="/idev/random";
fi
if test $dev != no ; then
AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device])
fi
fi
dnl ----------------------------------------------------------------
dnl
dnl Check for fetch URL support
dnl should be extended to support other fetch URL APIs
dnl
ol_link_fetch=no
if test $ol_with_fetch != no ; then
OL_LIB_FETCH
if test $ol_cv_lib_fetch != no ; then
LIBS="$LIBS $ol_link_fetch"
ol_link_fetch=freebsd
elif test $ol_with_fetch != auto ; then
AC_MSG_ERROR(no suitable API for --with-fetch=$ol_with_fetch)
fi
fi
dnl ----------------------------------------------------------------
dnl FreeBSD (and others) have crypt(3) in -lcrypt
1998-10-25 09:41:42 +08:00
if test $ol_enable_crypt != no ; then
save_LIBS="$LIBS"
LIBS="$TLS_LIBS $LIBS"
1998-10-25 09:41:42 +08:00
AC_CHECK_FUNC(crypt, [have_crypt=yes], [
LIBS="$save_LIBS"
1998-10-25 09:41:42 +08:00
AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
have_crypt=yes], [have_crypt=no])])
2017-09-07 04:25:16 +08:00
LIBS="$TLS_LIBS $LIBS"
AC_CHECK_LIB(crypt, crypt_r, [have_crypt_r=yes], [have_crypt_r=no])
LIBS="$save_LIBS"
1998-10-25 09:41:42 +08:00
if test $have_crypt = yes ; then
AC_DEFINE(HAVE_CRYPT,1, [define if crypt(3) is available])
2017-09-07 04:25:16 +08:00
if test $have_crypt_r = yes ; then
AC_DEFINE(HAVE_CRYPT_R, 1, [define if crypt_r() is also available])
fi
1998-10-25 09:41:42 +08:00
else
2004-04-07 14:40:06 +08:00
AC_MSG_WARN([could not find crypt])
1998-10-25 09:41:42 +08:00
if test $ol_enable_crypt = yes ; then
2004-04-07 14:40:06 +08:00
AC_MSG_ERROR([could not find crypt, select appropriate options or disable])
1998-10-25 09:41:42 +08:00
fi
2004-04-07 14:40:06 +08:00
AC_MSG_WARN([disabling crypt support])
1998-10-25 09:41:42 +08:00
ol_enable_crypt=no
fi
fi
dnl ----------------------------------------------------------------
if test $ol_enable_slp != no ; then
AC_CHECK_HEADERS( slp.h )
2001-01-19 06:18:09 +08:00
if test $ac_cv_header_slp_h = yes ; then
AC_CHECK_LIB(slp, SLPOpen, [have_slp=yes], [have_slp=no])
if test $have_slp = yes ; then
AC_DEFINE(HAVE_SLP, 1, [define if you have -lslp])
SLAPD_SLP_LIBS=-lslp
fi
elif test $ol_enable_slp = yes ; then
AC_MSG_ERROR([SLP not found])
fi
fi
2017-03-09 06:59:57 +08:00
dnl ----------------------------------------------------------------
dnl Libevent
if test $ol_enable_balancer != no ; then
2017-03-14 18:42:58 +08:00
AC_CHECK_LIB(event_extra, evdns_base_new,
2017-03-09 06:59:57 +08:00
[have_libevent=yes
2017-03-14 18:42:58 +08:00
LEVENT_LIBS="$LEVENT_LIBS -levent_core -levent_extra"],
[AC_CHECK_LIB(event, evdns_base_new,
2017-03-09 06:59:57 +08:00
[have_libevent=yes
LEVENT_LIBS="$LEVENT_LIBS -levent"],
[have_libevent=no])])
if test $have_libevent = yes ; then
AC_DEFINE(HAVE_LIBEVENT, 1, [define if you have -levent])
2017-03-14 18:42:58 +08:00
else
AC_MSG_ERROR([You need libevent 2.0 or later with DNS support to build the load balancer])
2017-03-09 06:59:57 +08:00
fi
fi
1998-10-25 09:41:42 +08:00
dnl ----------------------------------------------------------------
dnl Checks for typedefs, structures, and compiler characteristics.
2003-06-29 03:52:19 +08:00
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)
2003-06-29 03:52:19 +08:00
AC_CHECK_TYPES([long long])
2005-08-12 12:46:26 +08:00
AC_CHECK_TYPES([ptrdiff_t])
AC_CHECK_TYPE([socklen_t],,, [$ac_includes_default
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
#ifdef HAVE_WINSOCK2
#include <ws2tcpip.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'.])
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
2003-06-29 03:52:19 +08:00
1998-10-25 09:41:42 +08:00
AC_TYPE_SIGNAL
2005-08-13 11:04:44 +08:00
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>
2005-08-13 11:04:44 +08:00
])
AC_TYPE_UID_T
2005-08-13 06:28:17 +08:00
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>])
1998-10-25 09:41:42 +08:00
OL_C_UPPER_LOWER
AC_C_CONST
OL_C_VOLATILE
1998-10-25 09:41:42 +08:00
if test $cross_compiling = yes ; then
AC_MSG_WARN([Crossing compiling... all bets are off!])
AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
else
AC_C_BIGENDIAN
fi
AC_CHECK_SIZEOF(short)
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(long)
2006-02-10 16:21:02 +08:00
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.])
2005-08-12 14:52:49 +08:00
AC_DEFINE(LBER_INT_T,long,[define to 32-bit or greater integer type])
else
2005-08-12 14:52:49 +08:00
AC_DEFINE(LBER_INT_T,int,[define to 32-bit or greater integer type])
fi
2005-08-12 14:52:49 +08:00
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])
2006-02-10 16:21:02 +08:00
dnl ----------------------------------------------------------------
dnl Check for multiple precision support
if test $ol_with_mp = longlong || test $ol_with_mp = auto ; then
2006-02-22 12:47:41 +08:00
if test $ac_cv_sizeof_long_long -gt 4 ; then
2006-02-10 16:21:02 +08:00
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
2006-02-22 12:47:41 +08:00
if test $ac_cv_sizeof_long -gt 4 ; then
2006-02-10 16:21:02 +08:00
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)
2006-07-06 15:51:14 +08:00
if test $ac_cv_header_gmp_h = yes && test $ac_cv_lib_gmp___gmpz_add_ui = yes ; then
2006-02-10 23:13:23 +08:00
AC_DEFINE(USE_MP_GMP,1,[define to use GMP for MP])
2006-02-10 16:21:02 +08:00
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
1998-10-25 09:41:42 +08:00
dnl ----------------------------------------------------------------
dnl Checks for library functions.
AC_FUNC_MEMCMP
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
1998-10-25 09:41:42 +08:00
AC_FUNC_STRFTIME
1999-04-27 07:55:08 +08:00
1999-08-04 04:02:44 +08:00
OL_FUNC_INET_ATON
dnl Check for NT specific routines
AC_CHECK_FUNC(_spawnlp, AC_DEFINE(HAVE_SPAWNLP,1,[if you have spawnlp()]))
AC_CHECK_FUNC(_snprintf, [ac_cv_func_snprintf=yes
AC_DEFINE(snprintf, _snprintf, [define to snprintf routine])
])
2009-01-17 06:05:05 +08:00
AC_CHECK_FUNCS(vsnprintf _vsnprintf)
if test $ac_cv_func_vsnprintf = no -a $ac_cv_func__vsnprintf = yes ; then
ac_cv_func_vsnprintf=yes
AC_DEFINE(vsnprintf, _vsnprintf, [define to vsnprintf routine])
2009-01-17 06:05:05 +08:00
fi
1998-10-25 09:41:42 +08:00
AC_FUNC_VPRINTF
1998-11-05 07:29:52 +08:00
if test $ac_cv_func_vprintf = yes ; then
dnl check for vsnprintf
AC_CHECK_FUNCS(snprintf vsnprintf)
1998-11-05 07:29:52 +08:00
fi
AC_CHECK_FUNCS( \
1998-10-25 09:41:42 +08:00
bcopy \
1999-06-09 08:10:26 +08:00
closesocket \
chroot \
endgrent \
endpwent \
fcntl \
1998-10-25 09:41:42 +08:00
flock \
Patch: 'ldapmodify -y file' reads password from file (ITS#2031) ================ Written by Hallvard B. Furuseth and placed into the public domain. This software is not subject to any license of the University of Oslo. ================ Adapted by Kurt Zeilenga for inclusion in OpenLDAP. My comments are marked with enclosed with square brackets (e.g. [Kurt's comment] below. ================ If I run ldapmodify & co from a script, I don't want to use '-W password' because the password shows up in the output of 'ps' for everyone, and I can't pipe the password to 'ldapmodify -w' because -w uses getpassphrase() which reads from the tty instead of stdin. So I added '-y file' which reads the password from file. The programs exit if the file cannot be read. [Complete contents of file is used as password. Use: echo -n "secret" > password to create a file with "secret" as the password. The -n avoids adding a newline (which would invalidate the password). Note that echo is a builtin and hence its arguments are not visible to 'ps'.] I changed ldapmodify, ldapmodrdn, ldapdelete, ldapsearch, ldapcompare. I did not bother to change ldappasswd and ldapwhoami, because they prompt for many passwords. [I fixed up ldapwhoami.] Rerun autoconf after applying this patch. [Done.] Note: I do not know if Windows NT has fstat(), so I set HAVE_FSTAT to undef in portable.nt. (fstat() is used to warn if the file is publicly readable or writeable.) [I used fstat() to set the buffer size to read.] [Note: using the contents of a file extends the tools to support passwords which could not normally be provided using getpassphrase() or via the command line.] Hallvard B. Furuseth <h.b.furuseth@usit.uio.no>, Aug 2002. [Kurt D. Zeilenga <kurt@openldap.org>, Aug 2002.]
2002-08-24 13:47:17 +08:00
fstat \
getdtablesize \
2008-11-21 10:03:57 +08:00
geteuid \
getgrgid \
gethostname \
getpassphrase \
getpwuid \
getpwnam \
getspnam \
gettimeofday \
initgroups \
inet_ntoa_b \
ioctl \
1998-10-25 09:41:42 +08:00
lockf \
memcpy \
memmove \
2005-11-15 02:32:27 +08:00
memrchr \
mkstemp \
mktemp \
pipe \
read \
1999-04-03 02:58:48 +08:00
recv \
recvfrom \
1998-10-25 09:41:42 +08:00
setpwfile \
setgid \
setegid \
1998-10-25 09:41:42 +08:00
setsid \
setuid \
seteuid \
1998-10-25 09:41:42 +08:00
signal \
strdup \
strpbrk \
1998-10-25 09:41:42 +08:00
strrchr \
strsep \
strstr \
1998-10-25 09:41:42 +08:00
strtol \
strtoul \
2003-09-21 13:37:20 +08:00
strtoq \
strtouq \
2003-09-21 14:04:14 +08:00
strtoll \
strtoull \
strspn \
1998-10-25 09:41:42 +08:00
sysconf \
waitpid \
wait4 \
write \
send \
sendmsg \
sendto \
1998-10-25 09:41:42 +08:00
)
dnl We actually may need to replace more than this.
AC_REPLACE_FUNCS(getopt getpeereid)
1998-10-25 09:41:42 +08:00
if test "$ac_cv_func_getopt" != yes; then
2001-12-08 12:29:34 +08:00
LIBSRCS="$LIBSRCS getopt.c"
fi
if test "$ac_cv_func_getpeereid" != yes; then
AC_CHECK_FUNCS( getpeerucred )
if test "$ac_cv_func_getpeerucred" != yes ; then
AC_CHECK_MEMBERS([struct msghdr.msg_accrightslen],,,
[$ac_includes_default
2005-08-13 10:17:12 +08:00
#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
2005-08-13 10:17:12 +08:00
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif])
fi
2007-04-06 07:41:35 +08:00
AC_CHECK_MEMBERS([struct stat.st_fstype, struct stat.st_vfstype])
if test "$ac_cv_member_struct_stat_st_fstype" = yes; then
2017-05-24 23:12:48 +08:00
AC_COMPILE_IFELSE([AC_LANG_SOURCE([struct stat st; char *ptr=st.st_fstype;])],
2007-05-11 04:33:10 +08:00
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]))
2007-04-06 07:41:35 +08:00
fi
2005-03-16 10:22:46 +08:00
fi
LIBSRCS="$LIBSRCS getpeereid.c"
fi
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
if test "$ac_cv_func_vsnprintf" != yes; then
AC_DEFINE(vsnprintf, ber_pvt_vsnprintf, [define to snprintf routine])
fi
fi
1998-10-25 09:41:42 +08:00
dnl ----------------------------------------------------------------
dnl Sort out defines
if test "$ol_enable_slapi" != no ; then
2004-04-07 14:40:06 +08:00
dnl This check is done also if --enable-modules is used;
dnl it is duplicated here, 'cause it'd be cached anyway
AC_CHECK_HEADERS(ltdl.h)
if test $ac_cv_header_ltdl_h != yes ; then
AC_MSG_ERROR([could not locate <ltdl.h>])
fi
AC_CHECK_LIB(ltdl, lt_dlinit, [
SLAPI_LIBS=-lltdl
LIBSLAPI=slapi/libslapi.la
AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
],[AC_MSG_ERROR([could not locate libtool -lltdl])])
AC_DEFINE(LDAP_SLAPI,1, [define this to add SLAPI code])
fi
if test "$ol_enable_debug" != no ; then
2005-12-28 00:29:37 +08:00
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])
1998-10-25 09:41:42 +08:00
fi
if test "$ol_enable_syslog" != no ; then
AC_DEFINE(LDAP_SYSLOG,1,
[define this to add syslog code])
fi
if test "$ol_enable_referrals" != no ; then
2005-08-12 14:52:49 +08:00
AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS,LDAP_VENDOR_VERSION,
[define to LDAP VENDOR VERSION])
1998-10-25 09:41:42 +08:00
fi
if test "$ol_enable_local" != no; then
AC_DEFINE(LDAP_PF_LOCAL,1,[define to support PF_LOCAL])
fi
2000-09-25 09:11:39 +08:00
if test "$ol_link_ipv6" != no; then
AC_DEFINE(LDAP_PF_INET6,1,[define to support PF_INET6])
fi
if test "$ol_enable_cleartext" != no ; then
AC_DEFINE(SLAPD_CLEARTEXT,1,[define to support cleartext passwords])
fi
if test "$ol_enable_crypt" != no ; then
AC_DEFINE(SLAPD_CRYPT,1,[define to support crypt(3) passwords])
1998-10-25 09:41:42 +08:00
fi
if test "$ol_link_spasswd" != no ; then
AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords])
fi
if test "$ol_enable_rlookups" != no ; then
AC_DEFINE(SLAPD_RLOOKUPS,1,[define to support reverse lookups])
1998-10-25 09:41:42 +08:00
fi
if test "$ol_enable_aci" != no ; then
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])
2005-08-28 00:27:12 +08:00
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
1998-10-25 09:41:42 +08:00
if test "$ol_link_modules" != no ; then
AC_DEFINE(SLAPD_MODULES,1,[define to support modules])
BUILD_SLAPD=yes
SLAPD_MODULES_LDFLAGS="-dlopen self"
fi
2003-12-06 18:59:27 +08:00
AC_DEFINE(SLAPD_MOD_STATIC,1,[statically linked module])
AC_DEFINE(SLAPD_MOD_DYNAMIC,2,[dynamically linked module])
if test "$ol_enable_dnssrv" != no ; then
BUILD_SLAPD=yes
BUILD_DNSSRV=$ol_enable_dnssrv
if test "$ol_enable_dnssrv" = mod ; then
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-dnssrv"
MFLAG=SLAPD_MOD_DYNAMIC
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-dnssrv"
MFLAG=SLAPD_MOD_STATIC
fi
AC_DEFINE_UNQUOTED(SLAPD_DNSSRV,$MFLAG,[define to support DNS SRV backend])
fi
if test "$ol_enable_ldap" != no ; then
BUILD_SLAPD=yes
BUILD_LDAP=$ol_enable_ldap
if test "$ol_enable_ldap" = mod ; then
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldap"
MFLAG=SLAPD_MOD_DYNAMIC
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldap"
MFLAG=SLAPD_MOD_STATIC
fi
AC_DEFINE_UNQUOTED(SLAPD_LDAP,$MFLAG,[define to support LDAP backend])
fi
if test "$ol_enable_mdb" != no ; then
BUILD_SLAPD=yes
BUILD_MDB=$ol_enable_mdb
if test "$ol_enable_mdb" = mod ; then
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-mdb"
MFLAG=SLAPD_MOD_DYNAMIC
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-mdb"
MFLAG=SLAPD_MOD_STATIC
fi
AC_DEFINE_UNQUOTED(SLAPD_MDB,$MFLAG,[define to support MDB backend])
fi
if test "$ol_enable_meta" != no ; then
BUILD_SLAPD=yes
BUILD_META=$ol_enable_meta
if test "$ol_enable_meta" = mod ; then
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-meta"
MFLAG=SLAPD_MOD_DYNAMIC
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-meta"
MFLAG=SLAPD_MOD_STATIC
fi
AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend])
fi
if test "$ol_enable_asyncmeta" != no ; then
BUILD_SLAPD=yes
BUILD_ASYNCMETA=$ol_enable_asyncmeta
if test "$ol_enable_asyncmeta" = mod ; then
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-asyncmeta"
MFLAG=SLAPD_MOD_DYNAMIC
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-asyncmeta"
MFLAG=SLAPD_MOD_STATIC
fi
AC_DEFINE_UNQUOTED(SLAPD_ASYNCMETA,$MFLAG,[define to support LDAP Async Metadirectory backend])
fi
2008-08-27 05:48:17 +08:00
if test "$ol_enable_ndb" != no ; then
BUILD_SLAPD=yes
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-ndb"
MFLAG=SLAPD_MOD_STATIC
fi
AC_DEFINE_UNQUOTED(SLAPD_NDB,$MFLAG,[define to support NDB backend])
fi
if test "$ol_enable_null" != no ; then
BUILD_SLAPD=yes
BUILD_NULL=$ol_enable_null
if test "$ol_enable_null" = mod ; then
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-null"
MFLAG=SLAPD_MOD_DYNAMIC
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-null"
MFLAG=SLAPD_MOD_STATIC
fi
AC_DEFINE_UNQUOTED(SLAPD_NULL,$MFLAG,[define to support NULL backend])
fi
if test "$ol_enable_passwd" != no ; then
1998-10-25 09:41:42 +08:00
BUILD_SLAPD=yes
BUILD_PASSWD=$ol_enable_passwd
if test "$ol_enable_passwd" = mod ; then
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-passwd"
MFLAG=SLAPD_MOD_DYNAMIC
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-passwd"
MFLAG=SLAPD_MOD_STATIC
fi
AC_DEFINE_UNQUOTED(SLAPD_PASSWD,$MFLAG,[define to support PASSWD backend])
1998-10-25 09:41:42 +08:00
fi
if test "$ol_link_perl" != no ; then
BUILD_SLAPD=yes
BUILD_PERL=$ol_enable_perl
if test "$ol_enable_perl" = mod ; then
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-perl"
MFLAG=SLAPD_MOD_DYNAMIC
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-perl"
MFLAG=SLAPD_MOD_STATIC
fi
AC_DEFINE_UNQUOTED(SLAPD_PERL,$MFLAG,[define to support PERL backend])
fi
if test "$ol_enable_relay" != no ; then
BUILD_SLAPD=yes
BUILD_RELAY=$ol_enable_relay
if test "$ol_enable_relay" = mod ; then
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-relay"
MFLAG=SLAPD_MOD_DYNAMIC
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-relay"
MFLAG=SLAPD_MOD_STATIC
fi
AC_DEFINE_UNQUOTED(SLAPD_RELAY,$MFLAG,[define to support relay backend])
fi
if test "$ol_enable_shell" != no ; then
if test "$ol_link_threads" != no ; then
2002-10-19 02:53:07 +08:00
AC_MSG_WARN([Use of --without-threads is recommended with back-shell])
fi
1998-10-25 09:41:42 +08:00
BUILD_SLAPD=yes
BUILD_SHELL=$ol_enable_shell
if test "$ol_enable_shell" = mod ; then
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-shell"
MFLAG=SLAPD_MOD_DYNAMIC
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-shell"
MFLAG=SLAPD_MOD_STATIC
fi
AC_DEFINE_UNQUOTED(SLAPD_SHELL,$MFLAG,[define to support SHELL backend])
1998-10-25 09:41:42 +08:00
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
2000-08-26 01:50:05 +08:00
if test "$ol_link_sql" != no ; then
BUILD_SLAPD=yes
BUILD_SQL=$ol_enable_sql
if test "$ol_enable_sql" = mod; then
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sql"
MFLAG=SLAPD_MOD_DYNAMIC
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sql"
MFLAG=SLAPD_MOD_STATIC
fi
AC_DEFINE_UNQUOTED(SLAPD_SQL,$MFLAG,[define to support SQL backend])
fi
2015-04-27 09:27:58 +08:00
if test "$ol_link_wt" != no ; then
BUILD_SLAPD=yes
BUILD_WT=$ol_enable_wt
if test "$ol_enable_wt" = mod; then
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-wt"
MFLAG=SLAPD_MOD_DYNAMIC
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-wt"
MFLAG=SLAPD_MOD_STATIC
fi
AC_DEFINE_UNQUOTED(SLAPD_WT,$MFLAG,[define to support WiredTiger backend])
fi
2005-06-10 19:48:16 +08:00
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
2006-02-27 19:20:08 +08:00
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_autoca" != no ; then
if test $ol_with_tls != openssl ; then
AC_MSG_ERROR([--enable-autoca=$ol_enable_autoca requires --with-tls=openssl])
fi
BUILD_AUTOCA=$ol_enable_autoca
if test "$ol_enable_autoca" = mod ; then
MFLAG=SLAPD_MOD_DYNAMIC
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS autoca.la"
else
MFLAG=SLAPD_MOD_STATIC
SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS autoca.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_AUTOCA,$MFLAG,[define for Automatic Certificate Authority 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
2006-04-29 18:09:31 +08:00
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
2006-01-07 01:46:52 +08:00
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 dds.la"
else
MFLAG=SLAPD_MOD_STATIC
SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dds.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_DDS,$MFLAG,[define for Dynamic Directory Services overlay])
fi
if test "$ol_enable_deref" != no ; then
2009-09-30 07:53:43 +08:00
BUILD_DEREF=$ol_enable_deref
if test "$ol_enable_deref" = mod ; then
MFLAG=SLAPD_MOD_DYNAMIC
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_DEREF,$MFLAG,[define for Dynamic Directory Services overlay])
fi
if test "$ol_enable_dyngroup" != no ; then
BUILD_DYNGROUP=$ol_enable_dyngroup
if test "$ol_enable_dyngroup" = mod ; then
2003-12-06 18:59:27 +08:00
MFLAG=SLAPD_MOD_DYNAMIC
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dyngroup.la"
else
MFLAG=SLAPD_MOD_STATIC
2005-05-06 08:39:25 +08:00
SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dyngroup.o"
2003-12-06 18:59:27 +08:00
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group overlay])
fi
2005-04-08 07:35:36 +08:00
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
2005-05-06 08:39:25 +08:00
SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dynlist.o"
2005-04-08 07:35:36 +08:00
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNLIST,$MFLAG,[define for Dynamic List overlay])
fi
2007-08-24 10:46:55 +08:00
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 memberof.la"
else
MFLAG=SLAPD_MOD_STATIC
SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS memberof.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_MEMBEROF,$MFLAG,[define for Reverse Group Membership overlay])
fi
if test "$ol_enable_ppolicy" != no ; then
BUILD_PPOLICY=$ol_enable_ppolicy
if test "$ol_enable_ppolicy" = mod ; then
2004-03-21 04:38:48 +08:00
MFLAG=SLAPD_MOD_DYNAMIC
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS ppolicy.la"
else
MFLAG=SLAPD_MOD_STATIC
2005-05-06 08:39:25 +08:00
SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS ppolicy.o"
2004-03-21 04:38:48 +08:00
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_PPOLICY,$MFLAG,[define for Password Policy overlay])
fi
if test "$ol_enable_proxycache" != no ; then
BUILD_PROXYCACHE=$ol_enable_proxycache
if test "$ol_enable_proxycache" = mod ; then
2003-12-06 18:59:27 +08:00
MFLAG=SLAPD_MOD_DYNAMIC
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS pcache.la"
else
MFLAG=SLAPD_MOD_STATIC
2005-05-06 08:39:25 +08:00
SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS pcache.o"
2003-12-06 18:59:27 +08:00
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_PROXYCACHE,$MFLAG,[define for Proxy Cache overlay])
fi
if test "$ol_enable_refint" != no ; then
BUILD_REFINT=$ol_enable_refint
if test "$ol_enable_refint" = mod ; then
MFLAG=SLAPD_MOD_DYNAMIC
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS refint.la"
else
MFLAG=SLAPD_MOD_STATIC
2005-05-06 08:39:25 +08:00
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
2020-02-29 04:00:14 +08:00
AC_DEFINE_UNQUOTED(SLAPD_OVER_RETCODE,$MFLAG,[define for Return Code overlay])
fi
2004-04-08 10:48:38 +08:00
if test "$ol_enable_rwm" != no ; then
BUILD_RWM=$ol_enable_rwm
if test "$ol_enable_rwm" = mod ; then
MFLAG=SLAPD_MOD_DYNAMIC
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
2009-07-13 22:27:04 +08:00
if test "$ol_enable_sssvlv" != no ; then
BUILD_SSSVLV=$ol_enable_sssvlv
if test "$ol_enable_sssvlv" = mod ; then
MFLAG=SLAPD_MOD_DYNAMIC
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS sssvlv.la"
else
MFLAG=SLAPD_MOD_STATIC
SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS sssvlv.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_SSSVLV,$MFLAG,[define for ServerSideSort/VLV 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
2005-05-06 08:39:25 +08:00
SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS syncprov.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_SYNCPROV,$MFLAG,[define for Syncrepl Provider overlay])
fi
2005-03-10 12:35:57 +08:00
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
2005-05-06 08:39:25 +08:00
SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS translucent.o"
2005-03-10 12:35:57 +08:00
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
MFLAG=SLAPD_MOD_DYNAMIC
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS unique.la"
else
MFLAG=SLAPD_MOD_STATIC
2005-05-06 08:39:25 +08:00
SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS unique.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_UNIQUE,$MFLAG,[define for Attribute Uniqueness overlay])
fi
2005-08-24 17:05:13 +08:00
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
2017-03-09 06:59:57 +08:00
if test "$ol_enable_balancer" != no \
-a "$ol_with_threads" != no \
-a "$have_libevent" = yes ; then
if test "$ol_enable_balancer" = mod; then
BALANCER_INCLUDE=Makefile.module
BUILD_BALANCER=mod
else
BALANCER_INCLUDE=Makefile.server
BUILD_BALANCER=yes
fi
2017-03-09 06:59:57 +08:00
fi
if test "$ol_enable_slapi" != no ; then
AC_DEFINE(ENABLE_SLAPI,1,[define to enable slapi library])
BUILD_SLAPI=yes
SLAPD_SLAPI_DEPEND=libslapi.a
fi
1998-10-25 09:41:42 +08:00
dnl ----------------------------------------------------------------
2001-12-07 12:03:25 +08:00
dnl
dnl For Windows build, we don't want to include -dlopen flags.
dnl They hurt more than they help.
dnl
2009-01-21 07:15:59 +08:00
if test "$ac_cv_mingw32" = yes -o $ol_cv_msvc = yes ; then
2001-12-08 12:29:34 +08:00
PLAT=NT
SLAPD_MODULES_LDFLAGS=
else
2001-12-08 12:29:34 +08:00
PLAT=UNIX
fi
AC_SUBST(LIBSRCS)
AC_SUBST(PLAT)
2004-06-19 18:00:25 +08:00
AC_SUBST(WITH_SASL)
AC_SUBST(WITH_TLS)
AC_SUBST(WITH_MODULES_ENABLED)
2005-08-28 00:27:12 +08:00
AC_SUBST(WITH_ACI_ENABLED)
AC_SUBST(BUILD_THREAD)
2001-12-07 12:03:25 +08:00
AC_SUBST(BUILD_LIBS_DYNAMIC)
1998-10-25 09:41:42 +08:00
AC_SUBST(BUILD_SLAPD)
2004-03-19 02:59:46 +08:00
dnl slapi
AC_SUBST(BUILD_SLAPI)
AC_SUBST(SLAPD_SLAPI_DEPEND)
2004-03-19 02:59:46 +08:00
dnl backends
AC_SUBST(BUILD_DNSSRV)
AC_SUBST(BUILD_LDAP)
AC_SUBST(BUILD_MDB)
AC_SUBST(BUILD_META)
AC_SUBST(BUILD_ASYNCMETA)
2008-08-27 05:48:17 +08:00
AC_SUBST(BUILD_NDB)
AC_SUBST(BUILD_NULL)
1998-10-25 09:41:42 +08:00
AC_SUBST(BUILD_PASSWD)
AC_SUBST(BUILD_RELAY)
AC_SUBST(BUILD_PERL)
1998-10-25 09:41:42 +08:00
AC_SUBST(BUILD_SHELL)
AC_SUBST(BUILD_SOCK)
AC_SUBST(BUILD_SQL)
2015-04-27 09:27:58 +08:00
AC_SUBST(BUILD_WT)
2004-03-19 02:59:46 +08:00
dnl overlays
2005-06-10 19:48:16 +08:00
AC_SUBST(BUILD_ACCESSLOG)
2006-02-27 19:20:08 +08:00
AC_SUBST(BUILD_AUDITLOG)
AC_SUBST(BUILD_AUTOCA)
AC_SUBST(BUILD_COLLECT)
2006-04-29 18:09:31 +08:00
AC_SUBST(BUILD_CONSTRAINT)
2006-01-07 01:46:52 +08:00
AC_SUBST(BUILD_DDS)
2004-03-19 02:59:46 +08:00
AC_SUBST(BUILD_DENYOP)
2009-09-30 07:53:43 +08:00
AC_SUBST(BUILD_DEREF)
2003-12-06 18:59:27 +08:00
AC_SUBST(BUILD_DYNGROUP)
2005-04-08 07:35:36 +08:00
AC_SUBST(BUILD_DYNLIST)
2004-04-15 01:48:26 +08:00
AC_SUBST(BUILD_LASTMOD)
2007-09-15 06:04:50 +08:00
AC_SUBST(BUILD_MEMBEROF)
2004-03-21 04:38:48 +08:00
AC_SUBST(BUILD_PPOLICY)
2003-12-06 18:59:27 +08:00
AC_SUBST(BUILD_PROXYCACHE)
AC_SUBST(BUILD_REFINT)
AC_SUBST(BUILD_RETCODE)
AC_SUBST(BUILD_RWM)
AC_SUBST(BUILD_SEQMOD)
2009-07-13 22:27:04 +08:00
AC_SUBST(BUILD_SSSVLV)
AC_SUBST(BUILD_SYNCPROV)
2005-03-10 12:35:57 +08:00
AC_SUBST(BUILD_TRANSLUCENT)
AC_SUBST(BUILD_UNIQUE)
2005-08-24 17:05:13 +08:00
AC_SUBST(BUILD_VALSORT)
2017-03-09 06:59:57 +08:00
AC_SUBST(BUILD_BALANCER)
1998-10-25 09:41:42 +08:00
AC_SUBST(LDAP_LIBS)
AC_SUBST(CLIENT_LIBS)
1998-10-25 09:41:42 +08:00
AC_SUBST(SLAPD_LIBS)
2017-03-09 06:59:57 +08:00
AC_SUBST(BALANCER_LIBS)
2008-08-27 05:48:17 +08:00
AC_SUBST(SLAPD_NDB_LIBS)
AC_SUBST(SLAPD_NDB_INCS)
1998-10-25 09:41:42 +08:00
AC_SUBST(LTHREAD_LIBS)
AC_SUBST(LUTIL_LIBS)
2017-03-09 06:59:57 +08:00
AC_SUBST(LEVENT_LIBS)
1999-09-23 01:45:59 +08:00
AC_SUBST(WRAP_LIBS)
1998-10-25 09:41:42 +08:00
AC_SUBST(SLAPD_MODULES_CPPFLAGS)
AC_SUBST(SLAPD_MODULES_LDFLAGS)
AC_SUBST(SLAPD_NO_STATIC)
AC_SUBST(SLAPD_STATIC_BACKENDS)
AC_SUBST(SLAPD_DYNAMIC_BACKENDS)
AC_SUBST(SLAPD_STATIC_OVERLAYS)
2003-12-06 18:59:27 +08:00
AC_SUBST(SLAPD_DYNAMIC_OVERLAYS)
AC_SUBST(PERL_CPPFLAGS)
AC_SUBST(SLAPD_PERL_LDFLAGS)
AC_SUBST(MOD_PERL_LDFLAGS)
AC_SUBST(KRB4_LIBS)
AC_SUBST(KRB5_LIBS)
AC_SUBST(SASL_LIBS)
AC_SUBST(TLS_LIBS)
2018-06-14 23:12:59 +08:00
AC_SUBST(WITH_TLS_TYPE)
AC_SUBST(MODULES_LIBS)
AC_SUBST(SLAPI_LIBS)
2002-12-08 03:19:26 +08:00
AC_SUBST(LIBSLAPI)
AC_SUBST(AUTH_LIBS)
1998-10-25 09:41:42 +08:00
AC_SUBST(SLAPD_SLP_LIBS)
AC_SUBST(SLAPD_GMP_LIBS)
AC_SUBST(SLAPD_SQL_LDFLAGS)
AC_SUBST(SLAPD_SQL_LIBS)
AC_SUBST(SLAPD_SQL_INCLUDES)
2015-04-27 09:27:58 +08:00
AC_SUBST(WT_INCS)
AC_SUBST(WT_LIBS)
AC_SUBST(BALANCER_INCLUDE)
2002-02-11 08:28:17 +08:00
dnl ----------------------------------------------------------------
dnl final help output
AC_ARG_WITH(xxinstall,[
See INSTALL file for further details.])
1998-10-25 09:41:42 +08:00
dnl ----------------------------------------------------------------
dnl final output
dnl
2005-08-13 07:05:32 +08:00
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/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]
2005-08-13 07:05:32 +08:00
[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-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/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-mdb/Makefile:build/top.mk:servers/slapd/back-mdb/Makefile.in:build/mod.mk]
2005-08-13 07:05:32 +08:00
[servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk]
[servers/slapd/back-asyncmeta/Makefile:build/top.mk:servers/slapd/back-asyncmeta/Makefile.in:build/mod.mk]
2005-08-13 07:05:32 +08:00
[servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk]
2008-08-27 05:48:17 +08:00
[servers/slapd/back-ndb/Makefile:build/top.mk:servers/slapd/back-ndb/Makefile.in:build/mod.mk]
2005-08-13 07:05:32 +08:00
[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]
2005-08-13 07:05:32 +08:00
[servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk]
2015-04-27 09:27:58 +08:00
[servers/slapd/back-wt/Makefile:build/top.mk:servers/slapd/back-wt/Makefile.in:build/mod.mk]
2005-08-13 07:05:32 +08:00
[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/lloadd/Makefile:build/top.mk:servers/lloadd/Makefile.in]
[servers/lloadd/Makefile.server:servers/lloadd/Makefile_server.in:build/srv.mk]
[servers/lloadd/Makefile.module:servers/lloadd/Makefile_module.in:build/mod.mk]
2005-08-13 07:05:32 +08:00
[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])
2005-08-12 12:46:26 +08:00
AC_CONFIG_COMMANDS([default],[[
2003-10-21 11:08:29 +08:00
chmod +x tests/run
date > stamp-h
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/>.
*
2020-01-10 00:50:21 +08:00
* Copyright 1998-2020 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
2005-08-12 12:46:26 +08:00
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
2005-11-25 20:43:43 +08:00
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/>.
*
2020-01-10 00:50:21 +08:00
* Copyright 1998-2020 The OpenLDAP Foundation.
2005-11-25 20:43:43 +08:00
* 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;
2005-11-25 20:43:43 +08:00
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
2005-11-25 20:43:43 +08:00
]],[[
STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS"
STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS"
]])
2005-08-12 12:46:26 +08:00
AC_OUTPUT