2 dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
4 dnl Copyright 1998-2018 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-2018 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-2018 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 specifically 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 ----------------------------------------------------------------
592 SLAPD_STATIC_OVERLAYS=
593 SLAPD_DYNAMIC_OVERLAYS=
595 SLAPD_MODULES_LDFLAGS=
596 SLAPD_MODULES_CPPFLAGS=
598 SLAPD_STATIC_BACKENDS=back-ldif
599 SLAPD_DYNAMIC_BACKENDS=
623 dnl ================================================================
624 dnl Checks for programs
626 AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion])
628 dnl ----------------------------------------------------------------
630 dnl Determine which C translator to use
633 dnl AIX Thread requires we use cc_r or xlc_r.
634 dnl But only do this IF AIX and CC is not set
635 dnl and threads are auto|yes|posix.
637 dnl If we find cc_r|xlc_r, force pthreads and assume
638 dnl pthread_create is in $LIBS (ie: don't bring in
639 dnl any additional thread libraries)
640 dnl If we do not find cc_r|xlc_r, disable threads
644 *-*-aix*) dnl all AIX is not a good idea.
645 if test -z "$CC" ; then
646 case "$ol_with_threads" in
647 auto | yes | posix) ol_aix_threads=yes ;;
653 if test $ol_aix_threads = yes ; then
654 if test -z "${CC}" ; then
655 AC_CHECK_PROGS(CC,cc_r xlc_r cc)
657 if test "$CC" = cc ; then
658 dnl no CC! don't allow --with-threads
659 if test $ol_with_threads != auto ; then
660 AC_MSG_ERROR([--with-threads requires cc_r (or other suitable compiler) on AIX])
662 AC_MSG_WARN([disabling threads, no cc_r on AIX])
668 case ${CC} in cc_r | xlc_r)
669 ol_with_threads=posix
670 ol_cv_pthread_create=yes
675 if test -z "${CC}"; then
676 AC_CHECK_PROGS(CC,cc gcc,missing)
678 if test "${CC}" = "missing" ; then
679 AC_MSG_ERROR([Unable to locate cc(1) or suitable replacement. Check PATH or set CC.])
683 if test -z "${AR}"; then
684 AC_CHECK_PROGS(AR,ar gar,missing)
686 if test "${AR}" = "missing" ; then
687 AC_MSG_ERROR([Unable to locate ar(1) or suitable replacement. Check PATH or set AR.])
695 dnl ----------------------------------------------------------------
698 if test $ol_enable_perl != no ; then
699 AC_PATH_PROG(PERLBIN, perl, /usr/bin/perl)
701 if test "no$PERLBIN" = "no" ; then
702 if test $ol_enable_perl = yes ; then
703 AC_MSG_ERROR([could not locate perl])
707 PERL_CPPFLAGS="`$PERLBIN -MExtUtils::Embed -e ccopts`"
708 PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e 's/ -lc / /' -e 's/ -lc$//'`"
710 if test x"$ol_enable_perl" = "xyes" ; then
711 SLAPD_PERL_LDFLAGS="$PERL_LDFLAGS"
713 MOD_PERL_LDFLAGS="$PERL_LDFLAGS"
715 dnl should check perl version
723 dnl ----------------------------------------------------------------
724 dnl Checks for Windows NT
726 *mingw32* ) ac_cv_mingw32=yes ;;
727 *cygwin* ) ac_cv_cygwin=yes ;;
728 *interix* ) ac_cv_interix=yes ;;
731 dnl ----------------------------------------------------------------
732 dnl Checks for file extensions
735 AC_DEFINE_UNQUOTED(EXEEXT, "${EXEEXT}", [defined to be the EXE extension])
737 dnl ----------------------------------------------------------------
738 dnl BeOS requires -lbe -lroot -lnet
739 AC_CHECK_LIB(be, be_app, [LIBS="$LIBS -lbe -lroot -lnet"], :, [-lroot -lnet])
741 dnl ----------------------------------------------------------------
742 dnl OpenLDAP requires STDC features
744 if test "X${ac_cv_prog_cc_stdc}" = "Xno" ; then
745 AC_MSG_ERROR([OpenLDAP requires compiler to support STDC constructs.])
748 dnl ----------------------------------------------------------------
749 dnl Check cc depend flags
751 if test "${ol_cv_mkdep}" = no ; then
752 # this will soon become an error
753 AC_MSG_WARN([do not know how to generate dependencies])
756 dnl ----------------------------------------------------------------
757 dnl Check for AIX security library
758 AC_CHECK_LIB(s, afopen, [
760 AC_DEFINE(HAVE_AIX_SECURITY,1,[define if you have AIX security lib])
763 dnl ----------------------------------------------------------------
764 dnl Check for IBM OS/390
768 AC_DEFINE(BOTH_STRINGS_H,1,[define to use both <string.h> and <strings.h>])
772 dnl ----------------------------------------------------------------
773 dnl Check for module support
775 WITH_MODULES_ENABLED=no
776 if test $ol_enable_modules != no ; then
777 AC_CHECK_HEADERS(ltdl.h)
779 if test $ac_cv_header_ltdl_h = no ; then
780 AC_MSG_ERROR([could not locate libtool ltdl.h])
783 AC_CHECK_LIB(ltdl, lt_dlinit, [
785 AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
788 if test "$ac_cv_lib_ltdl_lt_dlinit" = no ; then
789 AC_MSG_ERROR([could not locate libtool -lltdl])
792 WITH_MODULES_ENABLED=yes
795 for i in $Backends; do
796 eval "ol_tmp=\$ol_enable_$i"
797 if test $ol_tmp = mod ; then
798 AC_MSG_WARN([building static $i backend])
799 eval "ol_enable_$i=yes"
802 for i in $Overlays; do
803 eval "ol_tmp=\$ol_enable_$i"
804 if test $ol_tmp = mod ; then
805 AC_MSG_WARN([building static $i overlay])
806 eval "ol_enable_$i=yes"
811 dnl ----------------------------------------------------------------
812 dnl Checks for header files.
815 if test $ol_cv_header_stdc != yes; then
816 AC_MSG_WARN([could not locate Standard C compliant headers])
873 dnl Only check Winsock on MinGW
874 if test "$ac_cv_mingw32" = yes \
875 -o "$ac_cv_interix" = yes \
876 -o "$ol_cv_msvc" = yes
878 AC_CHECK_HEADERS( winsock.h winsock2.h )
881 AC_CHECK_HEADERS( resolv.h, [], [],
882 [$ac_includes_default
883 #include <netinet/in.h>
886 AC_CHECK_HEADERS( netinet/tcp.h, [], [],
887 [$ac_includes_default
888 #include <netinet/in.h>
891 AC_CHECK_HEADERS( sys/ucred.h, [], [],
892 [$ac_includes_default
893 #ifdef HAVE_SYS_PARAM_H
894 #include <sys/param.h>
898 dnl ----------------------------------------------------------------
899 dnl Checks for libraries
901 AC_CHECK_FUNCS( sigaction sigset )
903 dnl HP-UX requires -lV3
904 dnl this is not needed on newer versions of HP-UX
905 if test $ac_cv_func_sigaction = no && test $ac_cv_func_sigaction = no ; then
906 AC_CHECK_LIB(V3, sigset)
909 if test $ol_cv_msvc = yes ; then
913 dnl The following is INTENTIONALLY scripted out because shell does not
914 dnl support variable names with the '@' character, which is what
915 dnl autoconf would try to generate if one merely used AC_SEARCH_LIBS
916 if test "$ac_cv_header_winsock_h" = yes; then
917 AC_CACHE_CHECK([for winsock], [ol_cv_winsock],[
919 for curlib in none ws2_32 wsock32; do
920 if test $curlib != none ; then
921 LIBS="$save_LIBS -l$curlib"
923 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <winsock.h>
926 select(0,NULL,NULL,NULL,NULL);
929 ]])],[ol_cv_winsock=$curlib],[ol_cv_winsock=no])
931 test "$ol_cv_winsock" != no && break
936 if test $ol_cv_winsock != no ; then
937 AC_DEFINE(HAVE_WINSOCK, 1, [define if you have winsock])
938 ac_cv_func_socket=yes
939 ac_cv_func_select=yes
940 ac_cv_func_closesocket=yes
941 ac_cv_func_gethostname=yes
943 if test $ol_cv_winsock != none -a $ol_cv_winsock != yes ; then
944 LIBS="$LIBS -l$ol_cv_winsock"
947 if test $ol_cv_winsock = ws2_32 -o $ol_cv_winsock = yes ; then
948 AC_DEFINE(HAVE_WINSOCK2, 1, [define if you have winsock2])
954 dnl Likely combinations:
955 dnl -lsocket [ -lnsl_s | -lnsl ]
958 AC_CHECK_FUNC(socket, :, [
959 dnl hopefully we won't include too many libraries
960 AC_CHECK_LIB(socket, main)
961 AC_CHECK_LIB(net, socket)
962 AC_CHECK_LIB(nsl_s, main)
963 AC_CHECK_LIB(nsl, main)
964 AC_CHECK_LIB(inet, socket)
965 AC_CHECK_LIB(gen, main)
969 AC_CHECK_FUNC(select, :, AC_MSG_ERROR([select() required.]))
971 if test "${ac_cv_header_winsock_h}" != yes; then
973 dnl (if this detection becomes permanent, it and the select() detection
974 dnl should be done before the yielding select test)
975 AC_FUNC_SELECT_ARGTYPES
978 dnl check to see if system call automatically restart
979 dnl AC_SYS_RESTARTABLE_SYSCALLS
981 dnl ----------------------------------------------------------------
982 AC_CHECK_FUNCS( poll )
983 if test $ac_cv_func_poll = yes; then
984 AC_CHECK_HEADERS( poll.h sys/poll.h )
987 dnl ----------------------------------------------------------------
988 AC_CHECK_HEADERS( sys/epoll.h )
989 if test "${ac_cv_header_sys_epoll_h}" = yes; then
990 AC_MSG_CHECKING(for epoll system call)
991 AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv)
993 int epfd = epoll_create(256);
994 exit (epfd == -1 ? 1 : 0);
995 }]])],[AC_MSG_RESULT(yes)
996 AC_DEFINE(HAVE_EPOLL,1, [define if your system supports epoll])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
999 dnl ----------------------------------------------------------------
1000 AC_CHECK_HEADERS( sys/event.h )
1001 if test "${ac_cv_header_sys_event_h}" = yes; then
1002 AC_MSG_CHECKING(for kqueue system call)
1003 AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv)
1005 int kqfd = kqueue();
1006 exit (kqfd == -1 ? 1 : 0);
1007 }]])],[AC_MSG_RESULT(yes)
1008 AC_DEFINE(HAVE_KQUEUE,1, [define if your system supports kqueue])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
1011 dnl ----------------------------------------------------------------
1012 AC_CHECK_HEADERS( sys/devpoll.h )
1013 dnl "/dev/poll" needs <sys/poll.h> as well...
1014 if test "${ac_cv_header_sys_devpoll_h}" = yes \
1015 -a "${ac_cv_header_poll_h}" = yes ; \
1017 AC_MSG_CHECKING(for /dev/poll)
1018 AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv)
1020 int devpollfd = open("/dev/poll", /* O_RDWR */ 2);
1021 exit (devpollfd == -1 ? 1 : 0);
1022 }]])],[AC_MSG_RESULT(yes)
1023 AC_DEFINE(HAVE_DEVPOLL,1, [define if your system supports /dev/poll])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
1026 dnl ----------------------------------------------------------------
1029 dnl ----------------------------------------------------------------
1030 dnl require POSIX regex
1031 AC_CHECK_HEADERS( regex.h, [], [],
1032 [$ac_includes_default
1033 #ifdef HAVE_SYS_TYPES_H
1034 #include <sys/types.h>
1038 if test "$ac_cv_header_regex_h" != yes ; then
1039 AC_MSG_ERROR([POSIX regex.h required.])
1041 AC_SEARCH_LIBS(regfree, [regex gnuregex],
1042 :, AC_MSG_ERROR([POSIX regex required.]))
1045 if test "$ol_cv_c_posix_regex" = no ; then
1046 AC_MSG_ERROR([broken POSIX regex!])
1049 dnl ----------------------------------------------------------------
1053 AC_CHECK_HEADERS(sys/uuid.h)
1054 dnl The HAVE_UUID_TO_STR code path also needs uuid_create
1055 if test $ac_cv_header_sys_uuid_h = yes ; then
1057 AC_SEARCH_LIBS([uuid_to_str], [uuid], [have_uuid=yes], :)
1058 AC_SEARCH_LIBS([uuid_create], [uuid], :, [have_uuid=no])
1061 if test $have_uuid = yes ; then
1062 AC_DEFINE(HAVE_UUID_TO_STR,1,
1063 [define if you have uuid_to_str()])
1065 test "$ac_cv_search_uuid_to_str" = "none required" || \
1066 SLAPD_LIBS="$SLAPD_LIBS $ac_cv_search_uuid_to_str"
1070 dnl Look for uuid_generate
1071 dnl The HAVE_UUID_GENERATE code path also needs uuid_unparse_lower
1072 if test $have_uuid = no ; then
1073 AC_CHECK_HEADERS(uuid/uuid.h)
1074 if test $ac_cv_header_uuid_uuid_h = yes ; then
1076 AC_SEARCH_LIBS([uuid_generate], [uuid], [have_uuid=yes], :)
1077 AC_SEARCH_LIBS([uuid_unparse_lower], [uuid], :, [have_uuid=no])
1080 if test $have_uuid = yes ; then
1081 AC_DEFINE(HAVE_UUID_GENERATE,1,
1082 [define if you have uuid_generate()])
1084 test "$ac_cv_search_uuid_generate" = "none required" || \
1085 SLAPD_LIBS="$SLAPD_LIBS $ac_cv_search_uuid_generate"
1090 dnl For windows, check for the need of RPCRT for UUID function support
1091 if test $have_uuid = no ; then
1092 AC_MSG_CHECKING(to see if -lrpcrt4 is needed for win32 UUID support)
1094 LIBS="$LIBS -lrpcrt4"
1095 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1096 int __stdcall UuidCreate(void *);
1097 int __stdcall UuidToStringA(void *,void **);
1101 ]])],[need_rpcrt=yes],[need_rpcrt=no])
1102 if test $need_rpcrt = yes; then
1103 SLAPD_LIBS="$SLAPD_LIBS -lrpcrt4"
1106 AC_MSG_RESULT($need_rpcrt)
1109 dnl ----------------------------------------------------------------
1110 dnl Check for resolver routines
1114 if test "$ol_cv_lib_resolver" != no ; then
1115 AC_DEFINE(HAVE_RES_QUERY,1,
1116 [define if you have res_query()])
1118 if test "$ol_enable_dnssrv" != no ; then
1122 if test "$ol_cv_lib_resolver" != yes ; then
1123 LIBS="$ol_cv_lib_resolver $LIBS"
1127 if test "$ol_enable_dnssrv" = yes || test "$ol_enable_dnssrv" = mod ; then
1128 if test "$ol_link_dnssrv" = no ; then
1129 AC_MSG_ERROR([DNSSRV requires res_query()])
1135 AC_CHECK_FUNCS( hstrerror )
1137 dnl ----------------------------------------------------------------
1138 dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN
1139 dnl PF_LOCAL may use getaddrinfo in available
1140 AC_CHECK_FUNCS( getaddrinfo getnameinfo gai_strerror inet_ntop )
1143 if test $ac_cv_func_getaddrinfo = no || test $ac_cv_func_inet_ntop = no ; then
1144 if test $ol_enable_ipv6 = yes ; then
1145 AC_MSG_ERROR([IPv6 support requires getaddrinfo() and inet_ntop()])
1147 elif test $ol_enable_ipv6 != no ; then
1148 AC_CACHE_CHECK([INET6_ADDRSTRLEN],[ol_cv_inet6_addrstrlen],[
1149 AC_EGREP_CPP(__has_inet6_addrstrlen__,[
1150 # include <netinet/in.h>
1151 # ifdef INET6_ADDRSTRLEN
1152 __has_inet6_addrstrlen__;
1154 ], [ol_cv_inet6_addrstrlen=yes], [ol_cv_inet6_addrstrlen=no])])
1157 AC_CACHE_CHECK([struct sockaddr_storage],ol_cv_struct_sockaddr_storage,[
1158 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1159 #include <sys/types.h>
1160 #include <sys/socket.h>
1162 struct sockaddr_storage ss;
1163 ]])],[ol_cv_struct_sockaddr_storage=yes],[ol_cv_struct_sockaddr_storage=no])])
1165 if test $ol_cv_inet6_addrstrlen = yes &&
1166 test $ol_cv_struct_sockaddr_storage = yes ; then
1168 elif test $ol_enable_ipv6 = yes &&
1169 test $ol_cv_inet6_addrstrlen = no ; then
1170 AC_MSG_ERROR([IPv6 support requires INET6_ADDRSTRLEN])
1171 elif test $ol_enable_ipv6 = yes &&
1172 test $ol_cv_struct_sockaddr_storage = no ; then
1173 AC_MSG_ERROR([IPv6 support requires struct sockaddr_storage])
1177 if test $ol_enable_local != no ; then
1178 AC_CHECK_HEADERS( sys/un.h )
1180 if test $ol_enable_local = auto ; then
1181 ol_enable_local=$ac_cv_header_sys_un_h
1182 elif test $ac_cv_header_sys_un_h = no ; then
1183 AC_MSG_ERROR([AF_LOCAL domain support requires sys/un.h])
1187 dnl ----------------------------------------------------------------
1190 if test $ol_with_tls = yes ; then
1195 if test $ol_with_tls = openssl || test $ol_with_tls = auto ; then
1196 AC_CHECK_HEADERS(openssl/ssl.h)
1198 if test $ac_cv_header_openssl_ssl_h = yes ; then
1199 AC_CHECK_LIB(ssl, SSL_CTX_set_msg_callback,
1201 need_rsaref=no], [have_openssl=no],
1204 if test $have_openssl = no ; then
1205 AC_CHECK_LIB(ssl, ssl3_accept,
1207 need_rsaref=yes], [have_openssl=no],
1208 [-lcrypto -lRSAglue -lrsaref])
1211 if test $have_openssl = yes ; then
1214 WITH_TLS_TYPE=openssl
1216 AC_DEFINE(HAVE_OPENSSL, 1,
1217 [define if you have OpenSSL])
1219 if test $need_rsaref = yes; then
1220 AC_DEFINE(HAVE_RSAREF, 1,
1221 [define if OpenSSL needs RSAref])
1223 TLS_LIBS="-lssl -lcrypto -lRSAglue -lrsaref"
1225 TLS_LIBS="-lssl -lcrypto"
1229 if test $ol_cv_ssl_crl_compat = yes ; then
1230 AC_DEFINE(HAVE_OPENSSL_CRL, 1,
1231 [define if you have OpenSSL with CRL checking capability])
1237 if test $ol_link_tls = no ; then
1238 if test $ol_with_tls = gnutls || test $ol_with_tls = auto ; then
1239 AC_CHECK_HEADERS(gnutls/gnutls.h)
1241 if test $ac_cv_header_gnutls_gnutls_h = yes ; then
1242 AC_PREPROC_IFELSE([AC_LANG_SOURCE(
1243 [[#include <gnutls/gnutls.h>]
1244 [#if GNUTLS_VERSION_NUMBER < 0x020c00]
1245 [#error "GnuTLS 2.12.0 or newer required"]
1247 , [AC_MSG_FAILURE([GnuTLS is too old])])
1249 AC_CHECK_LIB(gnutls, gnutls_init,
1250 [have_gnutls=yes], [have_gnutls=no])
1252 if test $have_gnutls = yes ; then
1255 WITH_TLS_TYPE=gnutls
1259 AC_DEFINE(HAVE_GNUTLS, 1,
1260 [define if you have GNUtls])
1266 dnl NOTE: caller must specify -I/path/to/nspr4 and -I/path/to/nss3
1267 dnl and -L/path/to/nspr4 libs and -L/path/to/nss3 libs if those libs
1268 dnl are not in the default system location
1269 if test $ol_link_tls = no ; then
1270 if test $ol_with_tls = moznss || test $ol_with_tls = auto ; then
1272 AC_CHECK_HEADERS([nssutil.h])
1273 if test "$ac_cv_header_nssutil_h" = yes ; then
1274 AC_CHECK_LIB([nss3], [NSS_Initialize],
1275 [ have_moznss=yes ], [ have_moznss=no ])
1278 if test "$have_moznss" = yes ; then
1281 AC_DEFINE(HAVE_MOZNSS, 1,
1282 [define if you have MozNSS])
1283 TLS_LIBS="-lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4"
1285 if test $ol_with_tls = moznss ; then
1286 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)])
1293 if test $ol_link_tls = yes ; then
1294 AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
1296 elif test $ol_with_tls = auto ; then
1297 AC_MSG_WARN([Could not locate TLS/SSL package])
1298 AC_MSG_WARN([TLS data protection not supported!])
1299 elif test $ol_with_tls != no ; then
1300 AC_MSG_ERROR([Could not locate TLS/SSL package])
1302 AC_MSG_WARN([TLS data protection not supported!])
1305 dnl ----------------------------------------------------------------
1306 dnl LAN Manger password checking requires DES from OpenSSL
1307 if test $ol_enable_lmpasswd != no; then
1308 if test $ol_link_tls != yes ; then
1309 AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
1312 AC_DEFINE(SLAPD_LMHASH, 1, [define to support LAN Manager passwords])
1315 dnl ----------------------------------------------------------------
1319 case $ol_with_threads in auto | yes | nt)
1323 if test "$ol_cv_nt_threads" = yes ; then
1325 ol_with_threads=found
1326 ol_with_yielding_select=yes
1328 AC_DEFINE(HAVE_NT_SERVICE_MANAGER,1,[if you have NT Service Manager])
1329 AC_DEFINE(HAVE_NT_EVENT_LOG,1,[if you have NT Event Log])
1332 if test $ol_with_threads = nt ; then
1333 AC_MSG_ERROR([could not locate NT Threads])
1338 case $ol_with_threads in auto | yes | posix)
1340 AC_CHECK_HEADERS(pthread.h)
1342 if test $ac_cv_header_pthread_h = yes ; then
1343 OL_POSIX_THREAD_VERSION
1345 if test $ol_cv_pthread_version != 0 ; then
1346 AC_DEFINE_UNQUOTED(HAVE_PTHREADS,$ol_cv_pthread_version,
1347 [define to pthreads API spec revision])
1349 AC_MSG_ERROR([unknown pthread version])
1352 # consider threads found
1353 ol_with_threads=found
1355 OL_HEADER_LINUX_THREADS
1356 OL_HEADER_GNU_PTH_PTHREAD_H
1358 if test $ol_cv_header_gnu_pth_pthread_h = no ; then
1359 AC_CHECK_HEADERS(sched.h)
1362 dnl Now the hard part, how to link?
1364 dnl currently supported checks:
1366 dnl Check for no flags
1367 dnl pthread_create() in $LIBS
1369 dnl Check special pthread (final) flags
1370 dnl [skipped] pthread_create() with -mt (Solaris) [disabled]
1371 dnl pthread_create() with -kthread (FreeBSD)
1372 dnl pthread_create() with -pthread (FreeBSD/Digital Unix)
1373 dnl pthread_create() with -pthreads (?)
1374 dnl pthread_create() with -mthreads (AIX)
1375 dnl pthread_create() with -thread (?)
1377 dnl Check pthread (final) libraries
1378 dnl pthread_mutex_unlock() in -lpthread -lmach -lexc -lc_r (OSF/1)
1379 dnl pthread_mutex_lock() in -lpthread -lmach -lexc (OSF/1)
1380 dnl [skipped] pthread_mutex_trylock() in -lpthread -lexc (OSF/1)
1381 dnl pthread_join() -Wl,-woff,85 -lpthread (IRIX)
1382 dnl pthread_create() in -lpthread (many)
1383 dnl pthread_create() in -lc_r (FreeBSD)
1385 dnl Check pthread (draft4) flags (depreciated)
1386 dnl pthread_create() with -threads (OSF/1)
1388 dnl Check pthread (draft4) libraries (depreciated)
1389 dnl pthread_mutex_unlock() in -lpthreads -lmach -lexc -lc_r (OSF/1)
1390 dnl pthread_mutex_lock() in -lpthreads -lmach -lexc (OSF/1)
1391 dnl pthread_mutex_trylock() in -lpthreads -lexc (OSF/1)
1392 dnl pthread_create() in -lpthreads (many)
1395 dnl pthread_create in $LIBS
1396 AC_CACHE_CHECK([for pthread_create in default libraries],
1397 ol_cv_pthread_create,[
1398 AC_RUN_IFELSE([OL_PTHREAD_TEST_PROGRAM],
1399 [ol_cv_pthread_create=yes],
1400 [ol_cv_pthread_create=no],
1401 [AC_TRY_LINK(OL_PTHREAD_TEST_INCLUDES,OL_PTHREAD_TEST_FUNCTION,
1402 [ol_cv_pthread_create=yes],
1403 [ol_cv_pthread_create=no])])])
1405 if test $ol_cv_pthread_create != no ; then
1406 ol_link_threads=posix
1410 dnl OL_PTHREAD_TRY([-mt], [ol_cv_pthread_mt])
1411 OL_PTHREAD_TRY([-kthread], [ol_cv_pthread_kthread])
1412 OL_PTHREAD_TRY([-pthread], [ol_cv_pthread_pthread])
1413 OL_PTHREAD_TRY([-pthreads], [ol_cv_pthread_pthreads])
1414 OL_PTHREAD_TRY([-mthreads], [ol_cv_pthread_mthreads])
1415 OL_PTHREAD_TRY([-thread], [ol_cv_pthread_thread])
1417 OL_PTHREAD_TRY([-lpthread -lmach -lexc -lc_r],
1418 [ol_cv_pthread_lpthread_lmach_lexc_lc_r])
1419 OL_PTHREAD_TRY([-lpthread -lmach -lexc],
1420 [ol_cv_pthread_lpthread_lmach_lexc])
1421 dnl OL_PTHREAD_TRY([-lpthread -lexc],
1422 dnl [ol_cv_pthread_lpthread_lexc])
1424 OL_PTHREAD_TRY([-lpthread -Wl,-woff,85],
1425 [ol_cv_pthread_lib_lpthread_woff])
1427 OL_PTHREAD_TRY([-lpthread], [ol_cv_pthread_lpthread])
1428 OL_PTHREAD_TRY([-lc_r], [ol_cv_pthread_lc_r])
1430 OL_PTHREAD_TRY([-threads], [ol_cv_pthread_threads])
1432 OL_PTHREAD_TRY([-lpthreads -lmach -lexc -lc_r],
1433 [ol_cv_pthread_lpthreads_lmach_lexc_lc_r])
1434 OL_PTHREAD_TRY([-lpthreads -lmach -lexc],
1435 [ol_cv_pthread_lpthreads_lmach_lexc])
1436 OL_PTHREAD_TRY([-lpthreads -lexc],
1437 [ol_cv_pthread_lpthreads_lexc])
1439 OL_PTHREAD_TRY([-lpthreads],[ol_cv_pthread_lib_lpthreads])
1441 if test $ol_link_threads != no ; then
1442 LTHREAD_LIBS="$LTHREAD_LIBS $ol_link_pthreads"
1445 save_CPPFLAGS="$CPPFLAGS"
1447 LIBS="$LTHREAD_LIBS $LIBS"
1449 dnl All POSIX Thread (final) implementations should have
1450 dnl sched_yield instead of pthread yield.
1451 dnl check for both, and thr_yield for Solaris
1452 AC_CHECK_FUNCS(sched_yield pthread_yield thr_yield)
1454 if test $ac_cv_func_sched_yield = no &&
1455 test $ac_cv_func_pthread_yield = no &&
1456 test $ac_cv_func_thr_yield = no ; then
1457 dnl Digital UNIX has sched_yield() in -lrt
1458 AC_CHECK_LIB(rt, sched_yield,
1459 [LTHREAD_LIBS="$LTHREAD_LIBS -lrt"
1460 AC_DEFINE(HAVE_SCHED_YIELD,1,
1461 [Define if you have the sched_yield function.])
1462 ac_cv_func_sched_yield=yes],
1463 [ac_cv_func_sched_yield=no])
1465 if test $ac_cv_func_sched_yield = no &&
1466 test $ac_cv_func_pthread_yield = no &&
1467 test "$ac_cv_func_thr_yield" = no ; then
1468 AC_MSG_WARN([could not locate sched_yield() or pthread_yield()])
1471 dnl Check functions for compatibility
1472 AC_CHECK_FUNCS(pthread_kill)
1474 dnl Check for pthread_rwlock_destroy with <pthread.h>
1475 dnl as pthread_rwlock_t may not be defined.
1476 AC_CACHE_CHECK([for pthread_rwlock_destroy with <pthread.h>],
1477 [ol_cv_func_pthread_rwlock_destroy], [
1479 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1480 #include <pthread.h>
1481 pthread_rwlock_t rwlock;
1482 ]], [[pthread_rwlock_destroy(&rwlock);]])],[ol_cv_func_pthread_rwlock_destroy=yes],[ol_cv_func_pthread_rwlock_destroy=no])
1484 if test $ol_cv_func_pthread_rwlock_destroy = yes ; then
1485 AC_DEFINE(HAVE_PTHREAD_RWLOCK_DESTROY,1,
1486 [define if you have pthread_rwlock_destroy function])
1489 dnl Check for pthread_detach with <pthread.h> inclusion
1490 dnl as it's symbol may have been mangled.
1491 AC_CACHE_CHECK([for pthread_detach with <pthread.h>],
1492 [ol_cv_func_pthread_detach], [
1494 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1495 #include <pthread.h>
1497 #define NULL (void*)0
1499 ]], [[pthread_detach(NULL);]])],[ol_cv_func_pthread_detach=yes],[ol_cv_func_pthread_detach=no])
1502 if test $ol_cv_func_pthread_detach = no ; then
1503 AC_MSG_ERROR([could not locate pthread_detach()])
1506 AC_DEFINE(HAVE_PTHREAD_DETACH,1,
1507 [define if you have pthread_detach function])
1509 dnl Check for setconcurrency functions
1511 pthread_setconcurrency \
1512 pthread_getconcurrency \
1513 thr_setconcurrency \
1514 thr_getconcurrency \
1517 OL_SYS_LINUX_THREADS
1520 if test $ol_cv_linux_threads = error; then
1521 AC_MSG_ERROR([LinuxThreads header/library mismatch]);
1524 AC_CACHE_CHECK([AC_LANG_SOURCE([if pthread_create() works])],
1525 ol_cv_pthread_create_works,[
1526 AC_RUN_IFELSE([OL_PTHREAD_TEST_PROGRAM],
1527 [ol_cv_pthread_create_works=yes],
1528 [ol_cv_pthread_create_works=no],
1530 ol_cv_pthread_create_works=yes])])
1532 if test $ol_cv_pthread_create_works = no ; then
1533 AC_MSG_ERROR([pthread_create is not usable, check environment settings])
1536 ol_replace_broken_yield=no
1537 dnl case "$target" in
1539 dnl AC_CHECK_FUNCS(nanosleep)
1540 dnl ol_replace_broken_yield=yes
1544 if test $ol_replace_broken_yield = yes ; then
1545 AC_DEFINE([REPLACE_BROKEN_YIELD],1,
1546 [define if sched_yield yields the entire process])
1549 dnl Check if select causes an yield
1550 if test $ol_with_yielding_select = auto ; then
1551 AC_CACHE_CHECK([if select yields when using pthreads],
1552 ol_cv_pthread_select_yields,[
1553 AC_RUN_IFELSE([AC_LANG_SOURCE([[
1554 #include <sys/types.h>
1555 #include <sys/time.h>
1557 #include <pthread.h>
1559 #define NULL (void*) 0
1562 static int fildes[2];
1564 static void *task(p)
1576 FD_SET(fildes[0], &rfds);
1578 /* we're not interested in any fds */
1579 i = select(FD_SETSIZE, &rfds, NULL, NULL, &tv);
1586 exit(0); /* if we exit here, the select blocked the whole process */
1589 int main(argc, argv)
1595 /* create a pipe to select */
1596 if(pipe(&fildes[0])) {
1601 #ifdef HAVE_PTHREAD_SETCONCURRENCY
1602 (void) pthread_setconcurrency(2);
1604 #ifdef HAVE_THR_SETCONCURRENCY
1605 /* Set Solaris LWP concurrency to 2 */
1606 thr_setconcurrency(2);
1610 #if HAVE_PTHREADS < 6
1611 pthread_create(&t, pthread_attr_default, task, NULL);
1613 pthread_create(&t, NULL, task, NULL);
1616 /* make sure task runs first */
1617 #ifdef HAVE_THR_YIELD
1619 #elif defined( HAVE_SCHED_YIELD )
1621 #elif defined( HAVE_PTHREAD_YIELD )
1626 }]])],[ol_cv_pthread_select_yields=no],[ol_cv_pthread_select_yields=yes],[ol_cv_pthread_select_yields=cross])])
1628 if test $ol_cv_pthread_select_yields = cross ; then
1629 AC_MSG_ERROR([crossing compiling: use --with-yielding_select=yes|no|manual])
1632 if test $ol_cv_pthread_select_yields = yes ; then
1633 ol_with_yielding_select=yes
1638 CPPFLAGS="$save_CPPFLAGS"
1641 AC_MSG_ERROR([could not locate usable POSIX Threads])
1645 if test $ol_with_threads = posix ; then
1646 AC_MSG_ERROR([could not locate POSIX Threads])
1651 case $ol_with_threads in auto | yes | mach)
1653 dnl check for Mach CThreads
1654 AC_CHECK_HEADERS(mach/cthreads.h cthreads.h)
1655 if test $ac_cv_header_mach_cthreads_h = yes ; then
1656 ol_with_threads=found
1658 dnl check for cthreads support in current $LIBS
1659 AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
1661 if test $ol_link_threads = no ; then
1663 dnl this test needs work
1664 AC_CACHE_CHECK([for cthread_fork with -all_load],
1665 [ol_cv_cthread_all_load], [
1668 LIBS="-all_load $LIBS"
1669 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <mach/cthreads.h>]], [[
1670 cthread_fork((void *)0, (void *)0);
1671 ]])],[ol_cv_cthread_all_load=yes],[ol_cv_cthread_all_load=no])
1672 dnl restore the LIBS
1676 if test $ol_cv_cthread_all_load = yes ; then
1677 LTHREAD_LIBS="$LTHREAD_LIBS -all_load"
1678 ol_link_threads=mach
1679 ol_with_threads=found
1683 elif test $ac_cv_header_cthreads_h = yes ; then
1684 dnl Hurd variant of Mach Cthreads
1685 dnl uses <cthreads.h> and -lthreads
1687 ol_with_threads=found
1691 LIBS="$LIBS -lthreads"
1692 AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
1695 if test $ol_link_threads = yes ; then
1696 LTHREAD_LIBS="-lthreads"
1697 ol_link_threads=mach
1698 ol_with_threads=found
1700 AC_MSG_ERROR([could not link with Mach CThreads])
1703 elif test $ol_with_threads = mach ; then
1704 AC_MSG_ERROR([could not locate Mach CThreads])
1707 if test $ol_link_threads = mach ; then
1708 AC_DEFINE(HAVE_MACH_CTHREADS,1,
1709 [define if you have Mach Cthreads])
1710 elif test $ol_with_threads = found ; then
1711 AC_MSG_ERROR([could not link with Mach CThreads])
1716 case $ol_with_threads in auto | yes | pth)
1718 AC_CHECK_HEADERS(pth.h)
1720 if test $ac_cv_header_pth_h = yes ; then
1721 AC_CHECK_LIB(pth, pth_version, [have_pth=yes], [have_pth=no])
1723 if test $have_pth = yes ; then
1724 AC_DEFINE(HAVE_GNU_PTH,1,[if you have GNU Pth])
1725 LTHREAD_LIBS="$LTHREAD_LIBS -lpth"
1727 ol_with_threads=found
1729 if test $ol_with_yielding_select = auto ; then
1730 ol_with_yielding_select=yes
1737 case $ol_with_threads in auto | yes | lwp)
1739 dnl check for SunOS5 LWP
1740 AC_CHECK_HEADERS(thread.h synch.h)
1741 if test $ac_cv_header_thread_h = yes &&
1742 test $ac_cv_header_synch_h = yes ; then
1743 AC_CHECK_LIB(thread, thr_create, [have_thr=yes], [have_thr=no])
1745 if test $have_thr = yes ; then
1746 AC_DEFINE(HAVE_THR,1,
1747 [if you have Solaris LWP (thr) package])
1748 LTHREAD_LIBS="$LTHREAD_LIBS -lthread"
1751 if test $ol_with_yielding_select = auto ; then
1752 ol_with_yielding_select=yes
1755 dnl Check for setconcurrency functions
1757 thr_setconcurrency \
1758 thr_getconcurrency \
1765 if test $ol_with_yielding_select = yes ; then
1766 AC_DEFINE(HAVE_YIELDING_SELECT,1,
1767 [define if select implicitly yields])
1770 if test $ol_with_threads = manual ; then
1771 dnl User thinks he can manually configure threads.
1774 AC_MSG_WARN([thread defines and link options must be set manually])
1776 AC_CHECK_HEADERS(pthread.h sched.h)
1777 AC_CHECK_FUNCS(sched_yield pthread_yield)
1778 OL_HEADER_LINUX_THREADS
1780 AC_CHECK_HEADERS(mach/cthreads.h)
1781 AC_CHECK_HEADERS(thread.h synch.h)
1784 if test $ol_link_threads != no && test $ol_link_threads != nt ; then
1785 dnl needed to get reentrant/threadsafe versions
1787 AC_DEFINE(REENTRANT,1)
1788 AC_DEFINE(_REENTRANT,1)
1789 AC_DEFINE(THREAD_SAFE,1)
1790 AC_DEFINE(_THREAD_SAFE,1)
1791 AC_DEFINE(THREADSAFE,1)
1792 AC_DEFINE(_THREADSAFE,1)
1793 AC_DEFINE(_SGI_MP_SOURCE,1)
1795 dnl The errno declaration may dependent upon _REENTRANT.
1796 dnl If it does, we must link with thread support.
1797 AC_CACHE_CHECK([for thread specific errno],
1798 [ol_cv_errno_thread_specific], [
1799 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <errno.h>]], [[errno = 0;]])],[ol_cv_errno_thread_specific=yes],[ol_cv_errno_thread_specific=no])
1802 dnl The h_errno declaration may dependent upon _REENTRANT.
1803 dnl If it does, we must link with thread support.
1804 AC_CACHE_CHECK([for thread specific h_errno],
1805 [ol_cv_h_errno_thread_specific], [
1806 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])
1809 if test $ol_cv_errno_thread_specific != yes ||
1810 test $ol_cv_h_errno_thread_specific != yes ; then
1811 LIBS="$LTHREAD_LIBS $LIBS"
1815 dnl When in thread environment, use
1816 dnl #if defined( HAVE_REENTRANT_FUNCTIONS ) || defined( HAVE_FUNC_R )
1819 dnl # if defined( HAVE_THREADS )
1823 dnl # if defined( HAVE_THREADS )
1828 dnl HAVE_REENTRANT_FUNCTIONS is derived from:
1829 dnl _POSIX_REENTRANT_FUNCTIONS
1830 dnl _POSIX_THREAD_SAFE_FUNCTIONS
1831 dnl _POSIX_THREADSAFE_FUNCTIONS
1833 dnl and is currently defined in <ldap_pvt_thread.h>
1835 dnl HAVE_THREADS is defined by <ldap_pvt_thread.h> iff -UNO_THREADS
1837 dnl libldap/*.c should only include <ldap_pvt_thread.h> iff
1838 dnl LDAP_R_COMPILE is defined. ie:
1839 dnl #ifdef LDAP_R_COMPILE
1840 dnl # include <ldap_pvt_thread.h>
1843 dnl LDAP_R_COMPILE is defined by libldap_r/Makefile.in
1844 dnl specifically for compiling the threadsafe version of
1845 dnl the ldap library (-lldap_r).
1847 dnl dnl check for reentrant/threadsafe functions
1849 dnl dnl note: these should only be used when linking
1850 dnl dnl with $LTHREAD_LIBS
1852 dnl save_CPPFLAGS="$CPPFLAGS"
1853 dnl save_LIBS="$LIBS"
1854 dnl LIBS="$LTHREAD_LIBS $LIBS"
1855 dnl AC_CHECK_FUNCS( \
1857 dnl gethostbyaddr_r gethostbyname_r \
1858 dnl feof_unlocked unlocked_feof \
1859 dnl putc_unlocked unlocked_putc \
1860 dnl flockfile ftrylockfile \
1862 dnl CPPFLAGS="$save_CPPFLAGS"
1863 dnl LIBS="$save_LIBS"
1866 if test $ol_link_threads = no ; then
1867 if test $ol_with_threads = yes ; then
1868 AC_MSG_ERROR([no suitable thread support])
1871 if test $ol_with_threads = auto ; then
1872 AC_MSG_WARN([no suitable thread support, disabling threads])
1876 AC_DEFINE(NO_THREADS,1,
1877 [define if you have (or want) no threads])
1884 if test $ol_link_threads != no ; then
1885 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE,1,
1886 [define to 1 if library is thread safe])
1889 dnl ----------------------------------------------------------------
1890 dnl Tests for reentrant functions necessary to build -lldap_r
1893 gmtime_r localtime_r \
1894 gethostbyname_r gethostbyaddr_r \
1897 if test "$ac_cv_func_ctime_r" = no ; then
1898 ol_cv_func_ctime_r_nargs=0
1900 OL_FUNC_CTIME_R_NARGS
1901 dnl OL_FUNC_CTIME_R_TYPE
1904 if test "$ac_cv_func_gethostbyname_r" = yes ; then
1905 OL_FUNC_GETHOSTBYNAME_R_NARGS
1907 ol_cv_func_gethostbyname_r_nargs=0
1910 if test "$ac_cv_func_gethostbyaddr_r" = yes ; then
1911 OL_FUNC_GETHOSTBYADDR_R_NARGS
1913 ol_cv_func_gethostbyaddr_r_nargs=0
1916 dnl ----------------------------------------------------------------
1919 if test $ol_enable_bdb/$ol_enable_hdb != no/no; then
1922 if test $ol_cv_berkeley_db = no ; then
1923 AC_MSG_ERROR(BDB/HDB: BerkeleyDB not available)
1926 AC_DEFINE(HAVE_BERKELEY_DB,1,
1927 [define this if Berkeley DB is available])
1929 dnl $ol_cv_lib_db should be yes or -ldb
1930 dnl (it could be no, but that would be an error
1931 if test $ol_cv_lib_db != yes ; then
1932 BDB_LIBS="$BDB_LIBS $ol_cv_lib_db"
1935 SLAPD_LIBS="$SLAPD_LIBS \$(BDB_LIBS)"
1940 dnl ----------------------------------------------------------------
1942 if test $ol_enable_dynamic = yes && test $enable_shared = yes ; then
1943 BUILD_LIBS_DYNAMIC=shared
1944 AC_DEFINE(LDAP_LIBS_DYNAMIC, 1, [define if LDAP libs are dynamic])
1947 BUILD_LIBS_DYNAMIC=static
1950 AC_SUBST(LTSTATIC)dnl
1952 dnl ----------------------------------------------------------------
1953 if test $ol_enable_wrappers != no ; then
1954 AC_CHECK_HEADERS(tcpd.h,[
1955 AC_MSG_CHECKING([for TCP wrappers library])
1958 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1960 int allow_severity = 0;
1961 int deny_severity = 0;
1963 struct request_info *req;
1966 ]])],[AC_MSG_RESULT([-lwrap])
1968 LIBS="$save_LIBS"],[
1973 int allow_severity = 0;
1974 int deny_severity = 0;
1976 struct request_info *req;
1979 ],[AC_MSG_RESULT([-lwrap -lnsl])
1981 LIBS="$save_LIBS -lnsl"],[
1984 LIBS=$save_LIBS])])],[have_wrappers=no])
1986 if test $have_wrappers = yes ; then
1987 AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
1989 elif test $ol_enable_wrappers = yes ; then
1990 AC_MSG_ERROR([could not find TCP wrappers, select appropriate options or disable])
1992 AC_MSG_WARN([could not find TCP wrappers, support disabled])
1997 dnl ----------------------------------------------------------------
1998 if test $ol_enable_syslog != no ; then
1999 AC_CHECK_FUNC(openlog)
2000 if test $ac_cv_func_openlog = no && test $ol_enable_syslog = yes; then
2001 AC_MSG_ERROR(could not find syslog, select appropriate options or disable)
2003 ol_enable_syslog=$ac_cv_func_openlog
2006 dnl ----------------------------------------------------------------
2009 if test $ol_enable_sql != no ; then
2010 AC_CHECK_HEADERS(sql.h sqlext.h,[],[
2011 AC_MSG_ERROR([could not locate SQL headers])
2015 LIBS="$LTHREAD_LIBS $LIBS"
2017 if test $ol_with_odbc = auto ; then
2018 ol_with_odbc="iodbc unixodbc odbc32"
2021 for odbc in $ol_with_odbc ; do
2022 if test $ol_link_sql = no ; then
2025 AC_CHECK_LIB(iodbc, SQLDriverConnect, [have_iodbc=yes], [have_iodbc=no])
2026 if test $have_iodbc = yes ; then
2027 ol_link_sql="-liodbc"
2032 AC_CHECK_LIB(odbc, SQLDriverConnect, [have_odbc=yes], [have_odbc=no])
2033 if test $have_odbc = yes ; then
2034 ol_link_sql="-lodbc"
2039 AC_CHECK_LIB(odbc32, SQLDriverConnect, [have_odbc32=yes], [have_odbc32=no])
2041 dnl The windows API uses __stdcall which cannot be detected by AC_CHECK_LIB
2042 if test $have_odbc32 = no ; then
2043 AC_MSG_CHECKING([for SQLDriverConnect in -lodbc32 with windows.h])
2045 LIBS="$LIBS -lodbc32"
2046 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <windows.h>
2049 SQLDriverConnect(NULL,NULL,NULL,0,NULL,0,NULL,0);
2050 ]])],[have_odbc32=yes], [have_odbc32=no])
2052 AC_MSG_RESULT($have_odbc32)
2055 if test $have_odbc32 = yes ; then
2056 ol_link_sql="-lodbc32"
2061 AC_MSG_ERROR([unknown ODBC library])
2069 if test $ol_link_sql != no ; then
2070 SLAPD_SQL_LIBS="$ol_link_sql"
2072 elif test $ol_enable_sql != auto ; then
2073 AC_MSG_ERROR([could not locate suitable ODBC library])
2077 dnl ----------------------------------------------------------------
2079 dnl Note: uses C++, but we don't want to add C++ test overhead to
2080 dnl the rest of the libtool machinery.
2082 if test $ol_enable_ndb != no ; then
2083 AC_CHECK_PROG(MYSQL,mysql_config,yes)
2084 if test "$MYSQL" != yes ; then
2085 AC_MSG_ERROR([could not locate mysql_config])
2088 SQL_INC=`mysql_config --include`
2089 SLAPD_NDB_INCS="$SQL_INC $SQL_INC/storage/ndb $SQL_INC/storage/ndb/ndbapi"
2091 save_CPPFLAGS="$CPPFLAGS"
2092 CPPFLAGS="$SLAPD_NDB_INCS"
2093 AC_MSG_CHECKING(for NdbApi.hpp)
2095 [AC_LANG_SOURCE([[#include <NdbApi.hpp>]])],
2097 AC_MSG_ERROR([could not locate NdbApi headers])
2099 CPPFLAGS="$save_CPPFLAGS"
2101 SQL_LIB=`mysql_config --libs_r`
2102 SLAPD_NDB_LIBS="$SQL_LIB -lndbclient -lstdc++"
2104 save_LDFLAGS="$LDFLAGS"
2107 AC_CHECK_LIB(ndbclient,ndb_init,[: ok],[
2108 AC_MSG_ERROR([could not locate ndbclient library])
2111 LDFLAGS="$save_LDFLAGS"
2113 if test "$ol_enable_ndb" = yes ; then
2114 SLAPD_LIBS="$SLAPD_LIBS \$(SLAPD_NDB_LIBS)"
2118 dnl ----------------------------------------------------------------
2121 if test $ol_enable_wt != no ; then
2122 AC_CHECK_PROG(PKGCONFIG,pkg-config,yes)
2123 if test "$PKGCONFIG" != yes ; then
2124 AC_MSG_ERROR([could not locate pkg-config])
2126 WT_INCS=`pkg-config --cflags wiredtiger`
2127 WT_LIBS=`pkg-config --libs wiredtiger`
2129 save_CFLAGS="$CFLAGS"
2130 save_LDFLAGS="$LDFLAGS"
2134 AC_CHECK_HEADERS([wiredtiger.h])
2135 AC_CHECK_LIB(wiredtiger,wiredtiger_version,[: ok],[
2136 AC_MSG_ERROR([could not locate wiredtiger library])
2138 CFLAGS="$save_CFLAGS"
2139 CPPFLAGS="$save_CPPFLAGS"
2140 LDFLAGS="$save_LDFLAGS"
2141 SLAPD_LIBS="$SLAPD_LIBS \$(WT_LIBS)"
2145 dnl ----------------------------------------------------------------
2146 dnl International Components for Unicode
2148 if test "$ol_icu" = no ; then
2149 AC_MSG_WARN([ICU not available])
2153 dnl ----------------------------------------------------------------
2155 dnl Check for Cyrus SASL
2160 if test $ol_with_cyrus_sasl != no ; then
2161 AC_CHECK_HEADERS(sasl/sasl.h sasl.h)
2163 if test $ac_cv_header_sasl_sasl_h = yes ||
2164 test $ac_cv_header_sasl_h = yes; then
2165 AC_CHECK_LIB(sasl2, sasl_client_init,
2166 [ol_link_sasl="-lsasl2"],
2167 [AC_CHECK_LIB(sasl, sasl_client_init,
2168 [ol_link_sasl="-lsasl"])])
2171 if test $ol_link_sasl = no ; then
2172 if test $ol_with_cyrus_sasl != auto ; then
2173 AC_MSG_ERROR([Could not locate Cyrus SASL])
2175 AC_MSG_WARN([Could not locate Cyrus SASL])
2176 AC_MSG_WARN([SASL authentication not supported!])
2177 if test $ol_link_tls = no ; then
2178 AC_MSG_WARN([Strong authentication not supported!])
2183 if test $ol_cv_sasl_compat = no ; then
2185 AC_MSG_ERROR([Cyrus SASL library located but is incompatible])
2188 AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
2189 SASL_LIBS="$ol_link_sasl"
2190 if test $ol_enable_spasswd != no ; then
2194 ac_save_LIBS="$LIBS"
2195 LIBS="$LIBS $ol_link_sasl"
2196 AC_CHECK_FUNC(sasl_version, [AC_DEFINE(HAVE_SASL_VERSION,1,
2197 [define if your SASL library has sasl_version()])])
2198 LIBS="$ac_save_LIBS"
2204 AC_MSG_WARN([SASL authentication not supported!])
2205 if test $ol_link_tls = no ; then
2206 AC_MSG_WARN([Strong authentication not supported!])
2210 dnl ----------------------------------------------------------------
2211 dnl Check for entropy sources
2212 if test $cross_compiling != yes && test "$ac_cv_mingw32" != yes ; then
2214 if test -r /dev/urandom ; then
2216 elif test -r /idev/urandom ; then
2217 dev="/idev/urandom";
2218 elif test -r /dev/srandom ; then
2220 elif test -r /dev/random ; then
2222 elif test -r /idev/random ; then
2226 if test $dev != no ; then
2227 AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device])
2231 dnl ----------------------------------------------------------------
2233 dnl Check for fetch URL support
2234 dnl should be extended to support other fetch URL APIs
2237 if test $ol_with_fetch != no ; then
2240 if test $ol_cv_lib_fetch != no ; then
2241 LIBS="$LIBS $ol_link_fetch"
2242 ol_link_fetch=freebsd
2244 elif test $ol_with_fetch != auto ; then
2245 AC_MSG_ERROR(no suitable API for --with-fetch=$ol_with_fetch)
2249 dnl ----------------------------------------------------------------
2250 dnl FreeBSD (and others) have crypt(3) in -lcrypt
2251 if test $ol_enable_crypt != no ; then
2253 LIBS="$TLS_LIBS $LIBS"
2255 AC_CHECK_FUNC(crypt, [have_crypt=yes], [
2257 AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
2258 have_crypt=yes], [have_crypt=no])])
2260 LIBS="$TLS_LIBS $LIBS"
2261 AC_CHECK_LIB(crypt, crypt_r, [have_crypt_r=yes], [have_crypt_r=no])
2265 if test $have_crypt = yes ; then
2266 AC_DEFINE(HAVE_CRYPT,1, [define if crypt(3) is available])
2267 if test $have_crypt_r = yes ; then
2268 AC_DEFINE(HAVE_CRYPT_R, 1, [define if crypt_r() is also available])
2271 AC_MSG_WARN([could not find crypt])
2272 if test $ol_enable_crypt = yes ; then
2273 AC_MSG_ERROR([could not find crypt, select appropriate options or disable])
2276 AC_MSG_WARN([disabling crypt support])
2281 dnl ----------------------------------------------------------------
2282 dnl FreeBSD (and others) have setproctitle(3) in -lutil
2283 if test $ol_enable_proctitle != no ; then
2284 AC_CHECK_FUNC(setproctitle, [have_setproctitle=yes], [
2285 AC_CHECK_LIB(util, setproctitle,
2286 [have_setproctitle=yes
2287 LUTIL_LIBS="$LUTIL_LIBS -lutil"],
2288 [have_setproctitle=no
2289 AC_LIBOBJ(setproctitle)
2290 LIBSRCS="$LIBSRCS setproctitle.c"])])
2292 if test $have_setproctitle = yes ; then
2293 AC_DEFINE(HAVE_SETPROCTITLE,1,
2294 [define if setproctitle(3) is available])
2298 dnl ----------------------------------------------------------------
2299 if test $ol_enable_slp != no ; then
2300 AC_CHECK_HEADERS( slp.h )
2302 if test $ac_cv_header_slp_h = yes ; then
2303 AC_CHECK_LIB(slp, SLPOpen, [have_slp=yes], [have_slp=no])
2304 if test $have_slp = yes ; then
2305 AC_DEFINE(HAVE_SLP, 1, [define if you have -lslp])
2306 SLAPD_SLP_LIBS=-lslp
2309 elif test $ol_enable_slp = yes ; then
2310 AC_MSG_ERROR([SLP not found])
2314 dnl ----------------------------------------------------------------
2315 dnl Checks for typedefs, structures, and compiler characteristics.
2317 AC_CHECK_TYPE(mode_t, int)
2318 AC_CHECK_TYPE(off_t, long)
2319 AC_CHECK_TYPE(pid_t, int)
2320 AC_CHECK_TYPE(ssize_t, [signed int])
2321 AC_CHECK_TYPE(caddr_t, [char *])
2322 AC_CHECK_TYPE(size_t, unsigned)
2324 AC_CHECK_TYPES([long long])
2325 AC_CHECK_TYPES([ptrdiff_t])
2328 AC_CHECK_TYPE([socklen_t],,, [$ac_includes_default
2329 #ifdef HAVE_SYS_SOCKET_H
2330 #include <sys/socket.h>
2333 dnl socklen_t-like type in accept(), default socklen_t or int:
2334 dnl - The OS might define socklen_t without using it. POSIX moved from
2335 dnl int to size_t to socklen_t, hoping to stay at a 32-bit type, and
2336 dnl HP-UX now has selectors for what to use.
2337 dnl - On Solaris 2.8 the prototype has void *len, but the default is OK.
2338 AC_MSG_CHECKING([the type of arg 3 to accept()])
2339 AC_CACHE_VAL(ol_cv_type_ber_socklen_t, [
2340 set socklen_t int unsigned "unsigned long" long size_t
2341 test "$ac_cv_type_socklen_t" = yes || shift
2342 ol_cv_type_ber_socklen_t=$1 guessing="guessing "
2343 for lentype in "$@" ; do for addrtype in "struct sockaddr" void ; do
2344 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$ac_includes_default
2345 #ifdef HAVE_SYS_SOCKET_H
2346 #include <sys/socket.h>
2348 extern int accept(int s, $addrtype *ap, $lentype *lp);
2350 accept(0, (struct sockaddr *) 0, ($lentype *) 0);
2351 ])], [ol_cv_type_ber_socklen_t=$lentype guessing= ; break 2])
2353 AC_MSG_RESULT([$guessing$ol_cv_type_ber_socklen_t *])
2354 AC_DEFINE_UNQUOTED(ber_socklen_t, $ol_cv_type_ber_socklen_t,
2355 [Define to the type of arg 3 for `accept'.])
2357 dnl Modules should use ber_socklen_t, not socklen_t. Define socklen_t
2358 dnl for the time being anyway, for backwards compatibility.
2359 if test "$ac_cv_type_socklen_t" != yes; then
2360 AC_DEFINE_UNQUOTED([socklen_t], [$ol_cv_type_ber_socklen_t],
2361 [Define like ber_socklen_t if <sys/socket.h> does not define.])
2367 AC_CHECK_TYPE([sig_atomic_t],,
2368 [AC_DEFINE_UNQUOTED([sig_atomic_t], [int],
2369 [Define to `int' if <signal.h> does not define.])],
2370 [$ac_includes_default
2378 AC_CHECK_MEMBERS([struct stat.st_blksize])
2379 AC_CHECK_MEMBERS([struct passwd.pw_gecos],,,[$ac_includes_default
2381 AC_CHECK_MEMBERS([struct passwd.pw_passwd],,,[$ac_includes_default
2388 if test $cross_compiling = yes ; then
2389 AC_MSG_WARN([Crossing compiling... all bets are off!])
2390 AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
2395 AC_CHECK_SIZEOF(short)
2396 AC_CHECK_SIZEOF(int)
2397 AC_CHECK_SIZEOF(long)
2398 AC_CHECK_SIZEOF(long long)
2399 AC_CHECK_SIZEOF(wchar_t)
2401 if test "$ac_cv_sizeof_int" -lt 4 ; then
2402 AC_MSG_WARN([OpenLDAP requires 'int' to be 32 bits or greater.])
2404 AC_DEFINE(LBER_INT_T,long,[define to 32-bit or greater integer type])
2406 AC_DEFINE(LBER_INT_T,int,[define to 32-bit or greater integer type])
2409 AC_DEFINE(LBER_LEN_T,long,[define to large integer type])
2410 AC_DEFINE(LBER_SOCKET_T,int,[define to socket descriptor type])
2411 AC_DEFINE(LBER_TAG_T,long,[define to large integer type])
2413 dnl ----------------------------------------------------------------
2414 dnl Check for multiple precision support
2415 if test $ol_with_mp = longlong || test $ol_with_mp = auto ; then
2416 if test $ac_cv_sizeof_long_long -gt 4 ; then
2418 AC_DEFINE(USE_MP_LONG_LONG,1,[define to use 'long long' for MP])
2419 elif test $ol_with_mp = longlong ; then
2420 AC_MSG_ERROR([long long unusable for multiple precision])
2423 if test $ol_with_mp = long || test $ol_with_mp = auto ; then
2424 if test $ac_cv_sizeof_long -gt 4 ; then
2426 AC_DEFINE(USE_MP_LONG,1,[define to use 'long' for MP])
2427 elif test $ol_with_mp = long ; then
2428 AC_MSG_ERROR([long unusable for multiple precision])
2431 if test $ol_with_mp = bignum || test $ol_with_mp = auto ; then
2432 AC_CHECK_HEADERS(openssl/bn.h)
2433 AC_CHECK_HEADERS(openssl/crypto.h)
2434 if test "$ac_cv_header_openssl_bn_h" = "yes" &&
2435 test "$ac_cv_header_openssl_crypto_h" = "yes" &&
2436 test "$ol_with_tls" = "found" ; then
2438 AC_DEFINE(USE_MP_BIGNUM,1,[define to use OpenSSL BIGNUM for MP])
2439 elif test $ol_with_mp = bignum ; then
2440 AC_MSG_ERROR([bignum not available])
2443 if test $ol_with_mp = gmp || test $ol_with_mp = auto ; then
2444 AC_CHECK_HEADERS(gmp.h)
2445 AC_CHECK_LIB(gmp, __gmpz_add_ui)
2446 if test $ac_cv_header_gmp_h = yes && test $ac_cv_lib_gmp___gmpz_add_ui = yes ; then
2447 AC_DEFINE(USE_MP_GMP,1,[define to use GMP for MP])
2449 elif test $ol_with_mp = gmp ; then
2450 AC_MSG_ERROR([gmp not available])
2453 if test $ol_with_mp = auto ; then
2457 dnl ----------------------------------------------------------------
2458 dnl Checks for library functions.
2461 if test $ac_cv_func_memcmp_working = no ; then
2462 AC_DEFINE(NEED_MEMCMP_REPLACEMENT,1,
2463 [define if memcmp is not 8-bit clean or is otherwise broken])
2470 dnl Check for NT specific routines
2471 AC_CHECK_FUNC(_spawnlp, AC_DEFINE(HAVE_SPAWNLP,1,[if you have spawnlp()]))
2473 AC_CHECK_FUNC(_snprintf, [ac_cv_func_snprintf=yes
2474 AC_DEFINE(snprintf, _snprintf, [define to snprintf routine])
2477 AC_CHECK_FUNCS(vsnprintf _vsnprintf)
2479 if test $ac_cv_func_vsnprintf = no -a $ac_cv_func__vsnprintf = yes ; then
2480 ac_cv_func_vsnprintf=yes
2481 AC_DEFINE(vsnprintf, _vsnprintf, [define to vsnprintf routine])
2486 if test $ac_cv_func_vprintf = yes ; then
2487 dnl check for vsnprintf
2488 AC_CHECK_FUNCS(snprintf vsnprintf)
2550 dnl We actually may need to replace more than this.
2551 AC_REPLACE_FUNCS(getopt getpeereid)
2553 if test "$ac_cv_func_getopt" != yes; then
2554 LIBSRCS="$LIBSRCS getopt.c"
2557 if test "$ac_cv_func_getpeereid" != yes; then
2558 AC_CHECK_FUNCS( getpeerucred )
2559 if test "$ac_cv_func_getpeerucred" != yes ; then
2560 AC_CHECK_MEMBERS([struct msghdr.msg_accrightslen],,,
2561 [$ac_includes_default
2562 #ifdef HAVE_SYS_SOCKET_H
2563 #include <sys/socket.h>
2565 if test "$ac_cv_member_struct_msghdr_msg_accrightslen" != yes; then
2566 AC_CHECK_MEMBERS([struct msghdr.msg_control],,,
2567 [$ac_includes_default
2568 #ifdef HAVE_SYS_SOCKET_H
2569 #include <sys/socket.h>
2572 AC_CHECK_MEMBERS([struct stat.st_fstype, struct stat.st_vfstype])
2573 if test "$ac_cv_member_struct_stat_st_fstype" = yes; then
2574 AC_COMPILE_IFELSE([AC_LANG_SOURCE([struct stat st; char *ptr=st.st_fstype;])],
2575 AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_CHAR],1,[define to 1 if st_fstype is char *]),
2576 AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_INT],1,[define to 1 if st_fstype is int]))
2579 LIBSRCS="$LIBSRCS getpeereid.c"
2582 if test "$ac_cv_func_snprintf" != yes ||
2583 test "$ac_cv_func_vsnprintf" != yes; then
2584 if test "$ac_cv_func_snprintf" != yes; then
2585 AC_DEFINE(snprintf, ber_pvt_snprintf, [define to snprintf routine])
2587 if test "$ac_cv_func_vsnprintf" != yes; then
2588 AC_DEFINE(vsnprintf, ber_pvt_vsnprintf, [define to snprintf routine])
2592 dnl ----------------------------------------------------------------
2593 dnl Sort out defines
2595 if test "$ol_enable_slapi" != no ; then
2596 dnl This check is done also if --enable-modules is used;
2597 dnl it is duplicated here, 'cause it'd be cached anyway
2598 AC_CHECK_HEADERS(ltdl.h)
2600 if test $ac_cv_header_ltdl_h != yes ; then
2601 AC_MSG_ERROR([could not locate <ltdl.h>])
2603 AC_CHECK_LIB(ltdl, lt_dlinit, [
2605 LIBSLAPI=slapi/libslapi.la
2606 AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
2607 ],[AC_MSG_ERROR([could not locate libtool -lltdl])])
2609 AC_DEFINE(LDAP_SLAPI,1, [define this to add SLAPI code])
2612 if test "$ol_enable_debug" != no ; then
2613 if test "$ol_enable_debug" = traditional; then
2614 AC_DEFINE(OLD_DEBUG,1,
2615 [define to use the original debug style])
2617 AC_DEFINE(LDAP_DEBUG,1,
2618 [define this to add debugging code])
2620 if test "$ol_enable_syslog" = yes ; then
2621 AC_DEFINE(LDAP_SYSLOG,1,
2622 [define this to add syslog code])
2624 if test "$ol_enable_proctitle" != no ; then
2625 AC_DEFINE(LDAP_PROCTITLE,1,
2626 [define this for LDAP process title support])
2628 if test "$ol_enable_referrals" != no ; then
2629 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS,LDAP_VENDOR_VERSION,
2630 [define to LDAP VENDOR VERSION])
2632 if test "$ol_enable_local" != no; then
2633 AC_DEFINE(LDAP_PF_LOCAL,1,[define to support PF_LOCAL])
2635 if test "$ol_link_ipv6" != no; then
2636 AC_DEFINE(LDAP_PF_INET6,1,[define to support PF_INET6])
2638 if test "$ol_enable_cleartext" != no ; then
2639 AC_DEFINE(SLAPD_CLEARTEXT,1,[define to support cleartext passwords])
2641 if test "$ol_enable_crypt" != no ; then
2642 AC_DEFINE(SLAPD_CRYPT,1,[define to support crypt(3) passwords])
2644 if test "$ol_link_spasswd" != no ; then
2645 AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords])
2647 if test "$ol_enable_rlookups" != no ; then
2648 AC_DEFINE(SLAPD_RLOOKUPS,1,[define to support reverse lookups])
2650 if test "$ol_enable_aci" != no ; then
2651 if test $ol_enable_dynacl = no ; then
2652 ol_enable_dynacl=yes
2653 AC_MSG_WARN([ACIs need dynacl])
2655 if test "$ol_enable_aci" = mod ; then
2656 MFLAG=SLAPD_MOD_DYNAMIC
2657 dnl remove this after moving servers/slapd/aci.c in contrib/slapd-modules/acl
2658 AC_MSG_ERROR([ACI build as dynamic module not supported (yet)])
2660 MFLAG=SLAPD_MOD_STATIC
2662 WITH_ACI_ENABLED=$ol_enable_aci
2663 AC_DEFINE_UNQUOTED(SLAPD_ACI_ENABLED,$MFLAG,[define to support per-object ACIs])
2667 if test "$ol_enable_dynacl" != no ; then
2668 AC_DEFINE(SLAP_DYNACL,1,[define to support run-time loadable ACL])
2671 if test "$ol_link_modules" != no ; then
2672 AC_DEFINE(SLAPD_MODULES,1,[define to support modules])
2674 SLAPD_MODULES_LDFLAGS="-dlopen self"
2677 AC_DEFINE(SLAPD_MOD_STATIC,1,[statically linked module])
2678 AC_DEFINE(SLAPD_MOD_DYNAMIC,2,[dynamically linked module])
2680 dnl back-monitor goes first (well, after back-config)
2681 if test "$ol_enable_monitor" != no ; then
2683 BUILD_MONITOR=$ol_enable_monitor
2684 if test "$ol_enable_monitor" = mod ; then
2685 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-monitor"
2686 MFLAG=SLAPD_MOD_DYNAMIC
2688 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-monitor"
2689 MFLAG=SLAPD_MOD_STATIC
2691 AC_DEFINE_UNQUOTED(SLAPD_MONITOR,$MFLAG,[define to support cn=Monitor backend])
2694 if test "$ol_enable_bdb" != no ; then
2696 BUILD_BDB=$ol_enable_bdb
2697 if test "$ol_enable_bdb" = mod ; then
2698 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-bdb"
2699 MFLAG=SLAPD_MOD_DYNAMIC
2701 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-bdb"
2702 MFLAG=SLAPD_MOD_STATIC
2704 AC_DEFINE_UNQUOTED(SLAPD_BDB,$MFLAG,[define to support BDB backend])
2707 if test "$ol_enable_dnssrv" != no ; then
2709 BUILD_DNSSRV=$ol_enable_dnssrv
2710 if test "$ol_enable_dnssrv" = mod ; then
2711 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-dnssrv"
2712 MFLAG=SLAPD_MOD_DYNAMIC
2714 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-dnssrv"
2715 MFLAG=SLAPD_MOD_STATIC
2717 AC_DEFINE_UNQUOTED(SLAPD_DNSSRV,$MFLAG,[define to support DNS SRV backend])
2720 if test "$ol_enable_hdb" != no ; then
2722 BUILD_HDB=$ol_enable_hdb
2723 if test "$ol_enable_hdb" = mod ; then
2724 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-hdb"
2725 MFLAG=SLAPD_MOD_DYNAMIC
2727 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-hdb"
2728 MFLAG=SLAPD_MOD_STATIC
2730 AC_DEFINE_UNQUOTED(SLAPD_HDB,$MFLAG,[define to support HDB backend])
2733 if test "$ol_enable_ldap" != no ; then
2735 BUILD_LDAP=$ol_enable_ldap
2736 if test "$ol_enable_ldap" = mod ; then
2737 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldap"
2738 MFLAG=SLAPD_MOD_DYNAMIC
2740 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldap"
2741 MFLAG=SLAPD_MOD_STATIC
2743 AC_DEFINE_UNQUOTED(SLAPD_LDAP,$MFLAG,[define to support LDAP backend])
2746 if test "$ol_enable_mdb" != no ; then
2748 BUILD_MDB=$ol_enable_mdb
2749 if test "$ol_enable_mdb" = mod ; then
2750 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-mdb"
2751 MFLAG=SLAPD_MOD_DYNAMIC
2753 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-mdb"
2754 MFLAG=SLAPD_MOD_STATIC
2756 AC_DEFINE_UNQUOTED(SLAPD_MDB,$MFLAG,[define to support MDB backend])
2759 if test "$ol_enable_meta" != no ; then
2761 BUILD_META=$ol_enable_meta
2763 if test "$ol_enable_meta" = mod ; then
2764 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-meta"
2765 MFLAG=SLAPD_MOD_DYNAMIC
2767 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-meta"
2768 MFLAG=SLAPD_MOD_STATIC
2770 AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend])
2773 if test "$ol_enable_asyncmeta" != no ; then
2775 BUILD_ASYNCMETA=$ol_enable_asyncmeta
2777 if test "$ol_enable_asyncmeta" = mod ; then
2778 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-asyncmeta"
2779 MFLAG=SLAPD_MOD_DYNAMIC
2781 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-asyncmeta"
2782 MFLAG=SLAPD_MOD_STATIC
2784 AC_DEFINE_UNQUOTED(SLAPD_ASYNCMETA,$MFLAG,[define to support LDAP Async Metadirectory backend])
2787 if test "$ol_enable_ndb" != no ; then
2789 BUILD_NDB=$ol_enable_ndb
2790 if test "$ol_enable_ndb" = mod ; then
2791 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ndb"
2792 MFLAG=SLAPD_MOD_DYNAMIC
2794 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ndb"
2795 MFLAG=SLAPD_MOD_STATIC
2797 AC_DEFINE_UNQUOTED(SLAPD_NDB,$MFLAG,[define to support NDB backend])
2800 if test "$ol_enable_null" != no ; then
2802 BUILD_NULL=$ol_enable_null
2803 if test "$ol_enable_null" = mod ; then
2804 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-null"
2805 MFLAG=SLAPD_MOD_DYNAMIC
2807 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-null"
2808 MFLAG=SLAPD_MOD_STATIC
2810 AC_DEFINE_UNQUOTED(SLAPD_NULL,$MFLAG,[define to support NULL backend])
2813 if test "$ol_enable_passwd" != no ; then
2815 BUILD_PASSWD=$ol_enable_passwd
2816 if test "$ol_enable_passwd" = mod ; then
2817 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-passwd"
2818 MFLAG=SLAPD_MOD_DYNAMIC
2820 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-passwd"
2821 MFLAG=SLAPD_MOD_STATIC
2823 AC_DEFINE_UNQUOTED(SLAPD_PASSWD,$MFLAG,[define to support PASSWD backend])
2826 if test "$ol_link_perl" != no ; then
2828 BUILD_PERL=$ol_enable_perl
2829 if test "$ol_enable_perl" = mod ; then
2830 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-perl"
2831 MFLAG=SLAPD_MOD_DYNAMIC
2833 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-perl"
2834 MFLAG=SLAPD_MOD_STATIC
2836 AC_DEFINE_UNQUOTED(SLAPD_PERL,$MFLAG,[define to support PERL backend])
2839 if test "$ol_enable_relay" != no ; then
2841 BUILD_RELAY=$ol_enable_relay
2842 if test "$ol_enable_relay" = mod ; then
2843 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-relay"
2844 MFLAG=SLAPD_MOD_DYNAMIC
2846 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-relay"
2847 MFLAG=SLAPD_MOD_STATIC
2849 AC_DEFINE_UNQUOTED(SLAPD_RELAY,$MFLAG,[define to support relay backend])
2852 if test "$ol_enable_shell" != no ; then
2853 if test "$ol_link_threads" != no ; then
2854 AC_MSG_WARN([Use of --without-threads is recommended with back-shell])
2857 BUILD_SHELL=$ol_enable_shell
2858 if test "$ol_enable_shell" = mod ; then
2859 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-shell"
2860 MFLAG=SLAPD_MOD_DYNAMIC
2862 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-shell"
2863 MFLAG=SLAPD_MOD_STATIC
2865 AC_DEFINE_UNQUOTED(SLAPD_SHELL,$MFLAG,[define to support SHELL backend])
2868 if test "$ol_enable_sock" != no ; then
2870 BUILD_SOCK=$ol_enable_sock
2871 if test "$ol_enable_sock" = mod ; then
2872 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sock"
2873 MFLAG=SLAPD_MOD_DYNAMIC
2875 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sock"
2876 MFLAG=SLAPD_MOD_STATIC
2878 AC_DEFINE_UNQUOTED(SLAPD_SOCK,$MFLAG,[define to support SOCK backend])
2881 if test "$ol_link_sql" != no ; then
2883 BUILD_SQL=$ol_enable_sql
2884 if test "$ol_enable_sql" = mod; then
2885 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sql"
2886 MFLAG=SLAPD_MOD_DYNAMIC
2888 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sql"
2889 MFLAG=SLAPD_MOD_STATIC
2891 AC_DEFINE_UNQUOTED(SLAPD_SQL,$MFLAG,[define to support SQL backend])
2894 if test "$ol_link_wt" != no ; then
2896 BUILD_WT=$ol_enable_wt
2897 if test "$ol_enable_wt" = mod; then
2898 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-wt"
2899 MFLAG=SLAPD_MOD_DYNAMIC
2901 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-wt"
2902 MFLAG=SLAPD_MOD_STATIC
2904 AC_DEFINE_UNQUOTED(SLAPD_WT,$MFLAG,[define to support WiredTiger backend])
2907 if test "$ol_enable_accesslog" != no ; then
2908 BUILD_ACCESSLOG=$ol_enable_accesslog
2909 if test "$ol_enable_accesslog" = mod ; then
2910 MFLAG=SLAPD_MOD_DYNAMIC
2911 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS accesslog.la"
2913 MFLAG=SLAPD_MOD_STATIC
2914 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS accesslog.o"
2916 AC_DEFINE_UNQUOTED(SLAPD_OVER_ACCESSLOG,$MFLAG,[define for In-Directory Access Logging overlay])
2919 if test "$ol_enable_auditlog" != no ; then
2920 BUILD_AUDITLOG=$ol_enable_auditlog
2921 if test "$ol_enable_auditlog" = mod ; then
2922 MFLAG=SLAPD_MOD_DYNAMIC
2923 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS auditlog.la"
2925 MFLAG=SLAPD_MOD_STATIC
2926 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS auditlog.o"
2928 AC_DEFINE_UNQUOTED(SLAPD_OVER_AUDITLOG,$MFLAG,[define for Audit Logging overlay])
2931 if test "$ol_enable_autoca" != no ; then
2932 BUILD_AUTOCA=$ol_enable_autoca
2933 if test "$ol_enable_autoca" = mod ; then
2934 MFLAG=SLAPD_MOD_DYNAMIC
2935 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS autoca.la"
2937 MFLAG=SLAPD_MOD_STATIC
2938 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS autoca.o"
2940 AC_DEFINE_UNQUOTED(SLAPD_OVER_AUTOCA,$MFLAG,[define for Automatic Certificate Authority overlay])
2943 if test "$ol_enable_collect" != no ; then
2944 BUILD_COLLECT=$ol_enable_collect
2945 if test "$ol_enable_collect" = mod ; then
2946 MFLAG=SLAPD_MOD_DYNAMIC
2947 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS collect.la"
2949 MFLAG=SLAPD_MOD_STATIC
2950 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS collect.o"
2952 AC_DEFINE_UNQUOTED(SLAPD_OVER_COLLECT,$MFLAG,[define for Collect overlay])
2955 if test "$ol_enable_constraint" != no ; then
2956 BUILD_CONSTRAINT=$ol_enable_constraint
2957 if test "$ol_enable_constraint" = mod ; then
2958 MFLAG=SLAPD_MOD_DYNAMIC
2959 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS constraint.la"
2961 MFLAG=SLAPD_MOD_STATIC
2962 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS constraint.o"
2964 AC_DEFINE_UNQUOTED(SLAPD_OVER_CONSTRAINT,$MFLAG,[define for Attribute Constraint overlay])
2967 if test "$ol_enable_dds" != no ; then
2968 BUILD_DDS=$ol_enable_dds
2969 if test "$ol_enable_dds" = mod ; then
2970 MFLAG=SLAPD_MOD_DYNAMIC
2971 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dds.la"
2973 MFLAG=SLAPD_MOD_STATIC
2974 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dds.o"
2976 AC_DEFINE_UNQUOTED(SLAPD_OVER_DDS,$MFLAG,[define for Dynamic Directory Services overlay])
2979 if test "$ol_enable_deref" != no ; then
2980 BUILD_DEREF=$ol_enable_deref
2981 if test "$ol_enable_deref" = mod ; then
2982 MFLAG=SLAPD_MOD_DYNAMIC
2983 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS deref.la"
2985 MFLAG=SLAPD_MOD_STATIC
2986 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS deref.o"
2988 AC_DEFINE_UNQUOTED(SLAPD_OVER_DEREF,$MFLAG,[define for Dynamic Directory Services overlay])
2991 if test "$ol_enable_dyngroup" != no ; then
2992 BUILD_DYNGROUP=$ol_enable_dyngroup
2993 if test "$ol_enable_dyngroup" = mod ; then
2994 MFLAG=SLAPD_MOD_DYNAMIC
2995 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dyngroup.la"
2997 MFLAG=SLAPD_MOD_STATIC
2998 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dyngroup.o"
3000 AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group overlay])
3003 if test "$ol_enable_dynlist" != no ; then
3004 BUILD_DYNLIST=$ol_enable_dynlist
3005 if test "$ol_enable_dynlist" = mod ; then
3006 MFLAG=SLAPD_MOD_DYNAMIC
3007 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dynlist.la"
3009 MFLAG=SLAPD_MOD_STATIC
3010 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dynlist.o"
3012 AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNLIST,$MFLAG,[define for Dynamic List overlay])
3015 if test "$ol_enable_memberof" != no ; then
3016 BUILD_MEMBEROF=$ol_enable_memberof
3017 if test "$ol_enable_memberof" = mod ; then
3018 MFLAG=SLAPD_MOD_DYNAMIC
3019 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS memberof.la"
3021 MFLAG=SLAPD_MOD_STATIC
3022 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS memberof.o"
3024 AC_DEFINE_UNQUOTED(SLAPD_OVER_MEMBEROF,$MFLAG,[define for Reverse Group Membership overlay])
3027 if test "$ol_enable_ppolicy" != no ; then
3028 BUILD_PPOLICY=$ol_enable_ppolicy
3029 if test "$ol_enable_ppolicy" = mod ; then
3030 MFLAG=SLAPD_MOD_DYNAMIC
3031 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS ppolicy.la"
3033 MFLAG=SLAPD_MOD_STATIC
3034 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS ppolicy.o"
3036 AC_DEFINE_UNQUOTED(SLAPD_OVER_PPOLICY,$MFLAG,[define for Password Policy overlay])
3039 if test "$ol_enable_proxycache" != no ; then
3040 BUILD_PROXYCACHE=$ol_enable_proxycache
3041 if test "$ol_enable_proxycache" = mod ; then
3042 MFLAG=SLAPD_MOD_DYNAMIC
3043 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS pcache.la"
3045 MFLAG=SLAPD_MOD_STATIC
3046 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS pcache.o"
3048 AC_DEFINE_UNQUOTED(SLAPD_OVER_PROXYCACHE,$MFLAG,[define for Proxy Cache overlay])
3051 if test "$ol_enable_refint" != no ; then
3052 BUILD_REFINT=$ol_enable_refint
3053 if test "$ol_enable_refint" = mod ; then
3054 MFLAG=SLAPD_MOD_DYNAMIC
3055 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS refint.la"
3057 MFLAG=SLAPD_MOD_STATIC
3058 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS refint.o"
3060 AC_DEFINE_UNQUOTED(SLAPD_OVER_REFINT,$MFLAG,[define for Referential Integrity overlay])
3063 if test "$ol_enable_retcode" != no ; then
3064 BUILD_RETCODE=$ol_enable_retcode
3065 if test "$ol_enable_retcode" = mod ; then
3066 MFLAG=SLAPD_MOD_DYNAMIC
3067 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS retcode.la"
3069 MFLAG=SLAPD_MOD_STATIC
3070 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS retcode.o"
3072 AC_DEFINE_UNQUOTED(SLAPD_OVER_RETCODE,$MFLAG,[define for Referential Integrity overlay])
3075 if test "$ol_enable_rwm" != no ; then
3077 BUILD_RWM=$ol_enable_rwm
3078 if test "$ol_enable_rwm" = mod ; then
3079 MFLAG=SLAPD_MOD_DYNAMIC
3080 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS rwm.la"
3082 MFLAG=SLAPD_MOD_STATIC
3083 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS rwm_x.o"
3085 AC_DEFINE_UNQUOTED(SLAPD_OVER_RWM,$MFLAG,[define for Rewrite/Remap overlay])
3088 if test "$ol_enable_seqmod" != no ; then
3089 BUILD_SEQMOD=$ol_enable_seqmod
3090 if test "$ol_enable_seqmod" = mod ; then
3091 MFLAG=SLAPD_MOD_DYNAMIC
3092 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS seqmod.la"
3094 MFLAG=SLAPD_MOD_STATIC
3095 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS seqmod.o"
3097 AC_DEFINE_UNQUOTED(SLAPD_OVER_SEQMOD,$MFLAG,[define for Sequential Modify overlay])
3100 if test "$ol_enable_sssvlv" != no ; then
3101 BUILD_SSSVLV=$ol_enable_sssvlv
3102 if test "$ol_enable_sssvlv" = mod ; then
3103 MFLAG=SLAPD_MOD_DYNAMIC
3104 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS sssvlv.la"
3106 MFLAG=SLAPD_MOD_STATIC
3107 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS sssvlv.o"
3109 AC_DEFINE_UNQUOTED(SLAPD_OVER_SSSVLV,$MFLAG,[define for ServerSideSort/VLV overlay])
3112 if test "$ol_enable_syncprov" != no ; then
3113 BUILD_SYNCPROV=$ol_enable_syncprov
3114 if test "$ol_enable_syncprov" = mod ; then
3115 MFLAG=SLAPD_MOD_DYNAMIC
3116 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS syncprov.la"
3118 MFLAG=SLAPD_MOD_STATIC
3119 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS syncprov.o"
3121 AC_DEFINE_UNQUOTED(SLAPD_OVER_SYNCPROV,$MFLAG,[define for Syncrepl Provider overlay])
3124 if test "$ol_enable_translucent" != no ; then
3125 BUILD_TRANSLUCENT=$ol_enable_translucent
3126 if test "$ol_enable_translucent" = mod ; then
3127 MFLAG=SLAPD_MOD_DYNAMIC
3128 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS translucent.la"
3130 MFLAG=SLAPD_MOD_STATIC
3131 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS translucent.o"
3133 AC_DEFINE_UNQUOTED(SLAPD_OVER_TRANSLUCENT,$MFLAG,[define for Translucent Proxy overlay])
3136 if test "$ol_enable_unique" != no ; then
3137 BUILD_UNIQUE=$ol_enable_unique
3138 if test "$ol_enable_unique" = mod ; then
3139 MFLAG=SLAPD_MOD_DYNAMIC
3140 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS unique.la"
3142 MFLAG=SLAPD_MOD_STATIC
3143 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS unique.o"
3145 AC_DEFINE_UNQUOTED(SLAPD_OVER_UNIQUE,$MFLAG,[define for Attribute Uniqueness overlay])
3148 if test "$ol_enable_valsort" != no ; then
3149 BUILD_VALSORT=$ol_enable_valsort
3150 if test "$ol_enable_valsort" = mod ; then
3151 MFLAG=SLAPD_MOD_DYNAMIC
3152 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS valsort.la"
3154 MFLAG=SLAPD_MOD_STATIC
3155 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS valsort.o"
3157 AC_DEFINE_UNQUOTED(SLAPD_OVER_VALSORT,$MFLAG,[define for Value Sorting overlay])
3160 if test "$ol_enable_rewrite" != no ; then
3161 AC_DEFINE(ENABLE_REWRITE,1,[define to enable rewriting in back-ldap and back-meta])
3165 if test "$ol_enable_slapi" != no ; then
3166 AC_DEFINE(ENABLE_SLAPI,1,[define to enable slapi library])
3168 SLAPD_SLAPI_DEPEND=libslapi.a
3171 dnl ----------------------------------------------------------------
3174 dnl For Windows build, we don't want to include -dlopen flags.
3175 dnl They hurt more than they help.
3178 if test "$ac_cv_mingw32" = yes -o $ol_cv_msvc = yes ; then
3180 SLAPD_MODULES_LDFLAGS=
3189 AC_SUBST(WITH_MODULES_ENABLED)
3190 AC_SUBST(WITH_ACI_ENABLED)
3191 AC_SUBST(BUILD_THREAD)
3192 AC_SUBST(BUILD_LIBS_DYNAMIC)
3194 AC_SUBST(BUILD_SLAPD)
3196 AC_SUBST(BUILD_SLAPI)
3197 AC_SUBST(SLAPD_SLAPI_DEPEND)
3200 AC_SUBST(BUILD_DNSSRV)
3202 AC_SUBST(BUILD_LDAP)
3204 AC_SUBST(BUILD_META)
3205 AC_SUBST(BUILD_ASYNCMETA)
3206 AC_SUBST(BUILD_MONITOR)
3208 AC_SUBST(BUILD_NULL)
3209 AC_SUBST(BUILD_PASSWD)
3210 AC_SUBST(BUILD_RELAY)
3211 AC_SUBST(BUILD_PERL)
3212 AC_SUBST(BUILD_SHELL)
3213 AC_SUBST(BUILD_SOCK)
3217 AC_SUBST(BUILD_ACCESSLOG)
3218 AC_SUBST(BUILD_AUDITLOG)
3219 AC_SUBST(BUILD_AUTOCA)
3220 AC_SUBST(BUILD_COLLECT)
3221 AC_SUBST(BUILD_CONSTRAINT)
3223 AC_SUBST(BUILD_DENYOP)
3224 AC_SUBST(BUILD_DEREF)
3225 AC_SUBST(BUILD_DYNGROUP)
3226 AC_SUBST(BUILD_DYNLIST)
3227 AC_SUBST(BUILD_LASTMOD)
3228 AC_SUBST(BUILD_MEMBEROF)
3229 AC_SUBST(BUILD_PPOLICY)
3230 AC_SUBST(BUILD_PROXYCACHE)
3231 AC_SUBST(BUILD_REFINT)
3232 AC_SUBST(BUILD_RETCODE)
3234 AC_SUBST(BUILD_SEQMOD)
3235 AC_SUBST(BUILD_SSSVLV)
3236 AC_SUBST(BUILD_SYNCPROV)
3237 AC_SUBST(BUILD_TRANSLUCENT)
3238 AC_SUBST(BUILD_UNIQUE)
3239 AC_SUBST(BUILD_VALSORT)
3242 AC_SUBST(SLAPD_LIBS)
3244 AC_SUBST(SLAPD_NDB_LIBS)
3245 AC_SUBST(SLAPD_NDB_INCS)
3246 AC_SUBST(LTHREAD_LIBS)
3247 AC_SUBST(LUTIL_LIBS)
3250 AC_SUBST(SLAPD_MODULES_CPPFLAGS)
3251 AC_SUBST(SLAPD_MODULES_LDFLAGS)
3253 AC_SUBST(SLAPD_NO_STATIC)
3254 AC_SUBST(SLAPD_STATIC_BACKENDS)
3255 AC_SUBST(SLAPD_DYNAMIC_BACKENDS)
3256 AC_SUBST(SLAPD_STATIC_OVERLAYS)
3257 AC_SUBST(SLAPD_DYNAMIC_OVERLAYS)
3259 AC_SUBST(PERL_CPPFLAGS)
3260 AC_SUBST(SLAPD_PERL_LDFLAGS)
3261 AC_SUBST(MOD_PERL_LDFLAGS)
3267 AC_SUBST(WITH_TLS_TYPE)
3268 AC_SUBST(MODULES_LIBS)
3269 AC_SUBST(SLAPI_LIBS)
3274 AC_SUBST(SLAPD_SLP_LIBS)
3275 AC_SUBST(SLAPD_GMP_LIBS)
3277 AC_SUBST(SLAPD_SQL_LDFLAGS)
3278 AC_SUBST(SLAPD_SQL_LIBS)
3279 AC_SUBST(SLAPD_SQL_INCLUDES)
3284 dnl ----------------------------------------------------------------
3285 dnl final help output
3286 AC_ARG_WITH(xxinstall,[
3287 See INSTALL file for further details.])
3289 dnl ----------------------------------------------------------------
3293 AC_CONFIG_FILES([Makefile:build/top.mk:Makefile.in:build/dir.mk]
3294 [doc/Makefile:build/top.mk:doc/Makefile.in:build/dir.mk]
3295 [doc/man/Makefile:build/top.mk:doc/man/Makefile.in:build/dir.mk]
3296 [doc/man/man1/Makefile:build/top.mk:doc/man/man1/Makefile.in:build/man.mk]
3297 [doc/man/man3/Makefile:build/top.mk:doc/man/man3/Makefile.in:build/man.mk]
3298 [doc/man/man5/Makefile:build/top.mk:doc/man/man5/Makefile.in:build/man.mk]
3299 [doc/man/man8/Makefile:build/top.mk:doc/man/man8/Makefile.in:build/man.mk]
3300 [clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.mk]
3301 [clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk]
3302 [include/Makefile:build/top.mk:include/Makefile.in]
3303 [libraries/Makefile:build/top.mk:libraries/Makefile.in:build/dir.mk]
3304 [libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk:build/lib-shared.mk]
3305 [libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk:build/lib-shared.mk]
3306 [libraries/libldap_r/Makefile:build/top.mk:libraries/libldap_r/Makefile.in:build/lib.mk:build/lib-shared.mk]
3307 [libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk]
3308 [libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk]
3309 [libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-static.mk]
3310 [servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk]
3311 [servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk]
3312 [servers/slapd/back-bdb/Makefile:build/top.mk:servers/slapd/back-bdb/Makefile.in:build/mod.mk]
3313 [servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk]
3314 [servers/slapd/back-hdb/Makefile:build/top.mk:servers/slapd/back-hdb/Makefile.in:build/mod.mk]
3315 [servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/mod.mk]
3316 [servers/slapd/back-ldif/Makefile:build/top.mk:servers/slapd/back-ldif/Makefile.in:build/mod.mk]
3317 [servers/slapd/back-mdb/Makefile:build/top.mk:servers/slapd/back-mdb/Makefile.in:build/mod.mk]
3318 [servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk]
3319 [servers/slapd/back-asyncmeta/Makefile:build/top.mk:servers/slapd/back-asyncmeta/Makefile.in:build/mod.mk]
3320 [servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk]
3321 [servers/slapd/back-ndb/Makefile:build/top.mk:servers/slapd/back-ndb/Makefile.in:build/mod.mk]
3322 [servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/Makefile.in:build/mod.mk]
3323 [servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk]
3324 [servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk]
3325 [servers/slapd/back-relay/Makefile:build/top.mk:servers/slapd/back-relay/Makefile.in:build/mod.mk]
3326 [servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk]
3327 [servers/slapd/back-sock/Makefile:build/top.mk:servers/slapd/back-sock/Makefile.in:build/mod.mk]
3328 [servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk]
3329 [servers/slapd/back-wt/Makefile:build/top.mk:servers/slapd/back-wt/Makefile.in:build/mod.mk]
3330 [servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk]
3331 [servers/slapd/slapi/Makefile:build/top.mk:servers/slapd/slapi/Makefile.in:build/lib.mk:build/lib-shared.mk]
3332 [servers/slapd/overlays/Makefile:build/top.mk:servers/slapd/overlays/Makefile.in:build/lib.mk]
3333 [tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk]
3335 [tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk])
3337 AC_CONFIG_COMMANDS([default],[[
3340 BACKENDSC="servers/slapd/backends.c"
3341 echo "Making $BACKENDSC"
3343 cat > $BACKENDSC << ENDX
3344 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
3346 * Copyright 1998-2018 The OpenLDAP Foundation.
3347 * All rights reserved.
3349 * Redistribution and use in source and binary forms, with or without
3350 * modification, are permitted only as authorized by the OpenLDAP
3353 * A copy of this license is available in the file LICENSE in the
3354 * top-level directory of the distribution or, alternatively, at
3355 * <http://www.OpenLDAP.org/license.html>.
3357 /* This file is automatically generated by configure; please do not edit. */
3359 #include "portable.h"
3363 if test "${STATIC_BACKENDS}"; then
3364 for b in config ${STATIC_BACKENDS}; do
3365 bb=`echo "${b}" | sed -e 's/back-//'`
3366 cat >> $BACKENDSC << ENDX
3367 extern BI_init ${bb}_back_initialize;
3371 cat >> $BACKENDSC << ENDX
3373 BackendInfo slap_binfo[] = {
3376 for b in config ${STATIC_BACKENDS}; do
3377 bb=`echo "${b}" | sed -e 's/back-//'`
3378 echo " Add ${bb} ..."
3379 cat >> $BACKENDSC << ENDX
3380 { "${bb}", ${bb}_back_initialize },
3384 cat >> $BACKENDSC << ENDX
3388 /* end of generated file */
3391 OVERLAYSC="servers/slapd/overlays/statover.c"
3392 echo "Making $OVERLAYSC"
3394 cat > $OVERLAYSC << ENDX
3395 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
3397 * Copyright 1998-2018 The OpenLDAP Foundation.
3398 * All rights reserved.
3400 * Redistribution and use in source and binary forms, with or without
3401 * modification, are permitted only as authorized by the OpenLDAP
3404 * A copy of this license is available in the file LICENSE in the
3405 * top-level directory of the distribution or, alternatively, at
3406 * <http://www.OpenLDAP.org/license.html>.
3408 /* This file is automatically generated by configure; please do not edit. */
3410 #include "portable.h"
3414 if test "${STATIC_OVERLAYS}"; then
3415 for o in ${STATIC_OVERLAYS}; do
3416 oo=`echo "${o}" | sed -e 's/.o$//' -e 's/_x$//'`
3417 cat >> $OVERLAYSC << ENDX
3418 extern OV_init ${oo}_initialize;
3423 cat >> $OVERLAYSC << ENDX
3425 OverlayInit slap_oinfo[] = {
3428 if test "${STATIC_OVERLAYS}"; then
3429 for o in ${STATIC_OVERLAYS}; do
3430 oo=`echo "${o}" | sed -e 's/.o$//' -e 's/_x$//'`
3431 echo " Add ${oo} ..."
3432 cat >> $OVERLAYSC << ENDX
3433 { "${oo}", ${oo}_initialize },
3438 cat >> $OVERLAYSC << ENDX
3442 /* end of generated file */
3445 if test "${ol_cv_mkdep}" = no; then
3446 echo '(Do not "make depend"; we do not know how to build dependencies)'
3448 echo 'Please run "make depend" to build dependencies'
3451 STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS"
3452 STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS"