1999-08-30 16:02:39 +08:00
dnl $OpenLDAP$
2003-11-26 12:17:25 +08:00
dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
1999-09-10 04:35:43 +08:00
dnl
2010-04-14 06:17:29 +08:00
dnl Copyright 1998-2010 The OpenLDAP Foundation.
2003-11-26 10:58:56 +08:00
dnl All rights reserved.
dnl
2001-05-29 11:29:53 +08:00
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>.
1999-09-10 04:35:43 +08:00
dnl
1999-09-13 01:13:15 +08:00
dnl ----------------------------------------------------------------
2003-04-08 06:23:24 +08:00
dnl Disable config.cache!
define([AC_CACHE_LOAD], )dnl
define([AC_CACHE_SAVE], )dnl
2005-08-28 08:23:35 +08:00
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
2010-04-14 06:17:29 +08:00
AC_COPYRIGHT([[Copyright 1998-2010 The OpenLDAP Foundation. All rights reserved.
2005-08-13 07:05:32 +08:00
Restrictions apply, see COPYRIGHT and LICENSE files.]])
2005-08-13 10:17:12 +08:00
AC_REVISION([$OpenLDAP$])
2005-08-13 07:05:32 +08:00
AC_INIT([OpenLDAP],,[http://www.openldap.org/its/])
2006-01-10 06:36:29 +08:00
m4_define([AC_PACKAGE_BUGREPORT],[<http://www.openldap.org/its/>])
2005-08-12 12:30:27 +08:00
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 ================================================================
2003-04-08 06:23:24 +08:00
AC_CONFIG_AUX_DIR(build)dnl
1999-05-28 08:35:09 +08:00
2000-09-15 05:01:22 +08:00
eval `$ac_aux_dir/version.sh`
if test -z "$OL_STRING"; then
1999-05-28 08:35:09 +08:00
AC_MSG_ERROR([could not determine version])
fi
2005-09-18 06:22:15 +08:00
if test -f "$ac_aux_dir/shtool" && test ! -d $ac_aux_dir/shtool; then
2003-04-08 06:23:24 +08:00
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
2007-05-19 02:42:59 +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
2002-11-27 02:11:05 +08:00
OPENLDAP_CVS=""
if test -d $ac_aux_dir/CVS; then
OPENLDAP_CVS="(from CVS sources) "
fi
echo "Configuring ${TB}${OL_STRING}${TN} ${OPENLDAP_CVS}..."
1999-09-13 01:13:15 +08:00
1999-06-12 02:24:18 +08:00
dnl Determine host platform
dnl we try not to use this for much
2005-08-12 12:30:27 +08:00
AC_CANONICAL_TARGET([])
1999-06-12 02:24:18 +08:00
2003-04-08 06:23:24 +08:00
AM_INIT_AUTOMAKE([$OL_PACKAGE],[$OL_VERSION], [no defines])dnl
AC_SUBST(PACKAGE)dnl
AC_SUBST(VERSION)dnl
AC_DEFINE_UNQUOTED(OPENLDAP_PACKAGE,"$PACKAGE",Package)
AC_DEFINE_UNQUOTED(OPENLDAP_VERSION,"$VERSION",Version)
2003-04-06 09:44:08 +08:00
2003-04-08 06:23:24 +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)
2000-09-15 11:27:20 +08:00
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
2000-09-15 11:27:20 +08:00
2002-06-13 11:59:10 +08:00
OPENLDAP_RELEASE_DATE="$OL_RELEASE_DATE"
AC_SUBST(OPENLDAP_RELEASE_DATE)dnl
2005-08-12 12:30:27 +08:00
dnl We use autoconf features new to 2.59. Later versions like won't work.
dnl aclocal.m4 should be built using aclocal from automake 1.5
dnl libtool 1.5 should be installed.
AC_PREREQ(2.59)dnl Required Autoconf version
1998-11-22 12:22:28 +08:00
2005-08-12 14:17:24 +08:00
AH_TOP([
/* begin of portable.h.pre */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
2010-04-14 06:17:29 +08:00
* Copyright 1998-2010 The OpenLDAP Foundation
2005-08-12 14:17:24 +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>.
*/
#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"
1998-11-22 12:22:28 +08:00
2005-08-12 14:17:24 +08:00
#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])
1998-11-22 12:22:28 +08:00
1999-09-21 04:55:54 +08:00
dnl ================================================================
1998-10-25 09:41:42 +08:00
dnl Start Args
AC_MSG_CHECKING(configure arguments)
AC_PREFIX_DEFAULT(/usr/local)
1998-11-22 12:22:28 +08:00
top_builddir=`pwd`
AC_SUBST(top_builddir)dnl
1999-09-21 04:55:54 +08:00
dnl ----------------------------------------------------------------
dnl --with-subdir
1999-08-13 10:04:32 +08:00
ldap_subdir="/openldap"
1998-11-30 03:48:28 +08:00
1999-08-13 10:04:32 +08:00
AC_ARG_WITH(subdir,
2001-01-22 15:51:24 +08:00
[ --with-subdir=DIR change default subdirectory used for installs],
1999-08-13 10:04:32 +08:00
[case "$withval" in
no) ldap_subdir=""
;;
yes)
;;
/*|\\*)
1998-11-30 04:03:57 +08:00
ldap_subdir="$withval"
1999-08-13 10:04:32 +08:00
;;
*)
ldap_subdir="/$withval"
;;
esac
1998-11-30 04:03:57 +08:00
])dnl
1998-11-30 07:50:01 +08:00
AC_SUBST(ldap_subdir)dnl
1999-09-21 04:55:54 +08:00
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,[ --enable-debug enable debugging], yes, [no yes traditional])dnl
2003-04-08 06:23:24 +08:00
OL_ARG_ENABLE(dynamic,[ --enable-dynamic enable linking built binaries with dynamic libs], no)dnl
OL_ARG_ENABLE(syslog,[ --enable-syslog enable syslog support], auto)dnl
OL_ARG_ENABLE(proctitle,[ --enable-proctitle enable proctitle support], yes)dnl
dnl OL_ARG_ENABLE(referrals,[ --enable-referrals enable LDAPv2+ Referrals (experimental)], no)dnl
2003-01-03 14:10:15 +08:00
ol_enable_referrals=${ol_enable_referrals-no}
2003-04-08 06:23:24 +08:00
OL_ARG_ENABLE(ipv6,[ --enable-ipv6 enable IPv6 support], auto)dnl
OL_ARG_ENABLE(local,[ --enable-local enable AF_LOCAL (AF_UNIX) socket support], auto)dnl
1998-10-25 09:41:42 +08:00
1999-09-21 04:55:54 +08:00
dnl ----------------------------------------------------------------
1998-10-25 09:41:42 +08:00
dnl General "with" options
2003-04-08 06:23:24 +08:00
OL_ARG_WITH(cyrus_sasl,[ --with-cyrus-sasl with Cyrus SASL support],
auto, [auto yes no] )
OL_ARG_WITH(fetch,[ --with-fetch with fetch(3) URL support],
auto, [auto yes no] )
OL_ARG_WITH(threads,[ --with-threads with threads],
auto, [auto nt posix mach pth lwp yes no manual] )
2009-07-03 07:10:23 +08:00
OL_ARG_WITH(tls,[ --with-tls with TLS/SSL support auto|openssl|gnutls|moznss],
auto, [auto openssl gnutls moznss yes no] )
2006-02-10 16:21:02 +08:00
OL_ARG_WITH(yielding_select,
[ --with-yielding-select with implicitly yielding select],
2003-04-08 06:23:24 +08:00
auto, [auto yes no manual] )
2006-02-10 16:21:02 +08:00
OL_ARG_WITH(mp,
[ --with-mp with multiple precision statistics auto|longlong|long|bignum|gmp],
auto, [auto longlong long bignum gmp yes no])
2006-11-07 08:38:12 +08:00
OL_ARG_WITH(odbc,
2008-07-13 00:38:19 +08:00
[ --with-odbc with specific ODBC support iodbc|unixodbc|odbc32|auto],
auto, [auto iodbc unixodbc odbc32] )
1998-10-25 09:41:42 +08:00
1999-09-21 04:55:54 +08:00
dnl ----------------------------------------------------------------
1998-10-25 09:41:42 +08:00
dnl Server options
2003-04-08 06:23:24 +08:00
dnl ----------------------------------------------------------------
1999-09-21 04:55:54 +08:00
dnl ----------------------------------------------------------------
1998-10-25 09:41:42 +08:00
dnl SLAPD OPTIONS
2005-08-25 13:21:16 +08:00
AC_ARG_ENABLE(xxslapdoptions,[
2003-04-08 06:23:24 +08:00
SLAPD (Standalone LDAP Daemon) Options:])
OL_ARG_ENABLE(slapd,[ --enable-slapd enable building slapd], yes)dnl
2006-01-07 01:12:35 +08:00
OL_ARG_ENABLE(dynacl,[ --enable-dynacl enable run-time loadable ACL support (experimental)], no)dnl
OL_ARG_ENABLE(aci,[ --enable-aci enable per-object ACIs (experimental)], no, [no yes mod])dnl
2003-04-08 06:23:24 +08:00
OL_ARG_ENABLE(cleartext,[ --enable-cleartext enable cleartext passwords], yes)dnl
OL_ARG_ENABLE(crypt,[ --enable-crypt enable crypt(3) passwords], no)dnl
OL_ARG_ENABLE(lmpasswd,[ --enable-lmpasswd enable LAN Manager passwords], no)dnl
OL_ARG_ENABLE(spasswd,[ --enable-spasswd enable (Cyrus) SASL password verification], no)dnl
OL_ARG_ENABLE(modules,[ --enable-modules enable dynamic module support], no)dnl
2005-08-08 02:08:02 +08:00
OL_ARG_ENABLE(rewrite,[ --enable-rewrite enable DN rewriting in back-ldap and rwm overlay], auto)dnl
2003-04-08 06:23:24 +08:00
OL_ARG_ENABLE(rlookups,[ --enable-rlookups enable reverse lookups of client hostnames], no)dnl
2003-05-31 10:54:05 +08:00
OL_ARG_ENABLE(slapi,[ --enable-slapi enable SLAPI support (experimental)], no)dnl
2003-04-08 06:23:24 +08:00
OL_ARG_ENABLE(slp,[ --enable-slp enable SLPv2 support], no)dnl
OL_ARG_ENABLE(wrappers,[ --enable-wrappers enable tcp wrapper support], no)dnl
2004-04-16 06:46:42 +08:00
dnl ----------------------------------------------------------------
dnl SLAPD Backend Options
2005-08-26 04:37:24 +08:00
Backends="bdb \
dnssrv \
hdb \
ldap \
meta \
monitor \
2008-08-27 05:48:17 +08:00
ndb \
2005-08-26 04:37:24 +08:00
null \
passwd \
perl \
relay \
shell \
2007-09-07 20:02:43 +08:00
sock \
2005-08-26 04:37:24 +08:00
sql"
2004-04-08 13:56:23 +08:00
2005-08-25 13:21:16 +08:00
AC_ARG_ENABLE(xxslapbackends,[
2004-04-16 06:46:42 +08:00
SLAPD Backend Options:])
2005-08-25 17:48:28 +08:00
OL_ARG_ENABLE(backends,[ --enable-backends enable all available backends],
2005-08-08 02:08:02 +08:00
--, [no yes mod])dnl
2005-08-25 17:48:28 +08:00
OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend],
2008-09-06 04:59:50 +08:00
no, [no yes mod], ol_enable_backends)dnl
2005-08-25 17:48:28 +08:00
OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend],
yes, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend],
yes, [no yes mod], ol_enable_backends)dnl
2008-08-27 05:48:17 +08:00
OL_ARG_ENABLE(ndb,[ --enable-ndb enable MySQL NDB Cluster backend],
no, [no yes mod], ol_enable_backends)dnl
2005-08-25 17:48:28 +08:00
OL_ARG_ENABLE(null,[ --enable-null enable null backend],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(perl,[ --enable-perl enable perl backend],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(relay,[ --enable-relay enable relay backend],
yes, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend],
no, [no yes mod], ol_enable_backends)dnl
2007-09-07 20:02:43 +08:00
OL_ARG_ENABLE(sock,[ --enable-sock enable sock backend],
no, [no yes mod], ol_enable_backends)dnl
2005-08-25 17:48:28 +08:00
OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend],
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 \
2008-09-11 08:29:56 +08:00
collect \
2006-04-29 18:09:31 +08:00
constraint \
2006-01-07 01:46:52 +08:00
dds \
2008-10-23 06:19:49 +08:00
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 \
2006-02-13 10:24:26 +08:00
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"
2004-04-08 13:56:23 +08:00
2005-08-25 13:21:16 +08:00
AC_ARG_ENABLE(xxslapoverlays,[
2003-12-06 18:59:27 +08:00
SLAPD Overlay Options:])
2004-04-16 06:46:42 +08:00
2005-08-25 17:48:28 +08:00
OL_ARG_ENABLE(overlays,[ --enable-overlays enable all available overlays],
2005-08-08 02:08:02 +08:00
--, [no yes mod])dnl
2005-08-25 17:48:28 +08:00
OL_ARG_ENABLE(accesslog,[ --enable-accesslog In-Directory Access Logging overlay],
no, [no yes mod], ol_enable_overlays)
2006-02-27 19:20:08 +08:00
OL_ARG_ENABLE(auditlog,[ --enable-auditlog Audit Logging overlay],
no, [no yes mod], ol_enable_overlays)
2008-09-11 08:29:56 +08:00
OL_ARG_ENABLE(collect,[ --enable-collect Collect overlay],
no, [no yes mod], ol_enable_overlays)
2006-04-29 18:09:31 +08:00
OL_ARG_ENABLE(constraint,[ --enable-constraint Attribute Constraint overlay],
no, [no yes mod], ol_enable_overlays)
2006-01-07 01:46:52 +08:00
OL_ARG_ENABLE(dds,[ --enable-dds Dynamic Directory Services overlay],
no, [no yes mod], ol_enable_overlays)
2008-10-23 06:19:49 +08:00
OL_ARG_ENABLE(deref,[ --enable-deref Dereference overlay],
no, [no yes mod], ol_enable_overlays)
2005-08-25 17:48:28 +08:00
OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(dynlist,[ --enable-dynlist Dynamic List overlay],
no, [no yes mod], ol_enable_overlays)
2007-08-24 10:46:55 +08:00
OL_ARG_ENABLE(memberof,[ --enable-memberof Reverse Group Membership overlay],
no, [no yes mod], ol_enable_overlays)
2005-08-25 17:48:28 +08:00
OL_ARG_ENABLE(ppolicy,[ --enable-ppolicy Password Policy overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(proxycache,[ --enable-proxycache Proxy Cache overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(refint,[ --enable-refint Referential Integrity overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(retcode,[ --enable-retcode Return Code testing overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay],
no, [no yes mod], ol_enable_overlays)
2006-02-13 10:24:26 +08:00
OL_ARG_ENABLE(seqmod,[ --enable-seqmod Sequential Modify overlay],
2009-07-13 23:45:25 +08:00
no, [no yes mod], ol_enable_overlays)
2009-07-13 22:27:04 +08:00
OL_ARG_ENABLE(sssvlv,[ --enable-sssvlv ServerSideSort/VLV overlay],
2009-07-13 23:45:25 +08:00
no, [no yes mod], ol_enable_overlays)
2005-08-25 17:48:28 +08:00
OL_ARG_ENABLE(syncprov,[ --enable-syncprov Syncrepl Provider overlay],
yes, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(translucent,[ --enable-translucent Translucent Proxy overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(unique,[ --enable-unique Attribute Uniqueness overlay],
no, [no yes mod], ol_enable_overlays)
2005-08-26 04:37:24 +08:00
OL_ARG_ENABLE(valsort,[ --enable-valsort Value Sorting overlay],
2005-08-26 04:09:26 +08:00
no, [no yes mod], ol_enable_overlays)
2003-12-06 18:59:27 +08:00
1999-09-21 04:55:54 +08:00
dnl ----------------------------------------------------------------
2005-08-25 13:21:16 +08:00
AC_ARG_ENABLE(xxliboptions,[
2003-04-08 06:23:24 +08:00
Library Generation & Linking Options])
1999-07-20 12:32:42 +08:00
AC_ENABLE_STATIC
AC_ENABLE_SHARED
1998-11-22 12:22:28 +08:00
1999-09-21 04:55:54 +08:00
dnl ----------------------------------------------------------------
1998-11-11 03:48:52 +08:00
# validate options
1998-10-25 09:41:42 +08:00
if test $ol_enable_slapd = no ; then
dnl SLAPD was specificallly disabled
2002-12-08 01:19:29 +08:00
if test $ol_enable_slapi = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-slapi argument])
fi
2005-08-08 02:08:02 +08:00
case "$ol_enable_backends" in yes | mod)
2004-04-17 18:33:51 +08:00
AC_MSG_WARN([slapd disabled, ignoring --enable-backends argument])
2005-08-08 02:08:02 +08:00
esac
2004-04-08 13:56:23 +08:00
for i in $Backends; 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"
2004-04-08 13:56:23 +08:00
fi
done
1999-04-14 09:33:01 +08:00
if test $ol_enable_modules = yes ; then
1999-06-04 06:51:29 +08:00
AC_MSG_WARN([slapd disabled, ignoring --enable-modules argument])
1999-04-14 09:33:01 +08:00
fi
1998-10-25 09:41:42 +08:00
if test $ol_enable_wrappers = yes ; then
1999-06-04 06:51:29 +08:00
AC_MSG_WARN([slapd disabled, ignoring --enable-wrappers argument])
1998-10-25 09:41:42 +08:00
fi
if test $ol_enable_rlookups = yes ; then
1999-06-04 06:51:29 +08:00
AC_MSG_WARN([slapd disabled, ignoring --enable-rlookups argument])
1998-10-25 09:41:42 +08:00
fi
2006-01-07 02:01:12 +08:00
if test $ol_enable_dynacl = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-dynacl argument])
fi
if test $ol_enable_aci != no ; then
1999-08-21 06:42:04 +08:00
AC_MSG_WARN([slapd disabled, ignoring --enable-aci argument])
fi
2001-05-12 08:51:28 +08:00
if test $ol_enable_rewrite = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument])
fi
2004-03-19 02:59:46 +08:00
dnl overlays
2005-08-08 02:08:02 +08:00
case "$ol_enable_overlays" in yes | mod)
2004-04-17 18:33:51 +08:00
AC_MSG_WARN([slapd disabled, ignoring --enable-overlays argument])
2005-08-08 02:08:02 +08:00
esac
2004-04-08 13:56:23 +08:00
for i in $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"
2004-04-08 13:56:23 +08:00
fi
done
1998-10-25 09:41:42 +08:00
# force settings to no
2002-12-08 01:19:29 +08:00
ol_enable_slapi=no
1999-04-14 09:33:01 +08:00
2005-08-08 02:08:02 +08:00
ol_enable_backends=
ol_enable_overlays=
1999-04-14 09:33:01 +08:00
ol_enable_modules=no
1998-10-25 09:41:42 +08:00
ol_enable_rlookups=no
2006-01-07 01:12:35 +08:00
ol_enable_dynacl=no
1999-08-21 06:42:04 +08:00
ol_enable_aci=no
1999-04-14 09:33:01 +08:00
ol_enable_wrappers=no
2001-05-12 08:51:28 +08:00
ol_enable_rewrite=no
2006-04-08 12:15:37 +08:00
elif test $ol_enable_modules != yes &&
test $ol_enable_bdb = no &&
test $ol_enable_dnssrv = no &&
test $ol_enable_hdb = no &&
test $ol_enable_ldap = no &&
test $ol_enable_meta = no &&
test $ol_enable_monitor = no &&
2008-08-27 05:48:17 +08:00
test $ol_enable_ndb = no &&
2006-04-08 12:15:37 +08:00
test $ol_enable_null = no &&
test $ol_enable_passwd = no &&
test $ol_enable_perl = no &&
test $ol_enable_relay = no &&
test $ol_enable_shell = no &&
2007-09-07 20:02:43 +08:00
test $ol_enable_sock = no &&
2006-04-08 12:15:37 +08:00
test $ol_enable_sql = no ; then
dnl no slapd backend
if test $ol_enable_slapd = yes ; then
AC_MSG_ERROR([slapd requires a backend])
else
AC_MSG_WARN([skipping slapd, no backend specified])
ol_enable_slapd=no
2001-10-04 12:54:12 +08:00
fi
1998-10-25 09:41:42 +08:00
fi
2005-09-18 06:22:15 +08:00
if test $ol_enable_meta/$ol_enable_ldap = yes/no ; then
2004-04-07 14:26:02 +08:00
AC_MSG_ERROR([--enable-meta requires --enable-ldap])
fi
2001-01-12 11:21:38 +08:00
if test $ol_enable_lmpasswd = yes ; then
if test $ol_with_tls = no ; then
AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
fi
fi
2000-05-10 12:29:51 +08:00
if test $ol_enable_spasswd = yes ; then
if test $ol_with_cyrus_sasl = no ; then
AC_MSG_ERROR([options require --with-cyrus-sasl])
fi
2000-09-20 05:11:02 +08:00
ol_with_cyrus_sasl=yes
2000-05-10 12:29:51 +08:00
fi
1998-10-25 09:41:42 +08:00
AC_MSG_RESULT(done)
1999-09-21 04:55:54 +08:00
dnl ----------------------------------------------------------------
dnl Initialize vars
1998-10-25 09:41:42 +08:00
LDAP_LIBS=
2006-04-08 12:15:37 +08:00
BDB_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=
LUTIL_LIBS=
SLAPD_LIBS=
BUILD_SLAPD=no
2000-05-11 02:17:38 +08:00
BUILD_THREAD=no
2002-12-08 01:19:29 +08:00
BUILD_SLAPI=no
SLAPD_SLAPI_DEPEND=
2000-09-19 03:02:03 +08:00
BUILD_BDB=no
2000-05-11 02:17:38 +08:00
BUILD_DNSSRV=no
2003-04-23 17:13:24 +08:00
BUILD_HDB=no
1999-05-26 10:35:20 +08:00
BUILD_LDAP=no
2001-05-12 08:51:28 +08:00
BUILD_META=no
2001-07-15 01:34:24 +08:00
BUILD_MONITOR=no
2008-08-30 20:43:58 +08:00
BUILD_NDB=no
2002-04-08 17:43:22 +08:00
BUILD_NULL=no
1998-10-25 09:41:42 +08:00
BUILD_PASSWD=no
1999-01-14 14:33:09 +08:00
BUILD_PERL=no
2004-03-17 09:04:34 +08:00
BUILD_RELAY=no
1998-10-25 09:41:42 +08:00
BUILD_SHELL=no
2007-09-07 20:02:43 +08:00
BUILD_SOCK=no
2000-03-17 02:54:11 +08:00
BUILD_SQL=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
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
2004-04-17 16:45:29 +08:00
BUILD_REFINT=no
2005-06-20 06:43:00 +08:00
BUILD_RETCODE=no
2003-12-10 07:50:10 +08:00
BUILD_RWM=no
2006-02-13 10:24:26 +08:00
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
2004-04-17 16:45:29 +08:00
BUILD_UNIQUE=no
2005-08-24 17:05:13 +08:00
BUILD_VALSORT=no
2003-12-06 18:59:27 +08:00
2005-05-06 06:57:19 +08:00
SLAPD_STATIC_OVERLAYS=
2003-12-06 18:59:27 +08:00
SLAPD_DYNAMIC_OVERLAYS=
1999-04-14 09:33:01 +08:00
SLAPD_MODULES_LDFLAGS=
SLAPD_MODULES_CPPFLAGS=
2005-03-15 07:48:29 +08:00
SLAPD_STATIC_BACKENDS=back-ldif
2001-12-08 12:01:30 +08:00
SLAPD_DYNAMIC_BACKENDS=
1999-01-14 14:33:09 +08:00
SLAPD_PERL_LDFLAGS=
1999-09-23 13:32:10 +08:00
MOD_PERL_LDFLAGS=
PERL_CPPFLAGS=
1999-01-14 14:33:09 +08:00
2000-03-17 02:54:11 +08:00
SLAPD_SQL_LDFLAGS=
SLAPD_SQL_LIBS=
SLAPD_SQL_INCLUDES=
2000-01-09 02:42:11 +08:00
KRB4_LIBS=
KRB5_LIBS=
1999-08-05 10:25:19 +08:00
SASL_LIBS=
1999-02-25 21:07:27 +08:00
TLS_LIBS=
1999-08-07 15:59:41 +08:00
MODULES_LIBS=
2002-12-08 01:19:29 +08:00
SLAPI_LIBS=
2002-12-08 03:19:26 +08:00
LIBSLAPI=
LIBSLAPITOOLS=
2000-05-11 18:10:53 +08:00
AUTH_LIBS=
2005-11-16 14:31:00 +08:00
ICU_LIBS=
1998-10-25 09:41:42 +08:00
2001-01-17 06:18:33 +08:00
SLAPD_SLP_LIBS=
2004-09-12 00:15:53 +08:00
SLAPD_GMP_LIBS=
2001-01-17 06:18:33 +08:00
1999-09-21 04:55:54 +08:00
dnl ================================================================
1998-10-25 09:41:42 +08:00
dnl Checks for programs
1999-07-29 02:12:48 +08:00
AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion])
1999-09-21 04:55:54 +08:00
dnl ----------------------------------------------------------------
1999-07-29 02:12:48 +08:00
dnl
dnl Determine which C translator to use
dnl
1999-06-09 08:25:42 +08:00
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.
1999-06-09 07:32:36 +08:00
dnl
1999-06-09 08:25:42 +08:00
dnl If we find cc_r|xlc_r, force pthreads and assume
1999-06-09 07:32:36 +08:00
dnl pthread_create is in $LIBS (ie: don't bring in
dnl any additional thread libraries)
1999-06-09 08:25:42 +08:00
dnl If we do not find cc_r|xlc_r, disable threads
1999-06-09 07:32:36 +08:00
ol_aix_threads=no
1999-06-12 02:24:18 +08:00
case "$target" in
1999-06-11 01:19:43 +08:00
*-*-aix*) dnl all AIX is not a good idea.
1999-07-13 11:19:55 +08:00
if test -z "$CC" ; then
1999-06-11 01:19:43 +08:00
case "$ol_with_threads" in
1999-06-09 07:32:36 +08:00
auto | yes | posix) ol_aix_threads=yes ;;
1999-06-11 01:19:43 +08:00
esac
fi
;;
esac
1999-06-09 07:32:36 +08:00
1999-06-17 11:26:42 +08:00
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
2005-09-18 06:22:15 +08:00
case ${CC} in cc_r | xlc_r)
1999-06-09 07:32:36 +08:00
ol_with_threads=posix
ol_cv_pthread_create=yes
2005-09-18 06:22:15 +08:00
;;
esac
1999-06-09 07:32:36 +08:00
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
1999-10-28 15:23:03 +08:00
AC_LIBTOOL_WIN32_DLL
1999-08-07 15:59:41 +08:00
AC_LIBTOOL_DLOPEN
1999-07-20 12:32:42 +08:00
AC_PROG_LIBTOOL
1998-10-25 09:41:42 +08:00
1999-09-21 04:55:54 +08:00
dnl ----------------------------------------------------------------
dnl Perl
1999-04-14 09:33:01 +08:00
ol_link_perl=no
if test $ol_enable_perl != no ; then
1999-01-14 14:33:09 +08:00
AC_PATH_PROG(PERLBIN, perl, /usr/bin/perl)
if test "no$PERLBIN" = "no" ; then
1999-04-14 09:33:01 +08:00
if test $ol_enable_perl = yes ; then
AC_MSG_ERROR([could not locate perl])
fi
1999-01-14 14:33:09 +08:00
1999-04-14 09:33:01 +08:00
else
1999-09-23 13:32:10 +08:00
PERL_CPPFLAGS="`$PERLBIN -MExtUtils::Embed -e ccopts`"
2003-12-02 10:20:09 +08:00
PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e 's/ -lc / /' -e 's/ -lc$//'`"
2003-10-22 04:56:36 +08:00
2004-04-08 13:56:23 +08:00
if test x"$ol_enable_perl" = "xyes" ; then
2003-10-22 04:56:36 +08:00
SLAPD_PERL_LDFLAGS="$PERL_LDFLAGS"
1999-09-23 13:32:10 +08:00
else
2003-10-22 04:56:36 +08:00
MOD_PERL_LDFLAGS="$PERL_LDFLAGS"
1999-09-23 13:32:10 +08:00
fi
1999-04-14 09:33:01 +08:00
dnl should check perl version
ol_link_perl=yes
fi
1999-01-14 14:33:09 +08:00
fi
1999-02-01 10:06:36 +08:00
AC_PROG_CPP
2009-01-17 09:50:21 +08:00
OL_MSVC
1998-11-05 10:50:28 +08:00
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
1999-09-21 04:55:54 +08:00
dnl ----------------------------------------------------------------
2005-08-12 14:17:24 +08:00
dnl Checks for file extensions
2003-04-08 06:23:24 +08:00
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
1999-09-21 04:55:54 +08:00
dnl ----------------------------------------------------------------
1999-07-24 10:12:42 +08:00
dnl BeOS requires -lbe -lroot -lnet
AC_CHECK_LIB(be, be_app, [LIBS="$LIBS -lbe -lroot -lnet"], :, [-lroot -lnet])
1999-09-21 04:55:54 +08:00
dnl ----------------------------------------------------------------
1998-11-22 12:22:28 +08:00
dnl OpenLDAP requires STDC features
2005-08-12 12:30:27 +08:00
AC_PROG_CC
if test "X${ac_cv_prog_cc_stdc}" = "Xno" ; then
1999-06-19 04:58:36 +08:00
AC_MSG_ERROR([OpenLDAP requires compiler to support STDC constructs.])
1998-11-22 12:22:28 +08:00
fi
1999-09-21 04:55:54 +08:00
dnl ----------------------------------------------------------------
1999-06-08 07:15:36 +08:00
dnl Check cc depend flags
1999-06-08 09:33:36 +08:00
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
1999-06-08 07:15:36 +08:00
2000-05-11 18:10:53 +08:00
dnl ----------------------------------------------------------------
dnl Check for AIX security library
2003-04-08 06:23:24 +08:00
AC_CHECK_LIB(s, afopen, [
2000-05-11 18:10:53 +08:00
AUTH_LIBS=-ls
AC_DEFINE(HAVE_AIX_SECURITY,1,[define if you have AIX security lib])
])
2002-09-07 22:09:09 +08:00
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
2000-06-10 07:09:51 +08:00
1999-09-21 04:55:54 +08:00
dnl ----------------------------------------------------------------
1999-08-08 06:44:26 +08:00
dnl Check for module support
ol_link_modules=no
2004-12-01 07:25:26 +08:00
WITH_MODULES_ENABLED=no
1999-08-08 06:44:26 +08:00
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
1999-10-28 15:23:03 +08:00
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])
1999-10-28 15:23:03 +08:00
])
1999-08-08 06:44:26 +08:00
if test "$ac_cv_lib_ltdl_lt_dlinit" = no ; then
AC_MSG_ERROR([could not locate libtool -lltdl])
fi
ol_link_modules=yes
2004-12-01 07:25:26 +08:00
WITH_MODULES_ENABLED=yes
2004-04-07 14:08:46 +08:00
1999-08-08 06:44:26 +08:00
else
2004-04-08 13:56:23 +08:00
for i in $Backends; do
eval "ol_tmp=\$ol_enable_$i"
if test $ol_tmp = mod ; then
AC_MSG_WARN([building static $i backend])
2004-04-08 14:23:09 +08:00
eval "ol_enable_$i=yes"
2004-04-08 13:56:23 +08:00
fi
done
for i in $Overlays; do
eval "ol_tmp=\$ol_enable_$i"
if test $ol_tmp = mod ; then
AC_MSG_WARN([building static $i overlay])
2004-04-08 14:23:09 +08:00
eval "ol_enable_$i=yes"
2004-04-08 13:56:23 +08:00
fi
done
1999-08-08 06:44:26 +08:00
fi
1999-07-30 02:38:21 +08:00
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
1999-07-30 02:38:21 +08:00
2006-01-10 06:06:06 +08:00
AC_CHECK_HEADERS( \
1999-07-30 02:38:21 +08:00
arpa/inet.h \
2006-01-10 06:06:06 +08:00
arpa/nameser.h \
1999-07-30 02:38:21 +08:00
assert.h \
2006-01-10 06:06:06 +08:00
bits/types.h \
1999-10-28 15:23:03 +08:00
conio.h \
1999-07-30 02:38:21 +08:00
crypt.h \
1999-10-28 15:23:03 +08:00
direct.h \
1999-07-30 02:38:21 +08:00
errno.h \
fcntl.h \
filio.h \
getopt.h \
grp.h \
1999-10-28 15:23:03 +08:00
io.h \
1999-07-30 02:38:21 +08:00
libutil.h \
limits.h \
locale.h \
malloc.h \
memory.h \
psap.h \
pwd.h \
1999-10-28 15:23:03 +08:00
process.h \
1999-07-30 02:38:21 +08:00
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 \
1999-07-30 02:38:21 +08:00
sys/errno.h \
sys/ioctl.h \
sys/param.h \
2007-04-06 07:41:35 +08:00
sys/privgrp.h \
2006-01-10 06:06:06 +08:00
sys/resource.h \
sys/select.h \
sys/socket.h \
2003-03-03 05:21:36 +08:00
sys/stat.h \
2006-01-10 06:06:06 +08:00
sys/syslog.h \
1999-07-30 02:38:21 +08:00
sys/time.h \
sys/types.h \
2003-03-03 05:21:36 +08:00
sys/uio.h \
2007-04-06 07:41:35 +08:00
sys/vmount.h \
1999-07-30 02:38:21 +08:00
syslog.h \
termios.h \
unistd.h \
2005-07-26 04:50:33 +08:00
utime.h \
1999-07-30 02:38:21 +08:00
)
2006-07-26 10:55:07 +08:00
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
2006-07-26 10:55:07 +08:00
AC_CHECK_HEADERS( winsock.h winsock2.h )
fi
2005-08-13 08:48:35 +08:00
AC_CHECK_HEADERS( resolv.h, [], [],
2006-01-10 06:06:06 +08:00
[$ac_includes_default
2005-08-13 08:48:35 +08:00
#include <netinet/in.h>
2006-01-10 06:06:06 +08:00
])
AC_CHECK_HEADERS( netinet/tcp.h, [], [],
[$ac_includes_default
#include <netinet/in.h>
])
2005-08-13 08:48:35 +08:00
2006-01-10 06:06:06 +08:00
AC_CHECK_HEADERS( sys/ucred.h, [], [],
2005-08-13 08:48:35 +08:00
[$ac_includes_default
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
])
1999-07-24 10:12:42 +08:00
dnl ----------------------------------------------------------------
1998-10-25 09:41:42 +08:00
dnl Checks for libraries
2005-02-28 00:46:45 +08:00
AC_CHECK_FUNCS( sigaction sigset )
2002-01-30 09:21:08 +08:00
dnl HP-UX requires -lV3
dnl this is not needed on newer versions of HP-UX
2005-02-28 00:46:45 +08:00
if test $ac_cv_func_sigaction = no && test $ac_cv_func_sigaction = no ; then
AC_CHECK_LIB(V3, sigset)
fi
1999-09-21 04:55:54 +08:00
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
2006-07-26 10:55:07 +08:00
if test "$ac_cv_header_winsock_h" = yes; then
2009-01-17 12:32:15 +08:00
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
2009-01-17 12:32:15 +08:00
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
2009-01-17 12:32:15 +08:00
test "$ol_cv_winsock" != no && break
done
LIBS="$save_LIBS"
])
2009-01-17 09:15:30 +08:00
2009-01-17 12:32:15 +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
2009-01-17 12:32:15 +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
2009-01-17 12:32:15 +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
1999-10-28 15:23:03 +08:00
1998-10-25 09:41:42 +08:00
dnl Find socket()
dnl Likely combinations:
dnl -lsocket [ -lnsl_s | -lnsl ]
dnl -linet
1999-04-05 04:36:35 +08:00
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)
AC_CHECK_LIB(net, main)
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
1999-07-30 02:38:21 +08:00
AC_CHECK_FUNC(select, :, AC_MSG_ERROR([select() required.]))
1999-10-28 15:23:03 +08:00
if test "${ac_cv_header_winsock_h}" != yes; then
2001-12-08 12:29:34 +08:00
dnl Select arg types
dnl (if this detection becomes permenent, it and the select() detection
dnl should be done before the yielding select test)
AC_FUNC_SELECT_ARGTYPES
1999-10-28 15:23:03 +08:00
fi
1999-07-30 02:38:21 +08:00
1999-08-31 08:58:22 +08:00
dnl check to see if system call automatically restart
1999-09-01 01:01:10 +08:00
dnl AC_SYS_RESTARTABLE_SYSCALLS
1999-07-30 02:38:21 +08:00
2004-04-25 05:30:28 +08:00
dnl ----------------------------------------------------------------
2004-10-19 05:09:17 +08:00
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 )
2004-11-20 22:20:29 +08:00
if test "${ac_cv_header_sys_epoll_h}" = yes; then
2006-09-18 06:09:19 +08:00
AC_MSG_CHECKING(for epoll system call)
AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv)
2004-11-20 22:20:29 +08:00
{
int epfd = epoll_create(256);
exit (epfd == -1 ? 1 : 0);
2005-08-12 18:55:09 +08:00
}]])],[AC_MSG_RESULT(yes)
2006-09-18 06:09:19 +08:00
AC_DEFINE(HAVE_EPOLL,1, [define if your system supports epoll])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
fi
dnl ----------------------------------------------------------------
AC_CHECK_HEADERS( sys/devpoll.h )
dnl "/dev/poll" needs <sys/poll.h> as well...
if test "${ac_cv_header_sys_devpoll_h}" = yes \
-a "${ac_cv_header_poll_h}" = yes ; \
then
AC_MSG_CHECKING(for /dev/poll)
AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv)
{
int devpollfd = open("/dev/poll", /* O_RDWR */ 2);
exit (devpollfd == -1 ? 1 : 0);
}]])],[AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_DEVPOLL,1, [define if your system supports /dev/poll])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
2004-11-20 22:20:29 +08:00
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
1999-09-21 04:55:54 +08:00
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
])
1999-07-30 02:38:21 +08:00
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.]))
1999-07-30 02:38:21 +08:00
OL_POSIX_REGEX
if test "$ol_cv_c_posix_regex" = no ; then
AC_MSG_ERROR([broken POSIX regex!])
fi
2001-12-12 06:48:30 +08:00
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" || \
SLAPD_LIBS="$SLAPD_LIBS $ac_cv_search_uuid_to_str"
fi
fi
2007-03-02 15:36:23 +08:00
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
2007-03-02 15:36:23 +08:00
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" || \
SLAPD_LIBS="$SLAPD_LIBS $ac_cv_search_uuid_generate"
fi
2007-03-02 15:36:23 +08:00
fi
fi
2001-12-12 06:48:30 +08:00
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([[
2004-01-15 15:08:06 +08:00
int __stdcall UuidCreate(void *);
int __stdcall UuidToStringA(void *,void **);
2005-08-12 18:55:09 +08:00
]], [[
2004-01-15 15:08:06 +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"
fi
LIBS="$save_LIBS"
AC_MSG_RESULT($need_rpcrt)
2001-12-12 06:48:30 +08:00
fi
1999-09-21 04:55:54 +08:00
dnl ----------------------------------------------------------------
1999-08-16 06:57:32 +08:00
dnl Check for resolver routines
2005-04-03 04:52:18 +08:00
OL_RESOLVER_LINK
1999-08-16 06:57:32 +08:00
2005-04-03 04:52:18 +08:00
ol_link_dnssrv=no
if test "$ol_cv_lib_resolver" != no ; then
2000-06-06 07:56:26 +08:00
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
2005-04-09 02:46:18 +08:00
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"
2000-06-06 07:56:26 +08:00
fi
1999-01-13 09:11:28 +08:00
fi
1998-11-08 08:40:40 +08:00
2005-09-18 06:22:15 +08:00
if test "$ol_enable_dnssrv" = yes || test "$ol_enable_dnssrv" = mod ; then
2005-04-09 02:46:18 +08:00
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
2000-06-06 07:56:26 +08:00
fi
1999-04-05 04:36:35 +08:00
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
2003-03-05 09:32:41 +08:00
AC_CHECK_FUNCS( getaddrinfo getnameinfo gai_strerror inet_ntop )
2000-09-25 09:11:39 +08:00
ol_link_ipv6=no
2005-09-18 06:22:15 +08:00
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
2001-05-03 13:53:34 +08:00
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
2002-08-29 03:26:12 +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([[
2002-08-29 03:26:12 +08:00
#include <sys/types.h>
#include <sys/socket.h>
2005-08-12 18:55:09 +08:00
]], [[
2002-08-29 03:26:12 +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])])
2002-08-29 03:26:12 +08:00
2005-09-18 06:22:15 +08:00
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
2005-09-18 06:22:15 +08:00
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])
2005-09-18 06:22:15 +08:00
elif test $ol_enable_ipv6 = yes &&
test $ol_cv_struct_sockaddr_storage = no ; then
2002-08-29 03:26:12 +08:00
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
1999-09-21 04:55:54 +08:00
dnl ----------------------------------------------------------------
dnl TLS/SSL
2004-09-27 06:58:47 +08:00
2006-02-18 06:46:22 +08:00
if test $ol_with_tls = yes ; then
ol_with_tls=auto
fi
1999-02-25 21:07:27 +08:00
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_CHECK_LIB(ssl, SSL_library_init,
[have_openssl=yes
need_rsaref=no], [have_openssl=no],
1999-03-04 05:50:02 +08:00
[-lcrypto])
1999-07-14 03:20:16 +08:00
2005-10-14 07:52:14 +08:00
if test $have_openssl = no ; then
1999-03-04 05:50:02 +08:00
AC_CHECK_LIB(ssl, ssl3_accept,
2005-10-14 07:52:14 +08:00
[have_openssl=yes
need_rsaref=yes], [have_openssl=no],
1999-03-04 05:50:02 +08:00
[-lcrypto -lRSAglue -lrsaref])
1999-03-03 04:02:29 +08:00
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
1999-02-25 21:07:27 +08:00
ol_link_tls=yes
2005-10-14 07:52:14 +08:00
AC_DEFINE(HAVE_OPENSSL, 1,
[define if you have OpenSSL])
1999-02-25 21:07:27 +08:00
1999-03-04 05:50:02 +08:00
if test $need_rsaref = yes; then
1999-03-08 09:48:45 +08:00
AC_DEFINE(HAVE_RSAREF, 1,
2005-10-14 07:52:14 +08:00
[define if OpenSSL needs RSAref])
1999-03-08 09:48:45 +08:00
1999-03-04 05:50:02 +08:00
TLS_LIBS="-lssl -lcrypto -lRSAglue -lrsaref"
else
TLS_LIBS="-lssl -lcrypto"
fi
2006-02-18 06:46:22 +08:00
OL_SSL_COMPAT
if test $ol_cv_ssl_crl_compat = yes ; then
AC_DEFINE(HAVE_OPENSSL_CRL, 1,
[define if you have OpenSSL with CRL checking capability])
fi
2004-11-03 20:02:38 +08:00
fi
1999-02-25 21:07:27 +08:00
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
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
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
2009-07-03 07:10:23 +08:00
dnl NOTE: caller must specify -I/path/to/nspr4 and -I/path/to/nss3
dnl and -L/path/to/nspr4 libs and -L/path/to/nss3 libs if those libs
dnl are not in the default system location
if test $ol_link_tls = no ; then
if test $ol_with_tls = moznss || test $ol_with_tls = auto ; then
have_moznss=no
AC_CHECK_HEADERS([nssutil.h])
if test "$ac_cv_header_nssutil_h" = yes ; then
AC_CHECK_LIB([nss3], [NSS_Initialize],
[ have_moznss=yes ], [ have_moznss=no ])
fi
if test "$have_moznss" = yes ; then
ol_with_tls=moznss
ol_link_tls=yes
AC_DEFINE(HAVE_MOZNSS, 1,
[define if you have MozNSS])
TLS_LIBS="-lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4"
else
AC_MSG_ERROR([MozNSS not found - please specify the location to the NSPR and NSS header files in CPPFLAGS and the location to the NSPR and NSS libraries in LDFLAGS (if not in the system location)])
fi
fi
fi
2003-10-18 10:39:08 +08:00
WITH_TLS=no
1999-02-25 21:07:27 +08:00
if test $ol_link_tls = yes ; then
1999-03-04 05:50:02 +08:00
AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
2003-10-18 10:39:08 +08:00
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
1999-02-25 21:07:27 +08:00
2001-01-12 11:21:38 +08:00
dnl ----------------------------------------------------------------
dnl LAN Manger password checking requires DES from OpenSSL
2001-01-12 12:20:35 +08:00
if test $ol_enable_lmpasswd != no; then
2001-01-12 11:21:38 +08:00
if test $ol_link_tls != yes ; then
2005-08-12 18:55:09 +08:00
AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
2001-01-12 11:21:38 +08:00
fi
AC_DEFINE(SLAPD_LMHASH, 1, [define to support LAN Manager passwords])
fi
1999-09-21 04:55:54 +08:00
dnl ----------------------------------------------------------------
dnl Threads?
1998-10-25 09:41:42 +08:00
ol_link_threads=no
1999-10-28 15:23:03 +08:00
2005-09-18 06:22:15 +08:00
case $ol_with_threads in auto | yes | nt)
1999-10-29 01:42:02 +08:00
1999-11-02 07:45:09 +08:00
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
1999-11-02 06:06:00 +08:00
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])
1999-10-29 01:42:02 +08:00
fi
1999-11-02 07:45:09 +08:00
if test $ol_with_threads = nt ; then
AC_MSG_ERROR([could not locate NT Threads])
fi
2005-09-18 06:22:15 +08:00
;;
esac
1999-10-28 15:23:03 +08:00
2005-09-18 06:22:15 +08:00
case $ol_with_threads in auto | yes | posix)
1998-12-03 03:31:48 +08:00
1999-08-22 01:19:10 +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
2002-09-07 22:09:09 +08:00
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
1999-04-07 07:44:27 +08:00
OL_HEADER_LINUX_THREADS
1999-08-22 01:19:10 +08:00
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
1999-02-02 07:54:31 +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
1999-02-02 07:54:31 +08:00
dnl
dnl Check special pthread (final) flags
1999-08-17 08:20:39 +08:00
dnl [skipped] pthread_create() with -mt (Solaris) [disabled]
1999-02-04 01:22:22 +08:00
dnl pthread_create() with -kthread (FreeBSD)
1999-02-09 05:46:46 +08:00
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 (?)
1999-02-02 07:54:31 +08:00
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)
1999-08-17 08:20:39 +08:00
dnl [skipped] pthread_mutex_trylock() in -lpthread -lexc (OSF/1)
1999-04-03 15:32:17 +08:00
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)
1999-02-02 07:54:31 +08:00
dnl
1999-02-21 04:12:03 +08:00
dnl Check pthread (draft4) flags (depreciated)
1999-02-04 01:22:22 +08:00
dnl pthread_create() with -threads (OSF/1)
1999-02-02 07:54:31 +08:00
dnl
1999-04-03 13:58:16 +08:00
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)
1999-04-03 15:32:17 +08:00
dnl pthread_create() in -lpthreads (many)
1999-02-02 07:54:31 +08:00
dnl
dnl pthread_create in $LIBS
1999-07-24 08:04:05 +08:00
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])])])
1999-03-26 06:11:42 +08:00
if test $ol_cv_pthread_create != no ; then
ol_link_threads=posix
1999-04-07 10:47:15 +08:00
ol_link_pthreads=""
1999-03-26 06:11:42 +08:00
fi
1999-04-07 10:47:15 +08:00
1999-08-17 08:20:39 +08:00
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],
1999-04-07 10:47:15 +08:00
[ol_cv_pthread_lpthread_lmach_lexc_lc_r])
1999-08-14 07:07:21 +08:00
OL_PTHREAD_TRY([-lpthread -lmach -lexc],
1999-04-07 10:47:15 +08:00
[ol_cv_pthread_lpthread_lmach_lexc])
1999-08-14 07:07:21 +08:00
dnl OL_PTHREAD_TRY([-lpthread -lexc],
1999-04-07 14:10:46 +08:00
dnl [ol_cv_pthread_lpthread_lexc])
1998-11-11 03:48:52 +08:00
1999-08-14 07:07:21 +08:00
OL_PTHREAD_TRY([-lpthread -Wl,-woff,85],
1999-04-07 10:47:15 +08:00
[ol_cv_pthread_lib_lpthread_woff])
1999-02-02 12:23:37 +08:00
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],
1999-04-07 10:47:15 +08:00
[ol_cv_pthread_lpthreads_lmach_lexc_lc_r])
1999-08-14 07:07:21 +08:00
OL_PTHREAD_TRY([-lpthreads -lmach -lexc],
1999-04-07 10:47:15 +08:00
[ol_cv_pthread_lpthreads_lmach_lexc])
1999-08-14 07:07:21 +08:00
OL_PTHREAD_TRY([-lpthreads -lexc],
1999-04-07 10:47:15 +08:00
[ol_cv_pthread_lpthreads_lexc])
1998-12-14 08:23:22 +08:00
1999-08-14 07:07:21 +08:00
OL_PTHREAD_TRY([-lpthreads],[ol_cv_pthread_lib_lpthreads])
1999-04-03 15:32:17 +08:00
1998-10-25 09:41:42 +08:00
if test $ol_link_threads != no ; then
1999-04-07 10:47:15 +08:00
LTHREAD_LIBS="$LTHREAD_LIBS $ol_link_pthreads"
1998-11-11 03:48:52 +08:00
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.
2002-10-12 09:21:21 +08:00
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
2005-09-18 06:22:15 +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
1998-11-02 13:16:07 +08:00
dnl Digital UNIX has sched_yield() in -lrt
AC_CHECK_LIB(rt, sched_yield,
[LTHREAD_LIBS="$LTHREAD_LIBS -lrt"
1999-07-24 05:10:02 +08:00
AC_DEFINE(HAVE_SCHED_YIELD,1,
[Define if you have the sched_yield function.])
1998-11-02 13:16:07 +08:00
ac_cv_func_sched_yield=yes],
[ac_cv_func_sched_yield=no])
fi
2005-09-18 06:22:15 +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
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
2007-01-11 08:54:45 +08:00
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])
2007-01-11 08:54:45 +08:00
fi
1999-01-12 03:04:34 +08:00
1999-02-09 06:54:40 +08:00
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([[
1999-03-16 08:38:16 +08:00
#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])
1999-02-09 06:54:40 +08:00
])
if test $ol_cv_func_pthread_detach = no ; then
1999-01-28 12:34:55 +08:00
AC_MSG_ERROR([could not locate pthread_detach()])
fi
1998-10-25 09:41:42 +08:00
1999-02-09 06:54:40 +08:00
AC_DEFINE(HAVE_PTHREAD_DETACH,1,
[define if you have pthread_detach function])
1998-11-05 10:50:28 +08:00
dnl Check for setconcurreny functions
AC_CHECK_FUNCS( \
pthread_setconcurrency \
1999-01-28 12:34:55 +08:00
pthread_getconcurrency \
1998-11-05 10:50:28 +08:00
thr_setconcurrency \
1999-01-28 12:34:55 +08:00
thr_getconcurrency \
1998-11-05 10:50:28 +08:00
)
1999-04-07 07:44:27 +08:00
OL_SYS_LINUX_THREADS
OL_LINUX_THREADS
1999-04-07 10:47:15 +08:00
if test $ol_cv_linux_threads = error; then
AC_MSG_ERROR([LinuxThreads header/library mismatch]);
1999-04-07 07:44:27 +08:00
fi
1999-07-24 08:04:05 +08:00
AC_CACHE_CHECK([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
1999-03-07 06:33:58 +08:00
AC_MSG_ERROR([pthread_create is not usable, check environment settings])
1998-11-30 09:58:54 +08:00
fi
2006-01-06 14:07:36 +08:00
ol_replace_broken_yield=no
2006-01-17 02:54:36 +08:00
dnl case "$target" in
dnl *-*-linux*)
dnl AC_CHECK_FUNCS(nanosleep)
dnl ol_replace_broken_yield=yes
dnl ;;
dnl esac
2006-01-06 13:38:57 +08:00
2006-01-06 14:07:36 +08:00
if test $ol_replace_broken_yield = yes ; then
AC_DEFINE([REPLACE_BROKEN_YIELD],1,
[define if sched_yield yields the entire process])
2006-01-06 13:38:57 +08:00
fi
1998-11-23 04:08:14 +08:00
dnl Check if select causes an yield
if test $ol_with_yielding_select = auto ; then
1999-07-24 08:04:05 +08:00
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
1998-12-01 08:07:04 +08:00
#define NULL (void*) 0
1998-10-25 09:41:42 +08:00
#endif
1998-12-01 08:07:04 +08:00
static int fildes[2];
1998-11-23 04:25:52 +08:00
1998-12-01 08:07:04 +08:00
static void *task(p)
void *p;
1998-10-25 09:41:42 +08:00
{
1998-11-16 08:52:15 +08:00
int i;
1998-10-25 09:41:42 +08:00
struct timeval tv;
1998-11-23 04:25:52 +08:00
fd_set rfds;
tv.tv_sec=10;
1998-10-25 09:41:42 +08:00
tv.tv_usec=0;
1998-11-23 04:25:52 +08:00
FD_ZERO(&rfds);
FD_SET(fildes[0], &rfds);
1998-11-16 08:52:15 +08:00
/* we're not interested in any fds */
1998-11-23 04:25:52 +08:00
i = select(FD_SETSIZE, &rfds, NULL, NULL, &tv);
1998-11-16 08:52:15 +08:00
if(i < 0) {
perror("select");
1998-12-14 08:23:22 +08:00
exit(10);
1998-11-16 08:52:15 +08:00
}
1998-10-25 09:41:42 +08:00
1998-12-14 08:23:22 +08:00
exit(0); /* if we exit here, the select blocked the whole process */
1998-10-25 09:41:42 +08:00
}
1998-11-23 04:25:52 +08:00
int main(argc, argv)
int argc;
char **argv;
1998-10-25 09:41:42 +08:00
{
pthread_t t;
1998-11-05 10:50:28 +08:00
1998-11-23 04:25:52 +08:00
/* create a pipe to select */
if(pipe(&fildes[0])) {
perror("select");
1998-12-14 08:23:22 +08:00
exit(1);
1998-11-23 04:25:52 +08:00
}
1998-11-05 10:50:28 +08:00
#ifdef HAVE_PTHREAD_SETCONCURRENCY
(void) pthread_setconcurrency(2);
1998-11-10 04:50:52 +08:00
#else
#ifdef HAVE_THR_SETCONCURRENCY
1998-11-05 10:50:28 +08:00
/* Set Solaris LWP concurrency to 2 */
thr_setconcurrency(2);
1998-11-10 04:50:52 +08:00
#endif
1998-11-05 10:50:28 +08:00
#endif
2002-09-07 22:09:09 +08:00
#if HAVE_PTHREADS < 6
1999-03-04 07:32:00 +08:00
pthread_create(&t, pthread_attr_default, task, NULL);
#else
1998-12-01 08:07:04 +08:00
pthread_create(&t, NULL, task, NULL);
1999-03-04 07:32:00 +08:00
#endif
1998-10-25 09:41:42 +08:00
2002-10-13 11:07:08 +08:00
/* make sure task runs first */
2007-05-10 02:17:10 +08:00
#ifdef HAVE_THR_YIELD
2002-10-13 11:07:08 +08:00
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
1998-12-14 08:23:22 +08:00
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])])
1999-07-24 08:04:05 +08:00
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
1998-11-23 04:08:14 +08:00
ol_with_yielding_select=yes
1998-10-25 09:41:42 +08:00
fi
fi
1998-11-11 03:48:52 +08:00
dnl restore flags
1998-10-25 09:41:42 +08:00
CPPFLAGS="$save_CPPFLAGS"
LIBS="$save_LIBS"
else
2001-09-25 02:26:24 +08:00
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
2005-09-18 06:22:15 +08:00
;;
esac
1998-10-25 09:41:42 +08:00
2005-09-18 06:22:15 +08:00
case $ol_with_threads in auto | yes | mach)
1998-12-03 03:31:48 +08:00
1998-10-25 09:41:42 +08:00
dnl check for Mach CThreads
2002-01-21 10:23:20 +08:00
AC_CHECK_HEADERS(mach/cthreads.h cthreads.h)
2002-01-21 10:32:34 +08:00
if test $ac_cv_header_mach_cthreads_h = yes ; then
1998-11-02 02:11:11 +08:00
ol_with_threads=found
1998-10-25 09:41:42 +08:00
2002-01-21 10:23:20 +08:00
dnl check for cthreads support in current $LIBS
1998-11-02 02:11:11 +08:00
AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
if test $ol_link_threads = no ; then
dnl try -all_load
dnl this test needs work
AC_CACHE_CHECK([for cthread_fork with -all_load],
[ol_cv_cthread_all_load], [
1998-11-11 03:48:52 +08:00
dnl save the flags
1998-11-02 02:11:11 +08:00
save_LIBS="$LIBS"
LIBS="-all_load $LIBS"
2005-08-12 18:55:09 +08:00
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <mach/cthreads.h>]], [[
1998-11-02 02:11:11 +08:00
cthread_fork((void *)0, (void *)0);
2005-08-12 18:55:09 +08:00
]])],[ol_cv_cthread_all_load=yes],[ol_cv_cthread_all_load=no])
1998-11-02 02:11:11 +08:00
dnl restore the LIBS
LIBS="$save_LIBS"
])
if test $ol_cv_cthread_all_load = yes ; then
LTHREAD_LIBS="$LTHREAD_LIBS -all_load"
ol_link_threads=mach
2002-01-21 11:12:40 +08:00
ol_with_threads=found
1998-11-02 02:11:11 +08:00
fi
1998-10-25 09:41:42 +08:00
fi
1998-11-02 02:11:11 +08:00
2001-12-08 12:29:34 +08:00
elif test $ac_cv_header_cthreads_h = yes ; then
2001-11-28 10:05:14 +08:00
dnl Hurd variant of Mach Cthreads
dnl uses <cthreads.h> and -lthreads
ol_with_threads=found
dnl save the flags
save_LIBS="$LIBS"
LIBS="$LIBS -lthreads"
AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
LIBS="$save_LIBS"
if test $ol_link_threads = yes ; then
LTHREAD_LIBS="-lthreads"
ol_link_threads=mach
2002-01-21 11:12:40 +08:00
ol_with_threads=found
1998-11-02 02:11:11 +08:00
else
AC_MSG_ERROR([could not link with Mach CThreads])
fi
2001-11-28 10:05:14 +08:00
elif test $ol_with_threads = mach ; then
1998-11-02 02:11:11 +08:00
AC_MSG_ERROR([could not locate Mach CThreads])
1998-10-25 09:41:42 +08:00
fi
2001-11-28 10:05:14 +08:00
if test $ol_link_threads = mach ; then
AC_DEFINE(HAVE_MACH_CTHREADS,1,
[define if you have Mach Cthreads])
elif test $ol_with_threads = found ; then
AC_MSG_ERROR([could not link with Mach CThreads])
fi
2005-09-18 06:22:15 +08:00
;;
esac
1998-10-25 09:41:42 +08:00
2005-09-18 06:22:15 +08:00
case $ol_with_threads in auto | yes | pth)
1999-08-22 11:04:33 +08:00
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
1999-08-22 11:04:33 +08:00
if test $ol_with_yielding_select = auto ; then
ol_with_yielding_select=yes
fi
fi
fi
2005-09-18 06:22:15 +08:00
;;
esac
1999-08-22 11:04:33 +08:00
2005-09-18 06:22:15 +08:00
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)
2005-09-18 06:22:15 +08:00
if test $ac_cv_header_thread_h = yes &&
test $ac_cv_header_synch_h = yes ; then
1998-11-20 15:17:18 +08:00
AC_CHECK_LIB(thread, thr_create, [have_thr=yes], [have_thr=no])
1998-10-25 09:41:42 +08:00
1998-11-20 15:17:18 +08:00
if test $have_thr = yes ; then
1999-02-03 09:05:41 +08:00
AC_DEFINE(HAVE_THR,1,
[if you have Solaris LWP (thr) package])
1998-11-21 01:52:44 +08:00
LTHREAD_LIBS="$LTHREAD_LIBS -lthread"
1998-11-20 15:17:18 +08:00
ol_link_threads=thr
1998-10-25 09:41:42 +08:00
1998-11-23 04:08:14 +08:00
if test $ol_with_yielding_select = auto ; then
ol_with_yielding_select=yes
1998-10-25 09:41:42 +08:00
fi
1999-01-19 08:33:12 +08:00
1999-01-28 12:34:55 +08:00
dnl Check for setconcurreny functions
AC_CHECK_FUNCS( \
thr_setconcurrency \
thr_getconcurrency \
)
1998-10-25 09:41:42 +08:00
fi
fi
2005-09-18 06:22:15 +08:00
;;
esac
1998-10-25 09:41:42 +08:00
1998-11-23 04:08:14 +08:00
if test $ol_with_yielding_select = yes ; then
1999-02-03 09:05:41 +08:00
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)
1999-04-07 10:47:15 +08:00
OL_HEADER_LINUX_THREADS
1998-10-25 09:41:42 +08:00
AC_CHECK_HEADERS(mach/cthreads.h)
AC_CHECK_HEADERS(thread.h synch.h)
fi
2005-09-18 06:22:15 +08:00
if test $ol_link_threads != no && test $ol_link_threads != nt ; then
1998-11-05 14:11:47 +08:00
dnl needed to get reentrant/threadsafe versions
dnl
1998-12-01 04:40:42 +08:00
AC_DEFINE(REENTRANT,1)
1998-11-05 14:11:47 +08:00
AC_DEFINE(_REENTRANT,1)
1998-12-01 04:40:42 +08:00
AC_DEFINE(THREAD_SAFE,1)
1998-11-05 14:11:47 +08:00
AC_DEFINE(_THREAD_SAFE,1)
1998-12-01 04:40:42 +08:00
AC_DEFINE(THREADSAFE,1)
1998-11-11 08:24:22 +08:00
AC_DEFINE(_THREADSAFE,1)
1999-06-11 08:07:10 +08:00
AC_DEFINE(_SGI_MP_SOURCE,1)
1998-11-16 04:55:17 +08:00
1999-04-05 04:36:35 +08:00
dnl The errno declaration may dependent upon _REENTRANT.
dnl If it does, we must link with thread support.
1998-11-16 04:55:17 +08:00
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])
1998-11-16 04:55:17 +08:00
])
1999-06-07 13:30:05 +08:00
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])
1999-06-07 13:30:05 +08:00
])
2005-09-18 06:22:15 +08:00
if test $ol_cv_errno_thread_specific != yes ||
test $ol_cv_h_errno_thread_specific != yes ; then
1998-11-16 04:55:17 +08:00
LIBS="$LTHREAD_LIBS $LIBS"
LTHREAD_LIBS=""
fi
1998-12-14 08:23:22 +08:00
1998-12-19 09:27:20 +08:00
dnl When in thread environment, use
2002-12-04 12:51:55 +08:00
dnl #if defined( HAVE_REENTRANT_FUNCTIONS ) || defined( HAVE_FUNC_R )
1998-12-19 09:27:20 +08:00
dnl func_r(...);
dnl #else
1998-12-20 08:58:55 +08:00
dnl # if defined( HAVE_THREADS )
dnl /* lock */
dnl # endif
dnl func(...);
dnl # if defined( HAVE_THREADS )
dnl /* unlock */
dnl # endif
1998-12-19 09:27:20 +08:00
dnl #endif
dnl
dnl HAVE_REENTRANT_FUNCTIONS is derived from:
dnl _POSIX_REENTRANT_FUNCTIONS
dnl _POSIX_THREAD_SAFE_FUNCTIONS
dnl _POSIX_THREADSAFE_FUNCTIONS
1998-12-20 08:58:55 +08:00
dnl
2002-12-04 12:51:55 +08:00
dnl and is currently defined in <ldap_pvt_thread.h>
1998-12-20 08:58:55 +08:00
dnl
2002-12-04 12:51:55 +08:00
dnl HAVE_THREADS is defined by <ldap_pvt_thread.h> iff -UNO_THREADS
1998-12-20 08:58:55 +08:00
dnl
2002-12-04 12:51:55 +08:00
dnl libldap/*.c should only include <ldap_pvt_thread.h> iff
1998-12-20 08:58:55 +08:00
dnl LDAP_R_COMPILE is defined. ie:
dnl #ifdef LDAP_R_COMPILE
2002-12-04 12:51:55 +08:00
dnl # include <ldap_pvt_thread.h>
1998-12-20 08:58:55 +08:00
dnl #endif
dnl
1999-05-01 05:32:12 +08:00
dnl LDAP_R_COMPILE is defined by libldap_r/Makefile.in
1998-12-20 08:58:55 +08:00
dnl specifically for compiling the threadsafe version of
dnl the ldap library (-lldap_r).
1998-12-19 09:27:20 +08:00
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
1998-12-19 09:27:20 +08:00
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"
1998-11-16 04:55:17 +08:00
fi
1998-11-05 14:11:47 +08:00
1998-10-25 09:41:42 +08:00
if test $ol_link_threads = no ; then
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
1999-02-03 09:05:41 +08:00
AC_DEFINE(NO_THREADS,1,
[define if you have (or want) no threads])
1998-10-25 09:41:42 +08:00
LTHREAD_LIBS=""
2005-12-17 00:52:52 +08:00
BUILD_THREAD=no
else
BUILD_THREAD=yes
1998-10-25 09:41:42 +08:00
fi
1999-03-07 11:18:51 +08:00
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])
1999-03-07 11:18:51 +08:00
fi
2002-12-04 12:51:55 +08:00
dnl ----------------------------------------------------------------
dnl Tests for reentrant functions necessary to build -lldap_r
AC_CHECK_FUNCS( \
ctime_r \
2009-08-19 07:48:15 +08:00
gmtime_r localtime_r \
2002-12-04 12:51:55 +08:00
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
1999-03-07 11:18:51 +08:00
dnl ----------------------------------------------------------------
2006-04-08 12:15:37 +08:00
ol_link_bdb=no
1998-10-25 09:41:42 +08:00
2005-09-18 06:22:15 +08:00
if test $ol_enable_bdb/$ol_enable_hdb != no/no; then
2006-04-08 12:15:37 +08:00
OL_BERKELEY_DB
2004-04-17 21:58:26 +08:00
2006-04-08 12:15:37 +08:00
if test $ol_cv_berkeley_db = no ; then
AC_MSG_ERROR(BDB/HDB: BerkeleyDB not available)
1999-03-30 12:25:52 +08:00
fi
2006-04-08 12:15:37 +08:00
AC_DEFINE(HAVE_BERKELEY_DB,1,
[define this if Berkeley DB is available])
1998-10-25 09:41:42 +08:00
2006-04-08 12:15:37 +08:00
dnl $ol_cv_lib_db should be yes or -ldb
dnl (it could be no, but that would be an error
if test $ol_cv_lib_db != yes ; then
BDB_LIBS="$BDB_LIBS $ol_cv_lib_db"
1998-10-25 09:41:42 +08:00
fi
2006-04-08 12:15:37 +08:00
SLAPD_LIBS="$SLAPD_LIBS \$(BDB_LIBS)"
1998-10-25 09:41:42 +08:00
2006-04-08 12:15:37 +08:00
ol_link_bdb=yes
1998-10-25 09:41:42 +08:00
fi
1999-09-29 08:56:43 +08:00
dnl ----------------------------------------------------------------
2003-02-10 14:36:08 +08:00
2005-09-18 06:22:15 +08:00
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])
2003-02-10 14:36:08 +08:00
LTSTATIC=""
1999-09-29 08:56:43 +08:00
else
2001-12-07 12:03:25 +08:00
BUILD_LIBS_DYNAMIC=static
2003-02-10 14:36:08 +08:00
LTSTATIC="-static"
1999-09-29 08:56:43 +08:00
fi
2003-02-10 14:36:08 +08:00
AC_SUBST(LTSTATIC)dnl
1999-09-29 08:56:43 +08:00
1999-09-21 04:55:54 +08:00
dnl ----------------------------------------------------------------
1998-12-21 05:56:44 +08:00
if test $ol_enable_wrappers != no ; then
2002-01-30 08:05:45 +08:00
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([[
2002-01-30 08:05:45 +08:00
#include <tcpd.h>
int allow_severity = 0;
int deny_severity = 0;
1999-01-24 09:33:22 +08:00
2002-01-30 08:05:45 +08:00
struct request_info *req;
2005-08-12 18:55:09 +08:00
]], [[
2002-01-30 08:05:45 +08:00
hosts_access(req)
2005-08-12 18:55:09 +08:00
]])],[AC_MSG_RESULT([-lwrap])
2002-01-30 08:05:45 +08:00
have_wrappers=yes
LIBS="$save_LIBS"],[
dnl try with -lnsl
LIBS="$LIBS -lnsl"
AC_TRY_LINK([
#include <tcpd.h>
1999-09-22 23:00:51 +08:00
int allow_severity = 0;
int deny_severity = 0;
2002-01-30 08:05:45 +08:00
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
1999-02-03 09:05:41 +08:00
AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
1999-09-22 23:00:51 +08:00
WRAP_LIBS="-lwrap"
2002-01-30 08:05:45 +08:00
elif test $ol_enable_wrappers = yes ; then
2003-12-01 19:49:19 +08:00
AC_MSG_ERROR([could not find TCP wrappers, select apppropriate options or disable])
1998-10-25 09:41:42 +08:00
else
2002-01-30 08:05:45 +08:00
AC_MSG_WARN([could not find TCP wrappers, support disabled])
1999-09-22 23:00:51 +08:00
WRAP_LIBS=""
1998-10-25 09:41:42 +08:00
fi
fi
1999-09-21 04:55:54 +08:00
dnl ----------------------------------------------------------------
1998-12-21 05:56:44 +08:00
if test $ol_enable_syslog != no ; then
AC_CHECK_FUNC(openlog)
2005-09-18 06:22:15 +08:00
if test $ac_cv_func_openlog = no && test $ol_enable_syslog = yes; then
1998-12-21 05:56:44 +08:00
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
2002-11-10 01:03:07 +08:00
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"
2006-11-07 08:38:12 +08:00
if test $ol_with_odbc = auto ; then
2008-07-13 00:38:19 +08:00
ol_with_odbc="iodbc unixodbc odbc32"
2000-08-26 01:50:05 +08:00
fi
2006-11-07 08:38:12 +08:00
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
;;
2008-07-13 00:38:19 +08:00
odbc32)
AC_CHECK_LIB(odbc32, SQLDriverConnect, [have_odbc32=yes], [have_odbc32=no])
if test $have_odbc32 = yes ; then
ol_link_sql="-lodbc32"
fi
;;
2006-11-07 08:38:12 +08:00
*)
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
2008-08-31 08:18:08 +08:00
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"
2008-08-31 08:18:08 +08:00
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`
2008-08-31 08:18:08 +08:00
SLAPD_NDB_LIBS="$SQL_LIB -lndbclient -lstdc++"
save_LDFLAGS="$LDFLAGS"
save_LIBS="$LIBS"
LDFLAGS="$SQL_LIB"
2008-09-11 08:35:12 +08:00
AC_CHECK_LIB(ndbclient,ndb_init,[: ok],[
2008-08-31 08:18:08 +08:00
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
2005-11-16 14:31:00 +08:00
dnl ----------------------------------------------------------------
dnl International Components for Unicode
OL_ICU
if test "$ol_icu" = no ; then
AC_MSG_WARN([ICU not available])
else
ICU_LIBS="$ol_icu"
fi
1999-09-21 04:55:54 +08:00
dnl ----------------------------------------------------------------
1999-08-03 07:35:03 +08:00
dnl
1999-10-27 06:57:39 +08:00
dnl Check for Cyrus SASL
1999-08-03 07:35:03 +08:00
dnl
2004-06-19 18:00:25 +08:00
WITH_SASL=no
1999-08-03 07:35:03 +08:00
ol_link_sasl=no
2000-05-11 04:07:01 +08:00
ol_link_spasswd=no
1999-08-03 07:35:03 +08:00
if test $ol_with_cyrus_sasl != no ; then
2002-02-11 16:28:51 +08:00
AC_CHECK_HEADERS(sasl/sasl.h sasl.h)
1999-08-03 07:35:03 +08:00
2005-09-18 06:22:15 +08:00
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,
2002-02-11 01:51:19 +08:00
[ol_link_sasl="-lsasl2"],
[AC_CHECK_LIB(sasl, sasl_client_init,
[ol_link_sasl="-lsasl"])])
1999-08-03 07:35:03 +08:00
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
2002-05-14 04:16:44 +08:00
OL_SASL_COMPAT
if test $ol_cv_sasl_compat = no ; then
2002-05-14 02:48:27 +08:00
ol_link_sasl=no
2004-04-07 14:40:06 +08:00
AC_MSG_ERROR([Cyrus SASL library located but is incompatible])
2002-05-14 02:48:27 +08:00
fi
2002-02-10 22:23:55 +08:00
AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
2002-02-11 01:51:19 +08:00
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
2002-08-28 15:12:22 +08:00
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!])
1999-08-03 07:35:03 +08:00
fi
fi
1999-10-27 06:57:39 +08:00
dnl ----------------------------------------------------------------
dnl Check for entropy sources
2005-09-18 06:22:15 +08:00
if test $cross_compiling != yes && test "$ac_cv_mingw32" != yes ; then
1999-10-27 06:57:39 +08:00
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
1999-09-21 04:55:54 +08:00
dnl ----------------------------------------------------------------
1999-08-03 07:35:03 +08:00
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
2003-11-26 07:20:38 +08:00
LUTIL_LIBS="$LUTIL_LIBS $ol_link_fetch"
1999-08-03 07:35:03 +08:00
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
1999-09-21 04:55:54 +08:00
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
2002-10-04 10:44:47 +08:00
save_LIBS="$LIBS"
LIBS="$TLS_LIBS $LIBS"
1998-10-25 09:41:42 +08:00
AC_CHECK_FUNC(crypt, [have_crypt=yes], [
2002-10-04 10:44:47 +08:00
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])])
2002-10-04 10:44:47 +08:00
LIBS="$save_LIBS"
1998-10-25 09:41:42 +08:00
if test $have_crypt = yes ; then
1999-07-24 05:10:02 +08:00
AC_DEFINE(HAVE_CRYPT,1, [define if crypt(3) is available])
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
1999-09-21 04:55:54 +08:00
dnl ----------------------------------------------------------------
dnl FreeBSD (and others) have setproctitle(3) in -lutil
1998-11-04 09:35:21 +08:00
if test $ol_enable_proctitle != no ; then
AC_CHECK_FUNC(setproctitle, [have_setproctitle=yes], [
AC_CHECK_LIB(util, setproctitle,
[have_setproctitle=yes
LUTIL_LIBS="$LUTIL_LIBS -lutil"],
[have_setproctitle=no
2005-08-12 11:52:59 +08:00
AC_LIBOBJ(setproctitle)
1999-10-28 15:23:03 +08:00
LIBSRCS="$LIBSRCS setproctitle.c"])])
1998-11-04 09:35:21 +08:00
if test $have_setproctitle = yes ; then
1999-07-24 05:10:02 +08:00
AC_DEFINE(HAVE_SETPROCTITLE,1,
[define if setproctitle(3) is available])
1998-11-04 09:35:21 +08:00
fi
fi
2001-01-17 06:18:33 +08:00
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
2001-01-17 06:18:33 +08:00
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
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
2005-08-13 04:00:00 +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
2005-08-13 04:00:00 +08:00
AC_CHECK_TYPES([long long])
2005-08-12 12:46:26 +08:00
AC_CHECK_TYPES([ptrdiff_t])
1999-11-02 02:14:26 +08:00
2007-06-10 07:35:20 +08:00
AC_CHECK_TYPE([socklen_t],,, [$ac_includes_default
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif])
dnl socklen_t-like type in accept(), default socklen_t or int:
dnl - The OS might define socklen_t without using it. POSIX moved from
dnl int to size_t to socklen_t, hoping to stay at a 32-bit type, and
dnl HP-UX now has selectors for what to use.
dnl - On Solaris 2.8 the prototype has void *len, but the default is OK.
AC_MSG_CHECKING([the type of arg 3 to accept()])
AC_CACHE_VAL(ol_cv_type_ber_socklen_t, [
set socklen_t int unsigned "unsigned long" long size_t
test "$ac_cv_type_socklen_t" = yes || shift
ol_cv_type_ber_socklen_t=$1 guessing="guessing "
for lentype in "$@" ; do for addrtype in "struct sockaddr" void ; do
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$ac_includes_default
2005-08-13 10:47:42 +08:00
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
2007-06-10 07:35:20 +08:00
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
1999-11-02 02:14:26 +08:00
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
2005-08-13 10:47:42 +08:00
#include <signal.h>
2005-08-13 11:04:44 +08:00
])
1999-11-02 02:14:26 +08:00
1999-10-28 15:23:03 +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])
2005-08-13 10:47:42 +08:00
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
1998-12-21 02:16:03 +08:00
OL_C_VOLATILE
1998-10-25 09:41:42 +08:00
1998-11-18 03:44:59 +08:00
if test $cross_compiling = yes ; then
2004-04-05 02:26:51 +08:00
AC_MSG_WARN([Crossing compiling... all bets are off!])
1999-02-03 09:05:41 +08:00
AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
1999-11-02 01:36:09 +08:00
else
AC_C_BIGENDIAN
fi
2005-08-13 04:00:00 +08:00
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)
2005-08-13 04:00:00 +08:00
AC_CHECK_SIZEOF(wchar_t)
1999-11-02 01:36:09 +08:00
1999-11-27 07:32:18 +08:00
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])
1999-11-27 07:32:18 +08:00
else
2005-08-12 14:52:49 +08:00
AC_DEFINE(LBER_INT_T,int,[define to 32-bit or greater integer type])
1998-11-18 03:44:59 +08:00
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])
1999-06-19 07:53:05 +08:00
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
2005-03-05 09:23:29 +08:00
2005-08-12 11:52:59 +08:00
if test $ac_cv_func_memcmp_working = no ; then
2005-03-05 09:23:29 +08:00
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
1999-11-01 11:40:55 +08:00
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
1999-10-28 15:48:59 +08:00
AC_DEFINE(snprintf, _snprintf, [define to snprintf routine])
1999-11-01 11:40:55 +08:00
])
1999-10-28 15:23:03 +08:00
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
1999-10-28 15:48:59 +08:00
AC_DEFINE(vsnprintf, _vsnprintf, [define to vsnprintf routine])
2009-01-17 06:05:05 +08:00
fi
1999-10-28 15:23:03 +08:00
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
2002-09-07 04:54:22 +08:00
AC_CHECK_FUNCS(snprintf vsnprintf)
1998-11-05 07:29:52 +08:00
fi
2006-09-18 06:09:19 +08:00
AC_CHECK_FUNCS( \
1998-10-25 09:41:42 +08:00
bcopy \
1999-06-09 08:10:26 +08:00
closesocket \
2000-05-11 07:30:52 +08:00
chroot \
1999-04-03 11:19:07 +08:00
endgrent \
endpwent \
2001-05-03 13:53:34 +08:00
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 \
2006-09-18 06:09:19 +08:00
getdtablesize \
2008-11-21 10:03:57 +08:00
geteuid \
1999-04-03 11:19:07 +08:00
getgrgid \
1998-11-18 03:05:48 +08:00
gethostname \
2006-09-18 06:09:19 +08:00
getpassphrase \
1998-11-13 07:25:53 +08:00
getpwuid \
1999-06-27 04:52:59 +08:00
getpwnam \
getspnam \
2006-09-18 06:09:19 +08:00
gettimeofday \
1999-04-21 08:40:20 +08:00
initgroups \
2005-10-14 11:40:03 +08:00
inet_ntoa_b \
2006-09-18 06:09:19 +08:00
ioctl \
1998-10-25 09:41:42 +08:00
lockf \
memcpy \
memmove \
2005-11-15 02:32:27 +08:00
memrchr \
2001-12-18 10:54:49 +08:00
mkstemp \
mktemp \
1999-09-01 01:01:10 +08:00
pipe \
1999-06-28 12:11:41 +08:00
read \
1999-04-03 02:58:48 +08:00
recv \
recvfrom \
1998-10-25 09:41:42 +08:00
setpwfile \
1999-04-21 08:40:20 +08:00
setgid \
setegid \
1998-10-25 09:41:42 +08:00
setsid \
1999-04-21 08:40:20 +08:00
setuid \
seteuid \
1998-10-25 09:41:42 +08:00
signal \
1999-01-22 12:33:29 +08:00
strdup \
1998-11-18 03:05:48 +08:00
strpbrk \
1998-10-25 09:41:42 +08:00
strrchr \
strsep \
1998-11-18 03:05:48 +08:00
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 \
2010-08-13 07:32:37 +08:00
strtoull \
1999-01-14 23:19:29 +08:00
strspn \
1998-10-25 09:41:42 +08:00
sysconf \
waitpid \
1999-03-29 09:40:17 +08:00
wait4 \
1999-06-28 12:11:41 +08:00
write \
send \
2002-12-05 00:03:02 +08:00
sendmsg \
1999-06-28 12:11:41 +08:00
sendto \
1998-10-25 09:41:42 +08:00
)
1998-11-18 03:05:48 +08:00
dnl We actually may need to replace more than this.
2002-12-04 14:17:32 +08:00
AC_REPLACE_FUNCS(getopt getpeereid)
1998-10-25 09:41:42 +08:00
1999-10-28 15:23:03 +08:00
if test "$ac_cv_func_getopt" != yes; then
2001-12-08 12:29:34 +08:00
LIBSRCS="$LIBSRCS getopt.c"
1999-10-28 15:23:03 +08:00
fi
2005-11-24 02:55:31 +08:00
2002-12-04 14:17:32 +08:00
if test "$ac_cv_func_getpeereid" != yes; then
2005-11-24 02:55:31 +08:00
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])
2005-11-24 02:55:31 +08:00
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])
2005-11-24 02:55:31 +08:00
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
AC_COMPILE_IFELSE([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
2002-12-04 14:17:32 +08:00
LIBSRCS="$LIBSRCS getpeereid.c"
fi
2005-11-24 02:55:31 +08:00
2005-09-18 06:22:15 +08:00
if test "$ac_cv_func_snprintf" != yes ||
test "$ac_cv_func_vsnprintf" != yes; then
2002-09-07 04:54:22 +08:00
if test "$ac_cv_func_snprintf" != yes; then
2002-09-10 08:47:32 +08:00
AC_DEFINE(snprintf, ber_pvt_snprintf, [define to snprintf routine])
2002-09-07 04:54:22 +08:00
fi
if test "$ac_cv_func_vsnprintf" != yes; then
2002-09-10 08:47:32 +08:00
AC_DEFINE(vsnprintf, ber_pvt_vsnprintf, [define to snprintf routine])
2002-09-07 04:54:22 +08:00
fi
fi
1999-10-28 15:23:03 +08:00
1998-10-25 09:41:42 +08:00
dnl ----------------------------------------------------------------
dnl Sort out defines
2002-12-08 01:19:29 +08:00
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;
2002-12-08 01:19:29 +08:00
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
2003-05-23 14:27:38 +08:00
LIBSLAPI=libslapi.a
2002-12-08 03:19:26 +08:00
LIBSLAPITOOLS=../libslapi.a
2002-12-08 01:19:29 +08:00
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
1998-12-24 09:31:40 +08:00
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
1999-07-24 05:10:02 +08:00
AC_DEFINE(LDAP_DEBUG,1,
[define this to add debugging code])
1998-10-25 09:41:42 +08:00
fi
1998-12-24 09:31:40 +08:00
if test "$ol_enable_syslog" = yes ; then
1999-07-24 05:10:02 +08:00
AC_DEFINE(LDAP_SYSLOG,1,
[define this to add syslog code])
1998-12-21 05:56:44 +08:00
fi
1998-12-24 09:31:40 +08:00
if test "$ol_enable_proctitle" != no ; then
1999-07-24 05:10:02 +08:00
AC_DEFINE(LDAP_PROCTITLE,1,
[define this for LDAP process title support])
1998-11-04 09:35:21 +08:00
fi
1998-12-24 09:31:40 +08:00
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
2000-07-10 05:49:36 +08:00
if test "$ol_enable_local" != no; then
AC_DEFINE(LDAP_PF_LOCAL,1,[define to support PF_LOCAL])
2000-06-10 07:09:51 +08:00
fi
2000-09-25 09:11:39 +08:00
if test "$ol_link_ipv6" != no; then
2000-06-10 07:09:51 +08:00
AC_DEFINE(LDAP_PF_INET6,1,[define to support PF_INET6])
2000-01-02 09:21:25 +08:00
fi
2000-01-09 02:42:11 +08:00
if test "$ol_enable_cleartext" != no ; then
AC_DEFINE(SLAPD_CLEARTEXT,1,[define to support cleartext passwords])
fi
1998-12-24 09:31:40 +08:00
if test "$ol_enable_crypt" != no ; then
1999-07-24 05:10:02 +08:00
AC_DEFINE(SLAPD_CRYPT,1,[define to support crypt(3) passwords])
1998-10-25 09:41:42 +08:00
fi
2000-05-10 12:29:51 +08:00
if test "$ol_link_spasswd" != no ; then
AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords])
fi
1998-12-24 09:31:40 +08:00
if test "$ol_enable_rlookups" != no ; then
1999-07-24 05:10:02 +08:00
AC_DEFINE(SLAPD_RLOOKUPS,1,[define to support reverse lookups])
1998-10-25 09:41:42 +08:00
fi
1999-08-21 06:42:04 +08:00
if test "$ol_enable_aci" != no ; then
2006-01-07 01:12:35 +08:00
if test $ol_enable_dynacl = no ; then
ol_enable_dynacl=yes
AC_MSG_WARN([ACIs need dynacl])
fi
if test "$ol_enable_aci" = mod ; then
MFLAG=SLAPD_MOD_DYNAMIC
dnl remove this after moving servers/slapd/aci.c in contrib/slapd-modules/acl
AC_MSG_ERROR([ACI build as dynamic module not supported (yet)])
else
MFLAG=SLAPD_MOD_STATIC
fi
WITH_ACI_ENABLED=$ol_enable_aci
AC_DEFINE_UNQUOTED(SLAPD_ACI_ENABLED,$MFLAG,[define to support per-object ACIs])
2005-08-28 00:27:12 +08:00
else
WITH_ACI_ENABLED=no
1999-08-21 06:42:04 +08:00
fi
2006-01-07 01:12:35 +08:00
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
1999-08-08 06:44:26 +08:00
if test "$ol_link_modules" != no ; then
1999-07-24 05:10:02 +08:00
AC_DEFINE(SLAPD_MODULES,1,[define to support modules])
1999-04-14 09:33:01 +08:00
BUILD_SLAPD=yes
1999-08-07 15:59:41 +08:00
SLAPD_MODULES_LDFLAGS="-dlopen self"
1999-04-14 09:33:01 +08:00
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])
2006-09-06 09:54:54 +08:00
dnl back-monitor goes first (well, after back-config)
if test "$ol_enable_monitor" != no ; then
BUILD_SLAPD=yes
BUILD_MONITOR=$ol_enable_monitor
if test "$ol_enable_monitor" = mod ; then
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-monitor"
MFLAG=SLAPD_MOD_DYNAMIC
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-monitor"
MFLAG=SLAPD_MOD_STATIC
fi
AC_DEFINE_UNQUOTED(SLAPD_MONITOR,$MFLAG,[define to support cn=Monitor backend])
fi
2000-09-19 03:02:03 +08:00
if test "$ol_enable_bdb" != no ; then
BUILD_SLAPD=yes
2004-04-08 13:56:23 +08:00
BUILD_BDB=$ol_enable_bdb
if test "$ol_enable_bdb" = mod ; then
2001-12-08 12:01:30 +08:00
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-bdb"
2004-04-08 13:56:23 +08:00
MFLAG=SLAPD_MOD_DYNAMIC
2001-12-08 12:01:30 +08:00
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-bdb"
2004-04-08 13:56:23 +08:00
MFLAG=SLAPD_MOD_STATIC
2000-09-19 03:02:03 +08:00
fi
2004-04-08 13:56:23 +08:00
AC_DEFINE_UNQUOTED(SLAPD_BDB,$MFLAG,[define to support BDB backend])
2000-09-19 03:02:03 +08:00
fi
2004-04-08 13:56:23 +08:00
if test "$ol_enable_dnssrv" != no ; then
2000-05-11 02:17:38 +08:00
BUILD_SLAPD=yes
2004-04-08 13:56:23 +08:00
BUILD_DNSSRV=$ol_enable_dnssrv
if test "$ol_enable_dnssrv" = mod ; then
2001-12-08 12:01:30 +08:00
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-dnssrv"
2004-04-08 13:56:23 +08:00
MFLAG=SLAPD_MOD_DYNAMIC
2001-12-08 12:01:30 +08:00
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-dnssrv"
2004-04-08 13:56:23 +08:00
MFLAG=SLAPD_MOD_STATIC
2000-05-11 02:17:38 +08:00
fi
2004-04-08 13:56:23 +08:00
AC_DEFINE_UNQUOTED(SLAPD_DNSSRV,$MFLAG,[define to support DNS SRV backend])
2000-05-11 02:17:38 +08:00
fi
2003-04-23 17:13:24 +08:00
if test "$ol_enable_hdb" != no ; then
BUILD_SLAPD=yes
2004-04-08 13:56:23 +08:00
BUILD_HDB=$ol_enable_hdb
if test "$ol_enable_hdb" = mod ; then
2003-04-23 17:13:24 +08:00
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-hdb"
2004-04-08 13:56:23 +08:00
MFLAG=SLAPD_MOD_DYNAMIC
2003-04-23 17:13:24 +08:00
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-hdb"
2004-04-08 13:56:23 +08:00
MFLAG=SLAPD_MOD_STATIC
2003-04-23 17:13:24 +08:00
fi
2004-04-08 13:56:23 +08:00
AC_DEFINE_UNQUOTED(SLAPD_HDB,$MFLAG,[define to support HDB backend])
2003-04-23 17:13:24 +08:00
fi
1999-05-29 11:44:46 +08:00
if test "$ol_enable_ldap" != no ; then
1999-05-26 10:35:20 +08:00
BUILD_SLAPD=yes
2004-04-08 13:56:23 +08:00
BUILD_LDAP=$ol_enable_ldap
if test "$ol_enable_ldap" = mod ; then
2001-12-08 12:01:30 +08:00
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldap"
2004-04-08 13:56:23 +08:00
MFLAG=SLAPD_MOD_DYNAMIC
2001-12-08 12:01:30 +08:00
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldap"
2004-04-08 13:56:23 +08:00
MFLAG=SLAPD_MOD_STATIC
1999-06-25 01:06:34 +08:00
fi
2004-04-08 13:56:23 +08:00
AC_DEFINE_UNQUOTED(SLAPD_LDAP,$MFLAG,[define to support LDAP backend])
1999-05-26 10:35:20 +08:00
fi
2001-05-12 08:51:28 +08:00
if test "$ol_enable_meta" != no ; then
BUILD_SLAPD=yes
2004-04-08 13:56:23 +08:00
BUILD_META=$ol_enable_meta
2002-05-02 17:06:12 +08:00
BUILD_REWRITE=yes
2004-04-08 13:56:23 +08:00
if test "$ol_enable_meta" = mod ; then
2001-12-08 12:01:30 +08:00
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-meta"
2004-04-08 13:56:23 +08:00
MFLAG=SLAPD_MOD_DYNAMIC
2001-12-08 12:01:30 +08:00
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-meta"
2004-04-08 13:56:23 +08:00
MFLAG=SLAPD_MOD_STATIC
2001-05-12 08:51:28 +08:00
fi
2004-04-08 13:56:23 +08:00
AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend])
2001-05-12 08:51:28 +08:00
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
2002-04-08 17:43:22 +08:00
if test "$ol_enable_null" != no ; then
BUILD_SLAPD=yes
2004-04-08 13:56:23 +08:00
BUILD_NULL=$ol_enable_null
if test "$ol_enable_null" = mod ; then
2002-04-08 17:43:22 +08:00
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-null"
2004-04-08 13:56:23 +08:00
MFLAG=SLAPD_MOD_DYNAMIC
2002-04-08 17:43:22 +08:00
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-null"
2004-04-08 13:56:23 +08:00
MFLAG=SLAPD_MOD_STATIC
2002-04-08 17:43:22 +08:00
fi
2004-04-08 13:56:23 +08:00
AC_DEFINE_UNQUOTED(SLAPD_NULL,$MFLAG,[define to support NULL backend])
2002-04-08 17:43:22 +08:00
fi
1998-12-24 09:31:40 +08:00
if test "$ol_enable_passwd" != no ; then
1998-10-25 09:41:42 +08:00
BUILD_SLAPD=yes
2004-04-08 13:56:23 +08:00
BUILD_PASSWD=$ol_enable_passwd
if test "$ol_enable_passwd" = mod ; then
2001-12-08 12:01:30 +08:00
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-passwd"
2004-04-08 13:56:23 +08:00
MFLAG=SLAPD_MOD_DYNAMIC
2001-12-08 12:01:30 +08:00
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-passwd"
2004-04-08 13:56:23 +08:00
MFLAG=SLAPD_MOD_STATIC
1999-06-25 01:06:34 +08:00
fi
2004-04-08 13:56:23 +08:00
AC_DEFINE_UNQUOTED(SLAPD_PASSWD,$MFLAG,[define to support PASSWD backend])
1998-10-25 09:41:42 +08:00
fi
1999-04-14 09:33:01 +08:00
if test "$ol_link_perl" != no ; then
1999-01-14 14:33:09 +08:00
BUILD_SLAPD=yes
2004-04-08 13:56:23 +08:00
BUILD_PERL=$ol_enable_perl
if test "$ol_enable_perl" = mod ; then
2001-12-08 12:01:30 +08:00
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-perl"
2004-04-08 13:56:23 +08:00
MFLAG=SLAPD_MOD_DYNAMIC
2001-12-08 12:01:30 +08:00
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-perl"
2004-04-08 13:56:23 +08:00
MFLAG=SLAPD_MOD_STATIC
1999-06-25 01:06:34 +08:00
fi
2004-04-08 13:56:23 +08:00
AC_DEFINE_UNQUOTED(SLAPD_PERL,$MFLAG,[define to support PERL backend])
1999-01-14 14:33:09 +08:00
fi
2004-03-17 09:04:34 +08:00
if test "$ol_enable_relay" != no ; then
BUILD_SLAPD=yes
2004-04-08 13:56:23 +08:00
BUILD_RELAY=$ol_enable_relay
if test "$ol_enable_relay" = mod ; then
2004-03-17 09:04:34 +08:00
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-relay"
2004-04-08 13:56:23 +08:00
MFLAG=SLAPD_MOD_DYNAMIC
2004-03-17 09:04:34 +08:00
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-relay"
2004-04-08 13:56:23 +08:00
MFLAG=SLAPD_MOD_STATIC
2004-03-17 09:04:34 +08:00
fi
2004-04-08 13:56:23 +08:00
AC_DEFINE_UNQUOTED(SLAPD_RELAY,$MFLAG,[define to support relay backend])
2004-03-17 09:04:34 +08:00
fi
1998-12-24 09:31:40 +08:00
if test "$ol_enable_shell" != no ; then
2005-08-21 09:18:39 +08:00
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
2004-04-08 13:56:23 +08:00
BUILD_SHELL=$ol_enable_shell
if test "$ol_enable_shell" = mod ; then
2001-12-08 12:01:30 +08:00
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-shell"
2004-04-08 13:56:23 +08:00
MFLAG=SLAPD_MOD_DYNAMIC
2001-12-08 12:01:30 +08:00
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-shell"
2004-04-08 13:56:23 +08:00
MFLAG=SLAPD_MOD_STATIC
1999-06-25 01:06:34 +08:00
fi
2004-04-08 13:56:23 +08:00
AC_DEFINE_UNQUOTED(SLAPD_SHELL,$MFLAG,[define to support SHELL backend])
1998-10-25 09:41:42 +08:00
fi
2007-09-07 20:02:43 +08:00
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
2000-03-17 02:54:11 +08:00
BUILD_SLAPD=yes
2004-04-08 13:56:23 +08:00
BUILD_SQL=$ol_enable_sql
if test "$ol_enable_sql" = mod; then
2001-12-08 12:01:30 +08:00
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sql"
2004-04-08 13:56:23 +08:00
MFLAG=SLAPD_MOD_DYNAMIC
2001-12-08 12:01:30 +08:00
else
SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sql"
2004-04-08 13:56:23 +08:00
MFLAG=SLAPD_MOD_STATIC
2000-03-17 02:54:11 +08:00
fi
2004-04-08 13:56:23 +08:00
AC_DEFINE_UNQUOTED(SLAPD_SQL,$MFLAG,[define to support SQL backend])
2000-03-17 02:54:11 +08:00
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
2008-09-11 08:29:56 +08:00
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
2008-10-23 06:19:49 +08:00
if test "$ol_enable_deref" != no ; then
2009-09-30 07:53:43 +08:00
BUILD_DEREF=$ol_enable_deref
2008-10-23 06:19:49 +08:00
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
2004-04-07 14:08:46 +08:00
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
2004-04-07 14:08:46 +08:00
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
2004-04-07 14:08:46 +08:00
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
2004-04-17 16:45:29 +08:00
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"
2004-04-17 16:45:29 +08:00
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_REFINT,$MFLAG,[define for Referential Integrity overlay])
fi
2005-06-20 06:43:00 +08:00
if test "$ol_enable_retcode" != no ; then
BUILD_RETCODE=$ol_enable_retcode
if test "$ol_enable_retcode" = mod ; then
MFLAG=SLAPD_MOD_DYNAMIC
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS retcode.la"
else
MFLAG=SLAPD_MOD_STATIC
SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS retcode.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_RETCODE,$MFLAG,[define for Referential Integrity overlay])
fi
2004-04-08 10:48:38 +08:00
if test "$ol_enable_rwm" != no ; then
2003-12-10 07:50:10 +08:00
BUILD_REWRITE=yes
2004-04-07 14:08:46 +08:00
BUILD_RWM=$ol_enable_rwm
if test "$ol_enable_rwm" = mod ; then
2003-12-10 07:50:10 +08:00
MFLAG=SLAPD_MOD_DYNAMIC
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS rwm.la"
else
MFLAG=SLAPD_MOD_STATIC
2005-05-06 06:57:19 +08:00
SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS rwm_x.o"
2003-12-10 07:50:10 +08:00
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_RWM,$MFLAG,[define for Rewrite/Remap overlay])
fi
2006-02-13 10:24:26 +08:00
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
2004-11-26 05:16:54 +08:00
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"
2004-11-26 05:16:54 +08:00
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
2004-04-17 16:45:29 +08:00
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"
2004-04-17 16:45:29 +08:00
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
2001-05-12 08:51:28 +08:00
if test "$ol_enable_rewrite" != no ; then
AC_DEFINE(ENABLE_REWRITE,1,[define to enable rewriting in back-ldap and back-meta])
BUILD_REWRITE=yes
fi
2002-12-08 01:19:29 +08:00
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
1999-10-28 15:23:03 +08:00
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=
1999-10-28 15:23:03 +08:00
else
2001-12-08 12:29:34 +08:00
PLAT=UNIX
1999-10-28 15:23:03 +08:00
fi
AC_SUBST(LIBSRCS)
AC_SUBST(PLAT)
2004-06-19 18:00:25 +08:00
AC_SUBST(WITH_SASL)
2003-10-18 10:39:08 +08:00
AC_SUBST(WITH_TLS)
2004-10-28 03:37:02 +08:00
AC_SUBST(WITH_MODULES_ENABLED)
2005-08-28 00:27:12 +08:00
AC_SUBST(WITH_ACI_ENABLED)
2005-12-17 00:52:52 +08:00
AC_SUBST(BUILD_THREAD)
2001-12-07 12:03:25 +08:00
AC_SUBST(BUILD_LIBS_DYNAMIC)
1999-10-28 15:23:03 +08:00
1998-10-25 09:41:42 +08:00
AC_SUBST(BUILD_SLAPD)
2004-03-19 02:59:46 +08:00
dnl slapi
2002-12-08 01:19:29 +08:00
AC_SUBST(BUILD_SLAPI)
AC_SUBST(SLAPD_SLAPI_DEPEND)
2004-03-19 02:59:46 +08:00
dnl backends
2000-09-19 03:02:03 +08:00
AC_SUBST(BUILD_BDB)
2000-05-11 02:17:38 +08:00
AC_SUBST(BUILD_DNSSRV)
2003-04-23 17:13:24 +08:00
AC_SUBST(BUILD_HDB)
1999-05-26 10:35:20 +08:00
AC_SUBST(BUILD_LDAP)
2001-05-12 08:51:28 +08:00
AC_SUBST(BUILD_META)
2001-07-15 01:34:24 +08:00
AC_SUBST(BUILD_MONITOR)
2008-08-27 05:48:17 +08:00
AC_SUBST(BUILD_NDB)
2002-04-08 17:43:22 +08:00
AC_SUBST(BUILD_NULL)
1998-10-25 09:41:42 +08:00
AC_SUBST(BUILD_PASSWD)
2004-03-17 09:04:34 +08:00
AC_SUBST(BUILD_RELAY)
1999-01-14 14:33:09 +08:00
AC_SUBST(BUILD_PERL)
1998-10-25 09:41:42 +08:00
AC_SUBST(BUILD_SHELL)
2007-09-07 20:02:43 +08:00
AC_SUBST(BUILD_SOCK)
2000-03-17 02:54:11 +08:00
AC_SUBST(BUILD_SQL)
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)
2008-09-11 08:29:56 +08:00
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)
2004-04-17 16:45:29 +08:00
AC_SUBST(BUILD_REFINT)
2005-06-20 06:43:00 +08:00
AC_SUBST(BUILD_RETCODE)
2003-12-10 07:50:10 +08:00
AC_SUBST(BUILD_RWM)
2006-02-13 10:24:26 +08:00
AC_SUBST(BUILD_SEQMOD)
2009-07-13 22:27:04 +08:00
AC_SUBST(BUILD_SSSVLV)
2004-11-26 05:16:54 +08:00
AC_SUBST(BUILD_SYNCPROV)
2005-03-10 12:35:57 +08:00
AC_SUBST(BUILD_TRANSLUCENT)
2004-04-17 16:45:29 +08:00
AC_SUBST(BUILD_UNIQUE)
2005-08-24 17:05:13 +08:00
AC_SUBST(BUILD_VALSORT)
1998-10-25 09:41:42 +08:00
AC_SUBST(LDAP_LIBS)
AC_SUBST(SLAPD_LIBS)
2006-04-08 12:15:37 +08:00
AC_SUBST(BDB_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)
1999-09-23 01:45:59 +08:00
AC_SUBST(WRAP_LIBS)
1998-10-25 09:41:42 +08:00
1999-04-14 09:33:01 +08:00
AC_SUBST(SLAPD_MODULES_CPPFLAGS)
AC_SUBST(SLAPD_MODULES_LDFLAGS)
2002-09-04 18:58:25 +08:00
AC_SUBST(SLAPD_NO_STATIC)
2001-12-08 12:01:30 +08:00
AC_SUBST(SLAPD_STATIC_BACKENDS)
AC_SUBST(SLAPD_DYNAMIC_BACKENDS)
2005-05-06 06:57:19 +08:00
AC_SUBST(SLAPD_STATIC_OVERLAYS)
2003-12-06 18:59:27 +08:00
AC_SUBST(SLAPD_DYNAMIC_OVERLAYS)
2001-12-08 12:01:30 +08:00
1999-09-23 13:32:10 +08:00
AC_SUBST(PERL_CPPFLAGS)
1999-01-14 14:33:09 +08:00
AC_SUBST(SLAPD_PERL_LDFLAGS)
1999-09-23 13:32:10 +08:00
AC_SUBST(MOD_PERL_LDFLAGS)
1999-01-14 14:33:09 +08:00
2000-01-09 02:42:11 +08:00
AC_SUBST(KRB4_LIBS)
AC_SUBST(KRB5_LIBS)
1999-08-05 10:25:19 +08:00
AC_SUBST(SASL_LIBS)
1999-02-25 21:07:27 +08:00
AC_SUBST(TLS_LIBS)
1999-08-07 15:59:41 +08:00
AC_SUBST(MODULES_LIBS)
2002-12-08 01:19:29 +08:00
AC_SUBST(SLAPI_LIBS)
2002-12-08 03:19:26 +08:00
AC_SUBST(LIBSLAPI)
AC_SUBST(LIBSLAPITOOLS)
2000-05-11 18:10:53 +08:00
AC_SUBST(AUTH_LIBS)
2005-11-16 14:31:00 +08:00
AC_SUBST(ICU_LIBS)
1998-10-25 09:41:42 +08:00
2001-01-17 06:18:33 +08:00
AC_SUBST(SLAPD_SLP_LIBS)
2004-09-12 00:15:53 +08:00
AC_SUBST(SLAPD_GMP_LIBS)
2001-01-17 06:18:33 +08:00
2000-03-17 02:54:11 +08:00
AC_SUBST(SLAPD_SQL_LDFLAGS)
AC_SUBST(SLAPD_SQL_LIBS)
AC_SUBST(SLAPD_SQL_INCLUDES)
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 ----------------------------------------------------------------
2003-04-08 06:23:24 +08:00
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/libldap_r/Makefile:build/top.mk:libraries/libldap_r/Makefile.in:build/lib.mk:build/lib-shared.mk]
[libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk]
[libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk]
2005-08-26 10:20:45 +08:00
[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-bdb/Makefile:build/top.mk:servers/slapd/back-bdb/Makefile.in:build/mod.mk]
[servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk]
[servers/slapd/back-hdb/Makefile:build/top.mk:servers/slapd/back-hdb/Makefile.in:build/mod.mk]
[servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/mod.mk]
[servers/slapd/back-ldif/Makefile:build/top.mk:servers/slapd/back-ldif/Makefile.in:build/mod.mk]
[servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk]
[servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk]
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]
2007-09-07 20:02:43 +08:00
[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]
[servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk]
[servers/slapd/slapi/Makefile:build/top.mk:servers/slapd/slapi/Makefile.in:build/lib.mk:build/lib-shared.mk]
[servers/slapd/overlays/Makefile:build/top.mk:servers/slapd/overlays/Makefile.in:build/lib.mk]
[tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk]
[tests/run]
[tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk])
2005-08-12 12:46:26 +08:00
AC_CONFIG_COMMANDS([default],[[
2003-10-21 11:08:29 +08:00
chmod +x tests/run
2003-04-08 06:23:24 +08:00
date > stamp-h
2005-01-09 16:42:44 +08:00
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/>.
*
2010-04-14 06:17:29 +08:00
* Copyright 1998-2010 The OpenLDAP Foundation.
2005-01-09 16:42:44 +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_BACKENDS}"; then
2005-03-02 16:32:11 +08:00
for b in config ${STATIC_BACKENDS}; do
2005-01-09 16:42:44 +08:00
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[] = {
2005-01-09 16:42:44 +08:00
ENDX
2005-03-02 16:32:11 +08:00
for b in config ${STATIC_BACKENDS}; do
2005-01-09 16:42:44 +08:00
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/>.
*
2010-04-14 06:17:29 +08:00
* Copyright 1998-2010 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
2005-11-27 01:04:51 +08:00
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
2005-01-09 16:42:44 +08:00
2007-07-02 23:15:31 +08:00
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