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
303 AC_ARG_ENABLE(xxslapbackends,[
304 SLAPD Backend Options:])
306 OL_ARG_ENABLE(backends,[ --enable-backends enable all available backends],
308 OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend],
309 no, [no yes mod], ol_enable_backends)dnl
310 OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend],
311 no, [no yes mod], ol_enable_backends)dnl
312 OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend],
313 no, [no yes mod], ol_enable_backends)dnl
314 OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend],
315 no, [no yes mod], ol_enable_backends)dnl
316 OL_ARG_ENABLE(mdb,[ --enable-mdb enable mdb database backend],
317 yes, [no yes mod], ol_enable_backends)dnl
318 OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend],
319 no, [no yes mod], ol_enable_backends)dnl
320 OL_ARG_ENABLE(asyncmeta,[ --enable-asyncmeta enable asynchronous metadirectory backend],
321 no, [no yes mod], ol_enable_backends)dnl
322 OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend],
323 yes, [no yes mod], ol_enable_backends)dnl
324 OL_ARG_ENABLE(ndb,[ --enable-ndb enable MySQL NDB Cluster backend],
325 no, [no yes mod], ol_enable_backends)dnl
326 OL_ARG_ENABLE(null,[ --enable-null enable null backend],
327 no, [no yes mod], ol_enable_backends)dnl
328 OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend],
329 no, [no yes mod], ol_enable_backends)dnl
330 OL_ARG_ENABLE(perl,[ --enable-perl enable perl backend],
331 no, [no yes mod], ol_enable_backends)dnl
332 OL_ARG_ENABLE(relay,[ --enable-relay enable relay backend],
333 yes, [no yes mod], ol_enable_backends)dnl
334 OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend],
335 no, [no yes mod], ol_enable_backends)dnl
336 OL_ARG_ENABLE(sock,[ --enable-sock enable sock backend],
337 no, [no yes mod], ol_enable_backends)dnl
338 OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend],
339 no, [no yes mod], ol_enable_backends)dnl
340 OL_ARG_ENABLE(wt,[ --enable-wt enable WiredTiger backend],
341 no, [no yes mod], ol_enable_backends)dnl
343 dnl ----------------------------------------------------------------
344 dnl SLAPD Overlay Options
345 Overlays="accesslog \
366 AC_ARG_ENABLE(xxslapoverlays,[
367 SLAPD Overlay Options:])
369 OL_ARG_ENABLE(overlays,[ --enable-overlays enable all available overlays],
371 OL_ARG_ENABLE(accesslog,[ --enable-accesslog In-Directory Access Logging overlay],
372 no, [no yes mod], ol_enable_overlays)
373 OL_ARG_ENABLE(auditlog,[ --enable-auditlog Audit Logging overlay],
374 no, [no yes mod], ol_enable_overlays)
375 OL_ARG_ENABLE(collect,[ --enable-collect Collect overlay],
376 no, [no yes mod], ol_enable_overlays)
377 OL_ARG_ENABLE(constraint,[ --enable-constraint Attribute Constraint overlay],
378 no, [no yes mod], ol_enable_overlays)
379 OL_ARG_ENABLE(dds,[ --enable-dds Dynamic Directory Services overlay],
380 no, [no yes mod], ol_enable_overlays)
381 OL_ARG_ENABLE(deref,[ --enable-deref Dereference overlay],
382 no, [no yes mod], ol_enable_overlays)
383 OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay],
384 no, [no yes mod], ol_enable_overlays)
385 OL_ARG_ENABLE(dynlist,[ --enable-dynlist Dynamic List overlay],
386 no, [no yes mod], ol_enable_overlays)
387 OL_ARG_ENABLE(memberof,[ --enable-memberof Reverse Group Membership overlay],
388 no, [no yes mod], ol_enable_overlays)
389 OL_ARG_ENABLE(ppolicy,[ --enable-ppolicy Password Policy overlay],
390 no, [no yes mod], ol_enable_overlays)
391 OL_ARG_ENABLE(proxycache,[ --enable-proxycache Proxy Cache overlay],
392 no, [no yes mod], ol_enable_overlays)
393 OL_ARG_ENABLE(refint,[ --enable-refint Referential Integrity overlay],
394 no, [no yes mod], ol_enable_overlays)
395 OL_ARG_ENABLE(retcode,[ --enable-retcode Return Code testing overlay],
396 no, [no yes mod], ol_enable_overlays)
397 OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay],
398 no, [no yes mod], ol_enable_overlays)
399 OL_ARG_ENABLE(seqmod,[ --enable-seqmod Sequential Modify overlay],
400 no, [no yes mod], ol_enable_overlays)
401 OL_ARG_ENABLE(sssvlv,[ --enable-sssvlv ServerSideSort/VLV overlay],
402 no, [no yes mod], ol_enable_overlays)
403 OL_ARG_ENABLE(syncprov,[ --enable-syncprov Syncrepl Provider overlay],
404 yes, [no yes mod], ol_enable_overlays)
405 OL_ARG_ENABLE(translucent,[ --enable-translucent Translucent Proxy overlay],
406 no, [no yes mod], ol_enable_overlays)
407 OL_ARG_ENABLE(unique,[ --enable-unique Attribute Uniqueness overlay],
408 no, [no yes mod], ol_enable_overlays)
409 OL_ARG_ENABLE(valsort,[ --enable-valsort Value Sorting overlay],
410 no, [no yes mod], ol_enable_overlays)
412 dnl ----------------------------------------------------------------
413 AC_ARG_ENABLE(xxliboptions,[
414 Library Generation & Linking Options])
418 dnl ----------------------------------------------------------------
421 if test $ol_enable_slapd = no ; then
422 dnl SLAPD was specificallly disabled
423 if test $ol_enable_slapi = yes ; then
424 AC_MSG_WARN([slapd disabled, ignoring --enable-slapi argument])
426 case "$ol_enable_backends" in yes | mod)
427 AC_MSG_WARN([slapd disabled, ignoring --enable-backends argument])
429 for i in $Backends; do
430 eval "ol_tmp=\$ol_enable_$i"
431 if test $ol_tmp != no ; then
432 AC_MSG_WARN([slapd disabled, ignoring --enable-$i argument])
433 eval "ol_enable_$i=no"
436 if test $ol_enable_modules = yes ; then
437 AC_MSG_WARN([slapd disabled, ignoring --enable-modules argument])
439 if test $ol_enable_wrappers = yes ; then
440 AC_MSG_WARN([slapd disabled, ignoring --enable-wrappers argument])
442 if test $ol_enable_rlookups = yes ; then
443 AC_MSG_WARN([slapd disabled, ignoring --enable-rlookups argument])
445 if test $ol_enable_dynacl = yes ; then
446 AC_MSG_WARN([slapd disabled, ignoring --enable-dynacl argument])
448 if test $ol_enable_aci != no ; then
449 AC_MSG_WARN([slapd disabled, ignoring --enable-aci argument])
451 if test $ol_enable_rewrite = yes ; then
452 AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument])
455 case "$ol_enable_overlays" in yes | mod)
456 AC_MSG_WARN([slapd disabled, ignoring --enable-overlays argument])
458 for i in $Overlays; do
459 eval "ol_tmp=\$ol_enable_$i"
460 if test $ol_tmp != no ; then
461 AC_MSG_WARN([slapd disabled, ignoring --enable-$i argument])
462 eval "ol_enable_$i=no"
466 # force settings to no
472 ol_enable_rlookups=no
475 ol_enable_wrappers=no
479 elif test $ol_enable_modules != yes &&
480 test $ol_enable_bdb = no &&
481 test $ol_enable_dnssrv = no &&
482 test $ol_enable_hdb = no &&
483 test $ol_enable_ldap = no &&
484 test $ol_enable_mdb = no &&
485 test $ol_enable_meta = no &&
486 test $ol_enable_asyncmeta = no &&
487 test $ol_enable_monitor = no &&
488 test $ol_enable_ndb = no &&
489 test $ol_enable_null = no &&
490 test $ol_enable_passwd = no &&
491 test $ol_enable_perl = no &&
492 test $ol_enable_relay = no &&
493 test $ol_enable_shell = no &&
494 test $ol_enable_sock = no &&
495 test $ol_enable_sql = no &&
496 test $ol_enable_wt = no ; then
499 if test $ol_enable_slapd = yes ; then
500 AC_MSG_ERROR([slapd requires a backend])
502 AC_MSG_WARN([skipping slapd, no backend specified])
507 if test $ol_enable_meta/$ol_enable_ldap = yes/no ; then
508 AC_MSG_ERROR([--enable-meta requires --enable-ldap])
511 if test $ol_enable_asyncmeta/$ol_enable_ldap = yes/no ; then
512 AC_MSG_ERROR([--enable-asyncmeta requires --enable-ldap])
515 if test $ol_enable_lmpasswd = yes ; then
516 if test $ol_with_tls = no ; then
517 AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
521 if test $ol_enable_spasswd = yes ; then
522 if test $ol_with_cyrus_sasl = no ; then
523 AC_MSG_ERROR([options require --with-cyrus-sasl])
525 ol_with_cyrus_sasl=yes
530 dnl ----------------------------------------------------------------
588 SLAPD_STATIC_OVERLAYS=
589 SLAPD_DYNAMIC_OVERLAYS=
591 SLAPD_MODULES_LDFLAGS=
592 SLAPD_MODULES_CPPFLAGS=
594 SLAPD_STATIC_BACKENDS=back-ldif
595 SLAPD_DYNAMIC_BACKENDS=
618 dnl ================================================================
619 dnl Checks for programs
621 AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion])
623 dnl ----------------------------------------------------------------
625 dnl Determine which C translator to use
628 dnl AIX Thread requires we use cc_r or xlc_r.
629 dnl But only do this IF AIX and CC is not set
630 dnl and threads are auto|yes|posix.
632 dnl If we find cc_r|xlc_r, force pthreads and assume
633 dnl pthread_create is in $LIBS (ie: don't bring in
634 dnl any additional thread libraries)
635 dnl If we do not find cc_r|xlc_r, disable threads
639 *-*-aix*) dnl all AIX is not a good idea.
640 if test -z "$CC" ; then
641 case "$ol_with_threads" in
642 auto | yes | posix) ol_aix_threads=yes ;;
648 if test $ol_aix_threads = yes ; then
649 if test -z "${CC}" ; then
650 AC_CHECK_PROGS(CC,cc_r xlc_r cc)
652 if test "$CC" = cc ; then
653 dnl no CC! don't allow --with-threads
654 if test $ol_with_threads != auto ; then
655 AC_MSG_ERROR([--with-threads requires cc_r (or other suitable compiler) on AIX])
657 AC_MSG_WARN([disabling threads, no cc_r on AIX])
663 case ${CC} in cc_r | xlc_r)
664 ol_with_threads=posix
665 ol_cv_pthread_create=yes
670 if test -z "${CC}"; then
671 AC_CHECK_PROGS(CC,cc gcc,missing)
673 if test "${CC}" = "missing" ; then
674 AC_MSG_ERROR([Unable to locate cc(1) or suitable replacement. Check PATH or set CC.])
678 if test -z "${AR}"; then
679 AC_CHECK_PROGS(AR,ar gar,missing)
681 if test "${AR}" = "missing" ; then
682 AC_MSG_ERROR([Unable to locate ar(1) or suitable replacement. Check PATH or set AR.])
690 dnl ----------------------------------------------------------------
693 if test $ol_enable_perl != no ; then
694 AC_PATH_PROG(PERLBIN, perl, /usr/bin/perl)
696 if test "no$PERLBIN" = "no" ; then
697 if test $ol_enable_perl = yes ; then
698 AC_MSG_ERROR([could not locate perl])
702 PERL_CPPFLAGS="`$PERLBIN -MExtUtils::Embed -e ccopts`"
703 PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e 's/ -lc / /' -e 's/ -lc$//'`"
705 if test x"$ol_enable_perl" = "xyes" ; then
706 SLAPD_PERL_LDFLAGS="$PERL_LDFLAGS"
708 MOD_PERL_LDFLAGS="$PERL_LDFLAGS"
710 dnl should check perl version
718 dnl ----------------------------------------------------------------
719 dnl Checks for Windows NT
721 *mingw32* ) ac_cv_mingw32=yes ;;
722 *cygwin* ) ac_cv_cygwin=yes ;;
723 *interix* ) ac_cv_interix=yes ;;
726 dnl ----------------------------------------------------------------
727 dnl Checks for file extensions
730 AC_DEFINE_UNQUOTED(EXEEXT, "${EXEEXT}", [defined to be the EXE extension])
732 dnl ----------------------------------------------------------------
733 dnl BeOS requires -lbe -lroot -lnet
734 AC_CHECK_LIB(be, be_app, [LIBS="$LIBS -lbe -lroot -lnet"], :, [-lroot -lnet])
736 dnl ----------------------------------------------------------------
737 dnl OpenLDAP requires STDC features
739 if test "X${ac_cv_prog_cc_stdc}" = "Xno" ; then
740 AC_MSG_ERROR([OpenLDAP requires compiler to support STDC constructs.])
743 dnl ----------------------------------------------------------------
744 dnl Check cc depend flags
746 if test "${ol_cv_mkdep}" = no ; then
747 # this will soon become an error
748 AC_MSG_WARN([do not know how to generate dependencies])
751 dnl ----------------------------------------------------------------
752 dnl Check for AIX security library
753 AC_CHECK_LIB(s, afopen, [
755 AC_DEFINE(HAVE_AIX_SECURITY,1,[define if you have AIX security lib])
758 dnl ----------------------------------------------------------------
759 dnl Check for IBM OS/390
763 AC_DEFINE(BOTH_STRINGS_H,1,[define to use both <string.h> and <strings.h>])
767 dnl ----------------------------------------------------------------
768 dnl Check for module support
770 WITH_MODULES_ENABLED=no
771 if test $ol_enable_modules != no ; then
772 AC_CHECK_HEADERS(ltdl.h)
774 if test $ac_cv_header_ltdl_h = no ; then
775 AC_MSG_ERROR([could not locate libtool ltdl.h])
778 AC_CHECK_LIB(ltdl, lt_dlinit, [
780 AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
783 if test "$ac_cv_lib_ltdl_lt_dlinit" = no ; then
784 AC_MSG_ERROR([could not locate libtool -lltdl])
787 WITH_MODULES_ENABLED=yes
790 for i in $Backends; do
791 eval "ol_tmp=\$ol_enable_$i"
792 if test $ol_tmp = mod ; then
793 AC_MSG_WARN([building static $i backend])
794 eval "ol_enable_$i=yes"
797 for i in $Overlays; do
798 eval "ol_tmp=\$ol_enable_$i"
799 if test $ol_tmp = mod ; then
800 AC_MSG_WARN([building static $i overlay])
801 eval "ol_enable_$i=yes"
806 dnl ----------------------------------------------------------------
807 dnl Checks for header files.
810 if test $ol_cv_header_stdc != yes; then
811 AC_MSG_WARN([could not locate Standard C compliant headers])
868 dnl Only check Winsock on MinGW
869 if test "$ac_cv_mingw32" = yes \
870 -o "$ac_cv_interix" = yes \
871 -o "$ol_cv_msvc" = yes
873 AC_CHECK_HEADERS( winsock.h winsock2.h )
876 AC_CHECK_HEADERS( resolv.h, [], [],
877 [$ac_includes_default
878 #include <netinet/in.h>
881 AC_CHECK_HEADERS( netinet/tcp.h, [], [],
882 [$ac_includes_default
883 #include <netinet/in.h>
886 AC_CHECK_HEADERS( sys/ucred.h, [], [],
887 [$ac_includes_default
888 #ifdef HAVE_SYS_PARAM_H
889 #include <sys/param.h>
893 dnl ----------------------------------------------------------------
894 dnl Checks for libraries
896 AC_CHECK_FUNCS( sigaction sigset )
898 dnl HP-UX requires -lV3
899 dnl this is not needed on newer versions of HP-UX
900 if test $ac_cv_func_sigaction = no && test $ac_cv_func_sigaction = no ; then
901 AC_CHECK_LIB(V3, sigset)
904 if test $ol_cv_msvc = yes ; then
908 dnl The following is INTENTIONALLY scripted out because shell does not
909 dnl support variable names with the '@' character, which is what
910 dnl autoconf would try to generate if one merely used AC_SEARCH_LIBS
911 if test "$ac_cv_header_winsock_h" = yes; then
912 AC_CACHE_CHECK([for winsock], [ol_cv_winsock],[
914 for curlib in none ws2_32 wsock32; do
915 if test $curlib != none ; then
916 LIBS="$save_LIBS -l$curlib"
918 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <winsock.h>
921 select(0,NULL,NULL,NULL,NULL);
924 ]])],[ol_cv_winsock=$curlib],[ol_cv_winsock=no])
926 test "$ol_cv_winsock" != no && break
931 if test $ol_cv_winsock != no ; then
932 AC_DEFINE(HAVE_WINSOCK, 1, [define if you have winsock])
933 ac_cv_func_socket=yes
934 ac_cv_func_select=yes
935 ac_cv_func_closesocket=yes
936 ac_cv_func_gethostname=yes
938 if test $ol_cv_winsock != none -a $ol_cv_winsock != yes ; then
939 LIBS="$LIBS -l$ol_cv_winsock"
942 if test $ol_cv_winsock = ws2_32 -o $ol_cv_winsock = yes ; then
943 AC_DEFINE(HAVE_WINSOCK2, 1, [define if you have winsock2])
949 dnl Likely combinations:
950 dnl -lsocket [ -lnsl_s | -lnsl ]
953 AC_CHECK_FUNC(socket, :, [
954 dnl hopefully we won't include too many libraries
955 AC_CHECK_LIB(socket, main)
956 AC_CHECK_LIB(net, socket)
957 AC_CHECK_LIB(nsl_s, main)
958 AC_CHECK_LIB(nsl, main)
959 AC_CHECK_LIB(inet, socket)
960 AC_CHECK_LIB(gen, main)
964 AC_CHECK_FUNC(select, :, AC_MSG_ERROR([select() required.]))
966 if test "${ac_cv_header_winsock_h}" != yes; then
968 dnl (if this detection becomes permenent, it and the select() detection
969 dnl should be done before the yielding select test)
970 AC_FUNC_SELECT_ARGTYPES
973 dnl check to see if system call automatically restart
974 dnl AC_SYS_RESTARTABLE_SYSCALLS
976 dnl ----------------------------------------------------------------
977 AC_CHECK_FUNCS( poll )
978 if test $ac_cv_func_poll = yes; then
979 AC_CHECK_HEADERS( poll.h sys/poll.h )
982 dnl ----------------------------------------------------------------
983 AC_CHECK_HEADERS( sys/epoll.h )
984 if test "${ac_cv_header_sys_epoll_h}" = yes; then
985 AC_MSG_CHECKING(for epoll system call)
986 AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv)
988 int epfd = epoll_create(256);
989 exit (epfd == -1 ? 1 : 0);
990 }]])],[AC_MSG_RESULT(yes)
991 AC_DEFINE(HAVE_EPOLL,1, [define if your system supports epoll])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
994 dnl ----------------------------------------------------------------
995 AC_CHECK_HEADERS( sys/devpoll.h )
996 dnl "/dev/poll" needs <sys/poll.h> as well...
997 if test "${ac_cv_header_sys_devpoll_h}" = yes \
998 -a "${ac_cv_header_poll_h}" = yes ; \
1000 AC_MSG_CHECKING(for /dev/poll)
1001 AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv)
1003 int devpollfd = open("/dev/poll", /* O_RDWR */ 2);
1004 exit (devpollfd == -1 ? 1 : 0);
1005 }]])],[AC_MSG_RESULT(yes)
1006 AC_DEFINE(HAVE_DEVPOLL,1, [define if your system supports /dev/poll])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
1009 dnl ----------------------------------------------------------------
1012 dnl ----------------------------------------------------------------
1013 dnl require POSIX regex
1014 AC_CHECK_HEADERS( regex.h, [], [],
1015 [$ac_includes_default
1016 #ifdef HAVE_SYS_TYPES_H
1017 #include <sys/types.h>
1021 if test "$ac_cv_header_regex_h" != yes ; then
1022 AC_MSG_ERROR([POSIX regex.h required.])
1024 AC_SEARCH_LIBS(regfree, [regex gnuregex],
1025 :, AC_MSG_ERROR([POSIX regex required.]))
1028 if test "$ol_cv_c_posix_regex" = no ; then
1029 AC_MSG_ERROR([broken POSIX regex!])
1032 dnl ----------------------------------------------------------------
1036 AC_CHECK_HEADERS(sys/uuid.h)
1037 dnl The HAVE_UUID_TO_STR code path also needs uuid_create
1038 if test $ac_cv_header_sys_uuid_h = yes ; then
1040 AC_SEARCH_LIBS([uuid_to_str], [uuid], [have_uuid=yes], :)
1041 AC_SEARCH_LIBS([uuid_create], [uuid], :, [have_uuid=no])
1044 if test $have_uuid = yes ; then
1045 AC_DEFINE(HAVE_UUID_TO_STR,1,
1046 [define if you have uuid_to_str()])
1048 test "$ac_cv_search_uuid_to_str" = "none required" || \
1049 SLAPD_LIBS="$SLAPD_LIBS $ac_cv_search_uuid_to_str"
1053 dnl Look for uuid_generate
1054 dnl The HAVE_UUID_GENERATE code path also needs uuid_unparse_lower
1055 if test $have_uuid = no ; then
1056 AC_CHECK_HEADERS(uuid/uuid.h)
1057 if test $ac_cv_header_uuid_uuid_h = yes ; then
1059 AC_SEARCH_LIBS([uuid_generate], [uuid], [have_uuid=yes], :)
1060 AC_SEARCH_LIBS([uuid_unparse_lower], [uuid], :, [have_uuid=no])
1063 if test $have_uuid = yes ; then
1064 AC_DEFINE(HAVE_UUID_GENERATE,1,
1065 [define if you have uuid_generate()])
1067 test "$ac_cv_search_uuid_generate" = "none required" || \
1068 SLAPD_LIBS="$SLAPD_LIBS $ac_cv_search_uuid_generate"
1073 dnl For windows, check for the need of RPCRT for UUID function support
1074 if test $have_uuid = no ; then
1075 AC_MSG_CHECKING(to see if -lrpcrt4 is needed for win32 UUID support)
1077 LIBS="$LIBS -lrpcrt4"
1078 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1079 int __stdcall UuidCreate(void *);
1080 int __stdcall UuidToStringA(void *,void **);
1084 ]])],[need_rpcrt=yes],[need_rpcrt=no])
1085 if test $need_rpcrt = yes; then
1086 SLAPD_LIBS="$SLAPD_LIBS -lrpcrt4"
1089 AC_MSG_RESULT($need_rpcrt)
1092 dnl ----------------------------------------------------------------
1093 dnl Check for resolver routines
1097 if test "$ol_cv_lib_resolver" != no ; then
1098 AC_DEFINE(HAVE_RES_QUERY,1,
1099 [define if you have res_query()])
1101 if test "$ol_enable_dnssrv" != no ; then
1105 if test "$ol_cv_lib_resolver" != yes ; then
1106 LIBS="$ol_cv_lib_resolver $LIBS"
1110 if test "$ol_enable_dnssrv" = yes || test "$ol_enable_dnssrv" = mod ; then
1111 if test "$ol_link_dnssrv" = no ; then
1112 AC_MSG_ERROR([DNSSRV requires res_query()])
1118 AC_CHECK_FUNCS( hstrerror )
1120 dnl ----------------------------------------------------------------
1121 dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN
1122 dnl PF_LOCAL may use getaddrinfo in available
1123 AC_CHECK_FUNCS( getaddrinfo getnameinfo gai_strerror inet_ntop )
1126 if test $ac_cv_func_getaddrinfo = no || test $ac_cv_func_inet_ntop = no ; then
1127 if test $ol_enable_ipv6 = yes ; then
1128 AC_MSG_ERROR([IPv6 support requires getaddrinfo() and inet_ntop()])
1130 elif test $ol_enable_ipv6 != no ; then
1131 AC_CACHE_CHECK([INET6_ADDRSTRLEN],[ol_cv_inet6_addrstrlen],[
1132 AC_EGREP_CPP(__has_inet6_addrstrlen__,[
1133 # include <netinet/in.h>
1134 # ifdef INET6_ADDRSTRLEN
1135 __has_inet6_addrstrlen__;
1137 ], [ol_cv_inet6_addrstrlen=yes], [ol_cv_inet6_addrstrlen=no])])
1140 AC_CACHE_CHECK([struct sockaddr_storage],ol_cv_struct_sockaddr_storage,[
1141 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1142 #include <sys/types.h>
1143 #include <sys/socket.h>
1145 struct sockaddr_storage ss;
1146 ]])],[ol_cv_struct_sockaddr_storage=yes],[ol_cv_struct_sockaddr_storage=no])])
1148 if test $ol_cv_inet6_addrstrlen = yes &&
1149 test $ol_cv_struct_sockaddr_storage = yes ; then
1151 elif test $ol_enable_ipv6 = yes &&
1152 test $ol_cv_inet6_addrstrlen = no ; then
1153 AC_MSG_ERROR([IPv6 support requires INET6_ADDRSTRLEN])
1154 elif test $ol_enable_ipv6 = yes &&
1155 test $ol_cv_struct_sockaddr_storage = no ; then
1156 AC_MSG_ERROR([IPv6 support requires struct sockaddr_storage])
1160 if test $ol_enable_local != no ; then
1161 AC_CHECK_HEADERS( sys/un.h )
1163 if test $ol_enable_local = auto ; then
1164 ol_enable_local=$ac_cv_header_sys_un_h
1165 elif test $ac_cv_header_sys_un_h = no ; then
1166 AC_MSG_ERROR([AF_LOCAL domain support requires sys/un.h])
1170 dnl ----------------------------------------------------------------
1173 if test $ol_with_tls = yes ; then
1178 if test $ol_with_tls = openssl || test $ol_with_tls = auto ; then
1179 AC_CHECK_HEADERS(openssl/ssl.h)
1181 if test $ac_cv_header_openssl_ssl_h = yes ; then
1182 AC_CHECK_LIB(ssl, SSL_CTX_set_msg_callback,
1184 need_rsaref=no], [have_openssl=no],
1187 if test $have_openssl = no ; then
1188 AC_CHECK_LIB(ssl, ssl3_accept,
1190 need_rsaref=yes], [have_openssl=no],
1191 [-lcrypto -lRSAglue -lrsaref])
1194 if test $have_openssl = yes ; then
1198 AC_DEFINE(HAVE_OPENSSL, 1,
1199 [define if you have OpenSSL])
1201 if test $need_rsaref = yes; then
1202 AC_DEFINE(HAVE_RSAREF, 1,
1203 [define if OpenSSL needs RSAref])
1205 TLS_LIBS="-lssl -lcrypto -lRSAglue -lrsaref"
1207 TLS_LIBS="-lssl -lcrypto"
1211 if test $ol_cv_ssl_crl_compat = yes ; then
1212 AC_DEFINE(HAVE_OPENSSL_CRL, 1,
1213 [define if you have OpenSSL with CRL checking capability])
1219 if test $ol_link_tls = no ; then
1220 if test $ol_with_tls = gnutls || test $ol_with_tls = auto ; then
1221 AC_CHECK_HEADERS(gnutls/gnutls.h)
1223 if test $ac_cv_header_gnutls_gnutls_h = yes ; then
1225 [[#include <gnutls/gnutls.h>]
1226 [#if GNUTLS_VERSION_NUMBER < 0x020c00]
1227 [#error "GnuTLS 2.12.0 or newer required"]
1229 , [AC_MSG_FAILURE([GnuTLS is too old])])
1231 AC_CHECK_LIB(gnutls, gnutls_init,
1232 [have_gnutls=yes], [have_gnutls=no])
1234 if test $have_gnutls = yes ; then
1240 AC_DEFINE(HAVE_GNUTLS, 1,
1241 [define if you have GNUtls])
1247 dnl NOTE: caller must specify -I/path/to/nspr4 and -I/path/to/nss3
1248 dnl and -L/path/to/nspr4 libs and -L/path/to/nss3 libs if those libs
1249 dnl are not in the default system location
1250 if test $ol_link_tls = no ; then
1251 if test $ol_with_tls = moznss || test $ol_with_tls = auto ; then
1253 AC_CHECK_HEADERS([nssutil.h])
1254 if test "$ac_cv_header_nssutil_h" = yes ; then
1255 AC_CHECK_LIB([nss3], [NSS_Initialize],
1256 [ have_moznss=yes ], [ have_moznss=no ])
1259 if test "$have_moznss" = yes ; then
1262 AC_DEFINE(HAVE_MOZNSS, 1,
1263 [define if you have MozNSS])
1264 TLS_LIBS="-lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4"
1266 if test $ol_with_tls = moznss ; then
1267 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)])
1274 if test $ol_link_tls = yes ; then
1275 AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
1277 elif test $ol_with_tls = auto ; then
1278 AC_MSG_WARN([Could not locate TLS/SSL package])
1279 AC_MSG_WARN([TLS data protection not supported!])
1280 elif test $ol_with_tls != no ; then
1281 AC_MSG_ERROR([Could not locate TLS/SSL package])
1283 AC_MSG_WARN([TLS data protection not supported!])
1286 dnl ----------------------------------------------------------------
1287 dnl LAN Manger password checking requires DES from OpenSSL
1288 if test $ol_enable_lmpasswd != no; then
1289 if test $ol_link_tls != yes ; then
1290 AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
1293 AC_DEFINE(SLAPD_LMHASH, 1, [define to support LAN Manager passwords])
1296 dnl ----------------------------------------------------------------
1300 case $ol_with_threads in auto | yes | nt)
1304 if test "$ol_cv_nt_threads" = yes ; then
1306 ol_with_threads=found
1307 ol_with_yielding_select=yes
1309 AC_DEFINE(HAVE_NT_SERVICE_MANAGER,1,[if you have NT Service Manager])
1310 AC_DEFINE(HAVE_NT_EVENT_LOG,1,[if you have NT Event Log])
1313 if test $ol_with_threads = nt ; then
1314 AC_MSG_ERROR([could not locate NT Threads])
1319 case $ol_with_threads in auto | yes | posix)
1321 AC_CHECK_HEADERS(pthread.h)
1323 if test $ac_cv_header_pthread_h = yes ; then
1324 OL_POSIX_THREAD_VERSION
1326 if test $ol_cv_pthread_version != 0 ; then
1327 AC_DEFINE_UNQUOTED(HAVE_PTHREADS,$ol_cv_pthread_version,
1328 [define to pthreads API spec revision])
1330 AC_MSG_ERROR([unknown pthread version])
1333 # consider threads found
1334 ol_with_threads=found
1336 OL_HEADER_LINUX_THREADS
1337 OL_HEADER_GNU_PTH_PTHREAD_H
1339 if test $ol_cv_header_gnu_pth_pthread_h = no ; then
1340 AC_CHECK_HEADERS(sched.h)
1343 dnl Now the hard part, how to link?
1345 dnl currently supported checks:
1347 dnl Check for no flags
1348 dnl pthread_create() in $LIBS
1350 dnl Check special pthread (final) flags
1351 dnl [skipped] pthread_create() with -mt (Solaris) [disabled]
1352 dnl pthread_create() with -kthread (FreeBSD)
1353 dnl pthread_create() with -pthread (FreeBSD/Digital Unix)
1354 dnl pthread_create() with -pthreads (?)
1355 dnl pthread_create() with -mthreads (AIX)
1356 dnl pthread_create() with -thread (?)
1358 dnl Check pthread (final) libraries
1359 dnl pthread_mutex_unlock() in -lpthread -lmach -lexc -lc_r (OSF/1)
1360 dnl pthread_mutex_lock() in -lpthread -lmach -lexc (OSF/1)
1361 dnl [skipped] pthread_mutex_trylock() in -lpthread -lexc (OSF/1)
1362 dnl pthread_join() -Wl,-woff,85 -lpthread (IRIX)
1363 dnl pthread_create() in -lpthread (many)
1364 dnl pthread_create() in -lc_r (FreeBSD)
1366 dnl Check pthread (draft4) flags (depreciated)
1367 dnl pthread_create() with -threads (OSF/1)
1369 dnl Check pthread (draft4) libraries (depreciated)
1370 dnl pthread_mutex_unlock() in -lpthreads -lmach -lexc -lc_r (OSF/1)
1371 dnl pthread_mutex_lock() in -lpthreads -lmach -lexc (OSF/1)
1372 dnl pthread_mutex_trylock() in -lpthreads -lexc (OSF/1)
1373 dnl pthread_create() in -lpthreads (many)
1376 dnl pthread_create in $LIBS
1377 AC_CACHE_CHECK([for pthread_create in default libraries],
1378 ol_cv_pthread_create,[
1379 AC_RUN_IFELSE([OL_PTHREAD_TEST_PROGRAM],
1380 [ol_cv_pthread_create=yes],
1381 [ol_cv_pthread_create=no],
1382 [AC_TRY_LINK(OL_PTHREAD_TEST_INCLUDES,OL_PTHREAD_TEST_FUNCTION,
1383 [ol_cv_pthread_create=yes],
1384 [ol_cv_pthread_create=no])])])
1386 if test $ol_cv_pthread_create != no ; then
1387 ol_link_threads=posix
1391 dnl OL_PTHREAD_TRY([-mt], [ol_cv_pthread_mt])
1392 OL_PTHREAD_TRY([-kthread], [ol_cv_pthread_kthread])
1393 OL_PTHREAD_TRY([-pthread], [ol_cv_pthread_pthread])
1394 OL_PTHREAD_TRY([-pthreads], [ol_cv_pthread_pthreads])
1395 OL_PTHREAD_TRY([-mthreads], [ol_cv_pthread_mthreads])
1396 OL_PTHREAD_TRY([-thread], [ol_cv_pthread_thread])
1398 OL_PTHREAD_TRY([-lpthread -lmach -lexc -lc_r],
1399 [ol_cv_pthread_lpthread_lmach_lexc_lc_r])
1400 OL_PTHREAD_TRY([-lpthread -lmach -lexc],
1401 [ol_cv_pthread_lpthread_lmach_lexc])
1402 dnl OL_PTHREAD_TRY([-lpthread -lexc],
1403 dnl [ol_cv_pthread_lpthread_lexc])
1405 OL_PTHREAD_TRY([-lpthread -Wl,-woff,85],
1406 [ol_cv_pthread_lib_lpthread_woff])
1408 OL_PTHREAD_TRY([-lpthread], [ol_cv_pthread_lpthread])
1409 OL_PTHREAD_TRY([-lc_r], [ol_cv_pthread_lc_r])
1411 OL_PTHREAD_TRY([-threads], [ol_cv_pthread_threads])
1413 OL_PTHREAD_TRY([-lpthreads -lmach -lexc -lc_r],
1414 [ol_cv_pthread_lpthreads_lmach_lexc_lc_r])
1415 OL_PTHREAD_TRY([-lpthreads -lmach -lexc],
1416 [ol_cv_pthread_lpthreads_lmach_lexc])
1417 OL_PTHREAD_TRY([-lpthreads -lexc],
1418 [ol_cv_pthread_lpthreads_lexc])
1420 OL_PTHREAD_TRY([-lpthreads],[ol_cv_pthread_lib_lpthreads])
1422 if test $ol_link_threads != no ; then
1423 LTHREAD_LIBS="$LTHREAD_LIBS $ol_link_pthreads"
1426 save_CPPFLAGS="$CPPFLAGS"
1428 LIBS="$LTHREAD_LIBS $LIBS"
1430 dnl All POSIX Thread (final) implementations should have
1431 dnl sched_yield instead of pthread yield.
1432 dnl check for both, and thr_yield for Solaris
1433 AC_CHECK_FUNCS(sched_yield pthread_yield thr_yield)
1435 if test $ac_cv_func_sched_yield = no &&
1436 test $ac_cv_func_pthread_yield = no &&
1437 test $ac_cv_func_thr_yield = no ; then
1438 dnl Digital UNIX has sched_yield() in -lrt
1439 AC_CHECK_LIB(rt, sched_yield,
1440 [LTHREAD_LIBS="$LTHREAD_LIBS -lrt"
1441 AC_DEFINE(HAVE_SCHED_YIELD,1,
1442 [Define if you have the sched_yield function.])
1443 ac_cv_func_sched_yield=yes],
1444 [ac_cv_func_sched_yield=no])
1446 if test $ac_cv_func_sched_yield = no &&
1447 test $ac_cv_func_pthread_yield = no &&
1448 test "$ac_cv_func_thr_yield" = no ; then
1449 AC_MSG_WARN([could not locate sched_yield() or pthread_yield()])
1452 dnl Check functions for compatibility
1453 AC_CHECK_FUNCS(pthread_kill)
1455 dnl Check for pthread_rwlock_destroy with <pthread.h>
1456 dnl as pthread_rwlock_t may not be defined.
1457 AC_CACHE_CHECK([for pthread_rwlock_destroy with <pthread.h>],
1458 [ol_cv_func_pthread_rwlock_destroy], [
1460 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1461 #include <pthread.h>
1462 pthread_rwlock_t rwlock;
1463 ]], [[pthread_rwlock_destroy(&rwlock);]])],[ol_cv_func_pthread_rwlock_destroy=yes],[ol_cv_func_pthread_rwlock_destroy=no])
1465 if test $ol_cv_func_pthread_rwlock_destroy = yes ; then
1466 AC_DEFINE(HAVE_PTHREAD_RWLOCK_DESTROY,1,
1467 [define if you have pthread_rwlock_destroy function])
1470 dnl Check for pthread_detach with <pthread.h> inclusion
1471 dnl as it's symbol may have been mangled.
1472 AC_CACHE_CHECK([for pthread_detach with <pthread.h>],
1473 [ol_cv_func_pthread_detach], [
1475 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1476 #include <pthread.h>
1478 #define NULL (void*)0
1480 ]], [[pthread_detach(NULL);]])],[ol_cv_func_pthread_detach=yes],[ol_cv_func_pthread_detach=no])
1483 if test $ol_cv_func_pthread_detach = no ; then
1484 AC_MSG_ERROR([could not locate pthread_detach()])
1487 AC_DEFINE(HAVE_PTHREAD_DETACH,1,
1488 [define if you have pthread_detach function])
1490 dnl Check for setconcurreny functions
1492 pthread_setconcurrency \
1493 pthread_getconcurrency \
1494 thr_setconcurrency \
1495 thr_getconcurrency \
1498 OL_SYS_LINUX_THREADS
1501 if test $ol_cv_linux_threads = error; then
1502 AC_MSG_ERROR([LinuxThreads header/library mismatch]);
1505 AC_CACHE_CHECK([if pthread_create() works],
1506 ol_cv_pthread_create_works,[
1507 AC_RUN_IFELSE([OL_PTHREAD_TEST_PROGRAM],
1508 [ol_cv_pthread_create_works=yes],
1509 [ol_cv_pthread_create_works=no],
1511 ol_cv_pthread_create_works=yes])])
1513 if test $ol_cv_pthread_create_works = no ; then
1514 AC_MSG_ERROR([pthread_create is not usable, check environment settings])
1517 ol_replace_broken_yield=no
1518 dnl case "$target" in
1520 dnl AC_CHECK_FUNCS(nanosleep)
1521 dnl ol_replace_broken_yield=yes
1525 if test $ol_replace_broken_yield = yes ; then
1526 AC_DEFINE([REPLACE_BROKEN_YIELD],1,
1527 [define if sched_yield yields the entire process])
1530 dnl Check if select causes an yield
1531 if test $ol_with_yielding_select = auto ; then
1532 AC_CACHE_CHECK([if select yields when using pthreads],
1533 ol_cv_pthread_select_yields,[
1534 AC_RUN_IFELSE([AC_LANG_SOURCE([[
1535 #include <sys/types.h>
1536 #include <sys/time.h>
1538 #include <pthread.h>
1540 #define NULL (void*) 0
1543 static int fildes[2];
1545 static void *task(p)
1557 FD_SET(fildes[0], &rfds);
1559 /* we're not interested in any fds */
1560 i = select(FD_SETSIZE, &rfds, NULL, NULL, &tv);
1567 exit(0); /* if we exit here, the select blocked the whole process */
1570 int main(argc, argv)
1576 /* create a pipe to select */
1577 if(pipe(&fildes[0])) {
1582 #ifdef HAVE_PTHREAD_SETCONCURRENCY
1583 (void) pthread_setconcurrency(2);
1585 #ifdef HAVE_THR_SETCONCURRENCY
1586 /* Set Solaris LWP concurrency to 2 */
1587 thr_setconcurrency(2);
1591 #if HAVE_PTHREADS < 6
1592 pthread_create(&t, pthread_attr_default, task, NULL);
1594 pthread_create(&t, NULL, task, NULL);
1597 /* make sure task runs first */
1598 #ifdef HAVE_THR_YIELD
1600 #elif defined( HAVE_SCHED_YIELD )
1602 #elif defined( HAVE_PTHREAD_YIELD )
1607 }]])],[ol_cv_pthread_select_yields=no],[ol_cv_pthread_select_yields=yes],[ol_cv_pthread_select_yields=cross])])
1609 if test $ol_cv_pthread_select_yields = cross ; then
1610 AC_MSG_ERROR([crossing compiling: use --with-yielding_select=yes|no|manual])
1613 if test $ol_cv_pthread_select_yields = yes ; then
1614 ol_with_yielding_select=yes
1619 CPPFLAGS="$save_CPPFLAGS"
1622 AC_MSG_ERROR([could not locate usable POSIX Threads])
1626 if test $ol_with_threads = posix ; then
1627 AC_MSG_ERROR([could not locate POSIX Threads])
1632 case $ol_with_threads in auto | yes | mach)
1634 dnl check for Mach CThreads
1635 AC_CHECK_HEADERS(mach/cthreads.h cthreads.h)
1636 if test $ac_cv_header_mach_cthreads_h = yes ; then
1637 ol_with_threads=found
1639 dnl check for cthreads support in current $LIBS
1640 AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
1642 if test $ol_link_threads = no ; then
1644 dnl this test needs work
1645 AC_CACHE_CHECK([for cthread_fork with -all_load],
1646 [ol_cv_cthread_all_load], [
1649 LIBS="-all_load $LIBS"
1650 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <mach/cthreads.h>]], [[
1651 cthread_fork((void *)0, (void *)0);
1652 ]])],[ol_cv_cthread_all_load=yes],[ol_cv_cthread_all_load=no])
1653 dnl restore the LIBS
1657 if test $ol_cv_cthread_all_load = yes ; then
1658 LTHREAD_LIBS="$LTHREAD_LIBS -all_load"
1659 ol_link_threads=mach
1660 ol_with_threads=found
1664 elif test $ac_cv_header_cthreads_h = yes ; then
1665 dnl Hurd variant of Mach Cthreads
1666 dnl uses <cthreads.h> and -lthreads
1668 ol_with_threads=found
1672 LIBS="$LIBS -lthreads"
1673 AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
1676 if test $ol_link_threads = yes ; then
1677 LTHREAD_LIBS="-lthreads"
1678 ol_link_threads=mach
1679 ol_with_threads=found
1681 AC_MSG_ERROR([could not link with Mach CThreads])
1684 elif test $ol_with_threads = mach ; then
1685 AC_MSG_ERROR([could not locate Mach CThreads])
1688 if test $ol_link_threads = mach ; then
1689 AC_DEFINE(HAVE_MACH_CTHREADS,1,
1690 [define if you have Mach Cthreads])
1691 elif test $ol_with_threads = found ; then
1692 AC_MSG_ERROR([could not link with Mach CThreads])
1697 case $ol_with_threads in auto | yes | pth)
1699 AC_CHECK_HEADERS(pth.h)
1701 if test $ac_cv_header_pth_h = yes ; then
1702 AC_CHECK_LIB(pth, pth_version, [have_pth=yes], [have_pth=no])
1704 if test $have_pth = yes ; then
1705 AC_DEFINE(HAVE_GNU_PTH,1,[if you have GNU Pth])
1706 LTHREAD_LIBS="$LTHREAD_LIBS -lpth"
1708 ol_with_threads=found
1710 if test $ol_with_yielding_select = auto ; then
1711 ol_with_yielding_select=yes
1718 case $ol_with_threads in auto | yes | lwp)
1720 dnl check for SunOS5 LWP
1721 AC_CHECK_HEADERS(thread.h synch.h)
1722 if test $ac_cv_header_thread_h = yes &&
1723 test $ac_cv_header_synch_h = yes ; then
1724 AC_CHECK_LIB(thread, thr_create, [have_thr=yes], [have_thr=no])
1726 if test $have_thr = yes ; then
1727 AC_DEFINE(HAVE_THR,1,
1728 [if you have Solaris LWP (thr) package])
1729 LTHREAD_LIBS="$LTHREAD_LIBS -lthread"
1732 if test $ol_with_yielding_select = auto ; then
1733 ol_with_yielding_select=yes
1736 dnl Check for setconcurreny functions
1738 thr_setconcurrency \
1739 thr_getconcurrency \
1746 if test $ol_with_yielding_select = yes ; then
1747 AC_DEFINE(HAVE_YIELDING_SELECT,1,
1748 [define if select implicitly yields])
1751 if test $ol_with_threads = manual ; then
1752 dnl User thinks he can manually configure threads.
1755 AC_MSG_WARN([thread defines and link options must be set manually])
1757 AC_CHECK_HEADERS(pthread.h sched.h)
1758 AC_CHECK_FUNCS(sched_yield pthread_yield)
1759 OL_HEADER_LINUX_THREADS
1761 AC_CHECK_HEADERS(mach/cthreads.h)
1762 AC_CHECK_HEADERS(thread.h synch.h)
1765 if test $ol_link_threads != no && test $ol_link_threads != nt ; then
1766 dnl needed to get reentrant/threadsafe versions
1768 AC_DEFINE(REENTRANT,1)
1769 AC_DEFINE(_REENTRANT,1)
1770 AC_DEFINE(THREAD_SAFE,1)
1771 AC_DEFINE(_THREAD_SAFE,1)
1772 AC_DEFINE(THREADSAFE,1)
1773 AC_DEFINE(_THREADSAFE,1)
1774 AC_DEFINE(_SGI_MP_SOURCE,1)
1776 dnl The errno declaration may dependent upon _REENTRANT.
1777 dnl If it does, we must link with thread support.
1778 AC_CACHE_CHECK([for thread specific errno],
1779 [ol_cv_errno_thread_specific], [
1780 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <errno.h>]], [[errno = 0;]])],[ol_cv_errno_thread_specific=yes],[ol_cv_errno_thread_specific=no])
1783 dnl The h_errno declaration may dependent upon _REENTRANT.
1784 dnl If it does, we must link with thread support.
1785 AC_CACHE_CHECK([for thread specific h_errno],
1786 [ol_cv_h_errno_thread_specific], [
1787 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])
1790 if test $ol_cv_errno_thread_specific != yes ||
1791 test $ol_cv_h_errno_thread_specific != yes ; then
1792 LIBS="$LTHREAD_LIBS $LIBS"
1796 dnl When in thread environment, use
1797 dnl #if defined( HAVE_REENTRANT_FUNCTIONS ) || defined( HAVE_FUNC_R )
1800 dnl # if defined( HAVE_THREADS )
1804 dnl # if defined( HAVE_THREADS )
1809 dnl HAVE_REENTRANT_FUNCTIONS is derived from:
1810 dnl _POSIX_REENTRANT_FUNCTIONS
1811 dnl _POSIX_THREAD_SAFE_FUNCTIONS
1812 dnl _POSIX_THREADSAFE_FUNCTIONS
1814 dnl and is currently defined in <ldap_pvt_thread.h>
1816 dnl HAVE_THREADS is defined by <ldap_pvt_thread.h> iff -UNO_THREADS
1818 dnl libldap/*.c should only include <ldap_pvt_thread.h> iff
1819 dnl LDAP_R_COMPILE is defined. ie:
1820 dnl #ifdef LDAP_R_COMPILE
1821 dnl # include <ldap_pvt_thread.h>
1824 dnl LDAP_R_COMPILE is defined by libldap_r/Makefile.in
1825 dnl specifically for compiling the threadsafe version of
1826 dnl the ldap library (-lldap_r).
1828 dnl dnl check for reentrant/threadsafe functions
1830 dnl dnl note: these should only be used when linking
1831 dnl dnl with $LTHREAD_LIBS
1833 dnl save_CPPFLAGS="$CPPFLAGS"
1834 dnl save_LIBS="$LIBS"
1835 dnl LIBS="$LTHREAD_LIBS $LIBS"
1836 dnl AC_CHECK_FUNCS( \
1838 dnl gethostbyaddr_r gethostbyname_r \
1839 dnl feof_unlocked unlocked_feof \
1840 dnl putc_unlocked unlocked_putc \
1841 dnl flockfile ftrylockfile \
1843 dnl CPPFLAGS="$save_CPPFLAGS"
1844 dnl LIBS="$save_LIBS"
1847 if test $ol_link_threads = no ; then
1848 if test $ol_with_threads = yes ; then
1849 AC_MSG_ERROR([no suitable thread support])
1852 if test $ol_with_threads = auto ; then
1853 AC_MSG_WARN([no suitable thread support, disabling threads])
1857 AC_DEFINE(NO_THREADS,1,
1858 [define if you have (or want) no threads])
1865 if test $ol_link_threads != no ; then
1866 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE,1,
1867 [define to 1 if library is thread safe])
1870 dnl ----------------------------------------------------------------
1871 dnl Tests for reentrant functions necessary to build -lldap_r
1874 gmtime_r localtime_r \
1875 gethostbyname_r gethostbyaddr_r \
1878 if test "$ac_cv_func_ctime_r" = no ; then
1879 ol_cv_func_ctime_r_nargs=0
1881 OL_FUNC_CTIME_R_NARGS
1882 dnl OL_FUNC_CTIME_R_TYPE
1885 if test "$ac_cv_func_gethostbyname_r" = yes ; then
1886 OL_FUNC_GETHOSTBYNAME_R_NARGS
1888 ol_cv_func_gethostbyname_r_nargs=0
1891 if test "$ac_cv_func_gethostbyaddr_r" = yes ; then
1892 OL_FUNC_GETHOSTBYADDR_R_NARGS
1894 ol_cv_func_gethostbyaddr_r_nargs=0
1897 dnl ----------------------------------------------------------------
1900 if test $ol_enable_bdb/$ol_enable_hdb != no/no; then
1903 if test $ol_cv_berkeley_db = no ; then
1904 AC_MSG_ERROR(BDB/HDB: BerkeleyDB not available)
1907 AC_DEFINE(HAVE_BERKELEY_DB,1,
1908 [define this if Berkeley DB is available])
1910 dnl $ol_cv_lib_db should be yes or -ldb
1911 dnl (it could be no, but that would be an error
1912 if test $ol_cv_lib_db != yes ; then
1913 BDB_LIBS="$BDB_LIBS $ol_cv_lib_db"
1916 SLAPD_LIBS="$SLAPD_LIBS \$(BDB_LIBS)"
1921 dnl ----------------------------------------------------------------
1923 if test $ol_enable_dynamic = yes && test $enable_shared = yes ; then
1924 BUILD_LIBS_DYNAMIC=shared
1925 AC_DEFINE(LDAP_LIBS_DYNAMIC, 1, [define if LDAP libs are dynamic])
1928 BUILD_LIBS_DYNAMIC=static
1931 AC_SUBST(LTSTATIC)dnl
1933 dnl ----------------------------------------------------------------
1934 if test $ol_enable_wrappers != no ; then
1935 AC_CHECK_HEADERS(tcpd.h,[
1936 AC_MSG_CHECKING([for TCP wrappers library])
1939 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1941 int allow_severity = 0;
1942 int deny_severity = 0;
1944 struct request_info *req;
1947 ]])],[AC_MSG_RESULT([-lwrap])
1949 LIBS="$save_LIBS"],[
1954 int allow_severity = 0;
1955 int deny_severity = 0;
1957 struct request_info *req;
1960 ],[AC_MSG_RESULT([-lwrap -lnsl])
1962 LIBS="$save_LIBS -lnsl"],[
1965 LIBS=$save_LIBS])])],[have_wrappers=no])
1967 if test $have_wrappers = yes ; then
1968 AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
1970 elif test $ol_enable_wrappers = yes ; then
1971 AC_MSG_ERROR([could not find TCP wrappers, select apppropriate options or disable])
1973 AC_MSG_WARN([could not find TCP wrappers, support disabled])
1978 dnl ----------------------------------------------------------------
1979 if test $ol_enable_syslog != no ; then
1980 AC_CHECK_FUNC(openlog)
1981 if test $ac_cv_func_openlog = no && test $ol_enable_syslog = yes; then
1982 AC_MSG_ERROR(could not find syslog, select appropriate options or disable)
1984 ol_enable_syslog=$ac_cv_func_openlog
1987 dnl ----------------------------------------------------------------
1990 if test $ol_enable_sql != no ; then
1991 AC_CHECK_HEADERS(sql.h sqlext.h,[],[
1992 AC_MSG_ERROR([could not locate SQL headers])
1996 LIBS="$LTHREAD_LIBS $LIBS"
1998 if test $ol_with_odbc = auto ; then
1999 ol_with_odbc="iodbc unixodbc odbc32"
2002 for odbc in $ol_with_odbc ; do
2003 if test $ol_link_sql = no ; then
2006 AC_CHECK_LIB(iodbc, SQLDriverConnect, [have_iodbc=yes], [have_iodbc=no])
2007 if test $have_iodbc = yes ; then
2008 ol_link_sql="-liodbc"
2013 AC_CHECK_LIB(odbc, SQLDriverConnect, [have_odbc=yes], [have_odbc=no])
2014 if test $have_odbc = yes ; then
2015 ol_link_sql="-lodbc"
2020 AC_CHECK_LIB(odbc32, SQLDriverConnect, [have_odbc32=yes], [have_odbc32=no])
2022 dnl The windows API uses __stdcall which cannot be detected by AC_CHECK_LIB
2023 if test $have_odbc32 = no ; then
2024 AC_MSG_CHECKING([for SQLDriverConnect in -lodbc32 with windows.h])
2026 LIBS="$LIBS -lodbc32"
2027 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <windows.h>
2030 SQLDriverConnect(NULL,NULL,NULL,0,NULL,0,NULL,0);
2031 ]])],[have_odbc32=yes], [have_odbc32=no])
2033 AC_MSG_RESULT($have_odbc32)
2036 if test $have_odbc32 = yes ; then
2037 ol_link_sql="-lodbc32"
2042 AC_MSG_ERROR([unknown ODBC library])
2050 if test $ol_link_sql != no ; then
2051 SLAPD_SQL_LIBS="$ol_link_sql"
2053 elif test $ol_enable_sql != auto ; then
2054 AC_MSG_ERROR([could not locate suitable ODBC library])
2058 dnl ----------------------------------------------------------------
2060 dnl Note: uses C++, but we don't want to add C++ test overhead to
2061 dnl the rest of the libtool machinery.
2063 if test $ol_enable_ndb != no ; then
2064 AC_CHECK_PROG(MYSQL,mysql_config,yes)
2065 if test "$MYSQL" != yes ; then
2066 AC_MSG_ERROR([could not locate mysql_config])
2069 SQL_INC=`mysql_config --include`
2070 SLAPD_NDB_INCS="$SQL_INC $SQL_INC/storage/ndb $SQL_INC/storage/ndb/ndbapi"
2072 save_CPPFLAGS="$CPPFLAGS"
2073 CPPFLAGS="$SLAPD_NDB_INCS"
2074 AC_MSG_CHECKING(for NdbApi.hpp)
2076 [AC_LANG_SOURCE([[#include <NdbApi.hpp>]])],
2078 AC_MSG_ERROR([could not locate NdbApi headers])
2080 CPPFLAGS="$save_CPPFLAGS"
2082 SQL_LIB=`mysql_config --libs_r`
2083 SLAPD_NDB_LIBS="$SQL_LIB -lndbclient -lstdc++"
2085 save_LDFLAGS="$LDFLAGS"
2088 AC_CHECK_LIB(ndbclient,ndb_init,[: ok],[
2089 AC_MSG_ERROR([could not locate ndbclient library])
2092 LDFLAGS="$save_LDFLAGS"
2094 if test "$ol_enable_ndb" = yes ; then
2095 SLAPD_LIBS="$SLAPD_LIBS \$(SLAPD_NDB_LIBS)"
2099 dnl ----------------------------------------------------------------
2102 if test $ol_enable_wt != no ; then
2103 AC_CHECK_PROG(PKGCONFIG,pkg-config,yes)
2104 if test "$PKGCONFIG" != yes ; then
2105 AC_MSG_ERROR([could not locate pkg-config])
2107 WT_INCS=`pkg-config --cflags wiredtiger`
2108 WT_LIBS=`pkg-config --libs wiredtiger`
2110 save_CFLAGS="$CFLAGS"
2111 save_LDFLAGS="$LDFLAGS"
2115 AC_CHECK_HEADERS([wiredtiger.h])
2116 AC_CHECK_LIB(wiredtiger,wiredtiger_version,[: ok],[
2117 AC_MSG_ERROR([could not locate wiredtiger library])
2119 CFLAGS="$save_CFLAGS"
2120 CPPFLAGS="$save_CPPFLAGS"
2121 LDFLAGS="$save_LDFLAGS"
2122 SLAPD_LIBS="$SLAPD_LIBS \$(WT_LIBS)"
2126 dnl ----------------------------------------------------------------
2127 dnl International Components for Unicode
2129 if test "$ol_icu" = no ; then
2130 AC_MSG_WARN([ICU not available])
2134 dnl ----------------------------------------------------------------
2136 dnl Check for Cyrus SASL
2141 if test $ol_with_cyrus_sasl != no ; then
2142 AC_CHECK_HEADERS(sasl/sasl.h sasl.h)
2144 if test $ac_cv_header_sasl_sasl_h = yes ||
2145 test $ac_cv_header_sasl_h = yes; then
2146 AC_CHECK_LIB(sasl2, sasl_client_init,
2147 [ol_link_sasl="-lsasl2"],
2148 [AC_CHECK_LIB(sasl, sasl_client_init,
2149 [ol_link_sasl="-lsasl"])])
2152 if test $ol_link_sasl = no ; then
2153 if test $ol_with_cyrus_sasl != auto ; then
2154 AC_MSG_ERROR([Could not locate Cyrus SASL])
2156 AC_MSG_WARN([Could not locate Cyrus SASL])
2157 AC_MSG_WARN([SASL authentication not supported!])
2158 if test $ol_link_tls = no ; then
2159 AC_MSG_WARN([Strong authentication not supported!])
2164 if test $ol_cv_sasl_compat = no ; then
2166 AC_MSG_ERROR([Cyrus SASL library located but is incompatible])
2169 AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
2170 SASL_LIBS="$ol_link_sasl"
2171 if test $ol_enable_spasswd != no ; then
2175 ac_save_LIBS="$LIBS"
2176 LIBS="$LIBS $ol_link_sasl"
2177 AC_CHECK_FUNC(sasl_version, [AC_DEFINE(HAVE_SASL_VERSION,1,
2178 [define if your SASL library has sasl_version()])])
2179 LIBS="$ac_save_LIBS"
2185 AC_MSG_WARN([SASL authentication not supported!])
2186 if test $ol_link_tls = no ; then
2187 AC_MSG_WARN([Strong authentication not supported!])
2191 dnl ----------------------------------------------------------------
2192 dnl Check for entropy sources
2193 if test $cross_compiling != yes && test "$ac_cv_mingw32" != yes ; then
2195 if test -r /dev/urandom ; then
2197 elif test -r /idev/urandom ; then
2198 dev="/idev/urandom";
2199 elif test -r /dev/srandom ; then
2201 elif test -r /dev/random ; then
2203 elif test -r /idev/random ; then
2207 if test $dev != no ; then
2208 AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device])
2212 dnl ----------------------------------------------------------------
2214 dnl Check for fetch URL support
2215 dnl should be extended to support other fetch URL APIs
2218 if test $ol_with_fetch != no ; then
2221 if test $ol_cv_lib_fetch != no ; then
2222 LIBS="$LIBS $ol_link_fetch"
2223 ol_link_fetch=freebsd
2225 elif test $ol_with_fetch != auto ; then
2226 AC_MSG_ERROR(no suitable API for --with-fetch=$ol_with_fetch)
2230 dnl ----------------------------------------------------------------
2231 dnl FreeBSD (and others) have crypt(3) in -lcrypt
2232 if test $ol_enable_crypt != no ; then
2234 LIBS="$TLS_LIBS $LIBS"
2236 AC_CHECK_FUNC(crypt, [have_crypt=yes], [
2238 AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
2239 have_crypt=yes], [have_crypt=no])])
2243 if test $have_crypt = yes ; then
2244 AC_DEFINE(HAVE_CRYPT,1, [define if crypt(3) is available])
2246 AC_MSG_WARN([could not find crypt])
2247 if test $ol_enable_crypt = yes ; then
2248 AC_MSG_ERROR([could not find crypt, select appropriate options or disable])
2251 AC_MSG_WARN([disabling crypt support])
2256 dnl ----------------------------------------------------------------
2257 dnl FreeBSD (and others) have setproctitle(3) in -lutil
2258 if test $ol_enable_proctitle != no ; then
2259 AC_CHECK_FUNC(setproctitle, [have_setproctitle=yes], [
2260 AC_CHECK_LIB(util, setproctitle,
2261 [have_setproctitle=yes
2262 LUTIL_LIBS="$LUTIL_LIBS -lutil"],
2263 [have_setproctitle=no
2264 AC_LIBOBJ(setproctitle)
2265 LIBSRCS="$LIBSRCS setproctitle.c"])])
2267 if test $have_setproctitle = yes ; then
2268 AC_DEFINE(HAVE_SETPROCTITLE,1,
2269 [define if setproctitle(3) is available])
2273 dnl ----------------------------------------------------------------
2274 if test $ol_enable_slp != no ; then
2275 AC_CHECK_HEADERS( slp.h )
2277 if test $ac_cv_header_slp_h = yes ; then
2278 AC_CHECK_LIB(slp, SLPOpen, [have_slp=yes], [have_slp=no])
2279 if test $have_slp = yes ; then
2280 AC_DEFINE(HAVE_SLP, 1, [define if you have -lslp])
2281 SLAPD_SLP_LIBS=-lslp
2284 elif test $ol_enable_slp = yes ; then
2285 AC_MSG_ERROR([SLP not found])
2289 dnl ----------------------------------------------------------------
2290 dnl Checks for typedefs, structures, and compiler characteristics.
2292 AC_CHECK_TYPE(mode_t, int)
2293 AC_CHECK_TYPE(off_t, long)
2294 AC_CHECK_TYPE(pid_t, int)
2295 AC_CHECK_TYPE(ssize_t, [signed int])
2296 AC_CHECK_TYPE(caddr_t, [char *])
2297 AC_CHECK_TYPE(size_t, unsigned)
2299 AC_CHECK_TYPES([long long])
2300 AC_CHECK_TYPES([ptrdiff_t])
2303 AC_CHECK_TYPE([socklen_t],,, [$ac_includes_default
2304 #ifdef HAVE_SYS_SOCKET_H
2305 #include <sys/socket.h>
2308 dnl socklen_t-like type in accept(), default socklen_t or int:
2309 dnl - The OS might define socklen_t without using it. POSIX moved from
2310 dnl int to size_t to socklen_t, hoping to stay at a 32-bit type, and
2311 dnl HP-UX now has selectors for what to use.
2312 dnl - On Solaris 2.8 the prototype has void *len, but the default is OK.
2313 AC_MSG_CHECKING([the type of arg 3 to accept()])
2314 AC_CACHE_VAL(ol_cv_type_ber_socklen_t, [
2315 set socklen_t int unsigned "unsigned long" long size_t
2316 test "$ac_cv_type_socklen_t" = yes || shift
2317 ol_cv_type_ber_socklen_t=$1 guessing="guessing "
2318 for lentype in "$@" ; do for addrtype in "struct sockaddr" void ; do
2319 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$ac_includes_default
2320 #ifdef HAVE_SYS_SOCKET_H
2321 #include <sys/socket.h>
2323 extern int accept(int s, $addrtype *ap, $lentype *lp);
2325 accept(0, (struct sockaddr *) 0, ($lentype *) 0);
2326 ])], [ol_cv_type_ber_socklen_t=$lentype guessing= ; break 2])
2328 AC_MSG_RESULT([$guessing$ol_cv_type_ber_socklen_t *])
2329 AC_DEFINE_UNQUOTED(ber_socklen_t, $ol_cv_type_ber_socklen_t,
2330 [Define to the type of arg 3 for `accept'.])
2332 dnl Modules should use ber_socklen_t, not socklen_t. Define socklen_t
2333 dnl for the time being anyway, for backwards compatibility.
2334 if test "$ac_cv_type_socklen_t" != yes; then
2335 AC_DEFINE_UNQUOTED([socklen_t], [$ol_cv_type_ber_socklen_t],
2336 [Define like ber_socklen_t if <sys/socket.h> does not define.])
2342 AC_CHECK_TYPE([sig_atomic_t],,
2343 [AC_DEFINE_UNQUOTED([sig_atomic_t], [int],
2344 [Define to `int' if <signal.h> does not define.])],
2345 [$ac_includes_default
2353 AC_CHECK_MEMBERS([struct stat.st_blksize])
2354 AC_CHECK_MEMBERS([struct passwd.pw_gecos],,,[$ac_includes_default
2356 AC_CHECK_MEMBERS([struct passwd.pw_passwd],,,[$ac_includes_default
2363 if test $cross_compiling = yes ; then
2364 AC_MSG_WARN([Crossing compiling... all bets are off!])
2365 AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
2370 AC_CHECK_SIZEOF(short)
2371 AC_CHECK_SIZEOF(int)
2372 AC_CHECK_SIZEOF(long)
2373 AC_CHECK_SIZEOF(long long)
2374 AC_CHECK_SIZEOF(wchar_t)
2376 if test "$ac_cv_sizeof_int" -lt 4 ; then
2377 AC_MSG_WARN([OpenLDAP requires 'int' to be 32 bits or greater.])
2379 AC_DEFINE(LBER_INT_T,long,[define to 32-bit or greater integer type])
2381 AC_DEFINE(LBER_INT_T,int,[define to 32-bit or greater integer type])
2384 AC_DEFINE(LBER_LEN_T,long,[define to large integer type])
2385 AC_DEFINE(LBER_SOCKET_T,int,[define to socket descriptor type])
2386 AC_DEFINE(LBER_TAG_T,long,[define to large integer type])
2388 dnl ----------------------------------------------------------------
2389 dnl Check for multiple precision support
2390 if test $ol_with_mp = longlong || test $ol_with_mp = auto ; then
2391 if test $ac_cv_sizeof_long_long -gt 4 ; then
2393 AC_DEFINE(USE_MP_LONG_LONG,1,[define to use 'long long' for MP])
2394 elif test $ol_with_mp = longlong ; then
2395 AC_MSG_ERROR([long long unusable for multiple precision])
2398 if test $ol_with_mp = long || test $ol_with_mp = auto ; then
2399 if test $ac_cv_sizeof_long -gt 4 ; then
2401 AC_DEFINE(USE_MP_LONG,1,[define to use 'long' for MP])
2402 elif test $ol_with_mp = long ; then
2403 AC_MSG_ERROR([long unusable for multiple precision])
2406 if test $ol_with_mp = bignum || test $ol_with_mp = auto ; then
2407 AC_CHECK_HEADERS(openssl/bn.h)
2408 AC_CHECK_HEADERS(openssl/crypto.h)
2409 if test "$ac_cv_header_openssl_bn_h" = "yes" &&
2410 test "$ac_cv_header_openssl_crypto_h" = "yes" &&
2411 test "$ol_with_tls" = "found" ; then
2413 AC_DEFINE(USE_MP_BIGNUM,1,[define to use OpenSSL BIGNUM for MP])
2414 elif test $ol_with_mp = bignum ; then
2415 AC_MSG_ERROR([bignum not available])
2418 if test $ol_with_mp = gmp || test $ol_with_mp = auto ; then
2419 AC_CHECK_HEADERS(gmp.h)
2420 AC_CHECK_LIB(gmp, __gmpz_add_ui)
2421 if test $ac_cv_header_gmp_h = yes && test $ac_cv_lib_gmp___gmpz_add_ui = yes ; then
2422 AC_DEFINE(USE_MP_GMP,1,[define to use GMP for MP])
2424 elif test $ol_with_mp = gmp ; then
2425 AC_MSG_ERROR([gmp not available])
2428 if test $ol_with_mp = auto ; then
2432 dnl ----------------------------------------------------------------
2433 dnl Checks for library functions.
2436 if test $ac_cv_func_memcmp_working = no ; then
2437 AC_DEFINE(NEED_MEMCMP_REPLACEMENT,1,
2438 [define if memcmp is not 8-bit clean or is otherwise broken])
2445 dnl Check for NT specific routines
2446 AC_CHECK_FUNC(_spawnlp, AC_DEFINE(HAVE_SPAWNLP,1,[if you have spawnlp()]))
2448 AC_CHECK_FUNC(_snprintf, [ac_cv_func_snprintf=yes
2449 AC_DEFINE(snprintf, _snprintf, [define to snprintf routine])
2452 AC_CHECK_FUNCS(vsnprintf _vsnprintf)
2454 if test $ac_cv_func_vsnprintf = no -a $ac_cv_func__vsnprintf = yes ; then
2455 ac_cv_func_vsnprintf=yes
2456 AC_DEFINE(vsnprintf, _vsnprintf, [define to vsnprintf routine])
2461 if test $ac_cv_func_vprintf = yes ; then
2462 dnl check for vsnprintf
2463 AC_CHECK_FUNCS(snprintf vsnprintf)
2525 dnl We actually may need to replace more than this.
2526 AC_REPLACE_FUNCS(getopt getpeereid)
2528 if test "$ac_cv_func_getopt" != yes; then
2529 LIBSRCS="$LIBSRCS getopt.c"
2532 if test "$ac_cv_func_getpeereid" != yes; then
2533 AC_CHECK_FUNCS( getpeerucred )
2534 if test "$ac_cv_func_getpeerucred" != yes ; then
2535 AC_CHECK_MEMBERS([struct msghdr.msg_accrightslen],,,
2536 [$ac_includes_default
2537 #ifdef HAVE_SYS_SOCKET_H
2538 #include <sys/socket.h>
2540 if test "$ac_cv_member_struct_msghdr_msg_accrightslen" != yes; then
2541 AC_CHECK_MEMBERS([struct msghdr.msg_control],,,
2542 [$ac_includes_default
2543 #ifdef HAVE_SYS_SOCKET_H
2544 #include <sys/socket.h>
2547 AC_CHECK_MEMBERS([struct stat.st_fstype, struct stat.st_vfstype])
2548 if test "$ac_cv_member_struct_stat_st_fstype" = yes; then
2549 AC_COMPILE_IFELSE([struct stat st; char *ptr=st.st_fstype;],
2550 AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_CHAR],1,[define to 1 if st_fstype is char *]),
2551 AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_INT],1,[define to 1 if st_fstype is int]))
2554 LIBSRCS="$LIBSRCS getpeereid.c"
2557 if test "$ac_cv_func_snprintf" != yes ||
2558 test "$ac_cv_func_vsnprintf" != yes; then
2559 if test "$ac_cv_func_snprintf" != yes; then
2560 AC_DEFINE(snprintf, ber_pvt_snprintf, [define to snprintf routine])
2562 if test "$ac_cv_func_vsnprintf" != yes; then
2563 AC_DEFINE(vsnprintf, ber_pvt_vsnprintf, [define to snprintf routine])
2567 dnl ----------------------------------------------------------------
2568 dnl Sort out defines
2570 if test "$ol_enable_slapi" != no ; then
2571 dnl This check is done also if --enable-modules is used;
2572 dnl it is duplicated here, 'cause it'd be cached anyway
2573 AC_CHECK_HEADERS(ltdl.h)
2575 if test $ac_cv_header_ltdl_h != yes ; then
2576 AC_MSG_ERROR([could not locate <ltdl.h>])
2578 AC_CHECK_LIB(ltdl, lt_dlinit, [
2580 LIBSLAPI=slapi/libslapi.la
2581 AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
2582 ],[AC_MSG_ERROR([could not locate libtool -lltdl])])
2584 AC_DEFINE(LDAP_SLAPI,1, [define this to add SLAPI code])
2587 if test "$ol_enable_debug" != no ; then
2588 if test "$ol_enable_debug" = traditional; then
2589 AC_DEFINE(OLD_DEBUG,1,
2590 [define to use the original debug style])
2592 AC_DEFINE(LDAP_DEBUG,1,
2593 [define this to add debugging code])
2595 if test "$ol_enable_syslog" = yes ; then
2596 AC_DEFINE(LDAP_SYSLOG,1,
2597 [define this to add syslog code])
2599 if test "$ol_enable_proctitle" != no ; then
2600 AC_DEFINE(LDAP_PROCTITLE,1,
2601 [define this for LDAP process title support])
2603 if test "$ol_enable_referrals" != no ; then
2604 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS,LDAP_VENDOR_VERSION,
2605 [define to LDAP VENDOR VERSION])
2607 if test "$ol_enable_local" != no; then
2608 AC_DEFINE(LDAP_PF_LOCAL,1,[define to support PF_LOCAL])
2610 if test "$ol_link_ipv6" != no; then
2611 AC_DEFINE(LDAP_PF_INET6,1,[define to support PF_INET6])
2613 if test "$ol_enable_cleartext" != no ; then
2614 AC_DEFINE(SLAPD_CLEARTEXT,1,[define to support cleartext passwords])
2616 if test "$ol_enable_crypt" != no ; then
2617 AC_DEFINE(SLAPD_CRYPT,1,[define to support crypt(3) passwords])
2619 if test "$ol_link_spasswd" != no ; then
2620 AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords])
2622 if test "$ol_enable_rlookups" != no ; then
2623 AC_DEFINE(SLAPD_RLOOKUPS,1,[define to support reverse lookups])
2625 if test "$ol_enable_aci" != no ; then
2626 if test $ol_enable_dynacl = no ; then
2627 ol_enable_dynacl=yes
2628 AC_MSG_WARN([ACIs need dynacl])
2630 if test "$ol_enable_aci" = mod ; then
2631 MFLAG=SLAPD_MOD_DYNAMIC
2632 dnl remove this after moving servers/slapd/aci.c in contrib/slapd-modules/acl
2633 AC_MSG_ERROR([ACI build as dynamic module not supported (yet)])
2635 MFLAG=SLAPD_MOD_STATIC
2637 WITH_ACI_ENABLED=$ol_enable_aci
2638 AC_DEFINE_UNQUOTED(SLAPD_ACI_ENABLED,$MFLAG,[define to support per-object ACIs])
2642 if test "$ol_enable_dynacl" != no ; then
2643 AC_DEFINE(SLAP_DYNACL,1,[define to support run-time loadable ACL])
2646 if test "$ol_link_modules" != no ; then
2647 AC_DEFINE(SLAPD_MODULES,1,[define to support modules])
2649 SLAPD_MODULES_LDFLAGS="-dlopen self"
2652 AC_DEFINE(SLAPD_MOD_STATIC,1,[statically linked module])
2653 AC_DEFINE(SLAPD_MOD_DYNAMIC,2,[dynamically linked module])
2655 dnl back-monitor goes first (well, after back-config)
2656 if test "$ol_enable_monitor" != no ; then
2658 BUILD_MONITOR=$ol_enable_monitor
2659 if test "$ol_enable_monitor" = mod ; then
2660 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-monitor"
2661 MFLAG=SLAPD_MOD_DYNAMIC
2663 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-monitor"
2664 MFLAG=SLAPD_MOD_STATIC
2666 AC_DEFINE_UNQUOTED(SLAPD_MONITOR,$MFLAG,[define to support cn=Monitor backend])
2669 if test "$ol_enable_bdb" != no ; then
2671 BUILD_BDB=$ol_enable_bdb
2672 if test "$ol_enable_bdb" = mod ; then
2673 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-bdb"
2674 MFLAG=SLAPD_MOD_DYNAMIC
2676 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-bdb"
2677 MFLAG=SLAPD_MOD_STATIC
2679 AC_DEFINE_UNQUOTED(SLAPD_BDB,$MFLAG,[define to support BDB backend])
2682 if test "$ol_enable_dnssrv" != no ; then
2684 BUILD_DNSSRV=$ol_enable_dnssrv
2685 if test "$ol_enable_dnssrv" = mod ; then
2686 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-dnssrv"
2687 MFLAG=SLAPD_MOD_DYNAMIC
2689 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-dnssrv"
2690 MFLAG=SLAPD_MOD_STATIC
2692 AC_DEFINE_UNQUOTED(SLAPD_DNSSRV,$MFLAG,[define to support DNS SRV backend])
2695 if test "$ol_enable_hdb" != no ; then
2697 BUILD_HDB=$ol_enable_hdb
2698 if test "$ol_enable_hdb" = mod ; then
2699 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-hdb"
2700 MFLAG=SLAPD_MOD_DYNAMIC
2702 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-hdb"
2703 MFLAG=SLAPD_MOD_STATIC
2705 AC_DEFINE_UNQUOTED(SLAPD_HDB,$MFLAG,[define to support HDB backend])
2708 if test "$ol_enable_ldap" != no ; then
2710 BUILD_LDAP=$ol_enable_ldap
2711 if test "$ol_enable_ldap" = mod ; then
2712 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldap"
2713 MFLAG=SLAPD_MOD_DYNAMIC
2715 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldap"
2716 MFLAG=SLAPD_MOD_STATIC
2718 AC_DEFINE_UNQUOTED(SLAPD_LDAP,$MFLAG,[define to support LDAP backend])
2721 if test "$ol_enable_mdb" != no ; then
2723 BUILD_MDB=$ol_enable_mdb
2724 if test "$ol_enable_mdb" = mod ; then
2725 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-mdb"
2726 MFLAG=SLAPD_MOD_DYNAMIC
2728 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-mdb"
2729 MFLAG=SLAPD_MOD_STATIC
2731 AC_DEFINE_UNQUOTED(SLAPD_MDB,$MFLAG,[define to support MDB backend])
2734 if test "$ol_enable_meta" != no ; then
2736 BUILD_META=$ol_enable_meta
2738 if test "$ol_enable_meta" = mod ; then
2739 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-meta"
2740 MFLAG=SLAPD_MOD_DYNAMIC
2742 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-meta"
2743 MFLAG=SLAPD_MOD_STATIC
2745 AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend])
2748 if test "$ol_enable_asyncmeta" != no ; then
2750 BUILD_ASYNCMETA=$ol_enable_asyncmeta
2752 if test "$ol_enable_asyncmeta" = mod ; then
2753 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-asyncmeta"
2754 MFLAG=SLAPD_MOD_DYNAMIC
2756 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-asyncmeta"
2757 MFLAG=SLAPD_MOD_STATIC
2759 AC_DEFINE_UNQUOTED(SLAPD_ASYNCMETA,$MFLAG,[define to support LDAP Async Metadirectory backend])
2762 if test "$ol_enable_ndb" != no ; then
2764 BUILD_NDB=$ol_enable_ndb
2765 if test "$ol_enable_ndb" = mod ; then
2766 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ndb"
2767 MFLAG=SLAPD_MOD_DYNAMIC
2769 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ndb"
2770 MFLAG=SLAPD_MOD_STATIC
2772 AC_DEFINE_UNQUOTED(SLAPD_NDB,$MFLAG,[define to support NDB backend])
2775 if test "$ol_enable_null" != no ; then
2777 BUILD_NULL=$ol_enable_null
2778 if test "$ol_enable_null" = mod ; then
2779 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-null"
2780 MFLAG=SLAPD_MOD_DYNAMIC
2782 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-null"
2783 MFLAG=SLAPD_MOD_STATIC
2785 AC_DEFINE_UNQUOTED(SLAPD_NULL,$MFLAG,[define to support NULL backend])
2788 if test "$ol_enable_passwd" != no ; then
2790 BUILD_PASSWD=$ol_enable_passwd
2791 if test "$ol_enable_passwd" = mod ; then
2792 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-passwd"
2793 MFLAG=SLAPD_MOD_DYNAMIC
2795 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-passwd"
2796 MFLAG=SLAPD_MOD_STATIC
2798 AC_DEFINE_UNQUOTED(SLAPD_PASSWD,$MFLAG,[define to support PASSWD backend])
2801 if test "$ol_link_perl" != no ; then
2803 BUILD_PERL=$ol_enable_perl
2804 if test "$ol_enable_perl" = mod ; then
2805 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-perl"
2806 MFLAG=SLAPD_MOD_DYNAMIC
2808 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-perl"
2809 MFLAG=SLAPD_MOD_STATIC
2811 AC_DEFINE_UNQUOTED(SLAPD_PERL,$MFLAG,[define to support PERL backend])
2814 if test "$ol_enable_relay" != no ; then
2816 BUILD_RELAY=$ol_enable_relay
2817 if test "$ol_enable_relay" = mod ; then
2818 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-relay"
2819 MFLAG=SLAPD_MOD_DYNAMIC
2821 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-relay"
2822 MFLAG=SLAPD_MOD_STATIC
2824 AC_DEFINE_UNQUOTED(SLAPD_RELAY,$MFLAG,[define to support relay backend])
2827 if test "$ol_enable_shell" != no ; then
2828 if test "$ol_link_threads" != no ; then
2829 AC_MSG_WARN([Use of --without-threads is recommended with back-shell])
2832 BUILD_SHELL=$ol_enable_shell
2833 if test "$ol_enable_shell" = mod ; then
2834 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-shell"
2835 MFLAG=SLAPD_MOD_DYNAMIC
2837 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-shell"
2838 MFLAG=SLAPD_MOD_STATIC
2840 AC_DEFINE_UNQUOTED(SLAPD_SHELL,$MFLAG,[define to support SHELL backend])
2843 if test "$ol_enable_sock" != no ; then
2845 BUILD_SOCK=$ol_enable_sock
2846 if test "$ol_enable_sock" = mod ; then
2847 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sock"
2848 MFLAG=SLAPD_MOD_DYNAMIC
2850 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sock"
2851 MFLAG=SLAPD_MOD_STATIC
2853 AC_DEFINE_UNQUOTED(SLAPD_SOCK,$MFLAG,[define to support SOCK backend])
2856 if test "$ol_link_sql" != no ; then
2858 BUILD_SQL=$ol_enable_sql
2859 if test "$ol_enable_sql" = mod; then
2860 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sql"
2861 MFLAG=SLAPD_MOD_DYNAMIC
2863 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sql"
2864 MFLAG=SLAPD_MOD_STATIC
2866 AC_DEFINE_UNQUOTED(SLAPD_SQL,$MFLAG,[define to support SQL backend])
2869 if test "$ol_link_wt" != no ; then
2871 BUILD_WT=$ol_enable_wt
2872 if test "$ol_enable_wt" = mod; then
2873 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-wt"
2874 MFLAG=SLAPD_MOD_DYNAMIC
2876 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-wt"
2877 MFLAG=SLAPD_MOD_STATIC
2879 AC_DEFINE_UNQUOTED(SLAPD_WT,$MFLAG,[define to support WiredTiger backend])
2882 if test "$ol_enable_accesslog" != no ; then
2883 BUILD_ACCESSLOG=$ol_enable_accesslog
2884 if test "$ol_enable_accesslog" = mod ; then
2885 MFLAG=SLAPD_MOD_DYNAMIC
2886 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS accesslog.la"
2888 MFLAG=SLAPD_MOD_STATIC
2889 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS accesslog.o"
2891 AC_DEFINE_UNQUOTED(SLAPD_OVER_ACCESSLOG,$MFLAG,[define for In-Directory Access Logging overlay])
2894 if test "$ol_enable_auditlog" != no ; then
2895 BUILD_AUDITLOG=$ol_enable_auditlog
2896 if test "$ol_enable_auditlog" = mod ; then
2897 MFLAG=SLAPD_MOD_DYNAMIC
2898 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS auditlog.la"
2900 MFLAG=SLAPD_MOD_STATIC
2901 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS auditlog.o"
2903 AC_DEFINE_UNQUOTED(SLAPD_OVER_AUDITLOG,$MFLAG,[define for Audit Logging overlay])
2906 if test "$ol_enable_collect" != no ; then
2907 BUILD_COLLECT=$ol_enable_collect
2908 if test "$ol_enable_collect" = mod ; then
2909 MFLAG=SLAPD_MOD_DYNAMIC
2910 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS collect.la"
2912 MFLAG=SLAPD_MOD_STATIC
2913 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS collect.o"
2915 AC_DEFINE_UNQUOTED(SLAPD_OVER_COLLECT,$MFLAG,[define for Collect overlay])
2918 if test "$ol_enable_constraint" != no ; then
2919 BUILD_CONSTRAINT=$ol_enable_constraint
2920 if test "$ol_enable_constraint" = mod ; then
2921 MFLAG=SLAPD_MOD_DYNAMIC
2922 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS constraint.la"
2924 MFLAG=SLAPD_MOD_STATIC
2925 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS constraint.o"
2927 AC_DEFINE_UNQUOTED(SLAPD_OVER_CONSTRAINT,$MFLAG,[define for Attribute Constraint overlay])
2930 if test "$ol_enable_dds" != no ; then
2931 BUILD_DDS=$ol_enable_dds
2932 if test "$ol_enable_dds" = mod ; then
2933 MFLAG=SLAPD_MOD_DYNAMIC
2934 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dds.la"
2936 MFLAG=SLAPD_MOD_STATIC
2937 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dds.o"
2939 AC_DEFINE_UNQUOTED(SLAPD_OVER_DDS,$MFLAG,[define for Dynamic Directory Services overlay])
2942 if test "$ol_enable_deref" != no ; then
2943 BUILD_DEREF=$ol_enable_deref
2944 if test "$ol_enable_deref" = mod ; then
2945 MFLAG=SLAPD_MOD_DYNAMIC
2946 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS deref.la"
2948 MFLAG=SLAPD_MOD_STATIC
2949 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS deref.o"
2951 AC_DEFINE_UNQUOTED(SLAPD_OVER_DEREF,$MFLAG,[define for Dynamic Directory Services overlay])
2954 if test "$ol_enable_dyngroup" != no ; then
2955 BUILD_DYNGROUP=$ol_enable_dyngroup
2956 if test "$ol_enable_dyngroup" = mod ; then
2957 MFLAG=SLAPD_MOD_DYNAMIC
2958 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dyngroup.la"
2960 MFLAG=SLAPD_MOD_STATIC
2961 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dyngroup.o"
2963 AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group overlay])
2966 if test "$ol_enable_dynlist" != no ; then
2967 BUILD_DYNLIST=$ol_enable_dynlist
2968 if test "$ol_enable_dynlist" = mod ; then
2969 MFLAG=SLAPD_MOD_DYNAMIC
2970 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dynlist.la"
2972 MFLAG=SLAPD_MOD_STATIC
2973 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dynlist.o"
2975 AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNLIST,$MFLAG,[define for Dynamic List overlay])
2978 if test "$ol_enable_memberof" != no ; then
2979 BUILD_MEMBEROF=$ol_enable_memberof
2980 if test "$ol_enable_memberof" = mod ; then
2981 MFLAG=SLAPD_MOD_DYNAMIC
2982 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS memberof.la"
2984 MFLAG=SLAPD_MOD_STATIC
2985 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS memberof.o"
2987 AC_DEFINE_UNQUOTED(SLAPD_OVER_MEMBEROF,$MFLAG,[define for Reverse Group Membership overlay])
2990 if test "$ol_enable_ppolicy" != no ; then
2991 BUILD_PPOLICY=$ol_enable_ppolicy
2992 if test "$ol_enable_ppolicy" = mod ; then
2993 MFLAG=SLAPD_MOD_DYNAMIC
2994 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS ppolicy.la"
2996 MFLAG=SLAPD_MOD_STATIC
2997 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS ppolicy.o"
2999 AC_DEFINE_UNQUOTED(SLAPD_OVER_PPOLICY,$MFLAG,[define for Password Policy overlay])
3002 if test "$ol_enable_proxycache" != no ; then
3003 BUILD_PROXYCACHE=$ol_enable_proxycache
3004 if test "$ol_enable_proxycache" = mod ; then
3005 MFLAG=SLAPD_MOD_DYNAMIC
3006 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS pcache.la"
3008 MFLAG=SLAPD_MOD_STATIC
3009 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS pcache.o"
3011 AC_DEFINE_UNQUOTED(SLAPD_OVER_PROXYCACHE,$MFLAG,[define for Proxy Cache overlay])
3014 if test "$ol_enable_refint" != no ; then
3015 BUILD_REFINT=$ol_enable_refint
3016 if test "$ol_enable_refint" = mod ; then
3017 MFLAG=SLAPD_MOD_DYNAMIC
3018 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS refint.la"
3020 MFLAG=SLAPD_MOD_STATIC
3021 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS refint.o"
3023 AC_DEFINE_UNQUOTED(SLAPD_OVER_REFINT,$MFLAG,[define for Referential Integrity overlay])
3026 if test "$ol_enable_retcode" != no ; then
3027 BUILD_RETCODE=$ol_enable_retcode
3028 if test "$ol_enable_retcode" = mod ; then
3029 MFLAG=SLAPD_MOD_DYNAMIC
3030 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS retcode.la"
3032 MFLAG=SLAPD_MOD_STATIC
3033 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS retcode.o"
3035 AC_DEFINE_UNQUOTED(SLAPD_OVER_RETCODE,$MFLAG,[define for Referential Integrity overlay])
3038 if test "$ol_enable_rwm" != no ; then
3040 BUILD_RWM=$ol_enable_rwm
3041 if test "$ol_enable_rwm" = mod ; then
3042 MFLAG=SLAPD_MOD_DYNAMIC
3043 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS rwm.la"
3045 MFLAG=SLAPD_MOD_STATIC
3046 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS rwm_x.o"
3048 AC_DEFINE_UNQUOTED(SLAPD_OVER_RWM,$MFLAG,[define for Rewrite/Remap overlay])
3051 if test "$ol_enable_seqmod" != no ; then
3052 BUILD_SEQMOD=$ol_enable_seqmod
3053 if test "$ol_enable_seqmod" = mod ; then
3054 MFLAG=SLAPD_MOD_DYNAMIC
3055 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS seqmod.la"
3057 MFLAG=SLAPD_MOD_STATIC
3058 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS seqmod.o"
3060 AC_DEFINE_UNQUOTED(SLAPD_OVER_SEQMOD,$MFLAG,[define for Sequential Modify overlay])
3063 if test "$ol_enable_sssvlv" != no ; then
3064 BUILD_SSSVLV=$ol_enable_sssvlv
3065 if test "$ol_enable_sssvlv" = mod ; then
3066 MFLAG=SLAPD_MOD_DYNAMIC
3067 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS sssvlv.la"
3069 MFLAG=SLAPD_MOD_STATIC
3070 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS sssvlv.o"
3072 AC_DEFINE_UNQUOTED(SLAPD_OVER_SSSVLV,$MFLAG,[define for ServerSideSort/VLV overlay])
3075 if test "$ol_enable_syncprov" != no ; then
3076 BUILD_SYNCPROV=$ol_enable_syncprov
3077 if test "$ol_enable_syncprov" = mod ; then
3078 MFLAG=SLAPD_MOD_DYNAMIC
3079 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS syncprov.la"
3081 MFLAG=SLAPD_MOD_STATIC
3082 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS syncprov.o"
3084 AC_DEFINE_UNQUOTED(SLAPD_OVER_SYNCPROV,$MFLAG,[define for Syncrepl Provider overlay])
3087 if test "$ol_enable_translucent" != no ; then
3088 BUILD_TRANSLUCENT=$ol_enable_translucent
3089 if test "$ol_enable_translucent" = mod ; then
3090 MFLAG=SLAPD_MOD_DYNAMIC
3091 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS translucent.la"
3093 MFLAG=SLAPD_MOD_STATIC
3094 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS translucent.o"
3096 AC_DEFINE_UNQUOTED(SLAPD_OVER_TRANSLUCENT,$MFLAG,[define for Translucent Proxy overlay])
3099 if test "$ol_enable_unique" != no ; then
3100 BUILD_UNIQUE=$ol_enable_unique
3101 if test "$ol_enable_unique" = mod ; then
3102 MFLAG=SLAPD_MOD_DYNAMIC
3103 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS unique.la"
3105 MFLAG=SLAPD_MOD_STATIC
3106 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS unique.o"
3108 AC_DEFINE_UNQUOTED(SLAPD_OVER_UNIQUE,$MFLAG,[define for Attribute Uniqueness overlay])
3111 if test "$ol_enable_valsort" != no ; then
3112 BUILD_VALSORT=$ol_enable_valsort
3113 if test "$ol_enable_valsort" = mod ; then
3114 MFLAG=SLAPD_MOD_DYNAMIC
3115 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS valsort.la"
3117 MFLAG=SLAPD_MOD_STATIC
3118 SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS valsort.o"
3120 AC_DEFINE_UNQUOTED(SLAPD_OVER_VALSORT,$MFLAG,[define for Value Sorting overlay])
3123 if test "$ol_enable_rewrite" != no ; then
3124 AC_DEFINE(ENABLE_REWRITE,1,[define to enable rewriting in back-ldap and back-meta])
3128 if test "$ol_enable_slapi" != no ; then
3129 AC_DEFINE(ENABLE_SLAPI,1,[define to enable slapi library])
3131 SLAPD_SLAPI_DEPEND=libslapi.a
3134 dnl ----------------------------------------------------------------
3137 dnl For Windows build, we don't want to include -dlopen flags.
3138 dnl They hurt more than they help.
3141 if test "$ac_cv_mingw32" = yes -o $ol_cv_msvc = yes ; then
3143 SLAPD_MODULES_LDFLAGS=
3152 AC_SUBST(WITH_MODULES_ENABLED)
3153 AC_SUBST(WITH_ACI_ENABLED)
3154 AC_SUBST(BUILD_THREAD)
3155 AC_SUBST(BUILD_LIBS_DYNAMIC)
3157 AC_SUBST(BUILD_SLAPD)
3159 AC_SUBST(BUILD_SLAPI)
3160 AC_SUBST(SLAPD_SLAPI_DEPEND)
3163 AC_SUBST(BUILD_DNSSRV)
3165 AC_SUBST(BUILD_LDAP)
3167 AC_SUBST(BUILD_META)
3168 AC_SUBST(BUILD_ASYNCMETA)
3169 AC_SUBST(BUILD_MONITOR)
3171 AC_SUBST(BUILD_NULL)
3172 AC_SUBST(BUILD_PASSWD)
3173 AC_SUBST(BUILD_RELAY)
3174 AC_SUBST(BUILD_PERL)
3175 AC_SUBST(BUILD_SHELL)
3176 AC_SUBST(BUILD_SOCK)
3180 AC_SUBST(BUILD_ACCESSLOG)
3181 AC_SUBST(BUILD_AUDITLOG)
3182 AC_SUBST(BUILD_COLLECT)
3183 AC_SUBST(BUILD_CONSTRAINT)
3185 AC_SUBST(BUILD_DENYOP)
3186 AC_SUBST(BUILD_DEREF)
3187 AC_SUBST(BUILD_DYNGROUP)
3188 AC_SUBST(BUILD_DYNLIST)
3189 AC_SUBST(BUILD_LASTMOD)
3190 AC_SUBST(BUILD_MEMBEROF)
3191 AC_SUBST(BUILD_PPOLICY)
3192 AC_SUBST(BUILD_PROXYCACHE)
3193 AC_SUBST(BUILD_REFINT)
3194 AC_SUBST(BUILD_RETCODE)
3196 AC_SUBST(BUILD_SEQMOD)
3197 AC_SUBST(BUILD_SSSVLV)
3198 AC_SUBST(BUILD_SYNCPROV)
3199 AC_SUBST(BUILD_TRANSLUCENT)
3200 AC_SUBST(BUILD_UNIQUE)
3201 AC_SUBST(BUILD_VALSORT)
3204 AC_SUBST(SLAPD_LIBS)
3206 AC_SUBST(SLAPD_NDB_LIBS)
3207 AC_SUBST(SLAPD_NDB_INCS)
3208 AC_SUBST(LTHREAD_LIBS)
3209 AC_SUBST(LUTIL_LIBS)
3212 AC_SUBST(SLAPD_MODULES_CPPFLAGS)
3213 AC_SUBST(SLAPD_MODULES_LDFLAGS)
3215 AC_SUBST(SLAPD_NO_STATIC)
3216 AC_SUBST(SLAPD_STATIC_BACKENDS)
3217 AC_SUBST(SLAPD_DYNAMIC_BACKENDS)
3218 AC_SUBST(SLAPD_STATIC_OVERLAYS)
3219 AC_SUBST(SLAPD_DYNAMIC_OVERLAYS)
3221 AC_SUBST(PERL_CPPFLAGS)
3222 AC_SUBST(SLAPD_PERL_LDFLAGS)
3223 AC_SUBST(MOD_PERL_LDFLAGS)
3229 AC_SUBST(MODULES_LIBS)
3230 AC_SUBST(SLAPI_LIBS)
3235 AC_SUBST(SLAPD_SLP_LIBS)
3236 AC_SUBST(SLAPD_GMP_LIBS)
3238 AC_SUBST(SLAPD_SQL_LDFLAGS)
3239 AC_SUBST(SLAPD_SQL_LIBS)
3240 AC_SUBST(SLAPD_SQL_INCLUDES)
3245 dnl ----------------------------------------------------------------
3246 dnl final help output
3247 AC_ARG_WITH(xxinstall,[
3248 See INSTALL file for further details.])
3250 dnl ----------------------------------------------------------------
3254 AC_CONFIG_FILES([Makefile:build/top.mk:Makefile.in:build/dir.mk]
3255 [doc/Makefile:build/top.mk:doc/Makefile.in:build/dir.mk]
3256 [doc/man/Makefile:build/top.mk:doc/man/Makefile.in:build/dir.mk]
3257 [doc/man/man1/Makefile:build/top.mk:doc/man/man1/Makefile.in:build/man.mk]
3258 [doc/man/man3/Makefile:build/top.mk:doc/man/man3/Makefile.in:build/man.mk]
3259 [doc/man/man5/Makefile:build/top.mk:doc/man/man5/Makefile.in:build/man.mk]
3260 [doc/man/man8/Makefile:build/top.mk:doc/man/man8/Makefile.in:build/man.mk]
3261 [clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.mk]
3262 [clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk]
3263 [include/Makefile:build/top.mk:include/Makefile.in]
3264 [libraries/Makefile:build/top.mk:libraries/Makefile.in:build/dir.mk]
3265 [libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk:build/lib-shared.mk]
3266 [libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk:build/lib-shared.mk]
3267 [libraries/libldap_r/Makefile:build/top.mk:libraries/libldap_r/Makefile.in:build/lib.mk:build/lib-shared.mk]
3268 [libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk]
3269 [libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk]
3270 [libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-static.mk]
3271 [servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk]
3272 [servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk]
3273 [servers/slapd/back-bdb/Makefile:build/top.mk:servers/slapd/back-bdb/Makefile.in:build/mod.mk]
3274 [servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk]
3275 [servers/slapd/back-hdb/Makefile:build/top.mk:servers/slapd/back-hdb/Makefile.in:build/mod.mk]
3276 [servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/mod.mk]
3277 [servers/slapd/back-ldif/Makefile:build/top.mk:servers/slapd/back-ldif/Makefile.in:build/mod.mk]
3278 [servers/slapd/back-mdb/Makefile:build/top.mk:servers/slapd/back-mdb/Makefile.in:build/mod.mk]
3279 [servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk]
3280 [servers/slapd/back-asyncmeta/Makefile:build/top.mk:servers/slapd/back-asyncmeta/Makefile.in:build/mod.mk]
3281 [servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk]
3282 [servers/slapd/back-ndb/Makefile:build/top.mk:servers/slapd/back-ndb/Makefile.in:build/mod.mk]
3283 [servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/Makefile.in:build/mod.mk]
3284 [servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk]
3285 [servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk]
3286 [servers/slapd/back-relay/Makefile:build/top.mk:servers/slapd/back-relay/Makefile.in:build/mod.mk]
3287 [servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk]
3288 [servers/slapd/back-sock/Makefile:build/top.mk:servers/slapd/back-sock/Makefile.in:build/mod.mk]
3289 [servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk]
3290 [servers/slapd/back-wt/Makefile:build/top.mk:servers/slapd/back-wt/Makefile.in:build/mod.mk]
3291 [servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk]
3292 [servers/slapd/slapi/Makefile:build/top.mk:servers/slapd/slapi/Makefile.in:build/lib.mk:build/lib-shared.mk]
3293 [servers/slapd/overlays/Makefile:build/top.mk:servers/slapd/overlays/Makefile.in:build/lib.mk]
3294 [tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk]
3296 [tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk])
3298 AC_CONFIG_COMMANDS([default],[[
3301 BACKENDSC="servers/slapd/backends.c"
3302 echo "Making $BACKENDSC"
3304 cat > $BACKENDSC << ENDX
3305 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
3307 * Copyright 1998-2016 The OpenLDAP Foundation.
3308 * All rights reserved.
3310 * Redistribution and use in source and binary forms, with or without
3311 * modification, are permitted only as authorized by the OpenLDAP
3314 * A copy of this license is available in the file LICENSE in the
3315 * top-level directory of the distribution or, alternatively, at
3316 * <http://www.OpenLDAP.org/license.html>.
3318 /* This file is automatically generated by configure; please do not edit. */
3320 #include "portable.h"
3324 if test "${STATIC_BACKENDS}"; then
3325 for b in config ${STATIC_BACKENDS}; do
3326 bb=`echo "${b}" | sed -e 's/back-//'`
3327 cat >> $BACKENDSC << ENDX
3328 extern BI_init ${bb}_back_initialize;
3332 cat >> $BACKENDSC << ENDX
3334 BackendInfo slap_binfo[] = {
3337 for b in config ${STATIC_BACKENDS}; do
3338 bb=`echo "${b}" | sed -e 's/back-//'`
3339 echo " Add ${bb} ..."
3340 cat >> $BACKENDSC << ENDX
3341 { "${bb}", ${bb}_back_initialize },
3345 cat >> $BACKENDSC << ENDX
3349 /* end of generated file */
3352 OVERLAYSC="servers/slapd/overlays/statover.c"
3353 echo "Making $OVERLAYSC"
3355 cat > $OVERLAYSC << ENDX
3356 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
3358 * Copyright 1998-2016 The OpenLDAP Foundation.
3359 * All rights reserved.
3361 * Redistribution and use in source and binary forms, with or without
3362 * modification, are permitted only as authorized by the OpenLDAP
3365 * A copy of this license is available in the file LICENSE in the
3366 * top-level directory of the distribution or, alternatively, at
3367 * <http://www.OpenLDAP.org/license.html>.
3369 /* This file is automatically generated by configure; please do not edit. */
3371 #include "portable.h"
3375 if test "${STATIC_OVERLAYS}"; then
3376 for o in ${STATIC_OVERLAYS}; do
3377 oo=`echo "${o}" | sed -e 's/.o$//' -e 's/_x$//'`
3378 cat >> $OVERLAYSC << ENDX
3379 extern OV_init ${oo}_initialize;
3384 cat >> $OVERLAYSC << ENDX
3386 OverlayInit slap_oinfo[] = {
3389 if test "${STATIC_OVERLAYS}"; then
3390 for o in ${STATIC_OVERLAYS}; do
3391 oo=`echo "${o}" | sed -e 's/.o$//' -e 's/_x$//'`
3392 echo " Add ${oo} ..."
3393 cat >> $OVERLAYSC << ENDX
3394 { "${oo}", ${oo}_initialize },
3399 cat >> $OVERLAYSC << ENDX
3403 /* end of generated file */
3406 if test "${ol_cv_mkdep}" = no; then
3407 echo '(Do not "make depend"; we do not know how to build dependencies)'
3409 echo 'Please run "make depend" to build dependencies'
3412 STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS"
3413 STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS"