2 dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
4 dnl Copyright 1998-2017 The OpenLDAP Foundation.
5 dnl All rights reserved.
7 dnl Redistribution and use in source and binary forms, with or without
8 dnl modification, are permitted only as authorized by the OpenLDAP
11 dnl A copy of this license is available in the file LICENSE in the
12 dnl top-level directory of the distribution or, alternatively, at
13 dnl <http://www.OpenLDAP.org/license.html>.
15 dnl ----------------------------------------------------------------
16 dnl Disable config.cache!
17 define([AC_CACHE_LOAD], )dnl
18 define([AC_CACHE_SAVE], )dnl
19 dnl ----------------------------------------------------------------
20 dnl Disable libtool 1.5 support for languages we don't use
21 define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
22 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
23 define([AC_LIBTOOL_LANG_GCJ_CONFIG], [:])dnl
24 dnl ================================================================
25 dnl Configure.in for OpenLDAP
26 AC_COPYRIGHT([[Copyright 1998-2017 The OpenLDAP Foundation. All rights reserved.
27 Restrictions apply, see COPYRIGHT and LICENSE files.]])
29 AC_INIT([OpenLDAP],,[http://www.openldap.org/its/])
30 m4_define([AC_PACKAGE_BUGREPORT],[<http://www.openldap.org/its/>])
31 AC_CONFIG_SRCDIR(build/version.sh)dnl
32 dnl ----------------------------------------------------------------
33 dnl OpenLDAP Autoconf Macros
34 builtin(include, build/openldap.m4)dnl
35 dnl ================================================================
37 AC_CONFIG_AUX_DIR(build)dnl
39 eval `$ac_aux_dir/version.sh`
40 if test -z "$OL_STRING"; then
41 AC_MSG_ERROR([could not determine version])
44 if test -f "$ac_aux_dir/shtool" && test ! -d $ac_aux_dir/shtool; then
45 ac_cv_shtool="$ac_aux_dir/shtool"
47 AC_MSG_ERROR([no shtool found in $ac_aux_dir])
50 SHTOOL="$ac_cv_shtool"
51 dnl AC_SUBST(SHTOOL)dnl
55 TB="`$SHTOOL echo -e '%B' 2>/dev/null`"
56 TN="`$SHTOOL echo -e '%b' 2>/dev/null`"
60 if test -d $ac_aux_dir/../.git; then
61 OPENLDAP_REPO="(from Git clone) "
62 elif test -d $ac_aux_dir/CVS; then
63 OPENLDAP_REPO="(from CVS checkout) "
66 echo "Configuring ${TB}${OL_STRING}${TN} ${OPENLDAP_REPO}..."
68 dnl Determine host platform
69 dnl we try not to use this for much
70 AC_CANONICAL_TARGET([])
72 AM_INIT_AUTOMAKE([$OL_PACKAGE],[$OL_VERSION], [no defines])dnl
75 AC_DEFINE_UNQUOTED(OPENLDAP_PACKAGE,"$PACKAGE",Package)
76 AC_DEFINE_UNQUOTED(OPENLDAP_VERSION,"$VERSION",Version)
78 AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION,$OL_API_INC,Version)
79 AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_MAJOR,$OL_MAJOR,Major)
80 AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_MINOR,$OL_MINOR,Minor)
81 AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_PATCH,$OL_PATCH,Patch)
83 OPENLDAP_LIBRELEASE=$OL_API_LIB_RELEASE
84 AC_SUBST(OPENLDAP_LIBRELEASE)dnl
86 OPENLDAP_LIBVERSION=$OL_API_LIB_VERSION
87 AC_SUBST(OPENLDAP_LIBVERSION)dnl
89 OPENLDAP_RELEASE_DATE="$OL_RELEASE_DATE"
90 AC_SUBST(OPENLDAP_RELEASE_DATE)dnl
92 dnl We use autoconf features new to 2.59. Later versions like won't work.
93 dnl aclocal.m4 should be built using aclocal from automake 1.5
94 dnl libtool 1.5 should be installed.
95 AC_PREREQ(2.59)dnl Required Autoconf version
98 /* begin of portable.h.pre */
99 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
101 * Copyright 1998-2017 The OpenLDAP Foundation
102 * All rights reserved.
104 * Redistribution and use in source and binary forms, with or without
105 * modification, are permitted only as authorized by the OpenLDAP
108 * A copy of this license is available in the file LICENSE in the
109 * top-level directory of the distribution or, alternatively, at
110 * <http://www.OpenLDAP.org/license.html>.
113 #ifndef _LDAP_PORTABLE_H
114 #define _LDAP_PORTABLE_H
116 /* define this if needed to get reentrant functions */
124 /* define this if needed to get threadsafe functions */
138 #ifndef _SGI_MP_SOURCE
139 #undef _SGI_MP_SOURCE
142 /* end of portable.h.pre */
145 /* begin of portable.h.post */
148 /* don't suck in all of the win32 api */
149 # define WIN32_LEAN_AND_MEAN 1
152 #ifndef LDAP_NEEDS_PROTOTYPES
153 /* force LDAP_P to always include prototypes */
154 #define LDAP_NEEDS_PROTOTYPES 1
158 #if (LDAP_VENDOR_VERSION == 000000) && !defined(LDAP_DEVEL)
161 #if defined(LDAP_DEVEL) && !defined(LDAP_TEST)
171 /* ASCII/EBCDIC converting replacements for stdio funcs
172 * vsnprintf and snprintf are used too, but they are already
173 * checked by the configure script
175 #define fputs ber_pvt_fputs
176 #define fgets ber_pvt_fgets
177 #define printf ber_pvt_printf
178 #define fprintf ber_pvt_fprintf
179 #define vfprintf ber_pvt_vfprintf
180 #define vsprintf ber_pvt_vsprintf
183 #include "ac/fdset.h"
185 #include "ldap_cdefs.h"
186 #include "ldap_features.h"
188 #include "ac/assert.h"
189 #include "ac/localize.h"
191 #endif /* _LDAP_PORTABLE_H */
192 /* end of portable.h.post */
195 AC_CONFIG_HEADERS([include/portable.h:include/portable.hin])
196 AC_CONFIG_HEADERS([include/ldap_features.h:include/ldap_features.hin])
197 AC_CONFIG_HEADERS([include/lber_types.h:include/lber_types.hin])
199 dnl ================================================================
201 AC_MSG_CHECKING(configure arguments)
202 AC_PREFIX_DEFAULT(/usr/local)
205 AC_SUBST(top_builddir)dnl
207 dnl ----------------------------------------------------------------
209 ldap_subdir="/openldap"
212 [ --with-subdir=DIR change default subdirectory used for installs],
219 ldap_subdir="$withval"
222 ldap_subdir="/$withval"
227 AC_SUBST(ldap_subdir)dnl
229 dnl ----------------------------------------------------------------
230 dnl General "enable" options
231 dnl set default to traditional to enable the original debug style
232 OL_ARG_ENABLE(debug,[ --enable-debug enable debugging], yes, [no yes traditional])dnl
233 OL_ARG_ENABLE(dynamic,[ --enable-dynamic enable linking built binaries with dynamic libs], no)dnl
234 OL_ARG_ENABLE(syslog,[ --enable-syslog enable syslog support], auto)dnl
235 OL_ARG_ENABLE(proctitle,[ --enable-proctitle enable proctitle support], yes)dnl
236 dnl OL_ARG_ENABLE(referrals,[ --enable-referrals enable LDAPv2+ Referrals (experimental)], no)dnl
237 ol_enable_referrals=${ol_enable_referrals-no}
238 OL_ARG_ENABLE(ipv6,[ --enable-ipv6 enable IPv6 support], auto)dnl
239 OL_ARG_ENABLE(local,[ --enable-local enable AF_LOCAL (AF_UNIX) socket support], auto)dnl
241 dnl ----------------------------------------------------------------
242 dnl General "with" options
243 OL_ARG_WITH(cyrus_sasl,[ --with-cyrus-sasl with Cyrus SASL support],
244 auto, [auto yes no] )
245 OL_ARG_WITH(fetch,[ --with-fetch with fetch(3) URL support],
246 auto, [auto yes no] )
247 OL_ARG_WITH(threads,[ --with-threads with threads],
248 auto, [auto nt posix mach pth lwp yes no manual] )
249 OL_ARG_WITH(tls,[ --with-tls with TLS/SSL support auto|openssl|gnutls|moznss],
250 auto, [auto openssl gnutls moznss yes no] )
251 OL_ARG_WITH(yielding_select,
252 [ --with-yielding-select with implicitly yielding select],
253 auto, [auto yes no manual] )
255 [ --with-mp with multiple precision statistics auto|longlong|long|bignum|gmp],
256 auto, [auto longlong long bignum gmp yes no])
258 [ --with-odbc with specific ODBC support iodbc|unixodbc|odbc32|auto],
259 auto, [auto iodbc unixodbc odbc32] )
261 dnl ----------------------------------------------------------------
263 dnl ----------------------------------------------------------------
265 dnl ----------------------------------------------------------------
267 AC_ARG_ENABLE(xxslapdoptions,[
268 SLAPD (Standalone LDAP Daemon) Options:])
269 OL_ARG_ENABLE(slapd,[ --enable-slapd enable building slapd], yes)dnl
270 OL_ARG_ENABLE(dynacl,[ --enable-dynacl enable run-time loadable ACL support (experimental)], no)dnl
271 OL_ARG_ENABLE(aci,[ --enable-aci enable per-object ACIs (experimental)], no, [no yes mod])dnl
272 OL_ARG_ENABLE(cleartext,[ --enable-cleartext enable cleartext passwords], yes)dnl
273 OL_ARG_ENABLE(crypt,[ --enable-crypt enable crypt(3) passwords], no)dnl
274 OL_ARG_ENABLE(lmpasswd,[ --enable-lmpasswd enable LAN Manager passwords], no)dnl
275 OL_ARG_ENABLE(spasswd,[ --enable-spasswd enable (Cyrus) SASL password verification], no)dnl
276 OL_ARG_ENABLE(modules,[ --enable-modules enable dynamic module support], no)dnl
277 OL_ARG_ENABLE(rewrite,[ --enable-rewrite enable DN rewriting in back-ldap and rwm overlay], auto)dnl
278 OL_ARG_ENABLE(rlookups,[ --enable-rlookups enable reverse lookups of client hostnames], no)dnl
279 OL_ARG_ENABLE(slapi,[ --enable-slapi enable SLAPI support (experimental)], no)dnl
280 OL_ARG_ENABLE(slp,[ --enable-slp enable SLPv2 support], no)dnl
281 OL_ARG_ENABLE(wrappers,[ --enable-wrappers enable tcp wrapper support], no)dnl
283 dnl ----------------------------------------------------------------
284 dnl SLAPD Backend Options
303 AC_ARG_ENABLE(xxslapbackends,[
304 SLAPD Backend Options:])
306 OL_ARG_ENABLE(backends,[ --enable-backends enable all available backends],
308 OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend],
309 no, [no yes mod], ol_enable_backends)dnl
310 OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend],
311 no, [no yes mod], ol_enable_backends)dnl
312 OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend],
313 no, [no yes mod], ol_enable_backends)dnl
314 OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend],
315 no, [no yes mod], ol_enable_backends)dnl
316 OL_ARG_ENABLE(mdb,[ --enable-mdb enable mdb database backend],
317 yes, [no yes mod], ol_enable_backends)dnl
318 OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend],
319 no, [no yes mod], ol_enable_backends)dnl
320 OL_ARG_ENABLE(asyncmeta,[ --enable-asyncmeta enable asynchronous metadirectory backend],
321 no, [no yes mod], ol_enable_backends)dnl
322 OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend],
323 yes, [no yes mod], ol_enable_backends)dnl
324 OL_ARG_ENABLE(ndb,[ --enable-ndb enable MySQL NDB Cluster backend],
325 no, [no yes mod], ol_enable_backends)dnl
326 OL_ARG_ENABLE(null,[ --enable-null enable null backend],
327 no, [no yes mod], ol_enable_backends)dnl
328 OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend],
329 no, [no yes mod], ol_enable_backends)dnl
330 OL_ARG_ENABLE(perl,[ --enable-perl enable perl backend],
331 no, [no yes mod], ol_enable_backends)dnl
332 OL_ARG_ENABLE(relay,[ --enable-relay enable relay backend],
333 yes, [no yes mod], ol_enable_backends)dnl
334 OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend],
335 no, [no yes mod], ol_enable_backends)dnl
336 OL_ARG_ENABLE(sock,[ --enable-sock enable sock backend],
337 no, [no yes mod], ol_enable_backends)dnl
338 OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend],
339 no, [no yes mod], ol_enable_backends)dnl
340 OL_ARG_ENABLE(wt,[ --enable-wt enable WiredTiger backend],
341 no, [no yes mod], ol_enable_backends)dnl
343 dnl ----------------------------------------------------------------
344 dnl SLAPD Overlay Options
345 Overlays="accesslog \
367 AC_ARG_ENABLE(xxslapoverlays,[
368 SLAPD Overlay Options:])
370 OL_ARG_ENABLE(overlays,[ --enable-overlays enable all available overlays],
372 OL_ARG_ENABLE(accesslog,[ --enable-accesslog In-Directory Access Logging overlay],
373 no, [no yes mod], ol_enable_overlays)
374 OL_ARG_ENABLE(auditlog,[ --enable-auditlog Audit Logging overlay],
375 no, [no yes mod], ol_enable_overlays)
376 OL_ARG_ENABLE(autoca,[ --enable-autoca Automatic Certificate Authority overlay],
377 no, [no yes mod], ol_enable_overlays)
378 OL_ARG_ENABLE(collect,[ --enable-collect Collect overlay],
379 no, [no yes mod], ol_enable_overlays)
380 OL_ARG_ENABLE(constraint,[ --enable-constraint Attribute Constraint overlay],
381 no, [no yes mod], ol_enable_overlays)
382 OL_ARG_ENABLE(dds,[ --enable-dds Dynamic Directory Services overlay],
383 no, [no yes mod], ol_enable_overlays)
384 OL_ARG_ENABLE(deref,[ --enable-deref Dereference overlay],
385 no, [no yes mod], ol_enable_overlays)
386 OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay],
387 no, [no yes mod], ol_enable_overlays)
388 OL_ARG_ENABLE(dynlist,[ --enable-dynlist Dynamic List overlay],
389 no, [no yes mod], ol_enable_overlays)
390 OL_ARG_ENABLE(memberof,[ --enable-memberof Reverse Group Membership overlay],
391 no, [no yes mod], ol_enable_overlays)
392 OL_ARG_ENABLE(ppolicy,[ --enable-ppolicy Password Policy overlay],
393 no, [no yes mod], ol_enable_overlays)
394 OL_ARG_ENABLE(proxycache,[ --enable-proxycache Proxy Cache overlay],
395 no, [no yes mod], ol_enable_overlays)
396 OL_ARG_ENABLE(refint,[ --enable-refint Referential Integrity overlay],
397 no, [no yes mod], ol_enable_overlays)
398 OL_ARG_ENABLE(retcode,[ --enable-retcode Return Code testing overlay],
399 no, [no yes mod], ol_enable_overlays)
400 OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay],
401 no, [no yes mod], ol_enable_overlays)
402 OL_ARG_ENABLE(seqmod,[ --enable-seqmod Sequential Modify overlay],
403 no, [no yes mod], ol_enable_overlays)
404 OL_ARG_ENABLE(sssvlv,[ --enable-sssvlv ServerSideSort/VLV overlay],
405 no, [no yes mod], ol_enable_overlays)
406 OL_ARG_ENABLE(syncprov,[ --enable-syncprov Syncrepl Provider overlay],
407 yes, [no yes mod], ol_enable_overlays)
408 OL_ARG_ENABLE(translucent,[ --enable-translucent Translucent Proxy overlay],
409 no, [no yes mod], ol_enable_overlays)
410 OL_ARG_ENABLE(unique,[ --enable-unique Attribute Uniqueness overlay],
411 no, [no yes mod], ol_enable_overlays)
412 OL_ARG_ENABLE(valsort,[ --enable-valsort Value Sorting overlay],
413 no, [no yes mod], ol_enable_overlays)
415 dnl ----------------------------------------------------------------
416 AC_ARG_ENABLE(xxliboptions,[
417 Library Generation & Linking Options])
421 dnl ----------------------------------------------------------------
424 if test $ol_enable_slapd = no ; then
425 dnl SLAPD was specificallly disabled
426 if test $ol_enable_slapi = yes ; then
427 AC_MSG_WARN([slapd disabled, ignoring --enable-slapi argument])
429 case "$ol_enable_backends" in yes | mod)
430 AC_MSG_WARN([slapd disabled, ignoring --enable-backends argument])
432 for i in $Backends; do
433 eval "ol_tmp=\$ol_enable_$i"
434 if test $ol_tmp != no ; then
435 AC_MSG_WARN([slapd disabled, ignoring --enable-$i argument])
436 eval "ol_enable_$i=no"
439 if test $ol_enable_modules = yes ; then
440 AC_MSG_WARN([slapd disabled, ignoring --enable-modules argument])
442 if test $ol_enable_wrappers = yes ; then
443 AC_MSG_WARN([slapd disabled, ignoring --enable-wrappers argument])
445 if test $ol_enable_rlookups = yes ; then
446 AC_MSG_WARN([slapd disabled, ignoring --enable-rlookups argument])
448 if test $ol_enable_dynacl = yes ; then
449 AC_MSG_WARN([slapd disabled, ignoring --enable-dynacl argument])
451 if test $ol_enable_aci != no ; then
452 AC_MSG_WARN([slapd disabled, ignoring --enable-aci argument])
454 if test $ol_enable_rewrite = yes ; then
455 AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument])
458 case "$ol_enable_overlays" in yes | mod)
459 AC_MSG_WARN([slapd disabled, ignoring --enable-overlays argument])
461 for i in $Overlays; do
462 eval "ol_tmp=\$ol_enable_$i"
463 if test $ol_tmp != no ; then
464 AC_MSG_WARN([slapd disabled, ignoring --enable-$i argument])
465 eval "ol_enable_$i=no"
469 # force settings to no
475 ol_enable_rlookups=no
478 ol_enable_wrappers=no
482 elif test $ol_enable_modules != yes &&
483 test $ol_enable_bdb = no &&
484 test $ol_enable_dnssrv = no &&
485 test $ol_enable_hdb = no &&
486 test $ol_enable_ldap = no &&
487 test $ol_enable_mdb = no &&
488 test $ol_enable_meta = no &&
489 test $ol_enable_asyncmeta = no &&
490 test $ol_enable_monitor = no &&
491 test $ol_enable_ndb = no &&
492 test $ol_enable_null = no &&
493 test $ol_enable_passwd = no &&
494 test $ol_enable_perl = no &&
495 test $ol_enable_relay = no &&
496 test $ol_enable_shell = no &&
497 test $ol_enable_sock = no &&
498 test $ol_enable_sql = no &&
499 test $ol_enable_wt = no ; then
502 if test $ol_enable_slapd = yes ; then
503 AC_MSG_ERROR([slapd requires a backend])
505 AC_MSG_WARN([skipping slapd, no backend specified])
510 if test $ol_enable_meta/$ol_enable_ldap = yes/no ; then
511 AC_MSG_ERROR([--enable-meta requires --enable-ldap])
514 if test $ol_enable_asyncmeta/$ol_enable_ldap = yes/no ; then
515 AC_MSG_ERROR([--enable-asyncmeta requires --enable-ldap])
518 if test $ol_enable_lmpasswd = yes ; then
519 if test $ol_with_tls = no ; then
520 AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
524 if test $ol_enable_spasswd = yes ; then
525 if test $ol_with_cyrus_sasl = no ; then
526 AC_MSG_ERROR([options require --with-cyrus-sasl])
528 ol_with_cyrus_sasl=yes
533 dnl ----------------------------------------------------------------
591 SLAPD_STATIC_OVERLAYS=
592 SLAPD_DYNAMIC_OVERLAYS=
594 SLAPD_MODULES_LDFLAGS=
595 SLAPD_MODULES_CPPFLAGS=
597 SLAPD_STATIC_BACKENDS=back-ldif
598 SLAPD_DYNAMIC_BACKENDS=
621 dnl ================================================================
622 dnl Checks for programs
624 AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion])
626 dnl ----------------------------------------------------------------
628 dnl Determine which C translator to use
631 dnl AIX Thread requires we use cc_r or xlc_r.
632 dnl But only do this IF AIX and CC is not set
633 dnl and threads are auto|yes|posix.
635 dnl If we find cc_r|xlc_r, force pthreads and assume
636 dnl pthread_create is in $LIBS (ie: don't bring in
637 dnl any additional thread libraries)
638 dnl If we do not find cc_r|xlc_r, disable threads
642 *-*-aix*) dnl all AIX is not a good idea.
643 if test -z "$CC" ; then
644 case "$ol_with_threads" in
645 auto | yes | posix) ol_aix_threads=yes ;;
651 if test $ol_aix_threads = yes ; then
652 if test -z "${CC}" ; then
653 AC_CHECK_PROGS(CC,cc_r xlc_r cc)
655 if test "$CC" = cc ; then
656 dnl no CC! don't allow --with-threads
657 if test $ol_with_threads != auto ; then
658 AC_MSG_ERROR([--with-threads requires cc_r (or other suitable compiler) on AIX])
660 AC_MSG_WARN([disabling threads, no cc_r on AIX])
666 case ${CC} in cc_r | xlc_r)
667 ol_with_threads=posix
668 ol_cv_pthread_create=yes
673 if test -z "${CC}"; then
674 AC_CHECK_PROGS(CC,cc gcc,missing)
676 if test "${CC}" = "missing" ; then
677 AC_MSG_ERROR([Unable to locate cc(1) or suitable replacement. Check PATH or set CC.])
681 if test -z "${AR}"; then
682 AC_CHECK_PROGS(AR,ar gar,missing)
684 if test "${AR}" = "missing" ; then
685 AC_MSG_ERROR([Unable to locate ar(1) or suitable replacement. Check PATH or set AR.])
693 dnl ----------------------------------------------------------------
696 if test $ol_enable_perl != no ; then
697 AC_PATH_PROG(PERLBIN, perl, /usr/bin/perl)
699 if test "no$PERLBIN" = "no" ; then
700 if test $ol_enable_perl = yes ; then
701 AC_MSG_ERROR([could not locate perl])
705 PERL_CPPFLAGS="`$PERLBIN -MExtUtils::Embed -e ccopts`"
706 PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e 's/ -lc / /' -e 's/ -lc$//'`"
708 if test x"$ol_enable_perl" = "xyes" ; then
709 SLAPD_PERL_LDFLAGS="$PERL_LDFLAGS"
711 MOD_PERL_LDFLAGS="$PERL_LDFLAGS"
713 dnl should check perl version
721 dnl ----------------------------------------------------------------
722 dnl Checks for Windows NT
724 *mingw32* ) ac_cv_mingw32=yes ;;
725 *cygwin* ) ac_cv_cygwin=yes ;;
726 *interix* ) ac_cv_interix=yes ;;
729 dnl ----------------------------------------------------------------
730 dnl Checks for file extensions
733 AC_DEFINE_UNQUOTED(EXEEXT, "${EXEEXT}", [defined to be the EXE extension])
735 dnl ----------------------------------------------------------------
736 dnl BeOS requires -lbe -lroot -lnet
737 AC_CHECK_LIB(be, be_app, [LIBS="$LIBS -lbe -lroot -lnet"], :, [-lroot -lnet])
739 dnl ----------------------------------------------------------------
740 dnl OpenLDAP requires STDC features
742 if test "X${ac_cv_prog_cc_stdc}" = "Xno" ; then
743 AC_MSG_ERROR([OpenLDAP requires compiler to support STDC constructs.])
746 dnl ----------------------------------------------------------------
747 dnl Check cc depend flags
749 if test "${ol_cv_mkdep}" = no ; then
750 # this will soon become an error
751 AC_MSG_WARN([do not know how to generate dependencies])
754 dnl ----------------------------------------------------------------
755 dnl Check for AIX security library
756 AC_CHECK_LIB(s, afopen, [
758 AC_DEFINE(HAVE_AIX_SECURITY,1,[define if you have AIX security lib])
761 dnl ----------------------------------------------------------------
762 dnl Check for IBM OS/390
766 AC_DEFINE(BOTH_STRINGS_H,1,[define to use both <string.h> and <strings.h>])
770 dnl ----------------------------------------------------------------
771 dnl Check for module support
773 WITH_MODULES_ENABLED=no
774 if test $ol_enable_modules != no ; then
775 AC_CHECK_HEADERS(ltdl.h)
777 if test $ac_cv_header_ltdl_h = no ; then
778 AC_MSG_ERROR([could not locate libtool ltdl.h])
781 AC_CHECK_LIB(ltdl, lt_dlinit, [
783 AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
786 if test "$ac_cv_lib_ltdl_lt_dlinit" = no ; then
787 AC_MSG_ERROR([could not locate libtool -lltdl])
790 WITH_MODULES_ENABLED=yes
793 for i in $Backends; do
794 eval "ol_tmp=\$ol_enable_$i"
795 if test $ol_tmp = mod ; then
796 AC_MSG_WARN([building static $i backend])
797 eval "ol_enable_$i=yes"
800 for i in $Overlays; do
801 eval "ol_tmp=\$ol_enable_$i"
802 if test $ol_tmp = mod ; then
803 AC_MSG_WARN([building static $i overlay])
804 eval "ol_enable_$i=yes"
809 dnl ----------------------------------------------------------------
810 dnl Checks for header files.
813 if test $ol_cv_header_stdc != yes; then
814 AC_MSG_WARN([could not locate Standard C compliant headers])
871 dnl Only check Winsock on MinGW
872 if test "$ac_cv_mingw32" = yes \
873 -o "$ac_cv_interix" = yes \
874 -o "$ol_cv_msvc" = yes
876 AC_CHECK_HEADERS( winsock.h winsock2.h )
879 AC_CHECK_HEADERS( resolv.h, [], [],
880 [$ac_includes_default
881 #include <netinet/in.h>
884 AC_CHECK_HEADERS( netinet/tcp.h, [], [],
885 [$ac_includes_default
886 #include <netinet/in.h>
889 AC_CHECK_HEADERS( sys/ucred.h, [], [],
890 [$ac_includes_default
891 #ifdef HAVE_SYS_PARAM_H
892 #include <sys/param.h>
896 dnl ----------------------------------------------------------------
897 dnl Checks for libraries
899 AC_CHECK_FUNCS( sigaction sigset )
901 dnl HP-UX requires -lV3
902 dnl this is not needed on newer versions of HP-UX
903 if test $ac_cv_func_sigaction = no && test $ac_cv_func_sigaction = no ; then
904 AC_CHECK_LIB(V3, sigset)
907 if test $ol_cv_msvc = yes ; then
911 dnl The following is INTENTIONALLY scripted out because shell does not
912 dnl support variable names with the '@' character, which is what
913 dnl autoconf would try to generate if one merely used AC_SEARCH_LIBS
914 if test "$ac_cv_header_winsock_h" = yes; then
915 AC_CACHE_CHECK([for winsock], [ol_cv_winsock],[
917 for curlib in none ws2_32 wsock32; do
918 if test $curlib != none ; then
919 LIBS="$save_LIBS -l$curlib"
921 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <winsock.h>
924 select(0,NULL,NULL,NULL,NULL);
927 ]])],[ol_cv_winsock=$curlib],[ol_cv_winsock=no])
929 test "$ol_cv_winsock" != no && break
934 if test $ol_cv_winsock != no ; then
935 AC_DEFINE(HAVE_WINSOCK, 1, [define if you have winsock])
936 ac_cv_func_socket=yes
937 ac_cv_func_select=yes
938 ac_cv_func_closesocket=yes
939 ac_cv_func_gethostname=yes
941 if test $ol_cv_winsock != none -a $ol_cv_winsock != yes ; then
942 LIBS="$LIBS -l$ol_cv_winsock"
945 if test $ol_cv_winsock = ws2_32 -o $ol_cv_winsock = yes ; then
946 AC_DEFINE(HAVE_WINSOCK2, 1, [define if you have winsock2])
952 dnl Likely combinations:
953 dnl -lsocket [ -lnsl_s | -lnsl ]
956 AC_CHECK_FUNC(socket, :, [
957 dnl hopefully we won't include too many libraries
958 AC_CHECK_LIB(socket, main)
959 AC_CHECK_LIB(net, socket)
960 AC_CHECK_LIB(nsl_s, main)
961 AC_CHECK_LIB(nsl, main)
962 AC_CHECK_LIB(inet, socket)
963 AC_CHECK_LIB(gen, main)
967 AC_CHECK_FUNC(select, :, AC_MSG_ERROR([select() required.]))
969 if test "${ac_cv_header_winsock_h}" != yes; then
971 dnl (if this detection becomes permenent, it and the select() detection
972 dnl should be done before the yielding select test)
973 AC_FUNC_SELECT_ARGTYPES
976 dnl check to see if system call automatically restart
977 dnl AC_SYS_RESTARTABLE_SYSCALLS
979 dnl ----------------------------------------------------------------
980 AC_CHECK_FUNCS( poll )
981 if test $ac_cv_func_poll = yes; then
982 AC_CHECK_HEADERS( poll.h sys/poll.h )
985 dnl ----------------------------------------------------------------
986 AC_CHECK_HEADERS( sys/epoll.h )
987 if test "${ac_cv_header_sys_epoll_h}" = yes; then
988 AC_MSG_CHECKING(for epoll system call)
989 AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv)
991 int epfd = epoll_create(256);
992 exit (epfd == -1 ? 1 : 0);
993 }]])],[AC_MSG_RESULT(yes)
994 AC_DEFINE(HAVE_EPOLL,1, [define if your system supports epoll])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
997 dnl ----------------------------------------------------------------
998 AC_CHECK_HEADERS( sys/devpoll.h )
999 dnl "/dev/poll" needs <sys/poll.h> as well...
1000 if test "${ac_cv_header_sys_devpoll_h}" = yes \
1001 -a "${ac_cv_header_poll_h}" = yes ; \
1003 AC_MSG_CHECKING(for /dev/poll)
1004 AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv)
1006 int devpollfd = open("/dev/poll", /* O_RDWR */ 2);
1007 exit (devpollfd == -1 ? 1 : 0);
1008 }]])],[AC_MSG_RESULT(yes)
1009 AC_DEFINE(HAVE_DEVPOLL,1, [define if your system supports /dev/poll])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
1012 dnl ----------------------------------------------------------------
1015 dnl ----------------------------------------------------------------
1016 dnl require POSIX regex
1017 AC_CHECK_HEADERS( regex.h, [], [],
1018 [$ac_includes_default
1019 #ifdef HAVE_SYS_TYPES_H
1020 #include <sys/types.h>
1024 if test "$ac_cv_header_regex_h" != yes ; then
1025 AC_MSG_ERROR([POSIX regex.h required.])
1027 AC_SEARCH_LIBS(regfree, [regex gnuregex],
1028 :, AC_MSG_ERROR([POSIX regex required.]))
1031 if test "$ol_cv_c_posix_regex" = no ; then
1032 AC_MSG_ERROR([broken POSIX regex!])
1035 dnl ----------------------------------------------------------------
1039 AC_CHECK_HEADERS(sys/uuid.h)
1040 dnl The HAVE_UUID_TO_STR code path also needs uuid_create
1041 if test $ac_cv_header_sys_uuid_h = yes ; then
1043 AC_SEARCH_LIBS([uuid_to_str], [uuid], [have_uuid=yes], :)
1044 AC_SEARCH_LIBS([uuid_create], [uuid], :, [have_uuid=no])
1047 if test $have_uuid = yes ; then
1048 AC_DEFINE(HAVE_UUID_TO_STR,1,
1049 [define if you have uuid_to_str()])
1051 test "$ac_cv_search_uuid_to_str" = "none required" || \
1052 SLAPD_LIBS="$SLAPD_LIBS $ac_cv_search_uuid_to_str"
1056 dnl Look for uuid_generate
1057 dnl The HAVE_UUID_GENERATE code path also needs uuid_unparse_lower
1058 if test $have_uuid = no ; then
1059 AC_CHECK_HEADERS(uuid/uuid.h)
1060 if test $ac_cv_header_uuid_uuid_h = yes ; then
1062 AC_SEARCH_LIBS([uuid_generate], [uuid], [have_uuid=yes], :)
1063 AC_SEARCH_LIBS([uuid_unparse_lower], [uuid], :, [have_uuid=no])
1066 if test $have_uuid = yes ; then
1067 AC_DEFINE(HAVE_UUID_GENERATE,1,
1068 [define if you have uuid_generate()])
1070 test "$ac_cv_search_uuid_generate" = "none required" || \
1071 SLAPD_LIBS="$SLAPD_LIBS $ac_cv_search_uuid_generate"
1076 dnl For windows, check for the need of RPCRT for UUID function support
1077 if test $have_uuid = no ; then
1078 AC_MSG_CHECKING(to see if -lrpcrt4 is needed for win32 UUID support)
1080 LIBS="$LIBS -lrpcrt4"
1081 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1082 int __stdcall UuidCreate(void *);
1083 int __stdcall UuidToStringA(void *,void **);
1087 ]])],[need_rpcrt=yes],[need_rpcrt=no])
1088 if test $need_rpcrt = yes; then
1089 SLAPD_LIBS="$SLAPD_LIBS -lrpcrt4"
1092 AC_MSG_RESULT($need_rpcrt)
1095 dnl ----------------------------------------------------------------
1096 dnl Check for resolver routines
1100 if test "$ol_cv_lib_resolver" != no ; then
1101 AC_DEFINE(HAVE_RES_QUERY,1,
1102 [define if you have res_query()])
1104 if test "$ol_enable_dnssrv" != no ; then
1108 if test "$ol_cv_lib_resolver" != yes ; then
1109 LIBS="$ol_cv_lib_resolver $LIBS"
1113 if test "$ol_enable_dnssrv" = yes || test "$ol_enable_dnssrv" = mod ; then
1114 if test "$ol_link_dnssrv" = no ; then
1115 AC_MSG_ERROR([DNSSRV requires res_query()])
1121 AC_CHECK_FUNCS( hstrerror )
1123 dnl ----------------------------------------------------------------
1124 dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN
1125 dnl PF_LOCAL may use getaddrinfo in available
1126 AC_CHECK_FUNCS( getaddrinfo getnameinfo gai_strerror inet_ntop )
1129 if test $ac_cv_func_getaddrinfo = no || test $ac_cv_func_inet_ntop = no ; then
1130 if test $ol_enable_ipv6 = yes ; then
1131 AC_MSG_ERROR([IPv6 support requires getaddrinfo() and inet_ntop()])
1133 elif test $ol_enable_ipv6 != no ; then
1134 AC_CACHE_CHECK([INET6_ADDRSTRLEN],[ol_cv_inet6_addrstrlen],[
1135 AC_EGREP_CPP(__has_inet6_addrstrlen__,[
1136 # include <netinet/in.h>
1137 # ifdef INET6_ADDRSTRLEN
1138 __has_inet6_addrstrlen__;
1140 ], [ol_cv_inet6_addrstrlen=yes], [ol_cv_inet6_addrstrlen=no])])
1143 AC_CACHE_CHECK([struct sockaddr_storage],ol_cv_struct_sockaddr_storage,[
1144 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1145 #include <sys/types.h>
1146 #include <sys/socket.h>
1148 struct sockaddr_storage ss;
1149 ]])],[ol_cv_struct_sockaddr_storage=yes],[ol_cv_struct_sockaddr_storage=no])])
1151 if test $ol_cv_inet6_addrstrlen = yes &&
1152 test $ol_cv_struct_sockaddr_storage = yes ; then
1154 elif test $ol_enable_ipv6 = yes &&
1155 test $ol_cv_inet6_addrstrlen = no ; then
1156 AC_MSG_ERROR([IPv6 support requires INET6_ADDRSTRLEN])
1157 elif test $ol_enable_ipv6 = yes &&
1158 test $ol_cv_struct_sockaddr_storage = no ; then
1159 AC_MSG_ERROR([IPv6 support requires struct sockaddr_storage])
1163 if test $ol_enable_local != no ; then
1164 AC_CHECK_HEADERS( sys/un.h )
1166 if test $ol_enable_local = auto ; then
1167 ol_enable_local=$ac_cv_header_sys_un_h
1168 elif test $ac_cv_header_sys_un_h = no ; then
1169 AC_MSG_ERROR([AF_LOCAL domain support requires sys/un.h])
1173 dnl ----------------------------------------------------------------
1176 if test $ol_with_tls = yes ; then
1181 if test $ol_with_tls = openssl || test $ol_with_tls = auto ; then
1182 AC_CHECK_HEADERS(openssl/ssl.h)
1184 if test $ac_cv_header_openssl_ssl_h = yes ; then
1185 AC_CHECK_LIB(ssl, SSL_CTX_set_msg_callback,
1187 need_rsaref=no], [have_openssl=no],
1190 if test $have_openssl = no ; then
1191 AC_CHECK_LIB(ssl, ssl3_accept,
1193 need_rsaref=yes], [have_openssl=no],
1194 [-lcrypto -lRSAglue -lrsaref])
1197 if test $have_openssl = yes ; then
1201 AC_DEFINE(HAVE_OPENSSL, 1,
1202 [define if you have OpenSSL])
1204 if test $need_rsaref = yes; then
1205 AC_DEFINE(HAVE_RSAREF, 1,
1206 [define if OpenSSL needs RSAref])
1208 TLS_LIBS="-lssl -lcrypto -lRSAglue -lrsaref"
1210 TLS_LIBS="-lssl -lcrypto"
1214 if test $ol_cv_ssl_crl_compat = yes ; then
1215 AC_DEFINE(HAVE_OPENSSL_CRL, 1,
1216 [define if you have OpenSSL with CRL checking capability])
1222 if test $ol_link_tls = no ; then
1223 if test $ol_with_tls = gnutls || test $ol_with_tls = auto ; then
1224 AC_CHECK_HEADERS(gnutls/gnutls.h)
1226 if test $ac_cv_header_gnutls_gnutls_h = yes ; then
1228 [[#include <gnutls/gnutls.h>]
1229 [#if GNUTLS_VERSION_NUMBER < 0x020c00]
1230 [#error "GnuTLS 2.12.0 or newer required"]
1232 , [AC_MSG_FAILURE([GnuTLS is too old])])
1234 AC_CHECK_LIB(gnutls, gnutls_init,
1235 [have_gnutls=yes], [have_gnutls=no])
1237 if test $have_gnutls = yes ; then
1243 AC_DEFINE(HAVE_GNUTLS, 1,
1244 [define if you have GNUtls])
1250 dnl NOTE: caller must specify -I/path/to/nspr4 and -I/path/to/nss3
1251 dnl and -L/path/to/nspr4 libs and -L/path/to/nss3 libs if those libs
1252 dnl are not in the default system location
1253 if test $ol_link_tls = no ; then
1254 if test $ol_with_tls = moznss || test $ol_with_tls = auto ; then
1256 AC_CHECK_HEADERS([nssutil.h])
1257 if test "$ac_cv_header_nssutil_h" = yes ; then
1258 AC_CHECK_LIB([nss3], [NSS_Initialize],
1259 [ have_moznss=yes ], [ have_moznss=no ])
1262 if test "$have_moznss" = yes ; then
1265 AC_DEFINE(HAVE_MOZNSS, 1,
1266 [define if you have MozNSS])
1267 TLS_LIBS="-lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4"
1269 if test $ol_with_tls = moznss ; then
1270 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)])
1277 if test $ol_link_tls = yes ; then
1278 AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
1280 elif test $ol_with_tls = auto ; then
1281 AC_MSG_WARN([Could not locate TLS/SSL package])
1282 AC_MSG_WARN([TLS data protection not supported!])
1283 elif test $ol_with_tls != no ; then
1284 AC_MSG_ERROR([Could not locate TLS/SSL package])
1286 AC_MSG_WARN([TLS data protection not supported!])
1289 dnl ----------------------------------------------------------------
1290 dnl LAN Manger password checking requires DES from OpenSSL
1291 if test $ol_enable_lmpasswd != no; then
1292 if test $ol_link_tls != yes ; then
1293 AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
1296 AC_DEFINE(SLAPD_LMHASH, 1, [define to support LAN Manager passwords])
1299 dnl ----------------------------------------------------------------
1303 case $ol_with_threads in auto | yes | nt)
1307 if test "$ol_cv_nt_threads" = yes ; then
1309 ol_with_threads=found
1310 ol_with_yielding_select=yes
1312 AC_DEFINE(HAVE_NT_SERVICE_MANAGER,1,[if you have NT Service Manager])
1313 AC_DEFINE(HAVE_NT_EVENT_LOG,1,[if you have NT Event Log])
1316 if test $ol_with_threads = nt ; then
1317 AC_MSG_ERROR([could not locate NT Threads])
1322 case $ol_with_threads in auto | yes | posix)
1324 AC_CHECK_HEADERS(pthread.h)
1326 if test $ac_cv_header_pthread_h = yes ; then
1327 OL_POSIX_THREAD_VERSION
1329 if test $ol_cv_pthread_version != 0 ; then
1330 AC_DEFINE_UNQUOTED(HAVE_PTHREADS,$ol_cv_pthread_version,
1331 [define to pthreads API spec revision])
1333 AC_MSG_ERROR([unknown pthread version])
1336 # consider threads found
1337 ol_with_threads=found
1339 OL_HEADER_LINUX_THREADS
1340 OL_HEADER_GNU_PTH_PTHREAD_H
1342 if test $ol_cv_header_gnu_pth_pthread_h = no ; then
1343 AC_CHECK_HEADERS(sched.h)
1346 dnl Now the hard part, how to link?
1348 dnl currently supported checks:
1350 dnl Check for no flags
1351 dnl pthread_create() in $LIBS
1353 dnl Check special pthread (final) flags
1354 dnl [skipped] pthread_create() with -mt (Solaris) [disabled]
1355 dnl pthread_create() with -kthread (FreeBSD)
1356 dnl pthread_create() with -pthread (FreeBSD/Digital Unix)
1357 dnl pthread_create() with -pthreads (?)
1358 dnl pthread_create() with -mthreads (AIX)
1359 dnl pthread_create() with -thread (?)
1361 dnl Check pthread (final) libraries
1362 dnl pthread_mutex_unlock() in -lpthread -lmach -lexc -lc_r (OSF/1)
1363 dnl pthread_mutex_lock() in -lpthread -lmach -lexc (OSF/1)
1364 dnl [skipped] pthread_mutex_trylock() in -lpthread -lexc (OSF/1)
1365 dnl pthread_join() -Wl,-woff,85 -lpthread (IRIX)
1366 dnl pthread_create() in -lpthread (many)
1367 dnl pthread_create() in -lc_r (FreeBSD)
1369 dnl Check pthread (draft4) flags (depreciated)
1370 dnl pthread_create() with -threads (OSF/1)
1372 dnl Check pthread (draft4) libraries (depreciated)
1373 dnl pthread_mutex_unlock() in -lpthreads -lmach -lexc -lc_r (OSF/1)
1374 dnl pthread_mutex_lock() in -lpthreads -lmach -lexc (OSF/1)
1375 dnl pthread_mutex_trylock() in -lpthreads -lexc (OSF/1)
1376 dnl pthread_create() in -lpthreads (many)
1379 dnl pthread_create in $LIBS
1380 AC_CACHE_CHECK([for pthread_create in default libraries],
1381 ol_cv_pthread_create,[
1382 AC_RUN_IFELSE([OL_PTHREAD_TEST_PROGRAM],
1383 [ol_cv_pthread_create=yes],
1384 [ol_cv_pthread_create=no],
1385 [AC_TRY_LINK(OL_PTHREAD_TEST_INCLUDES,OL_PTHREAD_TEST_FUNCTION,
1386 [ol_cv_pthread_create=yes],
1387 [ol_cv_pthread_create=no])])])
1389 if test $ol_cv_pthread_create != no ; then
1390 ol_link_threads=posix
1394 dnl OL_PTHREAD_TRY([-mt], [ol_cv_pthread_mt])
1395 OL_PTHREAD_TRY([-kthread], [ol_cv_pthread_kthread])
1396 OL_PTHREAD_TRY([-pthread], [ol_cv_pthread_pthread])
1397 OL_PTHREAD_TRY([-pthreads], [ol_cv_pthread_pthreads])
1398 OL_PTHREAD_TRY([-mthreads], [ol_cv_pthread_mthreads])
1399 OL_PTHREAD_TRY([-thread], [ol_cv_pthread_thread])
1401 OL_PTHREAD_TRY([-lpthread -lmach -lexc -lc_r],
1402 [ol_cv_pthread_lpthread_lmach_lexc_lc_r])
1403 OL_PTHREAD_TRY([-lpthread -lmach -lexc],
1404 [ol_cv_pthread_lpthread_lmach_lexc])
1405 dnl OL_PTHREAD_TRY([-lpthread -lexc],
1406 dnl [ol_cv_pthread_lpthread_lexc])
1408 OL_PTHREAD_TRY([-lpthread -Wl,-woff,85],
1409 [ol_cv_pthread_lib_lpthread_woff])
1411 OL_PTHREAD_TRY([-lpthread], [ol_cv_pthread_lpthread])
1412 OL_PTHREAD_TRY([-lc_r], [ol_cv_pthread_lc_r])
1414 OL_PTHREAD_TRY([-threads], [ol_cv_pthread_threads])
1416 OL_PTHREAD_TRY([-lpthreads -lmach -lexc -lc_r],
1417 [ol_cv_pthread_lpthreads_lmach_lexc_lc_r])
1418 OL_PTHREAD_TRY([-lpthreads -lmach -lexc],
1419 [ol_cv_pthread_lpthreads_lmach_lexc])
1420 OL_PTHREAD_TRY([-lpthreads -lexc],
1421 [ol_cv_pthread_lpthreads_lexc])
1423 OL_PTHREAD_TRY([-lpthreads],[ol_cv_pthread_lib_lpthreads])
1425 if test $ol_link_threads != no ; then
1426 LTHREAD_LIBS="$LTHREAD_LIBS $ol_link_pthreads"
1429 save_CPPFLAGS="$CPPFLAGS"
1431 LIBS="$LTHREAD_LIBS $LIBS"
1433 dnl All POSIX Thread (final) implementations should have
1434 dnl sched_yield instead of pthread yield.
1435 dnl check for both, and thr_yield for Solaris
1436 AC_CHECK_FUNCS(sched_yield pthread_yield thr_yield)
1438 if test $ac_cv_func_sched_yield = no &&
1439 test $ac_cv_func_pthread_yield = no &&
1440 test $ac_cv_func_thr_yield = no ; then
1441 dnl Digital UNIX has sched_yield() in -lrt
1442 AC_CHECK_LIB(rt, sched_yield,
1443 [LTHREAD_LIBS="$LTHREAD_LIBS -lrt"
1444 AC_DEFINE(HAVE_SCHED_YIELD,1,
1445 [Define if you have the sched_yield function.])
1446 ac_cv_func_sched_yield=yes],
1447 [ac_cv_func_sched_yield=no])
1449 if test $ac_cv_func_sched_yield = no &&
1450 test $ac_cv_func_pthread_yield = no &&
1451 test "$ac_cv_func_thr_yield" = no ; then
1452 AC_MSG_WARN([could not locate sched_yield() or pthread_yield()])
1455 dnl Check functions for compatibility
1456 AC_CHECK_FUNCS(pthread_kill)
1458 dnl Check for pthread_rwlock_destroy with <pthread.h>
1459 dnl as pthread_rwlock_t may not be defined.
1460 AC_CACHE_CHECK([for pthread_rwlock_destroy with <pthread.h>],
1461 [ol_cv_func_pthread_rwlock_destroy], [
1463 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1464 #include <pthread.h>
1465 pthread_rwlock_t rwlock;
1466 ]], [[pthread_rwlock_destroy(&rwlock);]])],[ol_cv_func_pthread_rwlock_destroy=yes],[ol_cv_func_pthread_rwlock_destroy=no])
1468 if test $ol_cv_func_pthread_rwlock_destroy = yes ; then
1469 AC_DEFINE(HAVE_PTHREAD_RWLOCK_DESTROY,1,
1470 [define if you have pthread_rwlock_destroy function])
1473 dnl Check for pthread_detach with <pthread.h> inclusion
1474 dnl as it's symbol may have been mangled.
1475 AC_CACHE_CHECK([for pthread_detach with <pthread.h>],
1476 [ol_cv_func_pthread_detach], [
1478 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1479 #include <pthread.h>
1481 #define NULL (void*)0
1483 ]], [[pthread_detach(NULL);]])],[ol_cv_func_pthread_detach=yes],[ol_cv_func_pthread_detach=no])
1486 if test $ol_cv_func_pthread_detach = no ; then
1487 AC_MSG_ERROR([could not locate pthread_detach()])
1490 AC_DEFINE(HAVE_PTHREAD_DETACH,1,
1491 [define if you have pthread_detach function])
1493 dnl Check for setconcurreny functions
1495 pthread_setconcurrency \
1496 pthread_getconcurrency \
1497 thr_setconcurrency \
1498 thr_getconcurrency \
1501 OL_SYS_LINUX_THREADS
1504 if test $ol_cv_linux_threads = error; then
1505 AC_MSG_ERROR([LinuxThreads header/library mismatch]);
1508 AC_CACHE_CHECK([if pthread_create() works],
1509 ol_cv_pthread_create_works,[
1510 AC_RUN_IFELSE([OL_PTHREAD_TEST_PROGRAM],
1511 [ol_cv_pthread_create_works=yes],
1512 [ol_cv_pthread_create_works=no],
1514 ol_cv_pthread_create_works=yes])])
1516 if test $ol_cv_pthread_create_works = no ; then
1517 AC_MSG_ERROR([pthread_create is not usable, check environment settings])
1520 ol_replace_broken_yield=no
1521 dnl case "$target" in
1523 dnl AC_CHECK_FUNCS(nanosleep)
1524 dnl ol_replace_broken_yield=yes
1528 if test $ol_replace_broken_yield = yes ; then
1529 AC_DEFINE([REPLACE_BROKEN_YIELD],1,
1530 [define if sched_yield yields the entire process])
1533 dnl Check if select causes an yield
1534 if test $ol_with_yielding_select = auto ; then
1535 AC_CACHE_CHECK([if select yields when using pthreads],
1536 ol_cv_pthread_select_yields,[
1537 AC_RUN_IFELSE([AC_LANG_SOURCE([[
1538 #include <sys/types.h>
1539 #include <sys/time.h>
1541 #include <pthread.h>
1543 #define NULL (void*) 0
1546 static int fildes[2];
1548 static void *task(p)
1560 FD_SET(fildes[0], &rfds);
1562 /* we're not interested in any fds */
1563 i = select(FD_SETSIZE, &rfds, NULL, NULL, &tv);
1570 exit(0); /* if we exit here, the select blocked the whole process */
1573 int main(argc, argv)
1579 /* create a pipe to select */
1580 if(pipe(&fildes[0])) {
1585 #ifdef HAVE_PTHREAD_SETCONCURRENCY
1586 (void) pthread_setconcurrency(2);
1588 #ifdef HAVE_THR_SETCONCURRENCY
1589 /* Set Solaris LWP concurrency to 2 */
1590 thr_setconcurrency(2);
1594 #if HAVE_PTHREADS < 6
1595 pthread_create(&t, pthread_attr_default, task, NULL);
1597 pthread_create(&t, NULL, task, NULL);
1600 /* make sure task runs first */
1601 #ifdef HAVE_THR_YIELD
1603 #elif defined( HAVE_SCHED_YIELD )
1605 #elif defined( HAVE_PTHREAD_YIELD )
1610 }]])],[ol_cv_pthread_select_yields=no],[ol_cv_pthread_select_yields=yes],[ol_cv_pthread_select_yields=cross])])
1612 if test $ol_cv_pthread_select_yields = cross ; then
1613 AC_MSG_ERROR([crossing compiling: use --with-yielding_select=yes|no|manual])
1616 if test $ol_cv_pthread_select_yields = yes ; then
1617 ol_with_yielding_select=yes
1622 CPPFLAGS="$save_CPPFLAGS"
1625 AC_MSG_ERROR([could not locate usable POSIX Threads])
1629 if test $ol_with_threads = posix ; then
1630 AC_MSG_ERROR([could not locate POSIX Threads])
1635 case $ol_with_threads in auto | yes | mach)
1637 dnl check for Mach CThreads
1638 AC_CHECK_HEADERS(mach/cthreads.h cthreads.h)
1639 if test $ac_cv_header_mach_cthreads_h = yes ; then
1640 ol_with_threads=found
1642 dnl check for cthreads support in current $LIBS
1643 AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
1645 if test $ol_link_threads = no ; then
1647 dnl this test needs work
1648 AC_CACHE_CHECK([for cthread_fork with -all_load],
1649 [ol_cv_cthread_all_load], [
1652 LIBS="-all_load $LIBS"
1653 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <mach/cthreads.h>]], [[
1654 cthread_fork((void *)0, (void *)0);
1655 ]])],[ol_cv_cthread_all_load=yes],[ol_cv_cthread_all_load=no])
1656 dnl restore the LIBS
1660 if test $ol_cv_cthread_all_load = yes ; then
1661 LTHREAD_LIBS="$LTHREAD_LIBS -all_load"
1662 ol_link_threads=mach
1663 ol_with_threads=found
1667 elif test $ac_cv_header_cthreads_h = yes ; then
1668 dnl Hurd variant of Mach Cthreads
1669 dnl uses <cthreads.h> and -lthreads
1671 ol_with_threads=found
1675 LIBS="$LIBS -lthreads"
1676 AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
1679 if test $ol_link_threads = yes ; then
1680 LTHREAD_LIBS="-lthreads"
1681 ol_link_threads=mach
1682 ol_with_threads=found
1684 AC_MSG_ERROR([could not link with Mach CThreads])
1687 elif test $ol_with_threads = mach ; then
1688 AC_MSG_ERROR([could not locate Mach CThreads])
1691 if test $ol_link_threads = mach ; then
1692 AC_DEFINE(HAVE_MACH_CTHREADS,1,
1693 [define if you have Mach Cthreads])
1694 elif test $ol_with_threads = found ; then
1695 AC_MSG_ERROR([could not link with Mach CThreads])
1700 case $ol_with_threads in auto | yes | pth)
1702 AC_CHECK_HEADERS(pth.h)
1704 if test $ac_cv_header_pth_h = yes ; then
1705 AC_CHECK_LIB(pth, pth_version, [have_pth=yes], [have_pth=no])
1707 if test $have_pth = yes ; then
1708 AC_DEFINE(HAVE_GNU_PTH,1,[if you have GNU Pth])
1709 LTHREAD_LIBS="$LTHREAD_LIBS -lpth"
1711 ol_with_threads=found
1713 if test $ol_with_yielding_select = auto ; then
1714 ol_with_yielding_select=yes
1721 case $ol_with_threads in auto | yes | lwp)
1723 dnl check for SunOS5 LWP
1724 AC_CHECK_HEADERS(thread.h synch.h)
1725 if test $ac_cv_header_thread_h = yes &&
1726 test $ac_cv_header_synch_h = yes ; then
1727 AC_CHECK_LIB(thread, thr_create, [have_thr=yes], [have_thr=no])
1729 if test $have_thr = yes ; then
1730 AC_DEFINE(HAVE_THR,1,
1731 [if you have Solaris LWP (thr) package])
1732 LTHREAD_LIBS="$LTHREAD_LIBS -lthread"
1735 if test $ol_with_yielding_select = auto ; then
1736 ol_with_yielding_select=yes
1739 dnl Check for setconcurreny functions
1741 thr_setconcurrency \
1742 thr_getconcurrency \
1749 if test $ol_with_yielding_select = yes ; then
1750 AC_DEFINE(HAVE_YIELDING_SELECT,1,
1751 [define if select implicitly yields])
1754 if test $ol_with_threads = manual ; then
1755 dnl User thinks he can manually configure threads.
1758 AC_MSG_WARN([thread defines and link options must be set manually])
1760 AC_CHECK_HEADERS(pthread.h sched.h)
1761 AC_CHECK_FUNCS(sched_yield pthread_yield)
1762 OL_HEADER_LINUX_THREADS
1764 AC_CHECK_HEADERS(mach/cthreads.h)
1765 AC_CHECK_HEADERS(thread.h synch.h)
1768 if test $ol_link_threads != no && test $ol_link_threads != nt ; then
1769 dnl needed to get reentrant/threadsafe versions
1771 AC_DEFINE(REENTRANT,1)
1772 AC_DEFINE(_REENTRANT,1)
1773 AC_DEFINE(THREAD_SAFE,1)
1774 AC_DEFINE(_THREAD_SAFE,1)
1775 AC_DEFINE(THREADSAFE,1)
1776 AC_DEFINE(_THREADSAFE,1)
1777 AC_DEFINE(_SGI_MP_SOURCE,1)
1779 dnl The errno declaration may dependent upon _REENTRANT.
1780 dnl If it does, we must link with thread support.
1781 AC_CACHE_CHECK([for thread specific errno],
1782 [ol_cv_errno_thread_specific], [
1783 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <errno.h>]], [[errno = 0;]])],[ol_cv_errno_thread_specific=yes],[ol_cv_errno_thread_specific=no])
1786 dnl The h_errno declaration may dependent upon _REENTRANT.
1787 dnl If it does, we must link with thread support.
1788 AC_CACHE_CHECK([for thread specific h_errno],
1789 [ol_cv_h_errno_thread_specific], [
1790 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])
1793 if test $ol_cv_errno_thread_specific != yes ||
1794 test $ol_cv_h_errno_thread_specific != yes ; then
1795 LIBS="$LTHREAD_LIBS $LIBS"
1799 dnl When in thread environment, use
1800 dnl #if defined( HAVE_REENTRANT_FUNCTIONS ) || defined( HAVE_FUNC_R )
1803 dnl # if defined( HAVE_THREADS )
1807 dnl # if defined( HAVE_THREADS )
1812 dnl HAVE_REENTRANT_FUNCTIONS is derived from:
1813 dnl _POSIX_REENTRANT_FUNCTIONS
1814 dnl _POSIX_THREAD_SAFE_FUNCTIONS
1815 dnl _POSIX_THREADSAFE_FUNCTIONS
1817 dnl and is currently defined in <ldap_pvt_thread.h>
1819 dnl HAVE_THREADS is defined by <ldap_pvt_thread.h> iff -UNO_THREADS
1821 dnl libldap/*.c should only include <ldap_pvt_thread.h> iff
1822 dnl LDAP_R_COMPILE is defined. ie:
1823 dnl #ifdef LDAP_R_COMPILE
1824 dnl # include <ldap_pvt_thread.h>
1827 dnl LDAP_R_COMPILE is defined by libldap_r/Makefile.in
1828 dnl specifically for compiling the threadsafe version of
1829 dnl the ldap library (-lldap_r).
1831 dnl dnl check for reentrant/threadsafe functions
1833 dnl dnl note: these should only be used when linking
1834 dnl dnl with $LTHREAD_LIBS
1836 dnl save_CPPFLAGS="$CPPFLAGS"
1837 dnl save_LIBS="$LIBS"
1838 dnl LIBS="$LTHREAD_LIBS $LIBS"
1839 dnl AC_CHECK_FUNCS( \
1841 dnl gethostbyaddr_r gethostbyname_r \
1842 dnl feof_unlocked unlocked_feof \
1843 dnl putc_unlocked unlocked_putc \
1844 dnl flockfile ftrylockfile \
1846 dnl CPPFLAGS="$save_CPPFLAGS"
1847 dnl LIBS="$save_LIBS"
1850 if test $ol_link_threads = no ; then
1851 if test $ol_with_threads = yes ; then
1852 AC_MSG_ERROR([no suitable thread support])
1855 if test $ol_with_threads = auto ; then
1856 AC_MSG_WARN([no suitable thread support, disabling threads])
1860 AC_DEFINE(NO_THREADS,1,
1861 [define if you have (or want) no threads])
1868 if test $ol_link_threads != no ; then
1869 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE,1,
1870 [define to 1 if library is thread safe])
1873 dnl ----------------------------------------------------------------
1874 dnl Tests for reentrant functions necessary to build -lldap_r
1877 gmtime_r localtime_r \
1878 gethostbyname_r gethostbyaddr_r \
1881 if test "$ac_cv_func_ctime_r" = no ; then
1882 ol_cv_func_ctime_r_nargs=0
1884 OL_FUNC_CTIME_R_NARGS
1885 dnl OL_FUNC_CTIME_R_TYPE
1888 if test "$ac_cv_func_gethostbyname_r" = yes ; then
1889 OL_FUNC_GETHOSTBYNAME_R_NARGS
1891 ol_cv_func_gethostbyname_r_nargs=0
1894 if test "$ac_cv_func_gethostbyaddr_r" = yes ; then
1895 OL_FUNC_GETHOSTBYADDR_R_NARGS
1897 ol_cv_func_gethostbyaddr_r_nargs=0
1900 dnl ----------------------------------------------------------------
1903 if test $ol_enable_bdb/$ol_enable_hdb != no/no; then
1906 if test $ol_cv_berkeley_db = no ; then
1907 AC_MSG_ERROR(BDB/HDB: BerkeleyDB not available)
1910 AC_DEFINE(HAVE_BERKELEY_DB,1,
1911 [define this if Berkeley DB is available])
1913 dnl $ol_cv_lib_db should be yes or -ldb
1914 dnl (it could be no, but that would be an error
1915 if test $ol_cv_lib_db != yes ; then
1916 BDB_LIBS="$BDB_LIBS $ol_cv_lib_db"
1919 SLAPD_LIBS="$SLAPD_LIBS \$(BDB_LIBS)"
1924 dnl ----------------------------------------------------------------
1926 if test $ol_enable_dynamic = yes && test $enable_shared = yes ; then
1927 BUILD_LIBS_DYNAMIC=shared
1928 AC_DEFINE(LDAP_LIBS_DYNAMIC, 1, [define if LDAP libs are dynamic])
1931 BUILD_LIBS_DYNAMIC=static
1934 AC_SUBST(LTSTATIC)dnl
1936 dnl ----------------------------------------------------------------
1937 if test $ol_enable_wrappers != no ; then
1938 AC_CHECK_HEADERS(tcpd.h,[
1939 AC_MSG_CHECKING([for TCP wrappers library])
1942 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1944 int allow_severity = 0;
1945 int deny_severity = 0;
1947 struct request_info *req;
1950 ]])],[AC_MSG_RESULT([-lwrap])
1952 LIBS="$save_LIBS"],[
1957 int allow_severity = 0;
1958 int deny_severity = 0;
1960 struct request_info *req;
1963 ],[AC_MSG_RESULT([-lwrap -lnsl])
1965 LIBS="$save_LIBS -lnsl"],[
1968 LIBS=$save_LIBS])])],[have_wrappers=no])
1970 if test $have_wrappers = yes ; then
1971 AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
1973 elif test $ol_enable_wrappers = yes ; then
1974 AC_MSG_ERROR([could not find TCP wrappers, select apppropriate options or disable])
1976 AC_MSG_WARN([could not find TCP wrappers, support disabled])
1981 dnl ----------------------------------------------------------------
1982 if test $ol_enable_syslog != no ; then
1983 AC_CHECK_FUNC(openlog)
1984 if test $ac_cv_func_openlog = no && test $ol_enable_syslog = yes; then
1985 AC_MSG_ERROR(could not find syslog, select appropriate options or disable)
1987 ol_enable_syslog=$ac_cv_func_openlog
1990 dnl ----------------------------------------------------------------
1993 if test $ol_enable_sql != no ; then
1994 AC_CHECK_HEADERS(sql.h sqlext.h,[],[
1995 AC_MSG_ERROR([could not locate SQL headers])
1999 LIBS="$LTHREAD_LIBS $LIBS"
2001 if test $ol_with_odbc = auto ; then
2002 ol_with_odbc="iodbc unixodbc odbc32"
2005 for odbc in $ol_with_odbc ; do
2006 if test $ol_link_sql = no ; then
2009 AC_CHECK_LIB(iodbc, SQLDriverConnect, [have_iodbc=yes], [have_iodbc=no])
2010 if test $have_iodbc = yes ; then
2011 ol_link_sql="-liodbc"
2016 AC_CHECK_LIB(odbc, SQLDriverConnect, [have_odbc=yes], [have_odbc=no])
2017 if test $have_odbc = yes ; then
2018 ol_link_sql="-lodbc"
2023 AC_CHECK_LIB(odbc32, SQLDriverConnect, [have_odbc32=yes], [have_odbc32=no])
2025 dnl The windows API uses __stdcall which cannot be detected by AC_CHECK_LIB
2026 if test $have_odbc32 = no ; then
2027 AC_MSG_CHECKING([for SQLDriverConnect in -lodbc32 with windows.h])
2029 LIBS="$LIBS -lodbc32"
2030 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <windows.h>
2033 SQLDriverConnect(NULL,NULL,NULL,0,NULL,0,NULL,0);
2034 ]])],[have_odbc32=yes], [have_odbc32=no])
2036 AC_MSG_RESULT($have_odbc32)
2039 if test $have_odbc32 = yes ; then
2040 ol_link_sql="-lodbc32"
2045 AC_MSG_ERROR([unknown ODBC library])
2053 if test $ol_link_sql != no ; then
2054 SLAPD_SQL_LIBS="$ol_link_sql"
2056 elif test $ol_enable_sql != auto ; then
2057 AC_MSG_ERROR([could not locate suitable ODBC library])
2061 dnl ----------------------------------------------------------------
2063 dnl Note: uses C++, but we don't want to add C++ test overhead to
2064 dnl the rest of the libtool machinery.
2066 if test $ol_enable_ndb != no ; then
2067 AC_CHECK_PROG(MYSQL,mysql_config,yes)
2068 if test "$MYSQL" != yes ; then
2069 AC_MSG_ERROR([could not locate mysql_config])
2072 SQL_INC=`mysql_config --include`
2073 SLAPD_NDB_INCS="$SQL_INC $SQL_INC/storage/ndb $SQL_INC/storage/ndb/ndbapi"
2075 save_CPPFLAGS="$CPPFLAGS"
2076 CPPFLAGS="$SLAPD_NDB_INCS"
2077 AC_MSG_CHECKING(for NdbApi.hpp)
2079 [AC_LANG_SOURCE([[#include <NdbApi.hpp>]])],
2081 AC_MSG_ERROR([could not locate NdbApi headers])
2083 CPPFLAGS="$save_CPPFLAGS"
2085 SQL_LIB=`mysql_config --libs_r`
2086 SLAPD_NDB_LIBS="$SQL_LIB -lndbclient -lstdc++"
2088 save_LDFLAGS="$LDFLAGS"
2091 AC_CHECK_LIB(ndbclient,ndb_init,[: ok],[
2092 AC_MSG_ERROR([could not locate ndbclient library])
2095 LDFLAGS="$save_LDFLAGS"
2097 if test "$ol_enable_ndb" = yes ; then
2098 SLAPD_LIBS="$SLAPD_LIBS \$(SLAPD_NDB_LIBS)"
2102 dnl ----------------------------------------------------------------
2105 if test $ol_enable_wt != no ; then
2106 AC_CHECK_PROG(PKGCONFIG,pkg-config,yes)
2107 if test "$PKGCONFIG" != yes ; then
2108 AC_MSG_ERROR([could not locate pkg-config])
2110 WT_INCS=`pkg-config --cflags wiredtiger`
2111 WT_LIBS=`pkg-config --libs wiredtiger`
2113 save_CFLAGS="$CFLAGS"
2114 save_LDFLAGS="$LDFLAGS"
2118 AC_CHECK_HEADERS([wiredtiger.h])
2119 AC_CHECK_LIB(wiredtiger,wiredtiger_version,[: ok],[
2120 AC_MSG_ERROR([could not locate wiredtiger library])
2122 CFLAGS="$save_CFLAGS"
2123 CPPFLAGS="$save_CPPFLAGS"
2124 LDFLAGS="$save_LDFLAGS"
2125 SLAPD_LIBS="$SLAPD_LIBS \$(WT_LIBS)"
2129 dnl ----------------------------------------------------------------
2130 dnl International Components for Unicode
2132 if test "$ol_icu" = no ; then
2133 AC_MSG_WARN([ICU not available])
2137 dnl ----------------------------------------------------------------
2139 dnl Check for Cyrus SASL
2144 if test $ol_with_cyrus_sasl != no ; then
2145 AC_CHECK_HEADERS(sasl/sasl.h sasl.h)
2147 if test $ac_cv_header_sasl_sasl_h = yes ||
2148 test $ac_cv_header_sasl_h = yes; then
2149 AC_CHECK_LIB(sasl2, sasl_client_init,
2150 [ol_link_sasl="-lsasl2"],
2151 [AC_CHECK_LIB(sasl, sasl_client_init,
2152 [ol_link_sasl="-lsasl"])])
2155 if test $ol_link_sasl = no ; then
2156 if test $ol_with_cyrus_sasl != auto ; then
2157 AC_MSG_ERROR([Could not locate Cyrus SASL])
2159 AC_MSG_WARN([Could not locate Cyrus SASL])
2160 AC_MSG_WARN([SASL authentication not supported!])
2161 if test $ol_link_tls = no ; then
2162 AC_MSG_WARN([Strong authentication not supported!])
2167 if test $ol_cv_sasl_compat = no ; then
2169 AC_MSG_ERROR([Cyrus SASL library located but is incompatible])
2172 AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
2173 SASL_LIBS="$ol_link_sasl"
2174 if test $ol_enable_spasswd != no ; then
2178 ac_save_LIBS="$LIBS"
2179 LIBS="$LIBS $ol_link_sasl"
2180 AC_CHECK_FUNC(sasl_version, [AC_DEFINE(HAVE_SASL_VERSION,1,
2181 [define if your SASL library has sasl_version()])])
2182 LIBS="$ac_save_LIBS"
2188 AC_MSG_WARN([SASL authentication not supported!])
2189 if test $ol_link_tls = no ; then
2190 AC_MSG_WARN([Strong authentication not supported!])
2194 dnl ----------------------------------------------------------------
2195 dnl Check for entropy sources
2196 if test $cross_compiling != yes && test "$ac_cv_mingw32" != yes ; then
2198 if test -r /dev/urandom ; then
2200 elif test -r /idev/urandom ; then
2201 dev="/idev/urandom";
2202 elif test -r /dev/srandom ; then
2204 elif test -r /dev/random ; then
2206 elif test -r /idev/random ; then
2210 if test $dev != no ; then
2211 AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device])
2215 dnl ----------------------------------------------------------------
2217 dnl Check for fetch URL support
2218 dnl should be extended to support other fetch URL APIs
2221 if test $ol_with_fetch != no ; then
2224 if test $ol_cv_lib_fetch != no ; then
2225 LIBS="$LIBS $ol_link_fetch"
2226 ol_link_fetch=freebsd
2228 elif test $ol_with_fetch != auto ; then
2229 AC_MSG_ERROR(no suitable API for --with-fetch=$ol_with_fetch)
2233 dnl ----------------------------------------------------------------
2234 dnl FreeBSD (and others) have crypt(3) in -lcrypt
2235 if test $ol_enable_crypt != no ; then
2237 LIBS="$TLS_LIBS $LIBS"
2239 AC_CHECK_FUNC(crypt, [have_crypt=yes], [
2241 AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
2242 have_crypt=yes], [have_crypt=no])])
2246 if test $have_crypt = yes ; then
2247 AC_DEFINE(HAVE_CRYPT,1, [define if crypt(3) is available])
2249 AC_MSG_WARN([could not find crypt])
2250 if test $ol_enable_crypt = yes ; then
2251 AC_MSG_ERROR([could not find crypt, select appropriate options or disable])
2254 AC_MSG_WARN([disabling crypt support])
2259 dnl ----------------------------------------------------------------
2260 dnl FreeBSD (and others) have setproctitle(3) in -lutil
2261 if test $ol_enable_proctitle != no ; then
2262 AC_CHECK_FUNC(setproctitle, [have_setproctitle=yes], [
2263 AC_CHECK_LIB(util, setproctitle,
2264 [have_setproctitle=yes
2265 LUTIL_LIBS="$LUTIL_LIBS -lutil"],
2266 [have_setproctitle=no
2267 AC_LIBOBJ(setproctitle)
2268 LIBSRCS="$LIBSRCS setproctitle.c"])])
2270 if test $have_setproctitle = yes ; then
2271 AC_DEFINE(HAVE_SETPROCTITLE,1,
2272 [define if setproctitle(3) is available])
2276 dnl ----------------------------------------------------------------
2277 if test $ol_enable_slp != no ; then
2278 AC_CHECK_HEADERS( slp.h )
2280 if test $ac_cv_header_slp_h = yes ; then
2281 AC_CHECK_LIB(slp, SLPOpen, [have_slp=yes], [have_slp=no])
2282 if test $have_slp = yes ; then
2283 AC_DEFINE(HAVE_SLP, 1, [define if you have -lslp])
2284 SLAPD_SLP_LIBS=-lslp
2287 elif test $ol_enable_slp = yes ; then
2288 AC_MSG_ERROR([SLP not found])
2292 dnl ----------------------------------------------------------------
2293 dnl Checks for typedefs, structures, and compiler characteristics.
2295 AC_CHECK_TYPE(mode_t, int)
2296 AC_CHECK_TYPE(off_t, long)
2297 AC_CHECK_TYPE(pid_t, int)
2298 AC_CHECK_TYPE(ssize_t, [signed int])
2299 AC_CHECK_TYPE(caddr_t, [char *])
2300 AC_CHECK_TYPE(size_t, unsigned)
2302 AC_CHECK_TYPES([long long])
2303 AC_CHECK_TYPES([ptrdiff_t])
2306 AC_CHECK_TYPE([socklen_t],,, [$ac_includes_default
2307 #ifdef HAVE_SYS_SOCKET_H
2308 #include <sys/socket.h>
2311 dnl socklen_t-like type in accept(), default socklen_t or int:
2312 dnl - The OS might define socklen_t without using it. POSIX moved from
2313 dnl int to size_t to socklen_t, hoping to stay at a 32-bit type, and
2314 dnl HP-UX now has selectors for what to use.
2315 dnl - On Solaris 2.8 the prototype has void *len, but the default is OK.
2316 AC_MSG_CHECKING([the type of arg 3 to accept()])
2317 AC_CACHE_VAL(ol_cv_type_ber_socklen_t, [
2318 set socklen_t int unsigned "unsigned long" long size_t
2319 test "$ac_cv_type_socklen_t" = yes || shift
2320 ol_cv_type_ber_socklen_t=$1 guessing="guessing "
2321 for lentype in "$@" ; do for addrtype in "struct sockaddr" void ; do
2322 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$ac_includes_default
2323 #ifdef HAVE_SYS_SOCKET_H
2324 #include <sys/socket.h>
2326 extern int accept(int s, $addrtype *ap, $lentype *lp);
2328 accept(0, (struct sockaddr *) 0, ($lentype *) 0);
2329 ])], [ol_cv_type_ber_socklen_t=$lentype guessing= ; break 2])
2331 AC_MSG_RESULT([$guessing$ol_cv_type_ber_socklen_t *])
2332 AC_DEFINE_UNQUOTED(ber_socklen_t, $ol_cv_type_ber_socklen_t,
2333 [Define to the type of arg 3 for `accept'.])
2335 dnl Modules should use ber_socklen_t, not socklen_t. Define socklen_t
2336 dnl for the time being anyway, for backwards compatibility.
2337 if test "$ac_cv_type_socklen_t" != yes; then
2338 AC_DEFINE_UNQUOTED([socklen_t], [$ol_cv_type_ber_socklen_t],
2339 [Define like ber_socklen_t if <sys/socket.h> does not define.])
2345 AC_CHECK_TYPE([sig_atomic_t],,
2346 [AC_DEFINE_UNQUOTED([sig_atomic_t], [int],
2347 [Define to `int' if <signal.h> does not define.])],
2348 [$ac_includes_default
2356 AC_CHECK_MEMBERS([struct stat.st_blksize])
2357 AC_CHECK_MEMBERS([struct passwd.pw_gecos],,,[$ac_includes_default
2359 AC_CHECK_MEMBERS([struct passwd.pw_passwd],,,[$ac_includes_default
2366 if test $cross_compiling = yes ; then
2367 AC_MSG_WARN([Crossing compiling... all bets are off!])
2368 AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
2373 AC_CHECK_SIZEOF(short)
2374 AC_CHECK_SIZEOF(int)
2375 AC_CHECK_SIZEOF(long)
2376 AC_CHECK_SIZEOF(long long)
2377 AC_CHECK_SIZEOF(wchar_t)
2379 if test "$ac_cv_sizeof_int" -lt 4 ; then
2380 AC_MSG_WARN([OpenLDAP requires 'int' to be 32 bits or greater.])
2382 AC_DEFINE(LBER_INT_T,long,[define to 32-bit or greater integer type])
2384 AC_DEFINE(LBER_INT_T,int,[define to 32-bit or greater integer type])
2387 AC_DEFINE(LBER_LEN_T,long,[define to large integer type])
2388 AC_DEFINE(LBER_SOCKET_T,int,[define to socket descriptor type])
2389 AC_DEFINE(LBER_TAG_T,long,[define to large integer type])
2391 dnl ----------------------------------------------------------------
2392 dnl Check for multiple precision support
2393 if test $ol_with_mp = longlong || test $ol_with_mp = auto ; then
2394 if test $ac_cv_sizeof_long_long -gt 4 ; then
2396 AC_DEFINE(USE_MP_LONG_LONG,1,[define to use 'long long' for MP])
2397 elif test $ol_with_mp = longlong ; then
2398 AC_MSG_ERROR([long long unusable for multiple precision])
2401 if test $ol_with_mp = long || test $ol_with_mp = auto ; then
2402 if test $ac_cv_sizeof_long -gt 4 ; then
2404 AC_DEFINE(USE_MP_LONG,1,[define to use 'long' for MP])
2405 elif test $ol_with_mp = long ; then
2406 AC_MSG_ERROR([long unusable for multiple precision])
2409 if test $ol_with_mp = bignum || test $ol_with_mp = auto ; then
2410 AC_CHECK_HEADERS(openssl/bn.h)
2411 AC_CHECK_HEADERS(openssl/crypto.h)
2412 if test "$ac_cv_header_openssl_bn_h" = "yes" &&
2413 test "$ac_cv_header_openssl_crypto_h" = "yes" &&
2414 test "$ol_with_tls" = "found" ; then
2416 AC_DEFINE(USE_MP_BIGNUM,1,[define to use OpenSSL BIGNUM for MP])
2417 elif test $ol_with_mp = bignum ; then
2418 AC_MSG_ERROR([bignum not available])
2421 if test $ol_with_mp = gmp || test $ol_with_mp = auto ; then
2422 AC_CHECK_HEADERS(gmp.h)
2423 AC_CHECK_LIB(gmp, __gmpz_add_ui)
2424 if test $ac_cv_header_gmp_h = yes && test $ac_cv_lib_gmp___gmpz_add_ui = yes ; then
2425 AC_DEFINE(USE_MP_GMP,1,[define to use GMP for MP])
2427 elif test $ol_with_mp = gmp ; then
2428 AC_MSG_ERROR([gmp not available])
2431 if test $ol_with_mp = auto ; then
2435 dnl ----------------------------------------------------------------
2436 dnl Checks for library functions.
2439 if test $ac_cv_func_memcmp_working = no ; then
2440 AC_DEFINE(NEED_MEMCMP_REPLACEMENT,1,
2441 [define if memcmp is not 8-bit clean or is otherwise broken])
2448 dnl Check for NT specific routines
2449 AC_CHECK_FUNC(_spawnlp, AC_DEFINE(HAVE_SPAWNLP,1,[if you have spawnlp()]))
2451 AC_CHECK_FUNC(_snprintf, [ac_cv_func_snprintf=yes
2452 AC_DEFINE(snprintf, _snprintf, [define to snprintf routine])
2455 AC_CHECK_FUNCS(vsnprintf _vsnprintf)
2457 if test $ac_cv_func_vsnprintf = no -a $ac_cv_func__vsnprintf = yes ; then
2458 ac_cv_func_vsnprintf=yes
2459 AC_DEFINE(vsnprintf, _vsnprintf, [define to vsnprintf routine])
2464 if test $ac_cv_func_vprintf = yes ; then
2465 dnl check for vsnprintf
2466 AC_CHECK_FUNCS(snprintf vsnprintf)
2528 dnl We actually may need to replace more than this.
2529 AC_REPLACE_FUNCS(getopt getpeereid)
2531 if test "$ac_cv_func_getopt" != yes; then
2532 LIBSRCS="$LIBSRCS getopt.c"
2535 if test "$ac_cv_func_getpeereid" != yes; then
2536 AC_CHECK_FUNCS( getpeerucred )
2537 if test "$ac_cv_func_getpeerucred" != yes ; then
2538 AC_CHECK_MEMBERS([struct msghdr.msg_accrightslen],,,
2539 [$ac_includes_default
2540 #ifdef HAVE_SYS_SOCKET_H
2541 #include <sys/socket.h>
2543 if test "$ac_cv_member_struct_msghdr_msg_accrightslen" != yes; then
2544 AC_CHECK_MEMBERS([struct msghdr.msg_control],,,
2545 [$ac_includes_default
2546 #ifdef HAVE_SYS_SOCKET_H
2547 #include <sys/socket.h>
2550 AC_CHECK_MEMBERS([struct stat.st_fstype, struct stat.st_vfstype])
2551 if test "$ac_cv_member_struct_stat_st_fstype" = yes; then
2552 AC_COMPILE_IFELSE([struct stat st; char *ptr=st.st_fstype;],
2553 AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_CHAR],1,[define to 1 if st_fstype is char *]),
2554 AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_INT],1,[define to 1 if st_fstype is int]))
2557 LIBSRCS="$LIBSRCS getpeereid.c"
2560 if test "$ac_cv_func_snprintf" != yes ||
2561 test "$ac_cv_func_vsnprintf" != yes; then
2562 if test "$ac_cv_func_snprintf" != yes; then
2563 AC_DEFINE(snprintf, ber_pvt_snprintf, [define to snprintf routine])
2565 if test "$ac_cv_func_vsnprintf" != yes; then
2566 AC_DEFINE(vsnprintf, ber_pvt_vsnprintf, [define to snprintf routine])
2570 dnl ----------------------------------------------------------------
2571 dnl Sort out defines
2573 if test "$ol_enable_slapi" != no ; then
2574 dnl This check is done also if --enable-modules is used;
2575 dnl it is duplicated here, 'cause it'd be cached anyway
2576 AC_CHECK_HEADERS(ltdl.h)
2578 if test $ac_cv_header_ltdl_h != yes ; then
2579 AC_MSG_ERROR([could not locate <ltdl.h>])
2581 AC_CHECK_LIB(ltdl, lt_dlinit, [
2583 LIBSLAPI=slapi/libslapi.la
2584 AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
2585 ],[AC_MSG_ERROR([could not locate libtool -lltdl])])
2587 AC_DEFINE(LDAP_SLAPI,1, [define this to add SLAPI code])
2590 if test "$ol_enable_debug" != no ; then
2591 if test "$ol_enable_debug" = traditional; then
2592 AC_DEFINE(OLD_DEBUG,1,
2593 [define to use the original debug style])
2595 AC_DEFINE(LDAP_DEBUG,1,
2596 [define this to add debugging code])
2598 if test "$ol_enable_syslog" = yes ; then
2599 AC_DEFINE(LDAP_SYSLOG,1,
2600 [define this to add syslog code])
2602 if test "$ol_enable_proctitle" != no ; then
2603 AC_DEFINE(LDAP_PROCTITLE,1,
2604 [define this for LDAP process title support])
2606 if test "$ol_enable_referrals" != no ; then
2607 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS,LDAP_VENDOR_VERSION,
2608 [define to LDAP VENDOR VERSION])
2610 if test "$ol_enable_local" != no; then
2611 AC_DEFINE(LDAP_PF_LOCAL,1,[define to support PF_LOCAL])
2613 if test "$ol_link_ipv6" != no; then
2614 AC_DEFINE(LDAP_PF_INET6,1,[define to support PF_INET6])
2616 if test "$ol_enable_cleartext" != no ; then
2617 AC_DEFINE(SLAPD_CLEARTEXT,1,[define to support cleartext passwords])
2619 if test "$ol_enable_crypt" != no ; then
2620 AC_DEFINE(SLAPD_CRYPT,1,[define to support crypt(3) passwords])
2622 if test "$ol_link_spasswd" != no ; then
2623 AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords])
2625 if test "$ol_enable_rlookups" != no ; then
2626 AC_DEFINE(SLAPD_RLOOKUPS,1,[define to support reverse lookups])
2628 if test "$ol_enable_aci" != no ; then
2629 if test $ol_enable_dynacl = no ; then
2630 ol_enable_dynacl=yes
2631 AC_MSG_WARN([ACIs need dynacl])
2633 if test "$ol_enable_aci" = mod ; then
2634 MFLAG=SLAPD_MOD_DYNAMIC
2635 dnl remove this after moving servers/slapd/aci.c in contrib/slapd-modules/acl
2636 AC_MSG_ERROR([ACI build as dynamic module not supported (yet)])
2638 MFLAG=SLAPD_MOD_STATIC
2640 WITH_ACI_ENABLED=$ol_enable_aci
2641 AC_DEFINE_UNQUOTED(SLAPD_ACI_ENABLED,$MFLAG,[define to support per-object ACIs])
2645 if test "$ol_enable_dynacl" != no ; then
2646 AC_DEFINE(SLAP_DYNACL,1,[define to support run-time loadable ACL])
2649 if test "$ol_link_modules" != no ; then
2650 AC_DEFINE(SLAPD_MODULES,1,[define to support modules])
2652 SLAPD_MODULES_LDFLAGS="-dlopen self"
2655 AC_DEFINE(SLAPD_MOD_STATIC,1,[statically linked module])
2656 AC_DEFINE(SLAPD_MOD_DYNAMIC,2,[dynamically linked module])
2658 dnl back-monitor goes first (well, after back-config)
2659 if test "$ol_enable_monitor" != no ; then
2661 BUILD_MONITOR=$ol_enable_monitor
2662 if test "$ol_enable_monitor" = mod ; then
2663 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-monitor"
2664 MFLAG=SLAPD_MOD_DYNAMIC
2666 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-monitor"
2667 MFLAG=SLAPD_MOD_STATIC
2669 AC_DEFINE_UNQUOTED(SLAPD_MONITOR,$MFLAG,[define to support cn=Monitor backend])
2672 if test "$ol_enable_bdb" != no ; then
2674 BUILD_BDB=$ol_enable_bdb
2675 if test "$ol_enable_bdb" = mod ; then
2676 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-bdb"
2677 MFLAG=SLAPD_MOD_DYNAMIC
2679 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-bdb"
2680 MFLAG=SLAPD_MOD_STATIC
2682 AC_DEFINE_UNQUOTED(SLAPD_BDB,$MFLAG,[define to support BDB backend])
2685 if test "$ol_enable_dnssrv" != no ; then
2687 BUILD_DNSSRV=$ol_enable_dnssrv
2688 if test "$ol_enable_dnssrv" = mod ; then
2689 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-dnssrv"
2690 MFLAG=SLAPD_MOD_DYNAMIC
2692 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-dnssrv"
2693 MFLAG=SLAPD_MOD_STATIC
2695 AC_DEFINE_UNQUOTED(SLAPD_DNSSRV,$MFLAG,[define to support DNS SRV backend])
2698 if test "$ol_enable_hdb" != no ; then
2700 BUILD_HDB=$ol_enable_hdb
2701 if test "$ol_enable_hdb" = mod ; then
2702 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-hdb"
2703 MFLAG=SLAPD_MOD_DYNAMIC
2705 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-hdb"
2706 MFLAG=SLAPD_MOD_STATIC
2708 AC_DEFINE_UNQUOTED(SLAPD_HDB,$MFLAG,[define to support HDB backend])
2711 if test "$ol_enable_ldap" != no ; then
2713 BUILD_LDAP=$ol_enable_ldap
2714 if test "$ol_enable_ldap" = mod ; then
2715 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldap"
2716 MFLAG=SLAPD_MOD_DYNAMIC
2718 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldap"
2719 MFLAG=SLAPD_MOD_STATIC
2721 AC_DEFINE_UNQUOTED(SLAPD_LDAP,$MFLAG,[define to support LDAP backend])
2724 if test "$ol_enable_mdb" != no ; then
2726 BUILD_MDB=$ol_enable_mdb
2727 if test "$ol_enable_mdb" = mod ; then
2728 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-mdb"
2729 MFLAG=SLAPD_MOD_DYNAMIC
2731 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-mdb"
2732 MFLAG=SLAPD_MOD_STATIC
2734 AC_DEFINE_UNQUOTED(SLAPD_MDB,$MFLAG,[define to support MDB backend])
2737 if test "$ol_enable_meta" != no ; then
2739 BUILD_META=$ol_enable_meta
2741 if test "$ol_enable_meta" = mod ; then
2742 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-meta"
2743 MFLAG=SLAPD_MOD_DYNAMIC
2745 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-meta"
2746 MFLAG=SLAPD_MOD_STATIC
2748 AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend])
2751 if test "$ol_enable_asyncmeta" != no ; then
2753 BUILD_ASYNCMETA=$ol_enable_asyncmeta
2755 if test "$ol_enable_asyncmeta" = mod ; then
2756 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-asyncmeta"
2757 MFLAG=SLAPD_MOD_DYNAMIC
2759 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-asyncmeta"
2760 MFLAG=SLAPD_MOD_STATIC
2762 AC_DEFINE_UNQUOTED(SLAPD_ASYNCMETA,$MFLAG,[define to support LDAP Async Metadirectory backend])
2765 if test "$ol_enable_ndb" != no ; then
2767 BUILD_NDB=$ol_enable_ndb
2768 if test "$ol_enable_ndb" = mod ; then
2769 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ndb"
2770 MFLAG=SLAPD_MOD_DYNAMIC
2772 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ndb"
2773 MFLAG=SLAPD_MOD_STATIC
2775 AC_DEFINE_UNQUOTED(SLAPD_NDB,$MFLAG,[define to support NDB backend])
2778 if test "$ol_enable_null" != no ; then
2780 BUILD_NULL=$ol_enable_null
2781 if test "$ol_enable_null" = mod ; then
2782 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-null"
2783 MFLAG=SLAPD_MOD_DYNAMIC
2785 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-null"
2786 MFLAG=SLAPD_MOD_STATIC
2788 AC_DEFINE_UNQUOTED(SLAPD_NULL,$MFLAG,[define to support NULL backend])
2791 if test "$ol_enable_passwd" != no ; then
2793 BUILD_PASSWD=$ol_enable_passwd
2794 if test "$ol_enable_passwd" = mod ; then
2795 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-passwd"
2796 MFLAG=SLAPD_MOD_DYNAMIC
2798 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-passwd"
2799 MFLAG=SLAPD_MOD_STATIC
2801 AC_DEFINE_UNQUOTED(SLAPD_PASSWD,$MFLAG,[define to support PASSWD backend])
2804 if test "$ol_link_perl" != no ; then
2806 BUILD_PERL=$ol_enable_perl
2807 if test "$ol_enable_perl" = mod ; then
2808 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-perl"
2809 MFLAG=SLAPD_MOD_DYNAMIC
2811 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-perl"
2812 MFLAG=SLAPD_MOD_STATIC
2814 AC_DEFINE_UNQUOTED(SLAPD_PERL,$MFLAG,[define to support PERL backend])
2817 if test "$ol_enable_relay" != no ; then
2819 BUILD_RELAY=$ol_enable_relay
2820 if test "$ol_enable_relay" = mod ; then
2821 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-relay"
2822 MFLAG=SLAPD_MOD_DYNAMIC
2824 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-relay"
2825 MFLAG=SLAPD_MOD_STATIC
2827 AC_DEFINE_UNQUOTED(SLAPD_RELAY,$MFLAG,[define to support relay backend])
2830 if test "$ol_enable_shell" != no ; then
2831 if test "$ol_link_threads" != no ; then
2832 AC_MSG_WARN([Use of --without-threads is recommended with back-shell])
2835 BUILD_SHELL=$ol_enable_shell
2836 if test "$ol_enable_shell" = mod ; then
2837 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-shell"
2838 MFLAG=SLAPD_MOD_DYNAMIC
2840 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-shell"
2841 MFLAG=SLAPD_MOD_STATIC
2843 AC_DEFINE_UNQUOTED(SLAPD_SHELL,$MFLAG,[define to support SHELL backend])
2846 if test "$ol_enable_sock" != no ; then
2848 BUILD_SOCK=$ol_enable_sock
2849 if test "$ol_enable_sock" = mod ; then
2850 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sock"
2851 MFLAG=SLAPD_MOD_DYNAMIC
2853 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sock"
2854 MFLAG=SLAPD_MOD_STATIC
2856 AC_DEFINE_UNQUOTED(SLAPD_SOCK,$MFLAG,[define to support SOCK backend])
2859 if test "$ol_link_sql" != no ; then
2861 BUILD_SQL=$ol_enable_sql
2862 if test "$ol_enable_sql" = mod; then
2863 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sql"
2864 MFLAG=SLAPD_MOD_DYNAMIC
2866 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sql"
2867 MFLAG=SLAPD_MOD_STATIC
2869 AC_DEFINE_UNQUOTED(SLAPD_SQL,$MFLAG,[define to support SQL backend])
2872 if test "$ol_link_wt" != no ; then
2874 BUILD_WT=$ol_enable_wt
2875 if test "$ol_enable_wt" = mod; then
2876 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-wt"
2877 MFLAG=SLAPD_MOD_DYNAMIC
2879 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-wt"
2880 MFLAG=SLAPD_MOD_STATIC
2882 AC_DEFINE_UNQUOTED(SLAPD_WT,$MFLAG,[define to support WiredTiger backend])
2885 if test "$ol_enable_accesslog" != no ; then
2886 BUILD_ACCESSLOG=$ol_enable_accesslog
2887 if test "$ol_enable_accesslog" = mod ; then
2888 MFLAG=SLAPD_MOD_DYNAMIC
2889 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS accesslog.la"
2891 MFLAG=SLAPD_MOD_STATIC
2892 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS accesslog.o"
2894 AC_DEFINE_UNQUOTED(SLAPD_OVER_ACCESSLOG,$MFLAG,[define for In-Directory Access Logging overlay])
2897 if test "$ol_enable_auditlog" != no ; then
2898 BUILD_AUDITLOG=$ol_enable_auditlog
2899 if test "$ol_enable_auditlog" = mod ; then
2900 MFLAG=SLAPD_MOD_DYNAMIC
2901 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS auditlog.la"
2903 MFLAG=SLAPD_MOD_STATIC
2904 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS auditlog.o"
2906 AC_DEFINE_UNQUOTED(SLAPD_OVER_AUDITLOG,$MFLAG,[define for Audit Logging overlay])
2909 if test "$ol_enable_autoca" != no ; then
2910 BUILD_AUDITLOG=$ol_enable_autoca
2911 if test "$ol_enable_autoca" = mod ; then
2912 MFLAG=SLAPD_MOD_DYNAMIC
2913 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS autoca.la"
2915 MFLAG=SLAPD_MOD_STATIC
2916 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS autoca.o"
2918 AC_DEFINE_UNQUOTED(SLAPD_OVER_AUTOCA,$MFLAG,[define for Automatic Certificate Authority overlay])
2921 if test "$ol_enable_collect" != no ; then
2922 BUILD_COLLECT=$ol_enable_collect
2923 if test "$ol_enable_collect" = mod ; then
2924 MFLAG=SLAPD_MOD_DYNAMIC
2925 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS collect.la"
2927 MFLAG=SLAPD_MOD_STATIC
2928 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS collect.o"
2930 AC_DEFINE_UNQUOTED(SLAPD_OVER_COLLECT,$MFLAG,[define for Collect overlay])
2933 if test "$ol_enable_constraint" != no ; then
2934 BUILD_CONSTRAINT=$ol_enable_constraint
2935 if test "$ol_enable_constraint" = mod ; then
2936 MFLAG=SLAPD_MOD_DYNAMIC
2937 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS constraint.la"
2939 MFLAG=SLAPD_MOD_STATIC
2940 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS constraint.o"
2942 AC_DEFINE_UNQUOTED(SLAPD_OVER_CONSTRAINT,$MFLAG,[define for Attribute Constraint overlay])
2945 if test "$ol_enable_dds" != no ; then
2946 BUILD_DDS=$ol_enable_dds
2947 if test "$ol_enable_dds" = mod ; then
2948 MFLAG=SLAPD_MOD_DYNAMIC
2949 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dds.la"
2951 MFLAG=SLAPD_MOD_STATIC
2952 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dds.o"
2954 AC_DEFINE_UNQUOTED(SLAPD_OVER_DDS,$MFLAG,[define for Dynamic Directory Services overlay])
2957 if test "$ol_enable_deref" != no ; then
2958 BUILD_DEREF=$ol_enable_deref
2959 if test "$ol_enable_deref" = mod ; then
2960 MFLAG=SLAPD_MOD_DYNAMIC
2961 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS deref.la"
2963 MFLAG=SLAPD_MOD_STATIC
2964 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS deref.o"
2966 AC_DEFINE_UNQUOTED(SLAPD_OVER_DEREF,$MFLAG,[define for Dynamic Directory Services overlay])
2969 if test "$ol_enable_dyngroup" != no ; then
2970 BUILD_DYNGROUP=$ol_enable_dyngroup
2971 if test "$ol_enable_dyngroup" = mod ; then
2972 MFLAG=SLAPD_MOD_DYNAMIC
2973 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dyngroup.la"
2975 MFLAG=SLAPD_MOD_STATIC
2976 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dyngroup.o"
2978 AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group overlay])
2981 if test "$ol_enable_dynlist" != no ; then
2982 BUILD_DYNLIST=$ol_enable_dynlist
2983 if test "$ol_enable_dynlist" = mod ; then
2984 MFLAG=SLAPD_MOD_DYNAMIC
2985 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dynlist.la"
2987 MFLAG=SLAPD_MOD_STATIC
2988 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dynlist.o"
2990 AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNLIST,$MFLAG,[define for Dynamic List overlay])
2993 if test "$ol_enable_memberof" != no ; then
2994 BUILD_MEMBEROF=$ol_enable_memberof
2995 if test "$ol_enable_memberof" = mod ; then
2996 MFLAG=SLAPD_MOD_DYNAMIC
2997 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS memberof.la"
2999 MFLAG=SLAPD_MOD_STATIC
3000 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS memberof.o"
3002 AC_DEFINE_UNQUOTED(SLAPD_OVER_MEMBEROF,$MFLAG,[define for Reverse Group Membership overlay])
3005 if test "$ol_enable_ppolicy" != no ; then
3006 BUILD_PPOLICY=$ol_enable_ppolicy
3007 if test "$ol_enable_ppolicy" = mod ; then
3008 MFLAG=SLAPD_MOD_DYNAMIC
3009 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS ppolicy.la"
3011 MFLAG=SLAPD_MOD_STATIC
3012 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS ppolicy.o"
3014 AC_DEFINE_UNQUOTED(SLAPD_OVER_PPOLICY,$MFLAG,[define for Password Policy overlay])
3017 if test "$ol_enable_proxycache" != no ; then
3018 BUILD_PROXYCACHE=$ol_enable_proxycache
3019 if test "$ol_enable_proxycache" = mod ; then
3020 MFLAG=SLAPD_MOD_DYNAMIC
3021 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS pcache.la"
3023 MFLAG=SLAPD_MOD_STATIC
3024 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS pcache.o"
3026 AC_DEFINE_UNQUOTED(SLAPD_OVER_PROXYCACHE,$MFLAG,[define for Proxy Cache overlay])
3029 if test "$ol_enable_refint" != no ; then
3030 BUILD_REFINT=$ol_enable_refint
3031 if test "$ol_enable_refint" = mod ; then
3032 MFLAG=SLAPD_MOD_DYNAMIC
3033 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS refint.la"
3035 MFLAG=SLAPD_MOD_STATIC
3036 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS refint.o"
3038 AC_DEFINE_UNQUOTED(SLAPD_OVER_REFINT,$MFLAG,[define for Referential Integrity overlay])
3041 if test "$ol_enable_retcode" != no ; then
3042 BUILD_RETCODE=$ol_enable_retcode
3043 if test "$ol_enable_retcode" = mod ; then
3044 MFLAG=SLAPD_MOD_DYNAMIC
3045 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS retcode.la"
3047 MFLAG=SLAPD_MOD_STATIC
3048 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS retcode.o"
3050 AC_DEFINE_UNQUOTED(SLAPD_OVER_RETCODE,$MFLAG,[define for Referential Integrity overlay])
3053 if test "$ol_enable_rwm" != no ; then
3055 BUILD_RWM=$ol_enable_rwm
3056 if test "$ol_enable_rwm" = mod ; then
3057 MFLAG=SLAPD_MOD_DYNAMIC
3058 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS rwm.la"
3060 MFLAG=SLAPD_MOD_STATIC
3061 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS rwm_x.o"
3063 AC_DEFINE_UNQUOTED(SLAPD_OVER_RWM,$MFLAG,[define for Rewrite/Remap overlay])
3066 if test "$ol_enable_seqmod" != no ; then
3067 BUILD_SEQMOD=$ol_enable_seqmod
3068 if test "$ol_enable_seqmod" = mod ; then
3069 MFLAG=SLAPD_MOD_DYNAMIC
3070 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS seqmod.la"
3072 MFLAG=SLAPD_MOD_STATIC
3073 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS seqmod.o"
3075 AC_DEFINE_UNQUOTED(SLAPD_OVER_SEQMOD,$MFLAG,[define for Sequential Modify overlay])
3078 if test "$ol_enable_sssvlv" != no ; then
3079 BUILD_SSSVLV=$ol_enable_sssvlv
3080 if test "$ol_enable_sssvlv" = mod ; then
3081 MFLAG=SLAPD_MOD_DYNAMIC
3082 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS sssvlv.la"
3084 MFLAG=SLAPD_MOD_STATIC
3085 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS sssvlv.o"
3087 AC_DEFINE_UNQUOTED(SLAPD_OVER_SSSVLV,$MFLAG,[define for ServerSideSort/VLV overlay])
3090 if test "$ol_enable_syncprov" != no ; then
3091 BUILD_SYNCPROV=$ol_enable_syncprov
3092 if test "$ol_enable_syncprov" = mod ; then
3093 MFLAG=SLAPD_MOD_DYNAMIC
3094 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS syncprov.la"
3096 MFLAG=SLAPD_MOD_STATIC
3097 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS syncprov.o"
3099 AC_DEFINE_UNQUOTED(SLAPD_OVER_SYNCPROV,$MFLAG,[define for Syncrepl Provider overlay])
3102 if test "$ol_enable_translucent" != no ; then
3103 BUILD_TRANSLUCENT=$ol_enable_translucent
3104 if test "$ol_enable_translucent" = mod ; then
3105 MFLAG=SLAPD_MOD_DYNAMIC
3106 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS translucent.la"
3108 MFLAG=SLAPD_MOD_STATIC
3109 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS translucent.o"
3111 AC_DEFINE_UNQUOTED(SLAPD_OVER_TRANSLUCENT,$MFLAG,[define for Translucent Proxy overlay])
3114 if test "$ol_enable_unique" != no ; then
3115 BUILD_UNIQUE=$ol_enable_unique
3116 if test "$ol_enable_unique" = mod ; then
3117 MFLAG=SLAPD_MOD_DYNAMIC
3118 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS unique.la"
3120 MFLAG=SLAPD_MOD_STATIC
3121 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS unique.o"
3123 AC_DEFINE_UNQUOTED(SLAPD_OVER_UNIQUE,$MFLAG,[define for Attribute Uniqueness overlay])
3126 if test "$ol_enable_valsort" != no ; then
3127 BUILD_VALSORT=$ol_enable_valsort
3128 if test "$ol_enable_valsort" = mod ; then
3129 MFLAG=SLAPD_MOD_DYNAMIC
3130 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS valsort.la"
3132 MFLAG=SLAPD_MOD_STATIC
3133 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS valsort.o"
3135 AC_DEFINE_UNQUOTED(SLAPD_OVER_VALSORT,$MFLAG,[define for Value Sorting overlay])
3138 if test "$ol_enable_rewrite" != no ; then
3139 AC_DEFINE(ENABLE_REWRITE,1,[define to enable rewriting in back-ldap and back-meta])
3143 if test "$ol_enable_slapi" != no ; then
3144 AC_DEFINE(ENABLE_SLAPI,1,[define to enable slapi library])
3146 SLAPD_SLAPI_DEPEND=libslapi.a
3149 dnl ----------------------------------------------------------------
3152 dnl For Windows build, we don't want to include -dlopen flags.
3153 dnl They hurt more than they help.
3156 if test "$ac_cv_mingw32" = yes -o $ol_cv_msvc = yes ; then
3158 SLAPD_MODULES_LDFLAGS=
3167 AC_SUBST(WITH_MODULES_ENABLED)
3168 AC_SUBST(WITH_ACI_ENABLED)
3169 AC_SUBST(BUILD_THREAD)
3170 AC_SUBST(BUILD_LIBS_DYNAMIC)
3172 AC_SUBST(BUILD_SLAPD)
3174 AC_SUBST(BUILD_SLAPI)
3175 AC_SUBST(SLAPD_SLAPI_DEPEND)
3178 AC_SUBST(BUILD_DNSSRV)
3180 AC_SUBST(BUILD_LDAP)
3182 AC_SUBST(BUILD_META)
3183 AC_SUBST(BUILD_ASYNCMETA)
3184 AC_SUBST(BUILD_MONITOR)
3186 AC_SUBST(BUILD_NULL)
3187 AC_SUBST(BUILD_PASSWD)
3188 AC_SUBST(BUILD_RELAY)
3189 AC_SUBST(BUILD_PERL)
3190 AC_SUBST(BUILD_SHELL)
3191 AC_SUBST(BUILD_SOCK)
3195 AC_SUBST(BUILD_ACCESSLOG)
3196 AC_SUBST(BUILD_AUDITLOG)
3197 AC_SUBST(BUILD_COLLECT)
3198 AC_SUBST(BUILD_CONSTRAINT)
3200 AC_SUBST(BUILD_DENYOP)
3201 AC_SUBST(BUILD_DEREF)
3202 AC_SUBST(BUILD_DYNGROUP)
3203 AC_SUBST(BUILD_DYNLIST)
3204 AC_SUBST(BUILD_LASTMOD)
3205 AC_SUBST(BUILD_MEMBEROF)
3206 AC_SUBST(BUILD_PPOLICY)
3207 AC_SUBST(BUILD_PROXYCACHE)
3208 AC_SUBST(BUILD_REFINT)
3209 AC_SUBST(BUILD_RETCODE)
3211 AC_SUBST(BUILD_SEQMOD)
3212 AC_SUBST(BUILD_SSSVLV)
3213 AC_SUBST(BUILD_SYNCPROV)
3214 AC_SUBST(BUILD_TRANSLUCENT)
3215 AC_SUBST(BUILD_UNIQUE)
3216 AC_SUBST(BUILD_VALSORT)
3219 AC_SUBST(SLAPD_LIBS)
3221 AC_SUBST(SLAPD_NDB_LIBS)
3222 AC_SUBST(SLAPD_NDB_INCS)
3223 AC_SUBST(LTHREAD_LIBS)
3224 AC_SUBST(LUTIL_LIBS)
3227 AC_SUBST(SLAPD_MODULES_CPPFLAGS)
3228 AC_SUBST(SLAPD_MODULES_LDFLAGS)
3230 AC_SUBST(SLAPD_NO_STATIC)
3231 AC_SUBST(SLAPD_STATIC_BACKENDS)
3232 AC_SUBST(SLAPD_DYNAMIC_BACKENDS)
3233 AC_SUBST(SLAPD_STATIC_OVERLAYS)
3234 AC_SUBST(SLAPD_DYNAMIC_OVERLAYS)
3236 AC_SUBST(PERL_CPPFLAGS)
3237 AC_SUBST(SLAPD_PERL_LDFLAGS)
3238 AC_SUBST(MOD_PERL_LDFLAGS)
3244 AC_SUBST(MODULES_LIBS)
3245 AC_SUBST(SLAPI_LIBS)
3250 AC_SUBST(SLAPD_SLP_LIBS)
3251 AC_SUBST(SLAPD_GMP_LIBS)
3253 AC_SUBST(SLAPD_SQL_LDFLAGS)
3254 AC_SUBST(SLAPD_SQL_LIBS)
3255 AC_SUBST(SLAPD_SQL_INCLUDES)
3260 dnl ----------------------------------------------------------------
3261 dnl final help output
3262 AC_ARG_WITH(xxinstall,[
3263 See INSTALL file for further details.])
3265 dnl ----------------------------------------------------------------
3269 AC_CONFIG_FILES([Makefile:build/top.mk:Makefile.in:build/dir.mk]
3270 [doc/Makefile:build/top.mk:doc/Makefile.in:build/dir.mk]
3271 [doc/man/Makefile:build/top.mk:doc/man/Makefile.in:build/dir.mk]
3272 [doc/man/man1/Makefile:build/top.mk:doc/man/man1/Makefile.in:build/man.mk]
3273 [doc/man/man3/Makefile:build/top.mk:doc/man/man3/Makefile.in:build/man.mk]
3274 [doc/man/man5/Makefile:build/top.mk:doc/man/man5/Makefile.in:build/man.mk]
3275 [doc/man/man8/Makefile:build/top.mk:doc/man/man8/Makefile.in:build/man.mk]
3276 [clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.mk]
3277 [clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk]
3278 [include/Makefile:build/top.mk:include/Makefile.in]
3279 [libraries/Makefile:build/top.mk:libraries/Makefile.in:build/dir.mk]
3280 [libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk:build/lib-shared.mk]
3281 [libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk:build/lib-shared.mk]
3282 [libraries/libldap_r/Makefile:build/top.mk:libraries/libldap_r/Makefile.in:build/lib.mk:build/lib-shared.mk]
3283 [libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk]
3284 [libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk]
3285 [libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-static.mk]
3286 [servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk]
3287 [servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk]
3288 [servers/slapd/back-bdb/Makefile:build/top.mk:servers/slapd/back-bdb/Makefile.in:build/mod.mk]
3289 [servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk]
3290 [servers/slapd/back-hdb/Makefile:build/top.mk:servers/slapd/back-hdb/Makefile.in:build/mod.mk]
3291 [servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/mod.mk]
3292 [servers/slapd/back-ldif/Makefile:build/top.mk:servers/slapd/back-ldif/Makefile.in:build/mod.mk]
3293 [servers/slapd/back-mdb/Makefile:build/top.mk:servers/slapd/back-mdb/Makefile.in:build/mod.mk]
3294 [servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk]
3295 [servers/slapd/back-asyncmeta/Makefile:build/top.mk:servers/slapd/back-asyncmeta/Makefile.in:build/mod.mk]
3296 [servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk]
3297 [servers/slapd/back-ndb/Makefile:build/top.mk:servers/slapd/back-ndb/Makefile.in:build/mod.mk]
3298 [servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/Makefile.in:build/mod.mk]
3299 [servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk]
3300 [servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk]
3301 [servers/slapd/back-relay/Makefile:build/top.mk:servers/slapd/back-relay/Makefile.in:build/mod.mk]
3302 [servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk]
3303 [servers/slapd/back-sock/Makefile:build/top.mk:servers/slapd/back-sock/Makefile.in:build/mod.mk]
3304 [servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk]
3305 [servers/slapd/back-wt/Makefile:build/top.mk:servers/slapd/back-wt/Makefile.in:build/mod.mk]
3306 [servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk]
3307 [servers/slapd/slapi/Makefile:build/top.mk:servers/slapd/slapi/Makefile.in:build/lib.mk:build/lib-shared.mk]
3308 [servers/slapd/overlays/Makefile:build/top.mk:servers/slapd/overlays/Makefile.in:build/lib.mk]
3309 [tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk]
3311 [tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk])
3313 AC_CONFIG_COMMANDS([default],[[
3316 BACKENDSC="servers/slapd/backends.c"
3317 echo "Making $BACKENDSC"
3319 cat > $BACKENDSC << ENDX
3320 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
3322 * Copyright 1998-2017 The OpenLDAP Foundation.
3323 * All rights reserved.
3325 * Redistribution and use in source and binary forms, with or without
3326 * modification, are permitted only as authorized by the OpenLDAP
3329 * A copy of this license is available in the file LICENSE in the
3330 * top-level directory of the distribution or, alternatively, at
3331 * <http://www.OpenLDAP.org/license.html>.
3333 /* This file is automatically generated by configure; please do not edit. */
3335 #include "portable.h"
3339 if test "${STATIC_BACKENDS}"; then
3340 for b in config ${STATIC_BACKENDS}; do
3341 bb=`echo "${b}" | sed -e 's/back-//'`
3342 cat >> $BACKENDSC << ENDX
3343 extern BI_init ${bb}_back_initialize;
3347 cat >> $BACKENDSC << ENDX
3349 BackendInfo slap_binfo[] = {
3352 for b in config ${STATIC_BACKENDS}; do
3353 bb=`echo "${b}" | sed -e 's/back-//'`
3354 echo " Add ${bb} ..."
3355 cat >> $BACKENDSC << ENDX
3356 { "${bb}", ${bb}_back_initialize },
3360 cat >> $BACKENDSC << ENDX
3364 /* end of generated file */
3367 OVERLAYSC="servers/slapd/overlays/statover.c"
3368 echo "Making $OVERLAYSC"
3370 cat > $OVERLAYSC << ENDX
3371 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
3373 * Copyright 1998-2017 The OpenLDAP Foundation.
3374 * All rights reserved.
3376 * Redistribution and use in source and binary forms, with or without
3377 * modification, are permitted only as authorized by the OpenLDAP
3380 * A copy of this license is available in the file LICENSE in the
3381 * top-level directory of the distribution or, alternatively, at
3382 * <http://www.OpenLDAP.org/license.html>.
3384 /* This file is automatically generated by configure; please do not edit. */
3386 #include "portable.h"
3390 if test "${STATIC_OVERLAYS}"; then
3391 for o in ${STATIC_OVERLAYS}; do
3392 oo=`echo "${o}" | sed -e 's/.o$//' -e 's/_x$//'`
3393 cat >> $OVERLAYSC << ENDX
3394 extern OV_init ${oo}_initialize;
3399 cat >> $OVERLAYSC << ENDX
3401 OverlayInit slap_oinfo[] = {
3404 if test "${STATIC_OVERLAYS}"; then
3405 for o in ${STATIC_OVERLAYS}; do
3406 oo=`echo "${o}" | sed -e 's/.o$//' -e 's/_x$//'`
3407 echo " Add ${oo} ..."
3408 cat >> $OVERLAYSC << ENDX
3409 { "${oo}", ${oo}_initialize },
3414 cat >> $OVERLAYSC << ENDX
3418 /* end of generated file */
3421 if test "${ol_cv_mkdep}" = no; then
3422 echo '(Do not "make depend"; we do not know how to build dependencies)'
3424 echo 'Please run "make depend" to build dependencies'
3427 STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS"
3428 STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS"