2 dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
4 dnl Copyright 1998-2016 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-2016 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-2016 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
302 AC_ARG_ENABLE(xxslapbackends,[
303 SLAPD Backend Options:])
305 OL_ARG_ENABLE(backends,[ --enable-backends enable all available backends],
307 OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend],
308 no, [no yes mod], ol_enable_backends)dnl
309 OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend],
310 no, [no yes mod], ol_enable_backends)dnl
311 OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend],
312 no, [no yes mod], ol_enable_backends)dnl
313 OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend],
314 no, [no yes mod], ol_enable_backends)dnl
315 OL_ARG_ENABLE(mdb,[ --enable-mdb enable mdb database backend],
316 yes, [no yes mod], ol_enable_backends)dnl
317 OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend],
318 no, [no yes mod], ol_enable_backends)dnl
319 OL_ARG_ENABLE(asyncmeta,[ --enable-asyncmeta enable asynchronous metadirectory backend],
320 no, [no yes mod], ol_enable_backends)dnl
321 OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend],
322 yes, [no yes mod], ol_enable_backends)dnl
323 OL_ARG_ENABLE(ndb,[ --enable-ndb enable MySQL NDB Cluster backend],
324 no, [no yes mod], ol_enable_backends)dnl
325 OL_ARG_ENABLE(null,[ --enable-null enable null backend],
326 no, [no yes mod], ol_enable_backends)dnl
327 OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend],
328 no, [no yes mod], ol_enable_backends)dnl
329 OL_ARG_ENABLE(perl,[ --enable-perl enable perl backend],
330 no, [no yes mod], ol_enable_backends)dnl
331 OL_ARG_ENABLE(relay,[ --enable-relay enable relay backend],
332 yes, [no yes mod], ol_enable_backends)dnl
333 OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend],
334 no, [no yes mod], ol_enable_backends)dnl
335 OL_ARG_ENABLE(sock,[ --enable-sock enable sock backend],
336 no, [no yes mod], ol_enable_backends)dnl
337 OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend],
338 no, [no yes mod], ol_enable_backends)dnl
339 OL_ARG_ENABLE(wt,[ --enable-wt enable WiredTiger backend],
340 no, [no yes mod], ol_enable_backends)dnl
342 dnl ----------------------------------------------------------------
343 dnl SLAPD Overlay Options
344 Overlays="accesslog \
365 AC_ARG_ENABLE(xxslapoverlays,[
366 SLAPD Overlay Options:])
368 OL_ARG_ENABLE(overlays,[ --enable-overlays enable all available overlays],
370 OL_ARG_ENABLE(accesslog,[ --enable-accesslog In-Directory Access Logging overlay],
371 no, [no yes mod], ol_enable_overlays)
372 OL_ARG_ENABLE(auditlog,[ --enable-auditlog Audit Logging overlay],
373 no, [no yes mod], ol_enable_overlays)
374 OL_ARG_ENABLE(collect,[ --enable-collect Collect overlay],
375 no, [no yes mod], ol_enable_overlays)
376 OL_ARG_ENABLE(constraint,[ --enable-constraint Attribute Constraint overlay],
377 no, [no yes mod], ol_enable_overlays)
378 OL_ARG_ENABLE(dds,[ --enable-dds Dynamic Directory Services overlay],
379 no, [no yes mod], ol_enable_overlays)
380 OL_ARG_ENABLE(deref,[ --enable-deref Dereference overlay],
381 no, [no yes mod], ol_enable_overlays)
382 OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay],
383 no, [no yes mod], ol_enable_overlays)
384 OL_ARG_ENABLE(dynlist,[ --enable-dynlist Dynamic List overlay],
385 no, [no yes mod], ol_enable_overlays)
386 OL_ARG_ENABLE(memberof,[ --enable-memberof Reverse Group Membership overlay],
387 no, [no yes mod], ol_enable_overlays)
388 OL_ARG_ENABLE(ppolicy,[ --enable-ppolicy Password Policy overlay],
389 no, [no yes mod], ol_enable_overlays)
390 OL_ARG_ENABLE(proxycache,[ --enable-proxycache Proxy Cache overlay],
391 no, [no yes mod], ol_enable_overlays)
392 OL_ARG_ENABLE(refint,[ --enable-refint Referential Integrity overlay],
393 no, [no yes mod], ol_enable_overlays)
394 OL_ARG_ENABLE(retcode,[ --enable-retcode Return Code testing overlay],
395 no, [no yes mod], ol_enable_overlays)
396 OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay],
397 no, [no yes mod], ol_enable_overlays)
398 OL_ARG_ENABLE(seqmod,[ --enable-seqmod Sequential Modify overlay],
399 no, [no yes mod], ol_enable_overlays)
400 OL_ARG_ENABLE(sssvlv,[ --enable-sssvlv ServerSideSort/VLV overlay],
401 no, [no yes mod], ol_enable_overlays)
402 OL_ARG_ENABLE(syncprov,[ --enable-syncprov Syncrepl Provider overlay],
403 yes, [no yes mod], ol_enable_overlays)
404 OL_ARG_ENABLE(translucent,[ --enable-translucent Translucent Proxy overlay],
405 no, [no yes mod], ol_enable_overlays)
406 OL_ARG_ENABLE(unique,[ --enable-unique Attribute Uniqueness overlay],
407 no, [no yes mod], ol_enable_overlays)
408 OL_ARG_ENABLE(valsort,[ --enable-valsort Value Sorting overlay],
409 no, [no yes mod], ol_enable_overlays)
411 dnl ----------------------------------------------------------------
412 AC_ARG_ENABLE(xxliboptions,[
413 Library Generation & Linking Options])
417 dnl ----------------------------------------------------------------
420 if test $ol_enable_slapd = no ; then
421 dnl SLAPD was specificallly disabled
422 if test $ol_enable_slapi = yes ; then
423 AC_MSG_WARN([slapd disabled, ignoring --enable-slapi argument])
425 case "$ol_enable_backends" in yes | mod)
426 AC_MSG_WARN([slapd disabled, ignoring --enable-backends argument])
428 for i in $Backends; do
429 eval "ol_tmp=\$ol_enable_$i"
430 if test $ol_tmp != no ; then
431 AC_MSG_WARN([slapd disabled, ignoring --enable-$i argument])
432 eval "ol_enable_$i=no"
435 if test $ol_enable_modules = yes ; then
436 AC_MSG_WARN([slapd disabled, ignoring --enable-modules argument])
438 if test $ol_enable_wrappers = yes ; then
439 AC_MSG_WARN([slapd disabled, ignoring --enable-wrappers argument])
441 if test $ol_enable_rlookups = yes ; then
442 AC_MSG_WARN([slapd disabled, ignoring --enable-rlookups argument])
444 if test $ol_enable_dynacl = yes ; then
445 AC_MSG_WARN([slapd disabled, ignoring --enable-dynacl argument])
447 if test $ol_enable_aci != no ; then
448 AC_MSG_WARN([slapd disabled, ignoring --enable-aci argument])
450 if test $ol_enable_rewrite = yes ; then
451 AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument])
454 case "$ol_enable_overlays" in yes | mod)
455 AC_MSG_WARN([slapd disabled, ignoring --enable-overlays argument])
457 for i in $Overlays; do
458 eval "ol_tmp=\$ol_enable_$i"
459 if test $ol_tmp != no ; then
460 AC_MSG_WARN([slapd disabled, ignoring --enable-$i argument])
461 eval "ol_enable_$i=no"
465 # force settings to no
471 ol_enable_rlookups=no
474 ol_enable_wrappers=no
478 elif test $ol_enable_modules != yes &&
479 test $ol_enable_bdb = no &&
480 test $ol_enable_dnssrv = no &&
481 test $ol_enable_hdb = no &&
482 test $ol_enable_ldap = no &&
483 test $ol_enable_mdb = no &&
484 test $ol_enable_meta = no &&
485 test $ol_enable_monitor = no &&
486 test $ol_enable_ndb = no &&
487 test $ol_enable_null = no &&
488 test $ol_enable_passwd = no &&
489 test $ol_enable_perl = no &&
490 test $ol_enable_relay = no &&
491 test $ol_enable_shell = no &&
492 test $ol_enable_sock = no &&
493 test $ol_enable_sql = no &&
494 test $ol_enable_wt = no ; then
497 if test $ol_enable_slapd = yes ; then
498 AC_MSG_ERROR([slapd requires a backend])
500 AC_MSG_WARN([skipping slapd, no backend specified])
505 if test $ol_enable_meta/$ol_enable_ldap = yes/no ; then
506 AC_MSG_ERROR([--enable-meta requires --enable-ldap])
509 if test $ol_enable_meta_async/$ol_enable_ldap = yes/no ; then
510 AC_MSG_ERROR([--enable-asyncmeta requires --enable-ldap])
513 if test $ol_enable_lmpasswd = yes ; then
514 if test $ol_with_tls = no ; then
515 AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
519 if test $ol_enable_spasswd = yes ; then
520 if test $ol_with_cyrus_sasl = no ; then
521 AC_MSG_ERROR([options require --with-cyrus-sasl])
523 ol_with_cyrus_sasl=yes
528 dnl ----------------------------------------------------------------
586 SLAPD_STATIC_OVERLAYS=
587 SLAPD_DYNAMIC_OVERLAYS=
589 SLAPD_MODULES_LDFLAGS=
590 SLAPD_MODULES_CPPFLAGS=
592 SLAPD_STATIC_BACKENDS=back-ldif
593 SLAPD_DYNAMIC_BACKENDS=
616 dnl ================================================================
617 dnl Checks for programs
619 AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion])
621 dnl ----------------------------------------------------------------
623 dnl Determine which C translator to use
626 dnl AIX Thread requires we use cc_r or xlc_r.
627 dnl But only do this IF AIX and CC is not set
628 dnl and threads are auto|yes|posix.
630 dnl If we find cc_r|xlc_r, force pthreads and assume
631 dnl pthread_create is in $LIBS (ie: don't bring in
632 dnl any additional thread libraries)
633 dnl If we do not find cc_r|xlc_r, disable threads
637 *-*-aix*) dnl all AIX is not a good idea.
638 if test -z "$CC" ; then
639 case "$ol_with_threads" in
640 auto | yes | posix) ol_aix_threads=yes ;;
646 if test $ol_aix_threads = yes ; then
647 if test -z "${CC}" ; then
648 AC_CHECK_PROGS(CC,cc_r xlc_r cc)
650 if test "$CC" = cc ; then
651 dnl no CC! don't allow --with-threads
652 if test $ol_with_threads != auto ; then
653 AC_MSG_ERROR([--with-threads requires cc_r (or other suitable compiler) on AIX])
655 AC_MSG_WARN([disabling threads, no cc_r on AIX])
661 case ${CC} in cc_r | xlc_r)
662 ol_with_threads=posix
663 ol_cv_pthread_create=yes
668 if test -z "${CC}"; then
669 AC_CHECK_PROGS(CC,cc gcc,missing)
671 if test "${CC}" = "missing" ; then
672 AC_MSG_ERROR([Unable to locate cc(1) or suitable replacement. Check PATH or set CC.])
676 if test -z "${AR}"; then
677 AC_CHECK_PROGS(AR,ar gar,missing)
679 if test "${AR}" = "missing" ; then
680 AC_MSG_ERROR([Unable to locate ar(1) or suitable replacement. Check PATH or set AR.])
688 dnl ----------------------------------------------------------------
691 if test $ol_enable_perl != no ; then
692 AC_PATH_PROG(PERLBIN, perl, /usr/bin/perl)
694 if test "no$PERLBIN" = "no" ; then
695 if test $ol_enable_perl = yes ; then
696 AC_MSG_ERROR([could not locate perl])
700 PERL_CPPFLAGS="`$PERLBIN -MExtUtils::Embed -e ccopts`"
701 PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e 's/ -lc / /' -e 's/ -lc$//'`"
703 if test x"$ol_enable_perl" = "xyes" ; then
704 SLAPD_PERL_LDFLAGS="$PERL_LDFLAGS"
706 MOD_PERL_LDFLAGS="$PERL_LDFLAGS"
708 dnl should check perl version
716 dnl ----------------------------------------------------------------
717 dnl Checks for Windows NT
719 *mingw32* ) ac_cv_mingw32=yes ;;
720 *cygwin* ) ac_cv_cygwin=yes ;;
721 *interix* ) ac_cv_interix=yes ;;
724 dnl ----------------------------------------------------------------
725 dnl Checks for file extensions
728 AC_DEFINE_UNQUOTED(EXEEXT, "${EXEEXT}", [defined to be the EXE extension])
730 dnl ----------------------------------------------------------------
731 dnl BeOS requires -lbe -lroot -lnet
732 AC_CHECK_LIB(be, be_app, [LIBS="$LIBS -lbe -lroot -lnet"], :, [-lroot -lnet])
734 dnl ----------------------------------------------------------------
735 dnl OpenLDAP requires STDC features
737 if test "X${ac_cv_prog_cc_stdc}" = "Xno" ; then
738 AC_MSG_ERROR([OpenLDAP requires compiler to support STDC constructs.])
741 dnl ----------------------------------------------------------------
742 dnl Check cc depend flags
744 if test "${ol_cv_mkdep}" = no ; then
745 # this will soon become an error
746 AC_MSG_WARN([do not know how to generate dependencies])
749 dnl ----------------------------------------------------------------
750 dnl Check for AIX security library
751 AC_CHECK_LIB(s, afopen, [
753 AC_DEFINE(HAVE_AIX_SECURITY,1,[define if you have AIX security lib])
756 dnl ----------------------------------------------------------------
757 dnl Check for IBM OS/390
761 AC_DEFINE(BOTH_STRINGS_H,1,[define to use both <string.h> and <strings.h>])
765 dnl ----------------------------------------------------------------
766 dnl Check for module support
768 WITH_MODULES_ENABLED=no
769 if test $ol_enable_modules != no ; then
770 AC_CHECK_HEADERS(ltdl.h)
772 if test $ac_cv_header_ltdl_h = no ; then
773 AC_MSG_ERROR([could not locate libtool ltdl.h])
776 AC_CHECK_LIB(ltdl, lt_dlinit, [
778 AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
781 if test "$ac_cv_lib_ltdl_lt_dlinit" = no ; then
782 AC_MSG_ERROR([could not locate libtool -lltdl])
785 WITH_MODULES_ENABLED=yes
788 for i in $Backends; do
789 eval "ol_tmp=\$ol_enable_$i"
790 if test $ol_tmp = mod ; then
791 AC_MSG_WARN([building static $i backend])
792 eval "ol_enable_$i=yes"
795 for i in $Overlays; do
796 eval "ol_tmp=\$ol_enable_$i"
797 if test $ol_tmp = mod ; then
798 AC_MSG_WARN([building static $i overlay])
799 eval "ol_enable_$i=yes"
804 dnl ----------------------------------------------------------------
805 dnl Checks for header files.
808 if test $ol_cv_header_stdc != yes; then
809 AC_MSG_WARN([could not locate Standard C compliant headers])
866 dnl Only check Winsock on MinGW
867 if test "$ac_cv_mingw32" = yes \
868 -o "$ac_cv_interix" = yes \
869 -o "$ol_cv_msvc" = yes
871 AC_CHECK_HEADERS( winsock.h winsock2.h )
874 AC_CHECK_HEADERS( resolv.h, [], [],
875 [$ac_includes_default
876 #include <netinet/in.h>
879 AC_CHECK_HEADERS( netinet/tcp.h, [], [],
880 [$ac_includes_default
881 #include <netinet/in.h>
884 AC_CHECK_HEADERS( sys/ucred.h, [], [],
885 [$ac_includes_default
886 #ifdef HAVE_SYS_PARAM_H
887 #include <sys/param.h>
891 dnl ----------------------------------------------------------------
892 dnl Checks for libraries
894 AC_CHECK_FUNCS( sigaction sigset )
896 dnl HP-UX requires -lV3
897 dnl this is not needed on newer versions of HP-UX
898 if test $ac_cv_func_sigaction = no && test $ac_cv_func_sigaction = no ; then
899 AC_CHECK_LIB(V3, sigset)
902 if test $ol_cv_msvc = yes ; then
906 dnl The following is INTENTIONALLY scripted out because shell does not
907 dnl support variable names with the '@' character, which is what
908 dnl autoconf would try to generate if one merely used AC_SEARCH_LIBS
909 if test "$ac_cv_header_winsock_h" = yes; then
910 AC_CACHE_CHECK([for winsock], [ol_cv_winsock],[
912 for curlib in none ws2_32 wsock32; do
913 if test $curlib != none ; then
914 LIBS="$save_LIBS -l$curlib"
916 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <winsock.h>
919 select(0,NULL,NULL,NULL,NULL);
922 ]])],[ol_cv_winsock=$curlib],[ol_cv_winsock=no])
924 test "$ol_cv_winsock" != no && break
929 if test $ol_cv_winsock != no ; then
930 AC_DEFINE(HAVE_WINSOCK, 1, [define if you have winsock])
931 ac_cv_func_socket=yes
932 ac_cv_func_select=yes
933 ac_cv_func_closesocket=yes
934 ac_cv_func_gethostname=yes
936 if test $ol_cv_winsock != none -a $ol_cv_winsock != yes ; then
937 LIBS="$LIBS -l$ol_cv_winsock"
940 if test $ol_cv_winsock = ws2_32 -o $ol_cv_winsock = yes ; then
941 AC_DEFINE(HAVE_WINSOCK2, 1, [define if you have winsock2])
947 dnl Likely combinations:
948 dnl -lsocket [ -lnsl_s | -lnsl ]
951 AC_CHECK_FUNC(socket, :, [
952 dnl hopefully we won't include too many libraries
953 AC_CHECK_LIB(socket, main)
954 AC_CHECK_LIB(net, socket)
955 AC_CHECK_LIB(nsl_s, main)
956 AC_CHECK_LIB(nsl, main)
957 AC_CHECK_LIB(inet, socket)
958 AC_CHECK_LIB(gen, main)
962 AC_CHECK_FUNC(select, :, AC_MSG_ERROR([select() required.]))
964 if test "${ac_cv_header_winsock_h}" != yes; then
966 dnl (if this detection becomes permenent, it and the select() detection
967 dnl should be done before the yielding select test)
968 AC_FUNC_SELECT_ARGTYPES
971 dnl check to see if system call automatically restart
972 dnl AC_SYS_RESTARTABLE_SYSCALLS
974 dnl ----------------------------------------------------------------
975 AC_CHECK_FUNCS( poll )
976 if test $ac_cv_func_poll = yes; then
977 AC_CHECK_HEADERS( poll.h sys/poll.h )
980 dnl ----------------------------------------------------------------
981 AC_CHECK_HEADERS( sys/epoll.h )
982 if test "${ac_cv_header_sys_epoll_h}" = yes; then
983 AC_MSG_CHECKING(for epoll system call)
984 AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv)
986 int epfd = epoll_create(256);
987 exit (epfd == -1 ? 1 : 0);
988 }]])],[AC_MSG_RESULT(yes)
989 AC_DEFINE(HAVE_EPOLL,1, [define if your system supports epoll])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
992 dnl ----------------------------------------------------------------
993 AC_CHECK_HEADERS( sys/devpoll.h )
994 dnl "/dev/poll" needs <sys/poll.h> as well...
995 if test "${ac_cv_header_sys_devpoll_h}" = yes \
996 -a "${ac_cv_header_poll_h}" = yes ; \
998 AC_MSG_CHECKING(for /dev/poll)
999 AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv)
1001 int devpollfd = open("/dev/poll", /* O_RDWR */ 2);
1002 exit (devpollfd == -1 ? 1 : 0);
1003 }]])],[AC_MSG_RESULT(yes)
1004 AC_DEFINE(HAVE_DEVPOLL,1, [define if your system supports /dev/poll])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
1007 dnl ----------------------------------------------------------------
1010 dnl ----------------------------------------------------------------
1011 dnl require POSIX regex
1012 AC_CHECK_HEADERS( regex.h, [], [],
1013 [$ac_includes_default
1014 #ifdef HAVE_SYS_TYPES_H
1015 #include <sys/types.h>
1019 if test "$ac_cv_header_regex_h" != yes ; then
1020 AC_MSG_ERROR([POSIX regex.h required.])
1022 AC_SEARCH_LIBS(regfree, [regex gnuregex],
1023 :, AC_MSG_ERROR([POSIX regex required.]))
1026 if test "$ol_cv_c_posix_regex" = no ; then
1027 AC_MSG_ERROR([broken POSIX regex!])
1030 dnl ----------------------------------------------------------------
1034 AC_CHECK_HEADERS(sys/uuid.h)
1035 dnl The HAVE_UUID_TO_STR code path also needs uuid_create
1036 if test $ac_cv_header_sys_uuid_h = yes ; then
1038 AC_SEARCH_LIBS([uuid_to_str], [uuid], [have_uuid=yes], :)
1039 AC_SEARCH_LIBS([uuid_create], [uuid], :, [have_uuid=no])
1042 if test $have_uuid = yes ; then
1043 AC_DEFINE(HAVE_UUID_TO_STR,1,
1044 [define if you have uuid_to_str()])
1046 test "$ac_cv_search_uuid_to_str" = "none required" || \
1047 SLAPD_LIBS="$SLAPD_LIBS $ac_cv_search_uuid_to_str"
1051 dnl Look for uuid_generate
1052 dnl The HAVE_UUID_GENERATE code path also needs uuid_unparse_lower
1053 if test $have_uuid = no ; then
1054 AC_CHECK_HEADERS(uuid/uuid.h)
1055 if test $ac_cv_header_uuid_uuid_h = yes ; then
1057 AC_SEARCH_LIBS([uuid_generate], [uuid], [have_uuid=yes], :)
1058 AC_SEARCH_LIBS([uuid_unparse_lower], [uuid], :, [have_uuid=no])
1061 if test $have_uuid = yes ; then
1062 AC_DEFINE(HAVE_UUID_GENERATE,1,
1063 [define if you have uuid_generate()])
1065 test "$ac_cv_search_uuid_generate" = "none required" || \
1066 SLAPD_LIBS="$SLAPD_LIBS $ac_cv_search_uuid_generate"
1071 dnl For windows, check for the need of RPCRT for UUID function support
1072 if test $have_uuid = no ; then
1073 AC_MSG_CHECKING(to see if -lrpcrt4 is needed for win32 UUID support)
1075 LIBS="$LIBS -lrpcrt4"
1076 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1077 int __stdcall UuidCreate(void *);
1078 int __stdcall UuidToStringA(void *,void **);
1082 ]])],[need_rpcrt=yes],[need_rpcrt=no])
1083 if test $need_rpcrt = yes; then
1084 SLAPD_LIBS="$SLAPD_LIBS -lrpcrt4"
1087 AC_MSG_RESULT($need_rpcrt)
1090 dnl ----------------------------------------------------------------
1091 dnl Check for resolver routines
1095 if test "$ol_cv_lib_resolver" != no ; then
1096 AC_DEFINE(HAVE_RES_QUERY,1,
1097 [define if you have res_query()])
1099 if test "$ol_enable_dnssrv" != no ; then
1103 if test "$ol_cv_lib_resolver" != yes ; then
1104 LIBS="$ol_cv_lib_resolver $LIBS"
1108 if test "$ol_enable_dnssrv" = yes || test "$ol_enable_dnssrv" = mod ; then
1109 if test "$ol_link_dnssrv" = no ; then
1110 AC_MSG_ERROR([DNSSRV requires res_query()])
1116 AC_CHECK_FUNCS( hstrerror )
1118 dnl ----------------------------------------------------------------
1119 dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN
1120 dnl PF_LOCAL may use getaddrinfo in available
1121 AC_CHECK_FUNCS( getaddrinfo getnameinfo gai_strerror inet_ntop )
1124 if test $ac_cv_func_getaddrinfo = no || test $ac_cv_func_inet_ntop = no ; then
1125 if test $ol_enable_ipv6 = yes ; then
1126 AC_MSG_ERROR([IPv6 support requires getaddrinfo() and inet_ntop()])
1128 elif test $ol_enable_ipv6 != no ; then
1129 AC_CACHE_CHECK([INET6_ADDRSTRLEN],[ol_cv_inet6_addrstrlen],[
1130 AC_EGREP_CPP(__has_inet6_addrstrlen__,[
1131 # include <netinet/in.h>
1132 # ifdef INET6_ADDRSTRLEN
1133 __has_inet6_addrstrlen__;
1135 ], [ol_cv_inet6_addrstrlen=yes], [ol_cv_inet6_addrstrlen=no])])
1138 AC_CACHE_CHECK([struct sockaddr_storage],ol_cv_struct_sockaddr_storage,[
1139 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1140 #include <sys/types.h>
1141 #include <sys/socket.h>
1143 struct sockaddr_storage ss;
1144 ]])],[ol_cv_struct_sockaddr_storage=yes],[ol_cv_struct_sockaddr_storage=no])])
1146 if test $ol_cv_inet6_addrstrlen = yes &&
1147 test $ol_cv_struct_sockaddr_storage = yes ; then
1149 elif test $ol_enable_ipv6 = yes &&
1150 test $ol_cv_inet6_addrstrlen = no ; then
1151 AC_MSG_ERROR([IPv6 support requires INET6_ADDRSTRLEN])
1152 elif test $ol_enable_ipv6 = yes &&
1153 test $ol_cv_struct_sockaddr_storage = no ; then
1154 AC_MSG_ERROR([IPv6 support requires struct sockaddr_storage])
1158 if test $ol_enable_local != no ; then
1159 AC_CHECK_HEADERS( sys/un.h )
1161 if test $ol_enable_local = auto ; then
1162 ol_enable_local=$ac_cv_header_sys_un_h
1163 elif test $ac_cv_header_sys_un_h = no ; then
1164 AC_MSG_ERROR([AF_LOCAL domain support requires sys/un.h])
1168 dnl ----------------------------------------------------------------
1171 if test $ol_with_tls = yes ; then
1176 if test $ol_with_tls = openssl || test $ol_with_tls = auto ; then
1177 AC_CHECK_HEADERS(openssl/ssl.h)
1179 if test $ac_cv_header_openssl_ssl_h = yes ; then
1180 AC_CHECK_LIB(ssl, SSL_library_init,
1182 need_rsaref=no], [have_openssl=no],
1185 if test $have_openssl = no ; then
1186 AC_CHECK_LIB(ssl, ssl3_accept,
1188 need_rsaref=yes], [have_openssl=no],
1189 [-lcrypto -lRSAglue -lrsaref])
1192 if test $have_openssl = yes ; then
1196 AC_DEFINE(HAVE_OPENSSL, 1,
1197 [define if you have OpenSSL])
1199 if test $need_rsaref = yes; then
1200 AC_DEFINE(HAVE_RSAREF, 1,
1201 [define if OpenSSL needs RSAref])
1203 TLS_LIBS="-lssl -lcrypto -lRSAglue -lrsaref"
1205 TLS_LIBS="-lssl -lcrypto"
1209 if test $ol_cv_ssl_crl_compat = yes ; then
1210 AC_DEFINE(HAVE_OPENSSL_CRL, 1,
1211 [define if you have OpenSSL with CRL checking capability])
1217 if test $ol_link_tls = no ; then
1218 if test $ol_with_tls = gnutls || test $ol_with_tls = auto ; then
1219 AC_CHECK_HEADERS(gnutls/gnutls.h)
1221 if test $ac_cv_header_gnutls_gnutls_h = yes ; then
1223 [[#include <gnutls/gnutls.h>]
1224 [#if GNUTLS_VERSION_NUMBER < 0x020c00]
1225 [#error "GnuTLS 2.12.0 or newer required"]
1227 , [AC_MSG_FAILURE([GnuTLS is too old])])
1229 AC_CHECK_LIB(gnutls, gnutls_init,
1230 [have_gnutls=yes], [have_gnutls=no])
1232 if test $have_gnutls = yes ; then
1238 AC_DEFINE(HAVE_GNUTLS, 1,
1239 [define if you have GNUtls])
1245 dnl NOTE: caller must specify -I/path/to/nspr4 and -I/path/to/nss3
1246 dnl and -L/path/to/nspr4 libs and -L/path/to/nss3 libs if those libs
1247 dnl are not in the default system location
1248 if test $ol_link_tls = no ; then
1249 if test $ol_with_tls = moznss || test $ol_with_tls = auto ; then
1251 AC_CHECK_HEADERS([nssutil.h])
1252 if test "$ac_cv_header_nssutil_h" = yes ; then
1253 AC_CHECK_LIB([nss3], [NSS_Initialize],
1254 [ have_moznss=yes ], [ have_moznss=no ])
1257 if test "$have_moznss" = yes ; then
1260 AC_DEFINE(HAVE_MOZNSS, 1,
1261 [define if you have MozNSS])
1262 TLS_LIBS="-lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4"
1264 if test $ol_with_tls = moznss ; then
1265 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)])
1272 if test $ol_link_tls = yes ; then
1273 AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
1275 elif test $ol_with_tls = auto ; then
1276 AC_MSG_WARN([Could not locate TLS/SSL package])
1277 AC_MSG_WARN([TLS data protection not supported!])
1278 elif test $ol_with_tls != no ; then
1279 AC_MSG_ERROR([Could not locate TLS/SSL package])
1281 AC_MSG_WARN([TLS data protection not supported!])
1284 dnl ----------------------------------------------------------------
1285 dnl LAN Manger password checking requires DES from OpenSSL
1286 if test $ol_enable_lmpasswd != no; then
1287 if test $ol_link_tls != yes ; then
1288 AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
1291 AC_DEFINE(SLAPD_LMHASH, 1, [define to support LAN Manager passwords])
1294 dnl ----------------------------------------------------------------
1298 case $ol_with_threads in auto | yes | nt)
1302 if test "$ol_cv_nt_threads" = yes ; then
1304 ol_with_threads=found
1305 ol_with_yielding_select=yes
1307 AC_DEFINE(HAVE_NT_SERVICE_MANAGER,1,[if you have NT Service Manager])
1308 AC_DEFINE(HAVE_NT_EVENT_LOG,1,[if you have NT Event Log])
1311 if test $ol_with_threads = nt ; then
1312 AC_MSG_ERROR([could not locate NT Threads])
1317 case $ol_with_threads in auto | yes | posix)
1319 AC_CHECK_HEADERS(pthread.h)
1321 if test $ac_cv_header_pthread_h = yes ; then
1322 OL_POSIX_THREAD_VERSION
1324 if test $ol_cv_pthread_version != 0 ; then
1325 AC_DEFINE_UNQUOTED(HAVE_PTHREADS,$ol_cv_pthread_version,
1326 [define to pthreads API spec revision])
1328 AC_MSG_ERROR([unknown pthread version])
1331 # consider threads found
1332 ol_with_threads=found
1334 OL_HEADER_LINUX_THREADS
1335 OL_HEADER_GNU_PTH_PTHREAD_H
1337 if test $ol_cv_header_gnu_pth_pthread_h = no ; then
1338 AC_CHECK_HEADERS(sched.h)
1341 dnl Now the hard part, how to link?
1343 dnl currently supported checks:
1345 dnl Check for no flags
1346 dnl pthread_create() in $LIBS
1348 dnl Check special pthread (final) flags
1349 dnl [skipped] pthread_create() with -mt (Solaris) [disabled]
1350 dnl pthread_create() with -kthread (FreeBSD)
1351 dnl pthread_create() with -pthread (FreeBSD/Digital Unix)
1352 dnl pthread_create() with -pthreads (?)
1353 dnl pthread_create() with -mthreads (AIX)
1354 dnl pthread_create() with -thread (?)
1356 dnl Check pthread (final) libraries
1357 dnl pthread_mutex_unlock() in -lpthread -lmach -lexc -lc_r (OSF/1)
1358 dnl pthread_mutex_lock() in -lpthread -lmach -lexc (OSF/1)
1359 dnl [skipped] pthread_mutex_trylock() in -lpthread -lexc (OSF/1)
1360 dnl pthread_join() -Wl,-woff,85 -lpthread (IRIX)
1361 dnl pthread_create() in -lpthread (many)
1362 dnl pthread_create() in -lc_r (FreeBSD)
1364 dnl Check pthread (draft4) flags (depreciated)
1365 dnl pthread_create() with -threads (OSF/1)
1367 dnl Check pthread (draft4) libraries (depreciated)
1368 dnl pthread_mutex_unlock() in -lpthreads -lmach -lexc -lc_r (OSF/1)
1369 dnl pthread_mutex_lock() in -lpthreads -lmach -lexc (OSF/1)
1370 dnl pthread_mutex_trylock() in -lpthreads -lexc (OSF/1)
1371 dnl pthread_create() in -lpthreads (many)
1374 dnl pthread_create in $LIBS
1375 AC_CACHE_CHECK([for pthread_create in default libraries],
1376 ol_cv_pthread_create,[
1377 AC_RUN_IFELSE([OL_PTHREAD_TEST_PROGRAM],
1378 [ol_cv_pthread_create=yes],
1379 [ol_cv_pthread_create=no],
1380 [AC_TRY_LINK(OL_PTHREAD_TEST_INCLUDES,OL_PTHREAD_TEST_FUNCTION,
1381 [ol_cv_pthread_create=yes],
1382 [ol_cv_pthread_create=no])])])
1384 if test $ol_cv_pthread_create != no ; then
1385 ol_link_threads=posix
1389 dnl OL_PTHREAD_TRY([-mt], [ol_cv_pthread_mt])
1390 OL_PTHREAD_TRY([-kthread], [ol_cv_pthread_kthread])
1391 OL_PTHREAD_TRY([-pthread], [ol_cv_pthread_pthread])
1392 OL_PTHREAD_TRY([-pthreads], [ol_cv_pthread_pthreads])
1393 OL_PTHREAD_TRY([-mthreads], [ol_cv_pthread_mthreads])
1394 OL_PTHREAD_TRY([-thread], [ol_cv_pthread_thread])
1396 OL_PTHREAD_TRY([-lpthread -lmach -lexc -lc_r],
1397 [ol_cv_pthread_lpthread_lmach_lexc_lc_r])
1398 OL_PTHREAD_TRY([-lpthread -lmach -lexc],
1399 [ol_cv_pthread_lpthread_lmach_lexc])
1400 dnl OL_PTHREAD_TRY([-lpthread -lexc],
1401 dnl [ol_cv_pthread_lpthread_lexc])
1403 OL_PTHREAD_TRY([-lpthread -Wl,-woff,85],
1404 [ol_cv_pthread_lib_lpthread_woff])
1406 OL_PTHREAD_TRY([-lpthread], [ol_cv_pthread_lpthread])
1407 OL_PTHREAD_TRY([-lc_r], [ol_cv_pthread_lc_r])
1409 OL_PTHREAD_TRY([-threads], [ol_cv_pthread_threads])
1411 OL_PTHREAD_TRY([-lpthreads -lmach -lexc -lc_r],
1412 [ol_cv_pthread_lpthreads_lmach_lexc_lc_r])
1413 OL_PTHREAD_TRY([-lpthreads -lmach -lexc],
1414 [ol_cv_pthread_lpthreads_lmach_lexc])
1415 OL_PTHREAD_TRY([-lpthreads -lexc],
1416 [ol_cv_pthread_lpthreads_lexc])
1418 OL_PTHREAD_TRY([-lpthreads],[ol_cv_pthread_lib_lpthreads])
1420 if test $ol_link_threads != no ; then
1421 LTHREAD_LIBS="$LTHREAD_LIBS $ol_link_pthreads"
1424 save_CPPFLAGS="$CPPFLAGS"
1426 LIBS="$LTHREAD_LIBS $LIBS"
1428 dnl All POSIX Thread (final) implementations should have
1429 dnl sched_yield instead of pthread yield.
1430 dnl check for both, and thr_yield for Solaris
1431 AC_CHECK_FUNCS(sched_yield pthread_yield thr_yield)
1433 if test $ac_cv_func_sched_yield = no &&
1434 test $ac_cv_func_pthread_yield = no &&
1435 test $ac_cv_func_thr_yield = no ; then
1436 dnl Digital UNIX has sched_yield() in -lrt
1437 AC_CHECK_LIB(rt, sched_yield,
1438 [LTHREAD_LIBS="$LTHREAD_LIBS -lrt"
1439 AC_DEFINE(HAVE_SCHED_YIELD,1,
1440 [Define if you have the sched_yield function.])
1441 ac_cv_func_sched_yield=yes],
1442 [ac_cv_func_sched_yield=no])
1444 if test $ac_cv_func_sched_yield = no &&
1445 test $ac_cv_func_pthread_yield = no &&
1446 test "$ac_cv_func_thr_yield" = no ; then
1447 AC_MSG_WARN([could not locate sched_yield() or pthread_yield()])
1450 dnl Check functions for compatibility
1451 AC_CHECK_FUNCS(pthread_kill)
1453 dnl Check for pthread_rwlock_destroy with <pthread.h>
1454 dnl as pthread_rwlock_t may not be defined.
1455 AC_CACHE_CHECK([for pthread_rwlock_destroy with <pthread.h>],
1456 [ol_cv_func_pthread_rwlock_destroy], [
1458 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1459 #include <pthread.h>
1460 pthread_rwlock_t rwlock;
1461 ]], [[pthread_rwlock_destroy(&rwlock);]])],[ol_cv_func_pthread_rwlock_destroy=yes],[ol_cv_func_pthread_rwlock_destroy=no])
1463 if test $ol_cv_func_pthread_rwlock_destroy = yes ; then
1464 AC_DEFINE(HAVE_PTHREAD_RWLOCK_DESTROY,1,
1465 [define if you have pthread_rwlock_destroy function])
1468 dnl Check for pthread_detach with <pthread.h> inclusion
1469 dnl as it's symbol may have been mangled.
1470 AC_CACHE_CHECK([for pthread_detach with <pthread.h>],
1471 [ol_cv_func_pthread_detach], [
1473 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1474 #include <pthread.h>
1476 #define NULL (void*)0
1478 ]], [[pthread_detach(NULL);]])],[ol_cv_func_pthread_detach=yes],[ol_cv_func_pthread_detach=no])
1481 if test $ol_cv_func_pthread_detach = no ; then
1482 AC_MSG_ERROR([could not locate pthread_detach()])
1485 AC_DEFINE(HAVE_PTHREAD_DETACH,1,
1486 [define if you have pthread_detach function])
1488 dnl Check for setconcurreny functions
1490 pthread_setconcurrency \
1491 pthread_getconcurrency \
1492 thr_setconcurrency \
1493 thr_getconcurrency \
1496 OL_SYS_LINUX_THREADS
1499 if test $ol_cv_linux_threads = error; then
1500 AC_MSG_ERROR([LinuxThreads header/library mismatch]);
1503 AC_CACHE_CHECK([if pthread_create() works],
1504 ol_cv_pthread_create_works,[
1505 AC_RUN_IFELSE([OL_PTHREAD_TEST_PROGRAM],
1506 [ol_cv_pthread_create_works=yes],
1507 [ol_cv_pthread_create_works=no],
1509 ol_cv_pthread_create_works=yes])])
1511 if test $ol_cv_pthread_create_works = no ; then
1512 AC_MSG_ERROR([pthread_create is not usable, check environment settings])
1515 ol_replace_broken_yield=no
1516 dnl case "$target" in
1518 dnl AC_CHECK_FUNCS(nanosleep)
1519 dnl ol_replace_broken_yield=yes
1523 if test $ol_replace_broken_yield = yes ; then
1524 AC_DEFINE([REPLACE_BROKEN_YIELD],1,
1525 [define if sched_yield yields the entire process])
1528 dnl Check if select causes an yield
1529 if test $ol_with_yielding_select = auto ; then
1530 AC_CACHE_CHECK([if select yields when using pthreads],
1531 ol_cv_pthread_select_yields,[
1532 AC_RUN_IFELSE([AC_LANG_SOURCE([[
1533 #include <sys/types.h>
1534 #include <sys/time.h>
1536 #include <pthread.h>
1538 #define NULL (void*) 0
1541 static int fildes[2];
1543 static void *task(p)
1555 FD_SET(fildes[0], &rfds);
1557 /* we're not interested in any fds */
1558 i = select(FD_SETSIZE, &rfds, NULL, NULL, &tv);
1565 exit(0); /* if we exit here, the select blocked the whole process */
1568 int main(argc, argv)
1574 /* create a pipe to select */
1575 if(pipe(&fildes[0])) {
1580 #ifdef HAVE_PTHREAD_SETCONCURRENCY
1581 (void) pthread_setconcurrency(2);
1583 #ifdef HAVE_THR_SETCONCURRENCY
1584 /* Set Solaris LWP concurrency to 2 */
1585 thr_setconcurrency(2);
1589 #if HAVE_PTHREADS < 6
1590 pthread_create(&t, pthread_attr_default, task, NULL);
1592 pthread_create(&t, NULL, task, NULL);
1595 /* make sure task runs first */
1596 #ifdef HAVE_THR_YIELD
1598 #elif defined( HAVE_SCHED_YIELD )
1600 #elif defined( HAVE_PTHREAD_YIELD )
1605 }]])],[ol_cv_pthread_select_yields=no],[ol_cv_pthread_select_yields=yes],[ol_cv_pthread_select_yields=cross])])
1607 if test $ol_cv_pthread_select_yields = cross ; then
1608 AC_MSG_ERROR([crossing compiling: use --with-yielding_select=yes|no|manual])
1611 if test $ol_cv_pthread_select_yields = yes ; then
1612 ol_with_yielding_select=yes
1617 CPPFLAGS="$save_CPPFLAGS"
1620 AC_MSG_ERROR([could not locate usable POSIX Threads])
1624 if test $ol_with_threads = posix ; then
1625 AC_MSG_ERROR([could not locate POSIX Threads])
1630 case $ol_with_threads in auto | yes | mach)
1632 dnl check for Mach CThreads
1633 AC_CHECK_HEADERS(mach/cthreads.h cthreads.h)
1634 if test $ac_cv_header_mach_cthreads_h = yes ; then
1635 ol_with_threads=found
1637 dnl check for cthreads support in current $LIBS
1638 AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
1640 if test $ol_link_threads = no ; then
1642 dnl this test needs work
1643 AC_CACHE_CHECK([for cthread_fork with -all_load],
1644 [ol_cv_cthread_all_load], [
1647 LIBS="-all_load $LIBS"
1648 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <mach/cthreads.h>]], [[
1649 cthread_fork((void *)0, (void *)0);
1650 ]])],[ol_cv_cthread_all_load=yes],[ol_cv_cthread_all_load=no])
1651 dnl restore the LIBS
1655 if test $ol_cv_cthread_all_load = yes ; then
1656 LTHREAD_LIBS="$LTHREAD_LIBS -all_load"
1657 ol_link_threads=mach
1658 ol_with_threads=found
1662 elif test $ac_cv_header_cthreads_h = yes ; then
1663 dnl Hurd variant of Mach Cthreads
1664 dnl uses <cthreads.h> and -lthreads
1666 ol_with_threads=found
1670 LIBS="$LIBS -lthreads"
1671 AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
1674 if test $ol_link_threads = yes ; then
1675 LTHREAD_LIBS="-lthreads"
1676 ol_link_threads=mach
1677 ol_with_threads=found
1679 AC_MSG_ERROR([could not link with Mach CThreads])
1682 elif test $ol_with_threads = mach ; then
1683 AC_MSG_ERROR([could not locate Mach CThreads])
1686 if test $ol_link_threads = mach ; then
1687 AC_DEFINE(HAVE_MACH_CTHREADS,1,
1688 [define if you have Mach Cthreads])
1689 elif test $ol_with_threads = found ; then
1690 AC_MSG_ERROR([could not link with Mach CThreads])
1695 case $ol_with_threads in auto | yes | pth)
1697 AC_CHECK_HEADERS(pth.h)
1699 if test $ac_cv_header_pth_h = yes ; then
1700 AC_CHECK_LIB(pth, pth_version, [have_pth=yes], [have_pth=no])
1702 if test $have_pth = yes ; then
1703 AC_DEFINE(HAVE_GNU_PTH,1,[if you have GNU Pth])
1704 LTHREAD_LIBS="$LTHREAD_LIBS -lpth"
1706 ol_with_threads=found
1708 if test $ol_with_yielding_select = auto ; then
1709 ol_with_yielding_select=yes
1716 case $ol_with_threads in auto | yes | lwp)
1718 dnl check for SunOS5 LWP
1719 AC_CHECK_HEADERS(thread.h synch.h)
1720 if test $ac_cv_header_thread_h = yes &&
1721 test $ac_cv_header_synch_h = yes ; then
1722 AC_CHECK_LIB(thread, thr_create, [have_thr=yes], [have_thr=no])
1724 if test $have_thr = yes ; then
1725 AC_DEFINE(HAVE_THR,1,
1726 [if you have Solaris LWP (thr) package])
1727 LTHREAD_LIBS="$LTHREAD_LIBS -lthread"
1730 if test $ol_with_yielding_select = auto ; then
1731 ol_with_yielding_select=yes
1734 dnl Check for setconcurreny functions
1736 thr_setconcurrency \
1737 thr_getconcurrency \
1744 if test $ol_with_yielding_select = yes ; then
1745 AC_DEFINE(HAVE_YIELDING_SELECT,1,
1746 [define if select implicitly yields])
1749 if test $ol_with_threads = manual ; then
1750 dnl User thinks he can manually configure threads.
1753 AC_MSG_WARN([thread defines and link options must be set manually])
1755 AC_CHECK_HEADERS(pthread.h sched.h)
1756 AC_CHECK_FUNCS(sched_yield pthread_yield)
1757 OL_HEADER_LINUX_THREADS
1759 AC_CHECK_HEADERS(mach/cthreads.h)
1760 AC_CHECK_HEADERS(thread.h synch.h)
1763 if test $ol_link_threads != no && test $ol_link_threads != nt ; then
1764 dnl needed to get reentrant/threadsafe versions
1766 AC_DEFINE(REENTRANT,1)
1767 AC_DEFINE(_REENTRANT,1)
1768 AC_DEFINE(THREAD_SAFE,1)
1769 AC_DEFINE(_THREAD_SAFE,1)
1770 AC_DEFINE(THREADSAFE,1)
1771 AC_DEFINE(_THREADSAFE,1)
1772 AC_DEFINE(_SGI_MP_SOURCE,1)
1774 dnl The errno declaration may dependent upon _REENTRANT.
1775 dnl If it does, we must link with thread support.
1776 AC_CACHE_CHECK([for thread specific errno],
1777 [ol_cv_errno_thread_specific], [
1778 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <errno.h>]], [[errno = 0;]])],[ol_cv_errno_thread_specific=yes],[ol_cv_errno_thread_specific=no])
1781 dnl The h_errno declaration may dependent upon _REENTRANT.
1782 dnl If it does, we must link with thread support.
1783 AC_CACHE_CHECK([for thread specific h_errno],
1784 [ol_cv_h_errno_thread_specific], [
1785 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])
1788 if test $ol_cv_errno_thread_specific != yes ||
1789 test $ol_cv_h_errno_thread_specific != yes ; then
1790 LIBS="$LTHREAD_LIBS $LIBS"
1794 dnl When in thread environment, use
1795 dnl #if defined( HAVE_REENTRANT_FUNCTIONS ) || defined( HAVE_FUNC_R )
1798 dnl # if defined( HAVE_THREADS )
1802 dnl # if defined( HAVE_THREADS )
1807 dnl HAVE_REENTRANT_FUNCTIONS is derived from:
1808 dnl _POSIX_REENTRANT_FUNCTIONS
1809 dnl _POSIX_THREAD_SAFE_FUNCTIONS
1810 dnl _POSIX_THREADSAFE_FUNCTIONS
1812 dnl and is currently defined in <ldap_pvt_thread.h>
1814 dnl HAVE_THREADS is defined by <ldap_pvt_thread.h> iff -UNO_THREADS
1816 dnl libldap/*.c should only include <ldap_pvt_thread.h> iff
1817 dnl LDAP_R_COMPILE is defined. ie:
1818 dnl #ifdef LDAP_R_COMPILE
1819 dnl # include <ldap_pvt_thread.h>
1822 dnl LDAP_R_COMPILE is defined by libldap_r/Makefile.in
1823 dnl specifically for compiling the threadsafe version of
1824 dnl the ldap library (-lldap_r).
1826 dnl dnl check for reentrant/threadsafe functions
1828 dnl dnl note: these should only be used when linking
1829 dnl dnl with $LTHREAD_LIBS
1831 dnl save_CPPFLAGS="$CPPFLAGS"
1832 dnl save_LIBS="$LIBS"
1833 dnl LIBS="$LTHREAD_LIBS $LIBS"
1834 dnl AC_CHECK_FUNCS( \
1836 dnl gethostbyaddr_r gethostbyname_r \
1837 dnl feof_unlocked unlocked_feof \
1838 dnl putc_unlocked unlocked_putc \
1839 dnl flockfile ftrylockfile \
1841 dnl CPPFLAGS="$save_CPPFLAGS"
1842 dnl LIBS="$save_LIBS"
1845 if test $ol_link_threads = no ; then
1846 if test $ol_with_threads = yes ; then
1847 AC_MSG_ERROR([no suitable thread support])
1850 if test $ol_with_threads = auto ; then
1851 AC_MSG_WARN([no suitable thread support, disabling threads])
1855 AC_DEFINE(NO_THREADS,1,
1856 [define if you have (or want) no threads])
1863 if test $ol_link_threads != no ; then
1864 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE,1,
1865 [define to 1 if library is thread safe])
1868 dnl ----------------------------------------------------------------
1869 dnl Tests for reentrant functions necessary to build -lldap_r
1872 gmtime_r localtime_r \
1873 gethostbyname_r gethostbyaddr_r \
1876 if test "$ac_cv_func_ctime_r" = no ; then
1877 ol_cv_func_ctime_r_nargs=0
1879 OL_FUNC_CTIME_R_NARGS
1880 dnl OL_FUNC_CTIME_R_TYPE
1883 if test "$ac_cv_func_gethostbyname_r" = yes ; then
1884 OL_FUNC_GETHOSTBYNAME_R_NARGS
1886 ol_cv_func_gethostbyname_r_nargs=0
1889 if test "$ac_cv_func_gethostbyaddr_r" = yes ; then
1890 OL_FUNC_GETHOSTBYADDR_R_NARGS
1892 ol_cv_func_gethostbyaddr_r_nargs=0
1895 dnl ----------------------------------------------------------------
1898 if test $ol_enable_bdb/$ol_enable_hdb != no/no; then
1901 if test $ol_cv_berkeley_db = no ; then
1902 AC_MSG_ERROR(BDB/HDB: BerkeleyDB not available)
1905 AC_DEFINE(HAVE_BERKELEY_DB,1,
1906 [define this if Berkeley DB is available])
1908 dnl $ol_cv_lib_db should be yes or -ldb
1909 dnl (it could be no, but that would be an error
1910 if test $ol_cv_lib_db != yes ; then
1911 BDB_LIBS="$BDB_LIBS $ol_cv_lib_db"
1914 SLAPD_LIBS="$SLAPD_LIBS \$(BDB_LIBS)"
1919 dnl ----------------------------------------------------------------
1921 if test $ol_enable_dynamic = yes && test $enable_shared = yes ; then
1922 BUILD_LIBS_DYNAMIC=shared
1923 AC_DEFINE(LDAP_LIBS_DYNAMIC, 1, [define if LDAP libs are dynamic])
1926 BUILD_LIBS_DYNAMIC=static
1929 AC_SUBST(LTSTATIC)dnl
1931 dnl ----------------------------------------------------------------
1932 if test $ol_enable_wrappers != no ; then
1933 AC_CHECK_HEADERS(tcpd.h,[
1934 AC_MSG_CHECKING([for TCP wrappers library])
1937 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1939 int allow_severity = 0;
1940 int deny_severity = 0;
1942 struct request_info *req;
1945 ]])],[AC_MSG_RESULT([-lwrap])
1947 LIBS="$save_LIBS"],[
1952 int allow_severity = 0;
1953 int deny_severity = 0;
1955 struct request_info *req;
1958 ],[AC_MSG_RESULT([-lwrap -lnsl])
1960 LIBS="$save_LIBS -lnsl"],[
1963 LIBS=$save_LIBS])])],[have_wrappers=no])
1965 if test $have_wrappers = yes ; then
1966 AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
1968 elif test $ol_enable_wrappers = yes ; then
1969 AC_MSG_ERROR([could not find TCP wrappers, select apppropriate options or disable])
1971 AC_MSG_WARN([could not find TCP wrappers, support disabled])
1976 dnl ----------------------------------------------------------------
1977 if test $ol_enable_syslog != no ; then
1978 AC_CHECK_FUNC(openlog)
1979 if test $ac_cv_func_openlog = no && test $ol_enable_syslog = yes; then
1980 AC_MSG_ERROR(could not find syslog, select appropriate options or disable)
1982 ol_enable_syslog=$ac_cv_func_openlog
1985 dnl ----------------------------------------------------------------
1988 if test $ol_enable_sql != no ; then
1989 AC_CHECK_HEADERS(sql.h sqlext.h,[],[
1990 AC_MSG_ERROR([could not locate SQL headers])
1994 LIBS="$LTHREAD_LIBS $LIBS"
1996 if test $ol_with_odbc = auto ; then
1997 ol_with_odbc="iodbc unixodbc odbc32"
2000 for odbc in $ol_with_odbc ; do
2001 if test $ol_link_sql = no ; then
2004 AC_CHECK_LIB(iodbc, SQLDriverConnect, [have_iodbc=yes], [have_iodbc=no])
2005 if test $have_iodbc = yes ; then
2006 ol_link_sql="-liodbc"
2011 AC_CHECK_LIB(odbc, SQLDriverConnect, [have_odbc=yes], [have_odbc=no])
2012 if test $have_odbc = yes ; then
2013 ol_link_sql="-lodbc"
2018 AC_CHECK_LIB(odbc32, SQLDriverConnect, [have_odbc32=yes], [have_odbc32=no])
2020 dnl The windows API uses __stdcall which cannot be detected by AC_CHECK_LIB
2021 if test $have_odbc32 = no ; then
2022 AC_MSG_CHECKING([for SQLDriverConnect in -lodbc32 with windows.h])
2024 LIBS="$LIBS -lodbc32"
2025 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <windows.h>
2028 SQLDriverConnect(NULL,NULL,NULL,0,NULL,0,NULL,0);
2029 ]])],[have_odbc32=yes], [have_odbc32=no])
2031 AC_MSG_RESULT($have_odbc32)
2034 if test $have_odbc32 = yes ; then
2035 ol_link_sql="-lodbc32"
2040 AC_MSG_ERROR([unknown ODBC library])
2048 if test $ol_link_sql != no ; then
2049 SLAPD_SQL_LIBS="$ol_link_sql"
2051 elif test $ol_enable_sql != auto ; then
2052 AC_MSG_ERROR([could not locate suitable ODBC library])
2056 dnl ----------------------------------------------------------------
2058 dnl Note: uses C++, but we don't want to add C++ test overhead to
2059 dnl the rest of the libtool machinery.
2061 if test $ol_enable_ndb != no ; then
2062 AC_CHECK_PROG(MYSQL,mysql_config,yes)
2063 if test "$MYSQL" != yes ; then
2064 AC_MSG_ERROR([could not locate mysql_config])
2067 SQL_INC=`mysql_config --include`
2068 SLAPD_NDB_INCS="$SQL_INC $SQL_INC/storage/ndb $SQL_INC/storage/ndb/ndbapi"
2070 save_CPPFLAGS="$CPPFLAGS"
2071 CPPFLAGS="$SLAPD_NDB_INCS"
2072 AC_MSG_CHECKING(for NdbApi.hpp)
2074 [AC_LANG_SOURCE([[#include <NdbApi.hpp>]])],
2076 AC_MSG_ERROR([could not locate NdbApi headers])
2078 CPPFLAGS="$save_CPPFLAGS"
2080 SQL_LIB=`mysql_config --libs_r`
2081 SLAPD_NDB_LIBS="$SQL_LIB -lndbclient -lstdc++"
2083 save_LDFLAGS="$LDFLAGS"
2086 AC_CHECK_LIB(ndbclient,ndb_init,[: ok],[
2087 AC_MSG_ERROR([could not locate ndbclient library])
2090 LDFLAGS="$save_LDFLAGS"
2092 if test "$ol_enable_ndb" = yes ; then
2093 SLAPD_LIBS="$SLAPD_LIBS \$(SLAPD_NDB_LIBS)"
2097 dnl ----------------------------------------------------------------
2100 if test $ol_enable_wt != no ; then
2101 AC_CHECK_PROG(PKGCONFIG,pkg-config,yes)
2102 if test "$PKGCONFIG" != yes ; then
2103 AC_MSG_ERROR([could not locate pkg-config])
2105 WT_INCS=`pkg-config --cflags wiredtiger`
2106 WT_LIBS=`pkg-config --libs wiredtiger`
2108 save_CFLAGS="$CFLAGS"
2109 save_LDFLAGS="$LDFLAGS"
2113 AC_CHECK_HEADERS([wiredtiger.h])
2114 AC_CHECK_LIB(wiredtiger,wiredtiger_version,[: ok],[
2115 AC_MSG_ERROR([could not locate wiredtiger library])
2117 CFLAGS="$save_CFLAGS"
2118 CPPFLAGS="$save_CPPFLAGS"
2119 LDFLAGS="$save_LDFLAGS"
2120 SLAPD_LIBS="$SLAPD_LIBS \$(WT_LIBS)"
2124 dnl ----------------------------------------------------------------
2125 dnl International Components for Unicode
2127 if test "$ol_icu" = no ; then
2128 AC_MSG_WARN([ICU not available])
2132 dnl ----------------------------------------------------------------
2134 dnl Check for Cyrus SASL
2139 if test $ol_with_cyrus_sasl != no ; then
2140 AC_CHECK_HEADERS(sasl/sasl.h sasl.h)
2142 if test $ac_cv_header_sasl_sasl_h = yes ||
2143 test $ac_cv_header_sasl_h = yes; then
2144 AC_CHECK_LIB(sasl2, sasl_client_init,
2145 [ol_link_sasl="-lsasl2"],
2146 [AC_CHECK_LIB(sasl, sasl_client_init,
2147 [ol_link_sasl="-lsasl"])])
2150 if test $ol_link_sasl = no ; then
2151 if test $ol_with_cyrus_sasl != auto ; then
2152 AC_MSG_ERROR([Could not locate Cyrus SASL])
2154 AC_MSG_WARN([Could not locate Cyrus SASL])
2155 AC_MSG_WARN([SASL authentication not supported!])
2156 if test $ol_link_tls = no ; then
2157 AC_MSG_WARN([Strong authentication not supported!])
2162 if test $ol_cv_sasl_compat = no ; then
2164 AC_MSG_ERROR([Cyrus SASL library located but is incompatible])
2167 AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
2168 SASL_LIBS="$ol_link_sasl"
2169 if test $ol_enable_spasswd != no ; then
2173 ac_save_LIBS="$LIBS"
2174 LIBS="$LIBS $ol_link_sasl"
2175 AC_CHECK_FUNC(sasl_version, [AC_DEFINE(HAVE_SASL_VERSION,1,
2176 [define if your SASL library has sasl_version()])])
2177 LIBS="$ac_save_LIBS"
2183 AC_MSG_WARN([SASL authentication not supported!])
2184 if test $ol_link_tls = no ; then
2185 AC_MSG_WARN([Strong authentication not supported!])
2189 dnl ----------------------------------------------------------------
2190 dnl Check for entropy sources
2191 if test $cross_compiling != yes && test "$ac_cv_mingw32" != yes ; then
2193 if test -r /dev/urandom ; then
2195 elif test -r /idev/urandom ; then
2196 dev="/idev/urandom";
2197 elif test -r /dev/srandom ; then
2199 elif test -r /dev/random ; then
2201 elif test -r /idev/random ; then
2205 if test $dev != no ; then
2206 AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device])
2210 dnl ----------------------------------------------------------------
2212 dnl Check for fetch URL support
2213 dnl should be extended to support other fetch URL APIs
2216 if test $ol_with_fetch != no ; then
2219 if test $ol_cv_lib_fetch != no ; then
2220 LIBS="$LIBS $ol_link_fetch"
2221 ol_link_fetch=freebsd
2223 elif test $ol_with_fetch != auto ; then
2224 AC_MSG_ERROR(no suitable API for --with-fetch=$ol_with_fetch)
2228 dnl ----------------------------------------------------------------
2229 dnl FreeBSD (and others) have crypt(3) in -lcrypt
2230 if test $ol_enable_crypt != no ; then
2232 LIBS="$TLS_LIBS $LIBS"
2234 AC_CHECK_FUNC(crypt, [have_crypt=yes], [
2236 AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
2237 have_crypt=yes], [have_crypt=no])])
2241 if test $have_crypt = yes ; then
2242 AC_DEFINE(HAVE_CRYPT,1, [define if crypt(3) is available])
2244 AC_MSG_WARN([could not find crypt])
2245 if test $ol_enable_crypt = yes ; then
2246 AC_MSG_ERROR([could not find crypt, select appropriate options or disable])
2249 AC_MSG_WARN([disabling crypt support])
2254 dnl ----------------------------------------------------------------
2255 dnl FreeBSD (and others) have setproctitle(3) in -lutil
2256 if test $ol_enable_proctitle != no ; then
2257 AC_CHECK_FUNC(setproctitle, [have_setproctitle=yes], [
2258 AC_CHECK_LIB(util, setproctitle,
2259 [have_setproctitle=yes
2260 LUTIL_LIBS="$LUTIL_LIBS -lutil"],
2261 [have_setproctitle=no
2262 AC_LIBOBJ(setproctitle)
2263 LIBSRCS="$LIBSRCS setproctitle.c"])])
2265 if test $have_setproctitle = yes ; then
2266 AC_DEFINE(HAVE_SETPROCTITLE,1,
2267 [define if setproctitle(3) is available])
2271 dnl ----------------------------------------------------------------
2272 if test $ol_enable_slp != no ; then
2273 AC_CHECK_HEADERS( slp.h )
2275 if test $ac_cv_header_slp_h = yes ; then
2276 AC_CHECK_LIB(slp, SLPOpen, [have_slp=yes], [have_slp=no])
2277 if test $have_slp = yes ; then
2278 AC_DEFINE(HAVE_SLP, 1, [define if you have -lslp])
2279 SLAPD_SLP_LIBS=-lslp
2282 elif test $ol_enable_slp = yes ; then
2283 AC_MSG_ERROR([SLP not found])
2287 dnl ----------------------------------------------------------------
2288 dnl Checks for typedefs, structures, and compiler characteristics.
2290 AC_CHECK_TYPE(mode_t, int)
2291 AC_CHECK_TYPE(off_t, long)
2292 AC_CHECK_TYPE(pid_t, int)
2293 AC_CHECK_TYPE(ssize_t, [signed int])
2294 AC_CHECK_TYPE(caddr_t, [char *])
2295 AC_CHECK_TYPE(size_t, unsigned)
2297 AC_CHECK_TYPES([long long])
2298 AC_CHECK_TYPES([ptrdiff_t])
2301 AC_CHECK_TYPE([socklen_t],,, [$ac_includes_default
2302 #ifdef HAVE_SYS_SOCKET_H
2303 #include <sys/socket.h>
2306 dnl socklen_t-like type in accept(), default socklen_t or int:
2307 dnl - The OS might define socklen_t without using it. POSIX moved from
2308 dnl int to size_t to socklen_t, hoping to stay at a 32-bit type, and
2309 dnl HP-UX now has selectors for what to use.
2310 dnl - On Solaris 2.8 the prototype has void *len, but the default is OK.
2311 AC_MSG_CHECKING([the type of arg 3 to accept()])
2312 AC_CACHE_VAL(ol_cv_type_ber_socklen_t, [
2313 set socklen_t int unsigned "unsigned long" long size_t
2314 test "$ac_cv_type_socklen_t" = yes || shift
2315 ol_cv_type_ber_socklen_t=$1 guessing="guessing "
2316 for lentype in "$@" ; do for addrtype in "struct sockaddr" void ; do
2317 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$ac_includes_default
2318 #ifdef HAVE_SYS_SOCKET_H
2319 #include <sys/socket.h>
2321 extern int accept(int s, $addrtype *ap, $lentype *lp);
2323 accept(0, (struct sockaddr *) 0, ($lentype *) 0);
2324 ])], [ol_cv_type_ber_socklen_t=$lentype guessing= ; break 2])
2326 AC_MSG_RESULT([$guessing$ol_cv_type_ber_socklen_t *])
2327 AC_DEFINE_UNQUOTED(ber_socklen_t, $ol_cv_type_ber_socklen_t,
2328 [Define to the type of arg 3 for `accept'.])
2330 dnl Modules should use ber_socklen_t, not socklen_t. Define socklen_t
2331 dnl for the time being anyway, for backwards compatibility.
2332 if test "$ac_cv_type_socklen_t" != yes; then
2333 AC_DEFINE_UNQUOTED([socklen_t], [$ol_cv_type_ber_socklen_t],
2334 [Define like ber_socklen_t if <sys/socket.h> does not define.])
2340 AC_CHECK_TYPE([sig_atomic_t],,
2341 [AC_DEFINE_UNQUOTED([sig_atomic_t], [int],
2342 [Define to `int' if <signal.h> does not define.])],
2343 [$ac_includes_default
2351 AC_CHECK_MEMBERS([struct stat.st_blksize])
2352 AC_CHECK_MEMBERS([struct passwd.pw_gecos],,,[$ac_includes_default
2354 AC_CHECK_MEMBERS([struct passwd.pw_passwd],,,[$ac_includes_default
2361 if test $cross_compiling = yes ; then
2362 AC_MSG_WARN([Crossing compiling... all bets are off!])
2363 AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
2368 AC_CHECK_SIZEOF(short)
2369 AC_CHECK_SIZEOF(int)
2370 AC_CHECK_SIZEOF(long)
2371 AC_CHECK_SIZEOF(long long)
2372 AC_CHECK_SIZEOF(wchar_t)
2374 if test "$ac_cv_sizeof_int" -lt 4 ; then
2375 AC_MSG_WARN([OpenLDAP requires 'int' to be 32 bits or greater.])
2377 AC_DEFINE(LBER_INT_T,long,[define to 32-bit or greater integer type])
2379 AC_DEFINE(LBER_INT_T,int,[define to 32-bit or greater integer type])
2382 AC_DEFINE(LBER_LEN_T,long,[define to large integer type])
2383 AC_DEFINE(LBER_SOCKET_T,int,[define to socket descriptor type])
2384 AC_DEFINE(LBER_TAG_T,long,[define to large integer type])
2386 dnl ----------------------------------------------------------------
2387 dnl Check for multiple precision support
2388 if test $ol_with_mp = longlong || test $ol_with_mp = auto ; then
2389 if test $ac_cv_sizeof_long_long -gt 4 ; then
2391 AC_DEFINE(USE_MP_LONG_LONG,1,[define to use 'long long' for MP])
2392 elif test $ol_with_mp = longlong ; then
2393 AC_MSG_ERROR([long long unusable for multiple precision])
2396 if test $ol_with_mp = long || test $ol_with_mp = auto ; then
2397 if test $ac_cv_sizeof_long -gt 4 ; then
2399 AC_DEFINE(USE_MP_LONG,1,[define to use 'long' for MP])
2400 elif test $ol_with_mp = long ; then
2401 AC_MSG_ERROR([long unusable for multiple precision])
2404 if test $ol_with_mp = bignum || test $ol_with_mp = auto ; then
2405 AC_CHECK_HEADERS(openssl/bn.h)
2406 AC_CHECK_HEADERS(openssl/crypto.h)
2407 if test "$ac_cv_header_openssl_bn_h" = "yes" &&
2408 test "$ac_cv_header_openssl_crypto_h" = "yes" &&
2409 test "$ol_with_tls" = "found" ; then
2411 AC_DEFINE(USE_MP_BIGNUM,1,[define to use OpenSSL BIGNUM for MP])
2412 elif test $ol_with_mp = bignum ; then
2413 AC_MSG_ERROR([bignum not available])
2416 if test $ol_with_mp = gmp || test $ol_with_mp = auto ; then
2417 AC_CHECK_HEADERS(gmp.h)
2418 AC_CHECK_LIB(gmp, __gmpz_add_ui)
2419 if test $ac_cv_header_gmp_h = yes && test $ac_cv_lib_gmp___gmpz_add_ui = yes ; then
2420 AC_DEFINE(USE_MP_GMP,1,[define to use GMP for MP])
2422 elif test $ol_with_mp = gmp ; then
2423 AC_MSG_ERROR([gmp not available])
2426 if test $ol_with_mp = auto ; then
2430 dnl ----------------------------------------------------------------
2431 dnl Checks for library functions.
2434 if test $ac_cv_func_memcmp_working = no ; then
2435 AC_DEFINE(NEED_MEMCMP_REPLACEMENT,1,
2436 [define if memcmp is not 8-bit clean or is otherwise broken])
2443 dnl Check for NT specific routines
2444 AC_CHECK_FUNC(_spawnlp, AC_DEFINE(HAVE_SPAWNLP,1,[if you have spawnlp()]))
2446 AC_CHECK_FUNC(_snprintf, [ac_cv_func_snprintf=yes
2447 AC_DEFINE(snprintf, _snprintf, [define to snprintf routine])
2450 AC_CHECK_FUNCS(vsnprintf _vsnprintf)
2452 if test $ac_cv_func_vsnprintf = no -a $ac_cv_func__vsnprintf = yes ; then
2453 ac_cv_func_vsnprintf=yes
2454 AC_DEFINE(vsnprintf, _vsnprintf, [define to vsnprintf routine])
2459 if test $ac_cv_func_vprintf = yes ; then
2460 dnl check for vsnprintf
2461 AC_CHECK_FUNCS(snprintf vsnprintf)
2523 dnl We actually may need to replace more than this.
2524 AC_REPLACE_FUNCS(getopt getpeereid)
2526 if test "$ac_cv_func_getopt" != yes; then
2527 LIBSRCS="$LIBSRCS getopt.c"
2530 if test "$ac_cv_func_getpeereid" != yes; then
2531 AC_CHECK_FUNCS( getpeerucred )
2532 if test "$ac_cv_func_getpeerucred" != yes ; then
2533 AC_CHECK_MEMBERS([struct msghdr.msg_accrightslen],,,
2534 [$ac_includes_default
2535 #ifdef HAVE_SYS_SOCKET_H
2536 #include <sys/socket.h>
2538 if test "$ac_cv_member_struct_msghdr_msg_accrightslen" != yes; then
2539 AC_CHECK_MEMBERS([struct msghdr.msg_control],,,
2540 [$ac_includes_default
2541 #ifdef HAVE_SYS_SOCKET_H
2542 #include <sys/socket.h>
2545 AC_CHECK_MEMBERS([struct stat.st_fstype, struct stat.st_vfstype])
2546 if test "$ac_cv_member_struct_stat_st_fstype" = yes; then
2547 AC_COMPILE_IFELSE([struct stat st; char *ptr=st.st_fstype;],
2548 AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_CHAR],1,[define to 1 if st_fstype is char *]),
2549 AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_INT],1,[define to 1 if st_fstype is int]))
2552 LIBSRCS="$LIBSRCS getpeereid.c"
2555 if test "$ac_cv_func_snprintf" != yes ||
2556 test "$ac_cv_func_vsnprintf" != yes; then
2557 if test "$ac_cv_func_snprintf" != yes; then
2558 AC_DEFINE(snprintf, ber_pvt_snprintf, [define to snprintf routine])
2560 if test "$ac_cv_func_vsnprintf" != yes; then
2561 AC_DEFINE(vsnprintf, ber_pvt_vsnprintf, [define to snprintf routine])
2565 dnl ----------------------------------------------------------------
2566 dnl Sort out defines
2568 if test "$ol_enable_slapi" != no ; then
2569 dnl This check is done also if --enable-modules is used;
2570 dnl it is duplicated here, 'cause it'd be cached anyway
2571 AC_CHECK_HEADERS(ltdl.h)
2573 if test $ac_cv_header_ltdl_h != yes ; then
2574 AC_MSG_ERROR([could not locate <ltdl.h>])
2576 AC_CHECK_LIB(ltdl, lt_dlinit, [
2578 LIBSLAPI=slapi/libslapi.la
2579 AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
2580 ],[AC_MSG_ERROR([could not locate libtool -lltdl])])
2582 AC_DEFINE(LDAP_SLAPI,1, [define this to add SLAPI code])
2585 if test "$ol_enable_debug" != no ; then
2586 if test "$ol_enable_debug" = traditional; then
2587 AC_DEFINE(OLD_DEBUG,1,
2588 [define to use the original debug style])
2590 AC_DEFINE(LDAP_DEBUG,1,
2591 [define this to add debugging code])
2593 if test "$ol_enable_syslog" = yes ; then
2594 AC_DEFINE(LDAP_SYSLOG,1,
2595 [define this to add syslog code])
2597 if test "$ol_enable_proctitle" != no ; then
2598 AC_DEFINE(LDAP_PROCTITLE,1,
2599 [define this for LDAP process title support])
2601 if test "$ol_enable_referrals" != no ; then
2602 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS,LDAP_VENDOR_VERSION,
2603 [define to LDAP VENDOR VERSION])
2605 if test "$ol_enable_local" != no; then
2606 AC_DEFINE(LDAP_PF_LOCAL,1,[define to support PF_LOCAL])
2608 if test "$ol_link_ipv6" != no; then
2609 AC_DEFINE(LDAP_PF_INET6,1,[define to support PF_INET6])
2611 if test "$ol_enable_cleartext" != no ; then
2612 AC_DEFINE(SLAPD_CLEARTEXT,1,[define to support cleartext passwords])
2614 if test "$ol_enable_crypt" != no ; then
2615 AC_DEFINE(SLAPD_CRYPT,1,[define to support crypt(3) passwords])
2617 if test "$ol_link_spasswd" != no ; then
2618 AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords])
2620 if test "$ol_enable_rlookups" != no ; then
2621 AC_DEFINE(SLAPD_RLOOKUPS,1,[define to support reverse lookups])
2623 if test "$ol_enable_aci" != no ; then
2624 if test $ol_enable_dynacl = no ; then
2625 ol_enable_dynacl=yes
2626 AC_MSG_WARN([ACIs need dynacl])
2628 if test "$ol_enable_aci" = mod ; then
2629 MFLAG=SLAPD_MOD_DYNAMIC
2630 dnl remove this after moving servers/slapd/aci.c in contrib/slapd-modules/acl
2631 AC_MSG_ERROR([ACI build as dynamic module not supported (yet)])
2633 MFLAG=SLAPD_MOD_STATIC
2635 WITH_ACI_ENABLED=$ol_enable_aci
2636 AC_DEFINE_UNQUOTED(SLAPD_ACI_ENABLED,$MFLAG,[define to support per-object ACIs])
2640 if test "$ol_enable_dynacl" != no ; then
2641 AC_DEFINE(SLAP_DYNACL,1,[define to support run-time loadable ACL])
2644 if test "$ol_link_modules" != no ; then
2645 AC_DEFINE(SLAPD_MODULES,1,[define to support modules])
2647 SLAPD_MODULES_LDFLAGS="-dlopen self"
2650 AC_DEFINE(SLAPD_MOD_STATIC,1,[statically linked module])
2651 AC_DEFINE(SLAPD_MOD_DYNAMIC,2,[dynamically linked module])
2653 dnl back-monitor goes first (well, after back-config)
2654 if test "$ol_enable_monitor" != no ; then
2656 BUILD_MONITOR=$ol_enable_monitor
2657 if test "$ol_enable_monitor" = mod ; then
2658 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-monitor"
2659 MFLAG=SLAPD_MOD_DYNAMIC
2661 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-monitor"
2662 MFLAG=SLAPD_MOD_STATIC
2664 AC_DEFINE_UNQUOTED(SLAPD_MONITOR,$MFLAG,[define to support cn=Monitor backend])
2667 if test "$ol_enable_bdb" != no ; then
2669 BUILD_BDB=$ol_enable_bdb
2670 if test "$ol_enable_bdb" = mod ; then
2671 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-bdb"
2672 MFLAG=SLAPD_MOD_DYNAMIC
2674 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-bdb"
2675 MFLAG=SLAPD_MOD_STATIC
2677 AC_DEFINE_UNQUOTED(SLAPD_BDB,$MFLAG,[define to support BDB backend])
2680 if test "$ol_enable_dnssrv" != no ; then
2682 BUILD_DNSSRV=$ol_enable_dnssrv
2683 if test "$ol_enable_dnssrv" = mod ; then
2684 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-dnssrv"
2685 MFLAG=SLAPD_MOD_DYNAMIC
2687 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-dnssrv"
2688 MFLAG=SLAPD_MOD_STATIC
2690 AC_DEFINE_UNQUOTED(SLAPD_DNSSRV,$MFLAG,[define to support DNS SRV backend])
2693 if test "$ol_enable_hdb" != no ; then
2695 BUILD_HDB=$ol_enable_hdb
2696 if test "$ol_enable_hdb" = mod ; then
2697 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-hdb"
2698 MFLAG=SLAPD_MOD_DYNAMIC
2700 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-hdb"
2701 MFLAG=SLAPD_MOD_STATIC
2703 AC_DEFINE_UNQUOTED(SLAPD_HDB,$MFLAG,[define to support HDB backend])
2706 if test "$ol_enable_ldap" != no ; then
2708 BUILD_LDAP=$ol_enable_ldap
2709 if test "$ol_enable_ldap" = mod ; then
2710 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldap"
2711 MFLAG=SLAPD_MOD_DYNAMIC
2713 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldap"
2714 MFLAG=SLAPD_MOD_STATIC
2716 AC_DEFINE_UNQUOTED(SLAPD_LDAP,$MFLAG,[define to support LDAP backend])
2719 if test "$ol_enable_mdb" != no ; then
2721 BUILD_MDB=$ol_enable_mdb
2722 if test "$ol_enable_mdb" = mod ; then
2723 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-mdb"
2724 MFLAG=SLAPD_MOD_DYNAMIC
2726 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-mdb"
2727 MFLAG=SLAPD_MOD_STATIC
2729 AC_DEFINE_UNQUOTED(SLAPD_MDB,$MFLAG,[define to support MDB backend])
2732 if test "$ol_enable_meta" != no ; then
2734 BUILD_META=$ol_enable_meta
2736 if test "$ol_enable_meta" = mod ; then
2737 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-meta"
2738 MFLAG=SLAPD_MOD_DYNAMIC
2740 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-meta"
2741 MFLAG=SLAPD_MOD_STATIC
2743 AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend])
2746 if test "$ol_enable_meta_async" != no ; then
2748 BUILD_ASYNCMETA=$ol_enable_meta_async
2750 if test "$ol_enable_meta_async" = mod ; then
2751 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-asyncmeta"
2752 MFLAG=SLAPD_MOD_DYNAMIC
2754 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-asyncmeta"
2755 MFLAG=SLAPD_MOD_STATIC
2757 AC_DEFINE_UNQUOTED(SLAPD_ASYNCMETA,$MFLAG,[define to support LDAP Async Metadirectory backend])
2760 if test "$ol_enable_ndb" != no ; then
2762 BUILD_NDB=$ol_enable_ndb
2763 if test "$ol_enable_ndb" = mod ; then
2764 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ndb"
2765 MFLAG=SLAPD_MOD_DYNAMIC
2767 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ndb"
2768 MFLAG=SLAPD_MOD_STATIC
2770 AC_DEFINE_UNQUOTED(SLAPD_NDB,$MFLAG,[define to support NDB backend])
2773 if test "$ol_enable_null" != no ; then
2775 BUILD_NULL=$ol_enable_null
2776 if test "$ol_enable_null" = mod ; then
2777 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-null"
2778 MFLAG=SLAPD_MOD_DYNAMIC
2780 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-null"
2781 MFLAG=SLAPD_MOD_STATIC
2783 AC_DEFINE_UNQUOTED(SLAPD_NULL,$MFLAG,[define to support NULL backend])
2786 if test "$ol_enable_passwd" != no ; then
2788 BUILD_PASSWD=$ol_enable_passwd
2789 if test "$ol_enable_passwd" = mod ; then
2790 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-passwd"
2791 MFLAG=SLAPD_MOD_DYNAMIC
2793 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-passwd"
2794 MFLAG=SLAPD_MOD_STATIC
2796 AC_DEFINE_UNQUOTED(SLAPD_PASSWD,$MFLAG,[define to support PASSWD backend])
2799 if test "$ol_link_perl" != no ; then
2801 BUILD_PERL=$ol_enable_perl
2802 if test "$ol_enable_perl" = mod ; then
2803 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-perl"
2804 MFLAG=SLAPD_MOD_DYNAMIC
2806 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-perl"
2807 MFLAG=SLAPD_MOD_STATIC
2809 AC_DEFINE_UNQUOTED(SLAPD_PERL,$MFLAG,[define to support PERL backend])
2812 if test "$ol_enable_relay" != no ; then
2814 BUILD_RELAY=$ol_enable_relay
2815 if test "$ol_enable_relay" = mod ; then
2816 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-relay"
2817 MFLAG=SLAPD_MOD_DYNAMIC
2819 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-relay"
2820 MFLAG=SLAPD_MOD_STATIC
2822 AC_DEFINE_UNQUOTED(SLAPD_RELAY,$MFLAG,[define to support relay backend])
2825 if test "$ol_enable_shell" != no ; then
2826 if test "$ol_link_threads" != no ; then
2827 AC_MSG_WARN([Use of --without-threads is recommended with back-shell])
2830 BUILD_SHELL=$ol_enable_shell
2831 if test "$ol_enable_shell" = mod ; then
2832 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-shell"
2833 MFLAG=SLAPD_MOD_DYNAMIC
2835 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-shell"
2836 MFLAG=SLAPD_MOD_STATIC
2838 AC_DEFINE_UNQUOTED(SLAPD_SHELL,$MFLAG,[define to support SHELL backend])
2841 if test "$ol_enable_sock" != no ; then
2843 BUILD_SOCK=$ol_enable_sock
2844 if test "$ol_enable_sock" = mod ; then
2845 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sock"
2846 MFLAG=SLAPD_MOD_DYNAMIC
2848 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sock"
2849 MFLAG=SLAPD_MOD_STATIC
2851 AC_DEFINE_UNQUOTED(SLAPD_SOCK,$MFLAG,[define to support SOCK backend])
2854 if test "$ol_link_sql" != no ; then
2856 BUILD_SQL=$ol_enable_sql
2857 if test "$ol_enable_sql" = mod; then
2858 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sql"
2859 MFLAG=SLAPD_MOD_DYNAMIC
2861 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sql"
2862 MFLAG=SLAPD_MOD_STATIC
2864 AC_DEFINE_UNQUOTED(SLAPD_SQL,$MFLAG,[define to support SQL backend])
2867 if test "$ol_link_wt" != no ; then
2869 BUILD_WT=$ol_enable_wt
2870 if test "$ol_enable_wt" = mod; then
2871 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-wt"
2872 MFLAG=SLAPD_MOD_DYNAMIC
2874 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-wt"
2875 MFLAG=SLAPD_MOD_STATIC
2877 AC_DEFINE_UNQUOTED(SLAPD_WT,$MFLAG,[define to support WiredTiger backend])
2880 if test "$ol_enable_accesslog" != no ; then
2881 BUILD_ACCESSLOG=$ol_enable_accesslog
2882 if test "$ol_enable_accesslog" = mod ; then
2883 MFLAG=SLAPD_MOD_DYNAMIC
2884 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS accesslog.la"
2886 MFLAG=SLAPD_MOD_STATIC
2887 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS accesslog.o"
2889 AC_DEFINE_UNQUOTED(SLAPD_OVER_ACCESSLOG,$MFLAG,[define for In-Directory Access Logging overlay])
2892 if test "$ol_enable_auditlog" != no ; then
2893 BUILD_AUDITLOG=$ol_enable_auditlog
2894 if test "$ol_enable_auditlog" = mod ; then
2895 MFLAG=SLAPD_MOD_DYNAMIC
2896 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS auditlog.la"
2898 MFLAG=SLAPD_MOD_STATIC
2899 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS auditlog.o"
2901 AC_DEFINE_UNQUOTED(SLAPD_OVER_AUDITLOG,$MFLAG,[define for Audit Logging overlay])
2904 if test "$ol_enable_collect" != no ; then
2905 BUILD_COLLECT=$ol_enable_collect
2906 if test "$ol_enable_collect" = mod ; then
2907 MFLAG=SLAPD_MOD_DYNAMIC
2908 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS collect.la"
2910 MFLAG=SLAPD_MOD_STATIC
2911 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS collect.o"
2913 AC_DEFINE_UNQUOTED(SLAPD_OVER_COLLECT,$MFLAG,[define for Collect overlay])
2916 if test "$ol_enable_constraint" != no ; then
2917 BUILD_CONSTRAINT=$ol_enable_constraint
2918 if test "$ol_enable_constraint" = mod ; then
2919 MFLAG=SLAPD_MOD_DYNAMIC
2920 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS constraint.la"
2922 MFLAG=SLAPD_MOD_STATIC
2923 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS constraint.o"
2925 AC_DEFINE_UNQUOTED(SLAPD_OVER_CONSTRAINT,$MFLAG,[define for Attribute Constraint overlay])
2928 if test "$ol_enable_dds" != no ; then
2929 BUILD_DDS=$ol_enable_dds
2930 if test "$ol_enable_dds" = mod ; then
2931 MFLAG=SLAPD_MOD_DYNAMIC
2932 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dds.la"
2934 MFLAG=SLAPD_MOD_STATIC
2935 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dds.o"
2937 AC_DEFINE_UNQUOTED(SLAPD_OVER_DDS,$MFLAG,[define for Dynamic Directory Services overlay])
2940 if test "$ol_enable_deref" != no ; then
2941 BUILD_DEREF=$ol_enable_deref
2942 if test "$ol_enable_deref" = mod ; then
2943 MFLAG=SLAPD_MOD_DYNAMIC
2944 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS deref.la"
2946 MFLAG=SLAPD_MOD_STATIC
2947 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS deref.o"
2949 AC_DEFINE_UNQUOTED(SLAPD_OVER_DEREF,$MFLAG,[define for Dynamic Directory Services overlay])
2952 if test "$ol_enable_dyngroup" != no ; then
2953 BUILD_DYNGROUP=$ol_enable_dyngroup
2954 if test "$ol_enable_dyngroup" = mod ; then
2955 MFLAG=SLAPD_MOD_DYNAMIC
2956 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dyngroup.la"
2958 MFLAG=SLAPD_MOD_STATIC
2959 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dyngroup.o"
2961 AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group overlay])
2964 if test "$ol_enable_dynlist" != no ; then
2965 BUILD_DYNLIST=$ol_enable_dynlist
2966 if test "$ol_enable_dynlist" = mod ; then
2967 MFLAG=SLAPD_MOD_DYNAMIC
2968 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dynlist.la"
2970 MFLAG=SLAPD_MOD_STATIC
2971 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dynlist.o"
2973 AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNLIST,$MFLAG,[define for Dynamic List overlay])
2976 if test "$ol_enable_memberof" != no ; then
2977 BUILD_MEMBEROF=$ol_enable_memberof
2978 if test "$ol_enable_memberof" = mod ; then
2979 MFLAG=SLAPD_MOD_DYNAMIC
2980 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS memberof.la"
2982 MFLAG=SLAPD_MOD_STATIC
2983 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS memberof.o"
2985 AC_DEFINE_UNQUOTED(SLAPD_OVER_MEMBEROF,$MFLAG,[define for Reverse Group Membership overlay])
2988 if test "$ol_enable_ppolicy" != no ; then
2989 BUILD_PPOLICY=$ol_enable_ppolicy
2990 if test "$ol_enable_ppolicy" = mod ; then
2991 MFLAG=SLAPD_MOD_DYNAMIC
2992 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS ppolicy.la"
2994 MFLAG=SLAPD_MOD_STATIC
2995 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS ppolicy.o"
2997 AC_DEFINE_UNQUOTED(SLAPD_OVER_PPOLICY,$MFLAG,[define for Password Policy overlay])
3000 if test "$ol_enable_proxycache" != no ; then
3001 BUILD_PROXYCACHE=$ol_enable_proxycache
3002 if test "$ol_enable_proxycache" = mod ; then
3003 MFLAG=SLAPD_MOD_DYNAMIC
3004 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS pcache.la"
3006 MFLAG=SLAPD_MOD_STATIC
3007 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS pcache.o"
3009 AC_DEFINE_UNQUOTED(SLAPD_OVER_PROXYCACHE,$MFLAG,[define for Proxy Cache overlay])
3012 if test "$ol_enable_refint" != no ; then
3013 BUILD_REFINT=$ol_enable_refint
3014 if test "$ol_enable_refint" = mod ; then
3015 MFLAG=SLAPD_MOD_DYNAMIC
3016 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS refint.la"
3018 MFLAG=SLAPD_MOD_STATIC
3019 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS refint.o"
3021 AC_DEFINE_UNQUOTED(SLAPD_OVER_REFINT,$MFLAG,[define for Referential Integrity overlay])
3024 if test "$ol_enable_retcode" != no ; then
3025 BUILD_RETCODE=$ol_enable_retcode
3026 if test "$ol_enable_retcode" = mod ; then
3027 MFLAG=SLAPD_MOD_DYNAMIC
3028 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS retcode.la"
3030 MFLAG=SLAPD_MOD_STATIC
3031 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS retcode.o"
3033 AC_DEFINE_UNQUOTED(SLAPD_OVER_RETCODE,$MFLAG,[define for Referential Integrity overlay])
3036 if test "$ol_enable_rwm" != no ; then
3038 BUILD_RWM=$ol_enable_rwm
3039 if test "$ol_enable_rwm" = mod ; then
3040 MFLAG=SLAPD_MOD_DYNAMIC
3041 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS rwm.la"
3043 MFLAG=SLAPD_MOD_STATIC
3044 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS rwm_x.o"
3046 AC_DEFINE_UNQUOTED(SLAPD_OVER_RWM,$MFLAG,[define for Rewrite/Remap overlay])
3049 if test "$ol_enable_seqmod" != no ; then
3050 BUILD_SEQMOD=$ol_enable_seqmod
3051 if test "$ol_enable_seqmod" = mod ; then
3052 MFLAG=SLAPD_MOD_DYNAMIC
3053 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS seqmod.la"
3055 MFLAG=SLAPD_MOD_STATIC
3056 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS seqmod.o"
3058 AC_DEFINE_UNQUOTED(SLAPD_OVER_SEQMOD,$MFLAG,[define for Sequential Modify overlay])
3061 if test "$ol_enable_sssvlv" != no ; then
3062 BUILD_SSSVLV=$ol_enable_sssvlv
3063 if test "$ol_enable_sssvlv" = mod ; then
3064 MFLAG=SLAPD_MOD_DYNAMIC
3065 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS sssvlv.la"
3067 MFLAG=SLAPD_MOD_STATIC
3068 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS sssvlv.o"
3070 AC_DEFINE_UNQUOTED(SLAPD_OVER_SSSVLV,$MFLAG,[define for ServerSideSort/VLV overlay])
3073 if test "$ol_enable_syncprov" != no ; then
3074 BUILD_SYNCPROV=$ol_enable_syncprov
3075 if test "$ol_enable_syncprov" = mod ; then
3076 MFLAG=SLAPD_MOD_DYNAMIC
3077 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS syncprov.la"
3079 MFLAG=SLAPD_MOD_STATIC
3080 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS syncprov.o"
3082 AC_DEFINE_UNQUOTED(SLAPD_OVER_SYNCPROV,$MFLAG,[define for Syncrepl Provider overlay])
3085 if test "$ol_enable_translucent" != no ; then
3086 BUILD_TRANSLUCENT=$ol_enable_translucent
3087 if test "$ol_enable_translucent" = mod ; then
3088 MFLAG=SLAPD_MOD_DYNAMIC
3089 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS translucent.la"
3091 MFLAG=SLAPD_MOD_STATIC
3092 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS translucent.o"
3094 AC_DEFINE_UNQUOTED(SLAPD_OVER_TRANSLUCENT,$MFLAG,[define for Translucent Proxy overlay])
3097 if test "$ol_enable_unique" != no ; then
3098 BUILD_UNIQUE=$ol_enable_unique
3099 if test "$ol_enable_unique" = mod ; then
3100 MFLAG=SLAPD_MOD_DYNAMIC
3101 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS unique.la"
3103 MFLAG=SLAPD_MOD_STATIC
3104 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS unique.o"
3106 AC_DEFINE_UNQUOTED(SLAPD_OVER_UNIQUE,$MFLAG,[define for Attribute Uniqueness overlay])
3109 if test "$ol_enable_valsort" != no ; then
3110 BUILD_VALSORT=$ol_enable_valsort
3111 if test "$ol_enable_valsort" = mod ; then
3112 MFLAG=SLAPD_MOD_DYNAMIC
3113 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS valsort.la"
3115 MFLAG=SLAPD_MOD_STATIC
3116 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS valsort.o"
3118 AC_DEFINE_UNQUOTED(SLAPD_OVER_VALSORT,$MFLAG,[define for Value Sorting overlay])
3121 if test "$ol_enable_rewrite" != no ; then
3122 AC_DEFINE(ENABLE_REWRITE,1,[define to enable rewriting in back-ldap and back-meta])
3126 if test "$ol_enable_slapi" != no ; then
3127 AC_DEFINE(ENABLE_SLAPI,1,[define to enable slapi library])
3129 SLAPD_SLAPI_DEPEND=libslapi.a
3132 dnl ----------------------------------------------------------------
3135 dnl For Windows build, we don't want to include -dlopen flags.
3136 dnl They hurt more than they help.
3139 if test "$ac_cv_mingw32" = yes -o $ol_cv_msvc = yes ; then
3141 SLAPD_MODULES_LDFLAGS=
3150 AC_SUBST(WITH_MODULES_ENABLED)
3151 AC_SUBST(WITH_ACI_ENABLED)
3152 AC_SUBST(BUILD_THREAD)
3153 AC_SUBST(BUILD_LIBS_DYNAMIC)
3155 AC_SUBST(BUILD_SLAPD)
3157 AC_SUBST(BUILD_SLAPI)
3158 AC_SUBST(SLAPD_SLAPI_DEPEND)
3161 AC_SUBST(BUILD_DNSSRV)
3163 AC_SUBST(BUILD_LDAP)
3165 AC_SUBST(BUILD_META)
3166 AC_SUBST(BUILD_ASYNCMETA)
3167 AC_SUBST(BUILD_MONITOR)
3169 AC_SUBST(BUILD_NULL)
3170 AC_SUBST(BUILD_PASSWD)
3171 AC_SUBST(BUILD_RELAY)
3172 AC_SUBST(BUILD_PERL)
3173 AC_SUBST(BUILD_SHELL)
3174 AC_SUBST(BUILD_SOCK)
3178 AC_SUBST(BUILD_ACCESSLOG)
3179 AC_SUBST(BUILD_AUDITLOG)
3180 AC_SUBST(BUILD_COLLECT)
3181 AC_SUBST(BUILD_CONSTRAINT)
3183 AC_SUBST(BUILD_DENYOP)
3184 AC_SUBST(BUILD_DEREF)
3185 AC_SUBST(BUILD_DYNGROUP)
3186 AC_SUBST(BUILD_DYNLIST)
3187 AC_SUBST(BUILD_LASTMOD)
3188 AC_SUBST(BUILD_MEMBEROF)
3189 AC_SUBST(BUILD_PPOLICY)
3190 AC_SUBST(BUILD_PROXYCACHE)
3191 AC_SUBST(BUILD_REFINT)
3192 AC_SUBST(BUILD_RETCODE)
3194 AC_SUBST(BUILD_SEQMOD)
3195 AC_SUBST(BUILD_SSSVLV)
3196 AC_SUBST(BUILD_SYNCPROV)
3197 AC_SUBST(BUILD_TRANSLUCENT)
3198 AC_SUBST(BUILD_UNIQUE)
3199 AC_SUBST(BUILD_VALSORT)
3202 AC_SUBST(SLAPD_LIBS)
3204 AC_SUBST(SLAPD_NDB_LIBS)
3205 AC_SUBST(SLAPD_NDB_INCS)
3206 AC_SUBST(LTHREAD_LIBS)
3207 AC_SUBST(LUTIL_LIBS)
3210 AC_SUBST(SLAPD_MODULES_CPPFLAGS)
3211 AC_SUBST(SLAPD_MODULES_LDFLAGS)
3213 AC_SUBST(SLAPD_NO_STATIC)
3214 AC_SUBST(SLAPD_STATIC_BACKENDS)
3215 AC_SUBST(SLAPD_DYNAMIC_BACKENDS)
3216 AC_SUBST(SLAPD_STATIC_OVERLAYS)
3217 AC_SUBST(SLAPD_DYNAMIC_OVERLAYS)
3219 AC_SUBST(PERL_CPPFLAGS)
3220 AC_SUBST(SLAPD_PERL_LDFLAGS)
3221 AC_SUBST(MOD_PERL_LDFLAGS)
3227 AC_SUBST(MODULES_LIBS)
3228 AC_SUBST(SLAPI_LIBS)
3233 AC_SUBST(SLAPD_SLP_LIBS)
3234 AC_SUBST(SLAPD_GMP_LIBS)
3236 AC_SUBST(SLAPD_SQL_LDFLAGS)
3237 AC_SUBST(SLAPD_SQL_LIBS)
3238 AC_SUBST(SLAPD_SQL_INCLUDES)
3243 dnl ----------------------------------------------------------------
3244 dnl final help output
3245 AC_ARG_WITH(xxinstall,[
3246 See INSTALL file for further details.])
3248 dnl ----------------------------------------------------------------
3252 AC_CONFIG_FILES([Makefile:build/top.mk:Makefile.in:build/dir.mk]
3253 [doc/Makefile:build/top.mk:doc/Makefile.in:build/dir.mk]
3254 [doc/man/Makefile:build/top.mk:doc/man/Makefile.in:build/dir.mk]
3255 [doc/man/man1/Makefile:build/top.mk:doc/man/man1/Makefile.in:build/man.mk]
3256 [doc/man/man3/Makefile:build/top.mk:doc/man/man3/Makefile.in:build/man.mk]
3257 [doc/man/man5/Makefile:build/top.mk:doc/man/man5/Makefile.in:build/man.mk]
3258 [doc/man/man8/Makefile:build/top.mk:doc/man/man8/Makefile.in:build/man.mk]
3259 [clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.mk]
3260 [clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk]
3261 [include/Makefile:build/top.mk:include/Makefile.in]
3262 [libraries/Makefile:build/top.mk:libraries/Makefile.in:build/dir.mk]
3263 [libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk:build/lib-shared.mk]
3264 [libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk:build/lib-shared.mk]
3265 [libraries/libldap_r/Makefile:build/top.mk:libraries/libldap_r/Makefile.in:build/lib.mk:build/lib-shared.mk]
3266 [libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk]
3267 [libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk]
3268 [libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-static.mk]
3269 [servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk]
3270 [servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk]
3271 [servers/slapd/back-bdb/Makefile:build/top.mk:servers/slapd/back-bdb/Makefile.in:build/mod.mk]
3272 [servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk]
3273 [servers/slapd/back-hdb/Makefile:build/top.mk:servers/slapd/back-hdb/Makefile.in:build/mod.mk]
3274 [servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/mod.mk]
3275 [servers/slapd/back-ldif/Makefile:build/top.mk:servers/slapd/back-ldif/Makefile.in:build/mod.mk]
3276 [servers/slapd/back-mdb/Makefile:build/top.mk:servers/slapd/back-mdb/Makefile.in:build/mod.mk]
3277 [servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk]
3278 [servers/slapd/back-asyncmeta/Makefile:build/top.mk:servers/slapd/back-asyncmeta/Makefile.in:build/mod.mk]
3279 [servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk]
3280 [servers/slapd/back-ndb/Makefile:build/top.mk:servers/slapd/back-ndb/Makefile.in:build/mod.mk]
3281 [servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/Makefile.in:build/mod.mk]
3282 [servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk]
3283 [servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk]
3284 [servers/slapd/back-relay/Makefile:build/top.mk:servers/slapd/back-relay/Makefile.in:build/mod.mk]
3285 [servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk]
3286 [servers/slapd/back-sock/Makefile:build/top.mk:servers/slapd/back-sock/Makefile.in:build/mod.mk]
3287 [servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk]
3288 [servers/slapd/back-wt/Makefile:build/top.mk:servers/slapd/back-wt/Makefile.in:build/mod.mk]
3289 [servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk]
3290 [servers/slapd/slapi/Makefile:build/top.mk:servers/slapd/slapi/Makefile.in:build/lib.mk:build/lib-shared.mk]
3291 [servers/slapd/overlays/Makefile:build/top.mk:servers/slapd/overlays/Makefile.in:build/lib.mk]
3292 [tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk]
3294 [tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk])
3296 AC_CONFIG_COMMANDS([default],[[
3299 BACKENDSC="servers/slapd/backends.c"
3300 echo "Making $BACKENDSC"
3302 cat > $BACKENDSC << ENDX
3303 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
3305 * Copyright 1998-2016 The OpenLDAP Foundation.
3306 * All rights reserved.
3308 * Redistribution and use in source and binary forms, with or without
3309 * modification, are permitted only as authorized by the OpenLDAP
3312 * A copy of this license is available in the file LICENSE in the
3313 * top-level directory of the distribution or, alternatively, at
3314 * <http://www.OpenLDAP.org/license.html>.
3316 /* This file is automatically generated by configure; please do not edit. */
3318 #include "portable.h"
3322 if test "${STATIC_BACKENDS}"; then
3323 for b in config ${STATIC_BACKENDS}; do
3324 bb=`echo "${b}" | sed -e 's/back-//'`
3325 cat >> $BACKENDSC << ENDX
3326 extern BI_init ${bb}_back_initialize;
3330 cat >> $BACKENDSC << ENDX
3332 BackendInfo slap_binfo[] = {
3335 for b in config ${STATIC_BACKENDS}; do
3336 bb=`echo "${b}" | sed -e 's/back-//'`
3337 echo " Add ${bb} ..."
3338 cat >> $BACKENDSC << ENDX
3339 { "${bb}", ${bb}_back_initialize },
3343 cat >> $BACKENDSC << ENDX
3347 /* end of generated file */
3350 OVERLAYSC="servers/slapd/overlays/statover.c"
3351 echo "Making $OVERLAYSC"
3353 cat > $OVERLAYSC << ENDX
3354 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
3356 * Copyright 1998-2016 The OpenLDAP Foundation.
3357 * All rights reserved.
3359 * Redistribution and use in source and binary forms, with or without
3360 * modification, are permitted only as authorized by the OpenLDAP
3363 * A copy of this license is available in the file LICENSE in the
3364 * top-level directory of the distribution or, alternatively, at
3365 * <http://www.OpenLDAP.org/license.html>.
3367 /* This file is automatically generated by configure; please do not edit. */
3369 #include "portable.h"
3373 if test "${STATIC_OVERLAYS}"; then
3374 for o in ${STATIC_OVERLAYS}; do
3375 oo=`echo "${o}" | sed -e 's/.o$//' -e 's/_x$//'`
3376 cat >> $OVERLAYSC << ENDX
3377 extern OV_init ${oo}_initialize;
3382 cat >> $OVERLAYSC << ENDX
3384 OverlayInit slap_oinfo[] = {
3387 if test "${STATIC_OVERLAYS}"; then
3388 for o in ${STATIC_OVERLAYS}; do
3389 oo=`echo "${o}" | sed -e 's/.o$//' -e 's/_x$//'`
3390 echo " Add ${oo} ..."
3391 cat >> $OVERLAYSC << ENDX
3392 { "${oo}", ${oo}_initialize },
3397 cat >> $OVERLAYSC << ENDX
3401 /* end of generated file */
3404 if test "${ol_cv_mkdep}" = no; then
3405 echo '(Do not "make depend"; we do not know how to build dependencies)'
3407 echo 'Please run "make depend" to build dependencies'
3410 STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS"
3411 STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS"