2 dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
4 dnl Copyright 1998-2004 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 ----------------------------------------------------------------
17 dnl Redefine AC_INIT_BINSH to provide RCS IDs and copyright notice
18 dnl at top of generated configure script. Prints simple copyright.
19 define([AC_INIT_BINSH],
22 # from] translit([$OpenLDAP$], $")] [
24 # This work is part of OpenLDAP Software <http://www.openldap.org/>.
26 # Copyright 1998-2004 The OpenLDAP Foundation.
27 # All rights reserved.
29 # Redistribution and use in source and binary forms, with or without
30 # modification, are permitted only as authorized by the OpenLDAP
33 # A copy of this license is available in the file LICENSE in the
34 # top-level directory of the distribution or, alternatively, at
35 # <http://www.OpenLDAP.org/license.html>.
37 echo "Copyright 1998-2004 The OpenLDAP Foundation. All rights reserved."
38 echo " Restrictions apply, see COPYRIGHT and LICENSE files."
40 dnl ----------------------------------------------------------------
41 dnl Disable config.cache!
42 define([AC_CACHE_LOAD], )dnl
43 define([AC_CACHE_SAVE], )dnl
44 dnl ================================================================
45 dnl Configure.in for OpenLDAP
46 AC_INIT(build/version.sh)dnl
48 # set unset (borrowed from autoconf 2.49c)
49 if (OL_FOO=OL_FOO; unset OL_FOO) >/dev/null 2>&1; then
55 $ol_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
57 AC_CONFIG_AUX_DIR(build)dnl
59 eval `$ac_aux_dir/version.sh`
60 if test -z "$OL_STRING"; then
61 AC_MSG_ERROR([could not determine version])
64 if test -f "$ac_aux_dir/shtool" -a ! -d $ac_aux_dir/shtool; then
65 ac_cv_shtool="$ac_aux_dir/shtool"
67 AC_MSG_ERROR([no shtool found in $ac_aux_dir])
70 SHTOOL="$ac_cv_shtool"
71 dnl AC_SUBST(SHTOOL)dnl
73 TB="`$SHTOOL echo -e '%B' 2>/dev/null`"
74 TN="`$SHTOOL echo -e '%b' 2>/dev/null`"
77 if test -d $ac_aux_dir/CVS; then
78 OPENLDAP_CVS="(from CVS sources) "
81 echo "Configuring ${TB}${OL_STRING}${TN} ${OPENLDAP_CVS}..."
83 dnl Determine host platform
84 dnl we try not to use this for much
87 AM_INIT_AUTOMAKE([$OL_PACKAGE],[$OL_VERSION], [no defines])dnl
90 AC_DEFINE_UNQUOTED(OPENLDAP_PACKAGE,"$PACKAGE",Package)
91 AC_DEFINE_UNQUOTED(OPENLDAP_VERSION,"$VERSION",Version)
93 AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION,$OL_API_INC,Version)
94 AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_MAJOR,$OL_MAJOR,Major)
95 AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_MINOR,$OL_MINOR,Minor)
96 AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_PATCH,$OL_PATCH,Patch)
98 OPENLDAP_LIBRELEASE=$OL_API_LIB_RELEASE
99 AC_SUBST(OPENLDAP_LIBRELEASE)dnl
101 OPENLDAP_LIBVERSION=$OL_API_LIB_VERSION
102 AC_SUBST(OPENLDAP_LIBVERSION)dnl
104 OPENLDAP_RELEASE_DATE="$OL_RELEASE_DATE"
105 AC_SUBST(OPENLDAP_RELEASE_DATE)dnl
107 dnl We use autoconf features new to 2.13. Later versions like won't work.
108 dnl aclocal.m4 should be built using aclocal from automake 1.4
109 dnl libtool 1.4.3 should be installed.
110 AC_PREREQ(2.13)dnl Required Autoconf version
112 AC_CONFIG_HEADER(include/portable.h include/ldap_features.h include/lber_types.h)dnl
114 dnl ================================================================
116 AC_MSG_CHECKING(configure arguments)
117 AC_PREFIX_DEFAULT(/usr/local)
120 AC_SUBST(top_builddir)dnl
122 dnl ----------------------------------------------------------------
124 ldap_subdir="/openldap"
127 [ --with-subdir=DIR change default subdirectory used for installs],
134 ldap_subdir="$withval"
137 ldap_subdir="/$withval"
142 AC_SUBST(ldap_subdir)dnl
144 dnl ----------------------------------------------------------------
145 dnl General "enable" options
146 OL_ARG_ENABLE(debug,[ --enable-debug enable debugging], yes)dnl
147 OL_ARG_ENABLE(dynamic,[ --enable-dynamic enable linking built binaries with dynamic libs], no)dnl
148 OL_ARG_ENABLE(syslog,[ --enable-syslog enable syslog support], auto)dnl
149 OL_ARG_ENABLE(proctitle,[ --enable-proctitle enable proctitle support], yes)dnl
150 dnl OL_ARG_ENABLE(referrals,[ --enable-referrals enable LDAPv2+ Referrals (experimental)], no)dnl
151 ol_enable_referrals=${ol_enable_referrals-no}
152 dnl OL_ARG_ENABLE(kbind,[ --enable-kbind enable LDAPv2+ Kerberos IV bind (deprecated)], no)dnl
153 ol_enable_kbind=${ol_enable_kbind-no}
154 OL_ARG_ENABLE(ipv6,[ --enable-ipv6 enable IPv6 support], auto)dnl
155 OL_ARG_ENABLE(local,[ --enable-local enable AF_LOCAL (AF_UNIX) socket support], auto)dnl
157 dnl ----------------------------------------------------------------
158 dnl General "with" options
159 dnl OL_ARG_ENABLE(dmalloc,[ --enable-dmalloc enable debug malloc support], no)dnl
161 OL_ARG_WITH(cyrus_sasl,[ --with-cyrus-sasl with Cyrus SASL support],
162 auto, [auto yes no] )
163 OL_ARG_WITH(fetch,[ --with-fetch with fetch(3) URL support],
164 auto, [auto yes no] )
165 dnl OL_ARG_WITH(kerberos,[ --with-kerberos with Kerberos support],
166 dnl auto, [auto k5 k5only k425 kth k4 afs yes no])
167 ol_with_kerberos=${ol_with_kerberos-auto}
168 OL_ARG_WITH(threads,[ --with-threads with threads],
169 auto, [auto nt posix mach pth lwp yes no manual] )
170 OL_ARG_WITH(tls,[ --with-tls with TLS/SSL support],
171 auto, [auto ssleay openssl yes no] )
172 OL_ARG_WITH(yielding_select,[ --with-yielding-select with implicitly yielding select],
173 auto, [auto yes no manual] )
175 dnl ----------------------------------------------------------------
177 dnl ----------------------------------------------------------------
179 dnl ----------------------------------------------------------------
181 AC_ARG_WITH(xxslapdoptions,[
182 SLAPD (Standalone LDAP Daemon) Options:])
183 OL_ARG_ENABLE(slapd,[ --enable-slapd enable building slapd], yes)dnl
184 OL_ARG_ENABLE(aci,[ --enable-aci enable per-object ACIs (experimental)], no)dnl
185 OL_ARG_ENABLE(cleartext,[ --enable-cleartext enable cleartext passwords], yes)dnl
186 OL_ARG_ENABLE(crypt,[ --enable-crypt enable crypt(3) passwords], no)dnl
187 OL_ARG_ENABLE(lmpasswd,[ --enable-lmpasswd enable LAN Manager passwords], no)dnl
188 OL_ARG_ENABLE(spasswd,[ --enable-spasswd enable (Cyrus) SASL password verification], no)dnl
189 OL_ARG_ENABLE(modules,[ --enable-modules enable dynamic module support], no)dnl
190 dnl OL_ARG_ENABLE(multimaster,[ --enable-multimaster enable multimaster replication], no)dnl
191 ol_enable_multimaster=${ol_enable_multimaster-no}
192 OL_ARG_ENABLE(rewrite,[ --enable-rewrite enable DN rewriting in back-ldap and the rwm overlay], auto)dnl
193 OL_ARG_ENABLE(rlookups,[ --enable-rlookups enable reverse lookups of client hostnames], no)dnl
194 OL_ARG_ENABLE(slapi,[ --enable-slapi enable SLAPI support (experimental)], no)dnl
195 OL_ARG_ENABLE(slp,[ --enable-slp enable SLPv2 support], no)dnl
196 OL_ARG_ENABLE(wrappers,[ --enable-wrappers enable tcp wrapper support], no)dnl
198 dnl ----------------------------------------------------------------
199 dnl SLAPD Backend Options
200 Backends="bdb dnssrv hdb ldap ldbm meta monitor null \
201 passwd perl relay shell sql"
203 AC_ARG_WITH(xxslapbackends,[
204 SLAPD Backend Options:])
206 OL_ARG_ENABLE(backends,[ --enable-backends enable all available backends no|yes|mod], no, [no yes mod])dnl
207 OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend no|yes|mod], yes, [no yes mod])dnl
208 OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend no|yes|mod], no, [no yes mod])dnl
209 OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend no|yes|mod], no, [no yes mod])dnl
210 OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend no|yes|mod], no, [no yes mod])dnl
211 OL_ARG_ENABLE(ldbm,[ --enable-ldbm enable ldbm backend no|yes|mod], no, [no yes mod])dnl
212 OL_ARG_WITH(ldbm_api,[ --with-ldbm-api with LDBM API auto|berkeley|bcompat|mdbm|gdbm], auto,
213 [auto berkeley bcompat mdbm gdbm])
214 OL_ARG_WITH(ldbm_type,[ --with-ldbm-type use LDBM type auto|btree|hash], auto,
216 OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend no|yes|mod], no, [no yes mod])dnl
217 OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend no|yes|mod], yes, [no yes mod])dnl
218 OL_ARG_ENABLE(null,[ --enable-null enable null backend no|yes|mod], no, [no yes mod])dnl
219 OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend no|yes|mod], no, [no yes mod])dnl
220 OL_ARG_ENABLE(perl,[ --enable-perl enable perl backend no|yes|mod], no, [no yes mod])dnl
221 OL_ARG_ENABLE(relay,[ --enable-relay enable relay backend no|yes|mod], yes, [no yes mod])dnl
222 OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend no|yes|mod], no, [no yes mod])dnl
223 OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend no|yes|mod], no, [no yes mod])dnl
225 dnl ----------------------------------------------------------------
226 dnl SLAPD Overlay Options
227 Overlays="chain denyop dyngroup lastmod ppolicy proxycache rwm \
230 AC_ARG_WITH(xxslapoverlays,[
231 SLAPD Overlay Options:])
233 OL_ARG_ENABLE(overlays,[ --enable-overlays enable all available overlays no|yes|mod], no, [no yes mod])dnl
234 OL_ARG_ENABLE(chain,[ --enable-chain LDAP Chain Response no|yes|mod], no,
236 OL_ARG_ENABLE(denyop,[ --enable-denyop Deny Operation overlay no|yes|mod], no,
238 OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay no|yes|mod], no,
240 OL_ARG_ENABLE(lastmod,[ --enable-lastmod Last Modification overlay no|yes|mod], no,
242 OL_ARG_ENABLE(ppolicy,[ --enable-ppolicy Password Policy overlay no|yes|mod], no,
244 OL_ARG_ENABLE(proxycache,[ --enable-proxycache Proxy Cache overlay no|yes|mod], no,
246 OL_ARG_ENABLE(refint,[ --enable-refint Referential Integrity overlay no|yes|mod], no,
248 OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay no|yes|mod], no,
250 OL_ARG_ENABLE(unique,[ --enable-unique Attribute Uniqueness overlay no|yes|mod], no,
254 dnl ----------------------------------------------------------------
256 AC_ARG_WITH(xxslurpdoptions,[
257 SLURPD (Replication Daemon) Options:])
258 OL_ARG_ENABLE(slurpd,[ --enable-slurpd enable building slurpd], auto)dnl
260 dnl ----------------------------------------------------------------
261 AC_ARG_WITH(xxliboptions,[
262 Library Generation & Linking Options])
266 dnl ----------------------------------------------------------------
268 dnl General "enable" options
269 # Activate any backends that were not explicitly enabled.
270 # Note that back_bdb defaults to "yes" so this loop won't touch it.
271 if test $ol_enable_backends != no ; then
272 for i in $Backends; do
273 eval "ol_tmp=\$ol_enable_$i"
274 if test $ol_tmp = no ; then
275 eval "ol_enable_$i=$ol_enable_backends"
279 # Activate the overlays
280 if test $ol_enable_overlays != no ; then
281 for i in $Overlays; do
282 eval "ol_tmp=\$ol_enable_$i"
283 if test $ol_tmp = no ; then
284 eval "ol_enable_$i=$ol_enable_overlays"
290 if test $ol_enable_slapd = no ; then
291 dnl SLAPD was specificallly disabled
292 if test $ol_enable_slapi = yes ; then
293 AC_MSG_WARN([slapd disabled, ignoring --enable-slapi argument])
295 if test $ol_enable_backends != no ; then
296 AC_MSG_WARN([slapd disabled, ignoring --enable-backends argument])
298 for i in $Backends; do
299 eval "ol_tmp=\$ol_enable_$i"
300 if test $ol_tmp != no ; then
301 AC_MSG_WARN([slapd disabled, ignoring --enable-$i argument])
302 eval "ol_enable_$i=no"
305 if test $ol_enable_modules = yes ; then
306 AC_MSG_WARN([slapd disabled, ignoring --enable-modules argument])
308 if test $ol_enable_multimaster = yes ; then
309 AC_MSG_WARN([slapd disabled, ignoring --enable-multimaster argument])
311 if test $ol_enable_wrappers = yes ; then
312 AC_MSG_WARN([slapd disabled, ignoring --enable-wrappers argument])
314 if test $ol_enable_rlookups = yes ; then
315 AC_MSG_WARN([slapd disabled, ignoring --enable-rlookups argument])
317 if test $ol_enable_aci = yes ; then
318 AC_MSG_WARN([slapd disabled, ignoring --enable-aci argument])
320 if test $ol_with_ldbm_api != auto ; then
321 AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-api argument])
323 if test $ol_with_ldbm_type != auto ; then
324 AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-type argument])
326 if test $ol_enable_slurpd = yes ; then
327 AC_MSG_ERROR([slurpd requires slapd])
329 if test $ol_enable_rewrite = yes ; then
330 AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument])
333 if test $ol_enable_overlays != no ; then
334 AC_MSG_WARN([slapd disabled, ignoring --enable-overlays argument])
336 for i in $Overlays; do
337 eval "ol_tmp=\$ol_enable_$i"
338 if test $ol_tmp != no ; then
339 AC_MSG_WARN([slapd disabled, ignoring --enable-$i argument])
340 eval "ol_enable_$i=no"
344 # force settings to no
347 ol_enable_backends=no
348 ol_enable_overlays=no
350 ol_enable_multimaster=no
351 ol_enable_rlookups=no
353 ol_enable_wrappers=no
362 elif test $ol_enable_ldbm = no ; then
363 dnl SLAPD without LDBM
365 if test $ol_with_ldbm_api != auto ; then
366 AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-api argument])
369 if test $ol_with_ldbm_type != auto ; then
370 AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-type argument])
373 if test $ol_enable_modules != yes -a \
374 $ol_enable_bdb = no -a \
375 $ol_enable_dnssrv = no -a \
376 $ol_enable_hdb = no -a \
377 $ol_enable_ldap = no -a \
378 $ol_enable_meta = no -a \
379 $ol_enable_monitor = no -a \
380 $ol_enable_null = no -a \
381 $ol_enable_passwd = no -a \
382 $ol_enable_perl = no -a \
383 $ol_enable_relay = no -a \
384 $ol_enable_shell = no -a \
385 $ol_enable_sql = no ; then
387 if test $ol_enable_slapd = yes ; then
388 AC_MSG_ERROR([slapd requires a backend])
390 AC_MSG_WARN([skipping slapd, no backend specified])
398 if test $ol_enable_bdb != no -o $ol_enable_hdb != no; then
399 ol_with_ldbm_api=berkeley
404 if test $ol_with_ldbm_api = gdbm -a \
405 $ol_with_ldbm_type = btree ; then
406 AC_MSG_ERROR([GDBM only supports LDBM type hash])
408 if test $ol_with_ldbm_api = mdbm -a \
409 $ol_with_ldbm_type = btree ; then
410 AC_MSG_ERROR([MDBM only supports LDBM type hash])
412 if test $ol_with_ldbm_api = ndbm -a \
413 $ol_with_ldbm_type = btree ; then
414 AC_MSG_ERROR([NDBM only supports LDBM type hash])
417 if test $ol_enable_bdb != no -o $ol_enable_hdb != no ; then
418 if test $ol_with_ldbm_api = auto ; then
419 ol_with_ldbm_api=berkeley
420 elif test $ol_with_ldbm_api != berkeley ; then
421 AC_MSG_ERROR([LDBM API not compatible with BDB/HDB])
426 if test $ol_enable_chain != no -a $ol_enable_ldap = no ; then
427 AC_MSG_ERROR([--enable-chain requires --enable-ldap])
430 if test $ol_enable_meta = yes -a $ol_enable_ldap = no ; then
431 AC_MSG_ERROR([--enable-meta requires --enable-ldap])
434 if test $ol_enable_slurpd = yes ; then
435 dnl SLURPD was specifically enabled
436 if test $ol_with_threads = no ; then
437 AC_MSG_ERROR([slurpd requires threads])
441 if test $ol_enable_lmpasswd = yes ; then
442 if test $ol_with_tls = no ; then
443 AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
447 if test $ol_enable_kbind = yes ; then
448 if test $ol_with_kerberos = no ; then
449 AC_MSG_ERROR([options require --with-kerberos])
450 elif test $ol_with_kerberos = auto ; then
454 elif test $ol_enable_kbind = no ; then
455 if test $ol_with_kerberos = auto ; then
457 elif test $ol_with_kerberos != no ; then
458 AC_MSG_WARN([Kerberos detection enabled unnecessarily]);
463 if test $ol_enable_spasswd = yes ; then
464 if test $ol_with_cyrus_sasl = no ; then
465 AC_MSG_ERROR([options require --with-cyrus-sasl])
467 ol_with_cyrus_sasl=yes
472 dnl ----------------------------------------------------------------
514 SLAPD_DYNAMIC_OVERLAYS=
516 SLAPD_MODULES_LDFLAGS=
517 SLAPD_MODULES_CPPFLAGS=
519 SLAPD_STATIC_BACKENDS=
520 SLAPD_DYNAMIC_BACKENDS=
542 dnl ================================================================
543 dnl Checks for programs
547 AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion])
549 dnl ----------------------------------------------------------------
551 dnl Determine which C translator to use
554 dnl AIX Thread requires we use cc_r or xlc_r.
555 dnl But only do this IF AIX and CC is not set
556 dnl and threads are auto|yes|posix.
558 dnl If we find cc_r|xlc_r, force pthreads and assume
559 dnl pthread_create is in $LIBS (ie: don't bring in
560 dnl any additional thread libraries)
561 dnl If we do not find cc_r|xlc_r, disable threads
565 *-*-aix*) dnl all AIX is not a good idea.
566 if test -z "$CC" ; then
567 case "$ol_with_threads" in
568 auto | yes | posix) ol_aix_threads=yes ;;
574 if test $ol_aix_threads = yes ; then
575 if test -z "${CC}" ; then
576 AC_CHECK_PROGS(CC,cc_r xlc_r cc)
578 if test "$CC" = cc ; then
579 dnl no CC! don't allow --with-threads
580 if test $ol_with_threads != auto ; then
581 AC_MSG_ERROR([--with-threads requires cc_r (or other suitable compiler) on AIX])
583 AC_MSG_WARN([disabling threads, no cc_r on AIX])
589 if test "${CC}" = "cc_r" -o "${CC}" = "xlc_r" ; then
590 ol_with_threads=posix
591 ol_cv_pthread_create=yes
595 if test -z "${CC}"; then
596 AC_CHECK_PROGS(CC,cc gcc,missing)
598 if test "${CC}" = "missing" ; then
599 AC_MSG_ERROR([Unable to locate cc(1) or suitable replacement. Check PATH or set CC.])
603 if test -z "${AR}"; then
604 AC_CHECK_PROGS(AR,ar gar,missing)
606 if test "${AR}" = "missing" ; then
607 AC_MSG_ERROR([Unable to locate ar(1) or suitable replacement. Check PATH or set AR.])
618 dnl ----------------------------------------------------------------
621 if test $ol_enable_perl != no ; then
622 AC_PATH_PROG(PERLBIN, perl, /usr/bin/perl)
624 if test "no$PERLBIN" = "no" ; then
625 if test $ol_enable_perl = yes ; then
626 AC_MSG_ERROR([could not locate perl])
630 PERL_CPPFLAGS="`$PERLBIN -MExtUtils::Embed -e ccopts`"
631 PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e 's/ -lc / /' -e 's/ -lc$//'`"
633 if test x"$ol_enable_perl" = "xyes" ; then
634 SLAPD_PERL_LDFLAGS="$PERL_LDFLAGS"
636 MOD_PERL_LDFLAGS="$PERL_LDFLAGS"
638 dnl should check perl version
645 dnl ----------------------------------------------------------------
646 dnl Checks for UNIX Variants
651 dnl ----------------------------------------------------------------
652 dnl Checks for system services
658 AC_DEFINE_UNQUOTED(EXEEXT, "${EXEEXT}", [defined to be the EXE extension])
660 dnl ----------------------------------------------------------------
661 dnl BeOS requires -lbe -lroot -lnet
662 AC_CHECK_LIB(be, be_app, [LIBS="$LIBS -lbe -lroot -lnet"], :, [-lroot -lnet])
664 dnl ----------------------------------------------------------------
665 dnl OpenLDAP requires STDC features
667 if test "X${am_cv_prog_cc_stdc}" = "Xno" ; then
668 AC_MSG_ERROR([OpenLDAP requires compiler to support STDC constructs.])
671 dnl ----------------------------------------------------------------
672 dnl Check cc depend flags
674 if test "${ol_cv_mkdep}" = no ; then
675 # this will soon become an error
676 AC_MSG_WARN([do not know how to generate dependencies])
679 dnl ----------------------------------------------------------------
680 dnl Check for AIX security library
681 AC_CHECK_LIB(s, afopen, [
683 AC_DEFINE(HAVE_AIX_SECURITY,1,[define if you have AIX security lib])
686 dnl ----------------------------------------------------------------
687 dnl Check for IBM OS/390
691 AC_DEFINE(BOTH_STRINGS_H,1,[define to use both <string.h> and <strings.h>])
695 dnl ----------------------------------------------------------------
696 dnl Check for module support
698 if test $ol_enable_modules != no ; then
699 AC_CHECK_HEADERS(ltdl.h)
701 if test $ac_cv_header_ltdl_h = no ; then
702 AC_MSG_ERROR([could not locate libtool ltdl.h])
705 AC_CHECK_LIB(ltdl, lt_dlinit, [
707 AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
710 if test "$ac_cv_lib_ltdl_lt_dlinit" = no ; then
711 AC_MSG_ERROR([could not locate libtool -lltdl])
716 for i in $Backends; do
717 eval "ol_tmp=\$ol_enable_$i"
718 if test $ol_tmp = mod ; then
719 AC_MSG_WARN([building static $i backend])
720 eval "ol_enable_$i=yes"
723 for i in $Overlays; do
724 eval "ol_tmp=\$ol_enable_$i"
725 if test $ol_tmp = mod ; then
726 AC_MSG_WARN([building static $i overlay])
727 eval "ol_enable_$i=yes"
732 dnl ----------------------------------------------------------------
733 dnl Checks for header files.
736 if test $ol_cv_header_stdc != yes; then
737 AC_MSG_WARN([could not locate Standard C compliant headers])
742 AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
743 if test $am_cv_sys_posix_termios = yes ; then
744 AC_DEFINE(HAVE_POSIX_TERMIOS,1,
745 [define if you have POSIX termios])
800 dnl ----------------------------------------------------------------
801 dnl Checks for libraries
803 dnl HP-UX requires -lV3
804 dnl this is not needed on newer versions of HP-UX
805 AC_CHECK_LIB(V3, sigset)
807 dnl The following is INTENTIONALLY scripted out because shell does not
808 dnl support variable names with the '@' character, which is what
809 dnl autoconf would try to generate if one merely used AC_SEARCH_LIBS
810 if test "$ac_cv_header_winsock_h" = yes; then
811 AC_CACHE_CHECK([for winsock], [ol_cv_winsock],
813 for curlib in ws2_32 wsock32; do
814 LIBS="$LIBS -l$curlib"
815 AC_TRY_LINK([#include <winsock.h>
819 select(0,NULL,NULL,NULL,NULL);
823 ol_cv_winsock=yes, ol_cv_winsock=no)
825 if test $ol_cv_winsock = yes; then
826 AC_DEFINE(HAVE_WINSOCK, 1, [define if you have winsock])
827 ac_cv_func_socket=yes
828 ac_cv_func_select=yes
829 ac_cv_func_closesocket=yes
830 ac_cv_func_gethostname=yes
831 if test $curlib = ws2_32; then
832 ol_cv_winsock=winsock2
833 AC_DEFINE(HAVE_WINSOCK2, 1,
834 [define if you have winsock2])
843 dnl Likely combinations:
844 dnl -lsocket [ -lnsl_s | -lnsl ]
847 AC_CHECK_FUNC(socket, :, [
848 dnl hopefully we won't include too many libraries
849 AC_CHECK_LIB(socket, main)
850 AC_CHECK_LIB(net, main)
851 AC_CHECK_LIB(nsl_s, main)
852 AC_CHECK_LIB(nsl, main)
853 AC_CHECK_LIB(inet, socket)
854 AC_CHECK_LIB(gen, main)
858 AC_CHECK_FUNC(select, :, AC_MSG_ERROR([select() required.]))
860 if test "${ac_cv_header_winsock_h}" != yes; then
862 dnl (if this detection becomes permenent, it and the select() detection
863 dnl should be done before the yielding select test)
864 AC_FUNC_SELECT_ARGTYPES
867 dnl check to see if system call automatically restart
868 dnl AC_SYS_RESTARTABLE_SYSCALLS
870 dnl ----------------------------------------------------------------
871 dnl require POSIX regex
872 AC_CHECK_HEADERS( regex.h )
873 if test "$ac_cv_header_regex_h" != yes ; then
874 AC_MSG_ERROR([POSIX regex.h required.])
876 AC_SEARCH_LIBS(regfree, [regex gnuregex],
877 :, AC_MSG_ERROR([POSIX regex required.]))
880 if test "$ol_cv_c_posix_regex" = no ; then
881 AC_MSG_ERROR([broken POSIX regex!])
884 dnl ----------------------------------------------------------------
888 AC_CHECK_HEADERS(sys/uuid.h)
889 if test $ac_cv_header_sys_uuid_h = yes ; then
891 AC_SEARCH_LIBS(uuid_to_str, uuid, [have_uuid=yes], :)
894 if test have_uuid = yes ; then
895 AC_DEFINE(HAVE_UUID_TO_STR,1,
896 [define if you have uuid_to_str()])
898 test "$ac_cv_search_uuid_to_str" = "none required" || \
899 SLAPD_LIBS="$SLAPD_LIBS $ac_cv_search_uuid_to_str"
903 dnl For windows, check for the need of RPCRT for UUID function support
904 if test $have_uuid = no ; then
905 AC_MSG_CHECKING(to see if -lrpcrt4 is needed for win32 UUID support)
907 LIBS="$LIBS -lrpcrt4"
909 int __stdcall UuidCreate(void *);
910 int __stdcall UuidToStringA(void *,void **);
916 need_rpcrt=yes, need_rpcrt=no)
917 if test $need_rpcrt = yes; then
918 SLAPD_LIBS="$SLAPD_LIBS -lrpcrt4"
921 AC_MSG_RESULT($need_rpcrt)
924 dnl ----------------------------------------------------------------
925 dnl Check for resolver routines
926 dnl need to check for both res_query and __res_query
927 dnl need to check -lc, -lbind, and -lresolv
929 AC_CHECK_FUNC(res_query,:)
930 if test $ac_cv_func_res_query = no ; then
931 AC_CHECK_FUNC(__res_query,:)
932 ac_cv_func_res_query=$ac_cv_func___res_query
935 if test $ac_cv_func_res_query = no ; then
936 AC_CHECK_LIB(bind, res_query)
937 ac_cv_func_res_query=$ac_cv_lib_bind_res_query
940 if test $ac_cv_func_res_query = no ; then
941 AC_CHECK_LIB(bind, __res_query)
942 ac_cv_func_res_query=$ac_cv_lib_bind___res_query
945 if test $ac_cv_func_res_query = no ; then
946 AC_CHECK_LIB(resolv, res_query)
947 ac_cv_func_res_query=$ac_cv_lib_resolv_res_query
950 if test $ac_cv_func_res_query = no ; then
951 AC_CHECK_LIB(resolv, __res_query)
952 ac_cv_func_res_query=$ac_cv_lib_resolv___res_query
955 if test "$ac_cv_func_res_query" = yes ; then
956 AC_DEFINE(HAVE_RES_QUERY,1,
957 [define if you have res_query()])
959 if test $ol_enable_dnssrv != no ; then
964 if test "$ol_enable_dnssrv" != no -a "$ol_link_dnssrv" = no ; then
965 AC_MSG_ERROR([DNSSRV requires res_query()])
968 dnl ----------------------------------------------------------------
969 dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN
970 dnl PF_LOCAL may use getaddrinfo in available
971 AC_CHECK_FUNCS( getaddrinfo getnameinfo gai_strerror inet_ntop )
974 if test $ac_cv_func_getaddrinfo = no -o $ac_cv_func_inet_ntop = no ; then
975 if test $ol_enable_ipv6 = yes ; then
976 AC_MSG_ERROR([IPv6 support requires getaddrinfo() and inet_ntop()])
978 elif test $ol_enable_ipv6 != no ; then
979 AC_CACHE_CHECK([INET6_ADDRSTRLEN],[ol_cv_inet6_addrstrlen],[
980 AC_EGREP_CPP(__has_inet6_addrstrlen__,[
981 # include <netinet/in.h>
982 # ifdef INET6_ADDRSTRLEN
983 __has_inet6_addrstrlen__;
985 ], [ol_cv_inet6_addrstrlen=yes], [ol_cv_inet6_addrstrlen=no])])
988 AC_CACHE_CHECK([struct sockaddr_storage],ol_cv_struct_sockaddr_storage,[
990 #include <sys/types.h>
991 #include <sys/socket.h>
993 struct sockaddr_storage ss;
994 ], [ol_cv_struct_sockaddr_storage=yes],
995 [ol_cv_struct_sockaddr_storage=no])])
997 if test $ol_cv_inet6_addrstrlen = yes \
998 -a $ol_cv_struct_sockaddr_storage = yes ; then
1000 elif test $ol_enable_ipv6 = yes \
1001 -a $ol_cv_inet6_addrstrlen = no ; then
1002 AC_MSG_ERROR([IPv6 support requires INET6_ADDRSTRLEN])
1003 elif test $ol_enable_ipv6 = yes \
1004 -a $ol_cv_struct_sockaddr_storage = no ; then
1005 AC_MSG_ERROR([IPv6 support requires struct sockaddr_storage])
1009 if test $ol_enable_local != no ; then
1010 AC_CHECK_HEADERS( sys/un.h )
1012 if test $ol_enable_local = auto ; then
1013 ol_enable_local=$ac_cv_header_sys_un_h
1014 elif test $ac_cv_header_sys_un_h = no ; then
1015 AC_MSG_ERROR([AF_LOCAL domain support requires sys/un.h])
1019 dnl ----------------------------------------------------------------
1025 if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
1026 -o $ol_with_kerberos = k5 -o $ol_with_kerberos = k5only \
1027 -o $ol_with_kerberos = k425 ; then
1029 AC_CHECK_HEADERS(krb5.h)
1031 if test $ac_cv_header_krb5_h = yes ; then
1032 dnl lazy check for Heimdal Kerberos
1033 AC_CHECK_HEADERS(heim_err.h)
1034 if test $ac_cv_header_heim_err_h = yes ; then
1040 if test $krb5_impl = mit; then
1041 AC_CHECK_LIB(k5crypto, main,
1042 [krb5crypto=k5crypto],
1043 [krb5crypto=crypto])
1045 AC_CHECK_LIB(krb5, main,
1047 KRB5_LIBS="-lkrb5 -l$krb5crypto -lcom_err"],
1049 [-l$krb5crypto -lcom_err])
1051 elif test $krb5_impl = heimdal; then
1052 AC_CHECK_LIB(des, main,
1054 [krb5crypto=crypto])
1056 AC_CHECK_LIB(krb5, main,
1058 KRB5_LIBS="-lkrb5 -l$krb5crypto -lasn1 -lroken -lcom_err"],
1060 [-l$krb5crypto -lasn1 -lroken -lcom_err])
1062 AC_DEFINE(HAVE_HEIMDAL_KERBEROS, 1,
1063 [define if you have HEIMDAL Kerberos])
1067 AC_MSG_WARN([Unrecognized Kerberos5 Implementation])
1070 if test $have_krb5 = yes ; then
1073 AC_DEFINE(HAVE_KRB5, 1,
1074 [define if you have Kerberos V])
1076 if test $ol_with_kerberos = k5only ; then
1077 ol_with_kerberos=found
1080 elif test $ol_with_kerberos != auto ; then
1081 AC_MSG_ERROR([Required Kerberos 5 support not available])
1087 if test $ol_link_krb5 = yes -a \( $ol_with_kerberos = yes -o \
1088 $ol_with_kerberos = auto -o $ol_with_kerberos = k425 \) ; then
1090 AC_CHECK_HEADERS(kerberosIV/krb.h kerberosIV/des.h)
1092 if test $ac_cv_header_kerberosIV_krb_h = yes ; then
1093 if test $krb5_impl = mit; then
1094 AC_CHECK_LIB(krb4, main, [have_k425=yes
1095 KRB4_LIBS="-lkrb4 -ldes425"], [have_k425=no],
1096 [-ldes425 -lkrb5 -l$krb5crypto -lcom_err])
1098 elif test $krb5_impl = heimdal; then
1099 AC_CHECK_LIB(krb4, main, [have_k425=yes
1100 KRB4_LIBS="-lkrb4"], [have_k425=no],
1101 [-lkrb5 -l$krb5crypto -lasn1 -lroken -lcom_err])
1105 AC_MSG_WARN([Unrecongized Kerberos V Implementation])
1108 if test $have_k425 = yes ; then
1109 ol_with_kerberos=found
1112 AC_DEFINE(HAVE_KRB425, 1,
1113 [define if you have Kerberos V with IV support])
1114 AC_DEFINE(HAVE_KRB4, 1,
1115 [define if you have Kerberos IV])
1117 AC_CACHE_CHECK([for des_debug in Kerberos libraries],
1118 [ol_cv_var_des_debug], [
1121 LIBS="$KRB4_LIBS $KRB5_LIBS $LIBS"
1123 #include <kerberosIV/krb.h>
1124 #include <kerberosIV/des.h>
1125 extern int des_debug;
1128 ], ol_cv_var_des_debug=yes, ol_cv_var_des_debug=no)
1129 dnl restore the LIBS
1133 if test $ol_cv_var_des_debug = yes ; then
1134 AC_DEFINE(HAVE_DES_DEBUG,1,
1135 [define if you have Kerberos des_debug])
1143 if test $ol_link_krb5 = yes ; then
1144 ol_with_kerberos=found
1147 if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
1148 -o $ol_with_kerberos = k4 -o $ol_with_kerberos = kth ; then
1150 AC_CHECK_HEADERS(krb.h des.h krb-archaeology.h )
1152 if test $ac_cv_header_krb_h = yes ; then
1153 AC_CHECK_LIB(krb, main, [have_k4=yes], [have_k4=no], [-ldes])
1155 if test $have_k4 = yes ; then
1156 ol_with_kerberos=found
1159 AC_DEFINE(HAVE_KRB4, 1,
1160 [define if you have Kerberos IV])
1162 KRB4_LIBS="-lkrb -ldes"
1164 if test $ac_cv_header_krb_archaeology_h = yes ; then
1165 AC_DEFINE(HAVE_KTH_KERBEROS, 1,
1166 [define if you have Kth Kerberos])
1172 if test $ol_link_krb4 = yes -a $ol_enable_kbind != no ; then
1175 elif test $ol_enable_kbind = yes ; then
1176 AC_MSG_ERROR([Kerberos IV detection failed])
1179 if test $ol_link_krb4 = yes -o $ol_link_krb5 = yes ; then
1180 AC_DEFINE(HAVE_KERBEROS, 1, [define if you have Kerberos])
1182 elif test $ol_with_kerberos != auto -a $ol_with_kerberos != no ; then
1183 AC_MSG_ERROR([Kerberos detection failed])
1186 dnl ----------------------------------------------------------------
1189 if test $ol_with_tls != no ; then
1190 AC_CHECK_HEADERS(openssl/ssl.h ssl.h)
1192 if test $ac_cv_header_openssl_ssl_h = yes \
1193 -o $ac_cv_header_ssl_h = yes ; then
1194 AC_CHECK_LIB(ssl, SSLeay_add_ssl_algorithms,
1200 if test $have_ssleay = no ; then
1201 AC_CHECK_LIB(ssl, SSL_library_init,
1203 need_rsaref=no], [have_ssleay=no],
1207 if test $have_ssleay = no ; then
1208 AC_CHECK_LIB(ssl, ssl3_accept,
1210 need_rsaref=yes], [have_ssleay=no],
1211 [-lcrypto -lRSAglue -lrsaref])
1214 if test $have_ssleay = yes ; then
1218 AC_DEFINE(HAVE_SSLEAY, 1,
1219 [define if you have SSLeay or OpenSSL])
1221 if test $need_rsaref = yes; then
1222 AC_DEFINE(HAVE_RSAREF, 1,
1223 [define if you have RSAref])
1225 TLS_LIBS="-lssl -lcrypto -lRSAglue -lrsaref"
1227 TLS_LIBS="-lssl -lcrypto"
1233 AC_WARN([TLS data protection not supported!])
1237 if test $ol_link_tls = yes ; then
1238 AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
1241 elif test $ol_with_tls = auto ; then
1242 AC_WARN([Could not locate TLS/SSL package])
1243 AC_WARN([TLS data protection not supported!])
1245 elif test $ol_with_tls != no ; then
1246 AC_ERROR([Could not locate TLS/SSL package])
1249 dnl ----------------------------------------------------------------
1250 dnl LAN Manger password checking requires DES from OpenSSL
1251 if test $ol_enable_lmpasswd != no; then
1252 if test $ol_link_tls != yes ; then
1253 AC_ERROR([LAN Manager passwords require OpenSSL])
1256 AC_DEFINE(SLAPD_LMHASH, 1, [define to support LAN Manager passwords])
1259 dnl ----------------------------------------------------------------
1263 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1264 -o $ol_with_threads = nt ; then
1268 if test "$ol_cv_nt_threads" = yes ; then
1270 ol_with_threads=found
1271 ol_with_yielding_select=yes
1273 AC_DEFINE(HAVE_NT_SERVICE_MANAGER,1,[if you have NT Service Manager])
1274 AC_DEFINE(HAVE_NT_EVENT_LOG,1,[if you have NT Event Log])
1277 if test $ol_with_threads = nt ; then
1278 AC_MSG_ERROR([could not locate NT Threads])
1282 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1283 -o $ol_with_threads = posix ; then
1285 AC_CHECK_HEADERS(pthread.h)
1287 if test $ac_cv_header_pthread_h = yes ; then
1288 OL_POSIX_THREAD_VERSION
1290 if test $ol_cv_pthread_version != 0 ; then
1291 AC_DEFINE_UNQUOTED(HAVE_PTHREADS,$ol_cv_pthread_version,
1292 [define to pthreads API spec revision])
1294 AC_MSG_ERROR([unknown pthread version])
1297 # consider threads found
1298 ol_with_threads=found
1300 OL_HEADER_LINUX_THREADS
1301 OL_HEADER_GNU_PTH_PTHREAD_H
1303 if test $ol_cv_header_gnu_pth_pthread_h = no ; then
1304 AC_CHECK_HEADERS(sched.h)
1307 dnl Now the hard part, how to link?
1309 dnl currently supported checks:
1311 dnl Check for no flags
1312 dnl pthread_create() in $LIBS
1314 dnl Check special pthread (final) flags
1315 dnl [skipped] pthread_create() with -mt (Solaris) [disabled]
1316 dnl pthread_create() with -kthread (FreeBSD)
1317 dnl pthread_create() with -pthread (FreeBSD/Digital Unix)
1318 dnl pthread_create() with -pthreads (?)
1319 dnl pthread_create() with -mthreads (AIX)
1320 dnl pthread_create() with -thread (?)
1322 dnl Check pthread (final) libraries
1323 dnl pthread_mutex_unlock() in -lpthread -lmach -lexc -lc_r (OSF/1)
1324 dnl pthread_mutex_lock() in -lpthread -lmach -lexc (OSF/1)
1325 dnl [skipped] pthread_mutex_trylock() in -lpthread -lexc (OSF/1)
1326 dnl pthread_join() -Wl,-woff,85 -lpthread (IRIX)
1327 dnl pthread_create() in -lpthread (many)
1328 dnl pthread_create() in -lc_r (FreeBSD)
1330 dnl Check pthread (draft4) flags (depreciated)
1331 dnl pthread_create() with -threads (OSF/1)
1333 dnl Check pthread (draft4) libraries (depreciated)
1334 dnl pthread_mutex_unlock() in -lpthreads -lmach -lexc -lc_r (OSF/1)
1335 dnl pthread_mutex_lock() in -lpthreads -lmach -lexc (OSF/1)
1336 dnl pthread_mutex_trylock() in -lpthreads -lexc (OSF/1)
1337 dnl pthread_create() in -lpthreads (many)
1340 dnl pthread_create in $LIBS
1341 AC_CACHE_CHECK([for pthread_create in default libraries],
1342 ol_cv_pthread_create,[
1343 AC_TRY_RUN(OL_PTHREAD_TEST_PROGRAM,
1344 [ol_cv_pthread_create=yes],
1345 [ol_cv_pthread_create=no],
1346 [AC_TRY_LINK(OL_PTHREAD_TEST_INCLUDES,OL_PTHREAD_TEST_FUNCTION,
1347 [ol_cv_pthread_create=yes],
1348 [ol_cv_pthread_create=no])])])
1350 if test $ol_cv_pthread_create != no ; then
1351 ol_link_threads=posix
1355 dnl OL_PTHREAD_TRY([-mt], [ol_cv_pthread_mt])
1356 OL_PTHREAD_TRY([-kthread], [ol_cv_pthread_kthread])
1357 OL_PTHREAD_TRY([-pthread], [ol_cv_pthread_pthread])
1358 OL_PTHREAD_TRY([-pthreads], [ol_cv_pthread_pthreads])
1359 OL_PTHREAD_TRY([-mthreads], [ol_cv_pthread_mthreads])
1360 OL_PTHREAD_TRY([-thread], [ol_cv_pthread_thread])
1362 OL_PTHREAD_TRY([-lpthread -lmach -lexc -lc_r],
1363 [ol_cv_pthread_lpthread_lmach_lexc_lc_r])
1364 OL_PTHREAD_TRY([-lpthread -lmach -lexc],
1365 [ol_cv_pthread_lpthread_lmach_lexc])
1366 dnl OL_PTHREAD_TRY([-lpthread -lexc],
1367 dnl [ol_cv_pthread_lpthread_lexc])
1369 OL_PTHREAD_TRY([-lpthread -Wl,-woff,85],
1370 [ol_cv_pthread_lib_lpthread_woff])
1372 OL_PTHREAD_TRY([-lpthread], [ol_cv_pthread_lpthread])
1373 OL_PTHREAD_TRY([-lc_r], [ol_cv_pthread_lc_r])
1375 OL_PTHREAD_TRY([-threads], [ol_cv_pthread_threads])
1377 OL_PTHREAD_TRY([-lpthreads -lmach -lexc -lc_r],
1378 [ol_cv_pthread_lpthreads_lmach_lexc_lc_r])
1379 OL_PTHREAD_TRY([-lpthreads -lmach -lexc],
1380 [ol_cv_pthread_lpthreads_lmach_lexc])
1381 OL_PTHREAD_TRY([-lpthreads -lexc],
1382 [ol_cv_pthread_lpthreads_lexc])
1384 OL_PTHREAD_TRY([-lpthreads],[ol_cv_pthread_lib_lpthreads])
1386 if test $ol_link_threads != no ; then
1387 LTHREAD_LIBS="$LTHREAD_LIBS $ol_link_pthreads"
1390 save_CPPFLAGS="$CPPFLAGS"
1392 LIBS="$LTHREAD_LIBS $LIBS"
1394 dnl All POSIX Thread (final) implementations should have
1395 dnl sched_yield instead of pthread yield.
1396 dnl check for both, and thr_yield for Solaris
1397 AC_CHECK_FUNCS(sched_yield pthread_yield thr_yield)
1399 if test $ac_cv_func_sched_yield = no -a \
1400 $ac_cv_func_pthread_yield = no -a \
1401 $ac_cv_func_thr_yield = no ; then
1402 dnl Digital UNIX has sched_yield() in -lrt
1403 AC_CHECK_LIB(rt, sched_yield,
1404 [LTHREAD_LIBS="$LTHREAD_LIBS -lrt"
1405 AC_DEFINE(HAVE_SCHED_YIELD,1,
1406 [Define if you have the sched_yield function.])
1407 ac_cv_func_sched_yield=yes],
1408 [ac_cv_func_sched_yield=no])
1410 if test $ac_cv_func_sched_yield = no -a \
1411 $ac_cv_func_pthread_yield = no -a \
1412 "$ac_cv_func_thr_yield" = no ; then
1413 AC_MSG_WARN([could not locate sched_yield() or pthread_yield()])
1416 dnl Check functions for compatibility
1417 AC_CHECK_FUNCS(pthread_kill pthread_rwlock_destroy)
1419 dnl Check for pthread_detach with <pthread.h> inclusion
1420 dnl as it's symbol may have been mangled.
1421 AC_CACHE_CHECK([for pthread_detach with <pthread.h>],
1422 [ol_cv_func_pthread_detach], [
1425 #include <pthread.h>
1427 #define NULL (void*)0
1430 [pthread_detach(NULL);],
1431 [ol_cv_func_pthread_detach=yes],
1432 [ol_cv_func_pthread_detach=no])
1435 if test $ol_cv_func_pthread_detach = no ; then
1436 AC_MSG_ERROR([could not locate pthread_detach()])
1439 AC_DEFINE(HAVE_PTHREAD_DETACH,1,
1440 [define if you have pthread_detach function])
1442 dnl Check for setconcurreny functions
1444 pthread_setconcurrency \
1445 pthread_getconcurrency \
1446 thr_setconcurrency \
1447 thr_getconcurrency \
1450 OL_SYS_LINUX_THREADS
1453 if test $ol_cv_linux_threads = error; then
1454 AC_MSG_ERROR([LinuxThreads header/library mismatch]);
1457 AC_CACHE_CHECK([if pthread_create() works],
1458 ol_cv_pthread_create_works,[
1459 AC_TRY_RUN(OL_PTHREAD_TEST_PROGRAM,
1460 [ol_cv_pthread_create_works=yes],
1461 [ol_cv_pthread_create_works=no],
1463 ol_cv_pthread_create_works=yes])])
1465 if test $ol_cv_pthread_create_works = no ; then
1466 AC_MSG_ERROR([pthread_create is not usable, check environment settings])
1469 dnl Check if select causes an yield
1470 if test $ol_with_yielding_select = auto ; then
1471 AC_CACHE_CHECK([if select yields when using pthreads],
1472 ol_cv_pthread_select_yields,[
1474 #include <sys/types.h>
1475 #include <sys/time.h>
1477 #include <pthread.h>
1479 #define NULL (void*) 0
1482 static int fildes[2];
1484 static void *task(p)
1496 FD_SET(fildes[0], &rfds);
1498 /* we're not interested in any fds */
1499 i = select(FD_SETSIZE, &rfds, NULL, NULL, &tv);
1506 exit(0); /* if we exit here, the select blocked the whole process */
1509 int main(argc, argv)
1515 /* create a pipe to select */
1516 if(pipe(&fildes[0])) {
1521 #ifdef HAVE_PTHREAD_SETCONCURRENCY
1522 (void) pthread_setconcurrency(2);
1524 #ifdef HAVE_THR_SETCONCURRENCY
1525 /* Set Solaris LWP concurrency to 2 */
1526 thr_setconcurrency(2);
1530 #if HAVE_PTHREADS < 6
1531 pthread_create(&t, pthread_attr_default, task, NULL);
1533 pthread_create(&t, NULL, task, NULL);
1536 /* make sure task runs first */
1539 #elif defined( HAVE_SCHED_YIELD )
1541 #elif defined( HAVE_PTHREAD_YIELD )
1547 [ol_cv_pthread_select_yields=no],
1548 [ol_cv_pthread_select_yields=yes],
1549 [ol_cv_pthread_select_yields=cross])])
1551 if test $ol_cv_pthread_select_yields = cross ; then
1552 AC_MSG_ERROR([crossing compiling: use --with-yielding_select=yes|no|manual])
1555 if test $ol_cv_pthread_select_yields = yes ; then
1556 ol_with_yielding_select=yes
1561 CPPFLAGS="$save_CPPFLAGS"
1564 AC_MSG_ERROR([could not locate usable POSIX Threads])
1568 if test $ol_with_threads = posix ; then
1569 AC_MSG_ERROR([could not locate POSIX Threads])
1573 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1574 -o $ol_with_threads = mach ; then
1576 dnl check for Mach CThreads
1577 AC_CHECK_HEADERS(mach/cthreads.h cthreads.h)
1578 if test $ac_cv_header_mach_cthreads_h = yes ; then
1579 ol_with_threads=found
1581 dnl check for cthreads support in current $LIBS
1582 AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
1584 if test $ol_link_threads = no ; then
1586 dnl this test needs work
1587 AC_CACHE_CHECK([for cthread_fork with -all_load],
1588 [ol_cv_cthread_all_load], [
1591 LIBS="-all_load $LIBS"
1592 AC_TRY_LINK([#include <mach/cthreads.h>],[
1593 cthread_fork((void *)0, (void *)0);
1594 ], ol_cv_cthread_all_load=yes, ol_cv_cthread_all_load=no)
1595 dnl restore the LIBS
1599 if test $ol_cv_cthread_all_load = yes ; then
1600 LTHREAD_LIBS="$LTHREAD_LIBS -all_load"
1601 ol_link_threads=mach
1602 ol_with_threads=found
1606 elif test $ac_cv_header_cthreads_h = yes ; then
1607 dnl Hurd variant of Mach Cthreads
1608 dnl uses <cthreads.h> and -lthreads
1610 ol_with_threads=found
1614 LIBS="$LIBS -lthreads"
1615 AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
1618 if test $ol_link_threads = yes ; then
1619 LTHREAD_LIBS="-lthreads"
1620 ol_link_threads=mach
1621 ol_with_threads=found
1623 AC_MSG_ERROR([could not link with Mach CThreads])
1626 elif test $ol_with_threads = mach ; then
1627 AC_MSG_ERROR([could not locate Mach CThreads])
1630 if test $ol_link_threads = mach ; then
1631 AC_DEFINE(HAVE_MACH_CTHREADS,1,
1632 [define if you have Mach Cthreads])
1633 elif test $ol_with_threads = found ; then
1634 AC_MSG_ERROR([could not link with Mach CThreads])
1638 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1639 -o $ol_with_threads = pth ; then
1641 AC_CHECK_HEADERS(pth.h)
1643 if test $ac_cv_header_pth_h = yes ; then
1644 AC_CHECK_LIB(pth, pth_version, [have_pth=yes], [have_pth=no])
1646 if test $have_pth = yes ; then
1647 AC_DEFINE(HAVE_GNU_PTH,1,[if you have GNU Pth])
1648 LTHREAD_LIBS="$LTHREAD_LIBS -lpth"
1650 ol_with_threads=found
1652 if test $ol_with_yielding_select = auto ; then
1653 ol_with_yielding_select=yes
1659 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1660 -o $ol_with_threads = lwp ; then
1662 dnl check for SunOS5 LWP
1663 AC_CHECK_HEADERS(thread.h synch.h)
1664 if test $ac_cv_header_thread_h = yes -a $ac_cv_header_synch_h = yes ; then
1665 AC_CHECK_LIB(thread, thr_create, [have_thr=yes], [have_thr=no])
1667 if test $have_thr = yes ; then
1668 AC_DEFINE(HAVE_THR,1,
1669 [if you have Solaris LWP (thr) package])
1670 LTHREAD_LIBS="$LTHREAD_LIBS -lthread"
1673 if test $ol_with_yielding_select = auto ; then
1674 ol_with_yielding_select=yes
1677 dnl Check for setconcurreny functions
1679 thr_setconcurrency \
1680 thr_getconcurrency \
1685 dnl check for SunOS4 LWP
1686 AC_CHECK_HEADERS(lwp/lwp.h)
1687 if test $ac_cv_header_lwp_lwp_h = yes ; then
1688 AC_CHECK_LIB(lwp, lwp_create, [have_lwp=yes], [have_lwp=no])
1690 if test $have_lwp = yes ; then
1691 AC_DEFINE(HAVE_LWP,1,
1692 [if you have SunOS LWP package])
1693 LTHREAD_LIBS="$LTHREAD_LIBS -llwp"
1696 if test $ol_with_yielding_select = auto ; then
1697 ol_with_yielding_select=no
1703 if test $ol_with_yielding_select = yes ; then
1704 AC_DEFINE(HAVE_YIELDING_SELECT,1,
1705 [define if select implicitly yields])
1708 if test $ol_with_threads = manual ; then
1709 dnl User thinks he can manually configure threads.
1712 AC_MSG_WARN([thread defines and link options must be set manually])
1714 AC_CHECK_HEADERS(pthread.h sched.h)
1715 AC_CHECK_FUNCS(sched_yield pthread_yield)
1716 OL_HEADER_LINUX_THREADS
1718 AC_CHECK_HEADERS(mach/cthreads.h)
1719 AC_CHECK_HEADERS(lwp/lwp.h)
1720 AC_CHECK_HEADERS(thread.h synch.h)
1723 if test $ol_link_threads != no -a $ol_link_threads != nt ; then
1724 dnl needed to get reentrant/threadsafe versions
1726 AC_DEFINE(REENTRANT,1)
1727 AC_DEFINE(_REENTRANT,1)
1728 AC_DEFINE(THREAD_SAFE,1)
1729 AC_DEFINE(_THREAD_SAFE,1)
1730 AC_DEFINE(THREADSAFE,1)
1731 AC_DEFINE(_THREADSAFE,1)
1732 AC_DEFINE(_SGI_MP_SOURCE,1)
1734 dnl The errno declaration may dependent upon _REENTRANT.
1735 dnl If it does, we must link with thread support.
1736 AC_CACHE_CHECK([for thread specific errno],
1737 [ol_cv_errno_thread_specific], [
1738 AC_TRY_LINK([#include <errno.h>], [errno = 0;],
1739 [ol_cv_errno_thread_specific=yes],
1740 [ol_cv_errno_thread_specific=no])
1743 dnl The h_errno declaration may dependent upon _REENTRANT.
1744 dnl If it does, we must link with thread support.
1745 AC_CACHE_CHECK([for thread specific h_errno],
1746 [ol_cv_h_errno_thread_specific], [
1747 AC_TRY_LINK([#include <netdb.h>], [h_errno = 0;],
1748 [ol_cv_h_errno_thread_specific=yes],
1749 [ol_cv_h_errno_thread_specific=no])
1752 if test $ol_cv_errno_thread_specific != yes \
1753 -o $ol_cv_h_errno_thread_specific != yes ; then
1754 LIBS="$LTHREAD_LIBS $LIBS"
1758 dnl When in thread environment, use
1759 dnl #if defined( HAVE_REENTRANT_FUNCTIONS ) || defined( HAVE_FUNC_R )
1762 dnl # if defined( HAVE_THREADS )
1766 dnl # if defined( HAVE_THREADS )
1771 dnl HAVE_REENTRANT_FUNCTIONS is derived from:
1772 dnl _POSIX_REENTRANT_FUNCTIONS
1773 dnl _POSIX_THREAD_SAFE_FUNCTIONS
1774 dnl _POSIX_THREADSAFE_FUNCTIONS
1776 dnl and is currently defined in <ldap_pvt_thread.h>
1778 dnl HAVE_THREADS is defined by <ldap_pvt_thread.h> iff -UNO_THREADS
1780 dnl libldap/*.c should only include <ldap_pvt_thread.h> iff
1781 dnl LDAP_R_COMPILE is defined. ie:
1782 dnl #ifdef LDAP_R_COMPILE
1783 dnl # include <ldap_pvt_thread.h>
1786 dnl LDAP_R_COMPILE is defined by libldap_r/Makefile.in
1787 dnl specifically for compiling the threadsafe version of
1788 dnl the ldap library (-lldap_r).
1790 dnl dnl check for reentrant/threadsafe functions
1792 dnl dnl note: these should only be used when linking
1793 dnl dnl with $LTHREAD_LIBS
1795 dnl save_CPPFLAGS="$CPPFLAGS"
1796 dnl save_LIBS="$LIBS"
1797 dnl LIBS="$LTHREAD_LIBS $LIBS"
1798 dnl AC_CHECK_FUNCS( \
1800 dnl gethostbyaddr_r gethostbyname_r \
1801 dnl feof_unlocked unlocked_feof \
1802 dnl putc_unlocked unlocked_putc \
1803 dnl flockfile ftrylockfile \
1805 dnl CPPFLAGS="$save_CPPFLAGS"
1806 dnl LIBS="$save_LIBS"
1809 if test $ol_link_threads = no ; then
1810 if test $ol_with_threads = yes ; then
1811 AC_MSG_ERROR([no suitable thread support])
1814 if test $ol_with_threads = auto ; then
1815 AC_MSG_WARN([no suitable thread support, disabling threads])
1819 AC_DEFINE(NO_THREADS,1,
1820 [define if you have (or want) no threads])
1824 if test $ol_link_threads != no ; then
1825 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE,1)
1828 dnl ----------------------------------------------------------------
1829 dnl Tests for reentrant functions necessary to build -lldap_r
1832 gethostbyname_r gethostbyaddr_r \
1835 if test "$ac_cv_func_ctime_r" = no ; then
1836 ol_cv_func_ctime_r_nargs=0
1838 OL_FUNC_CTIME_R_NARGS
1839 dnl OL_FUNC_CTIME_R_TYPE
1842 if test "$ac_cv_func_gethostbyname_r" = yes ; then
1843 OL_FUNC_GETHOSTBYNAME_R_NARGS
1845 ol_cv_func_gethostbyname_r_nargs=0
1848 if test "$ac_cv_func_gethostbyaddr_r" = yes ; then
1849 OL_FUNC_GETHOSTBYADDR_R_NARGS
1851 ol_cv_func_gethostbyaddr_r_nargs=0
1854 dnl ----------------------------------------------------------------
1857 if test $ol_with_ldbm_api = auto \
1858 -o $ol_with_ldbm_api = berkeley \
1859 -o $ol_with_ldbm_api = bcompat ; then
1861 if test $ol_with_ldbm_api = bcompat; then \
1862 OL_BERKELEY_COMPAT_DB
1867 if test $ol_cv_berkeley_db != no ; then
1868 AC_DEFINE(HAVE_BERKELEY_DB,1,
1869 [define this if Berkeley DB is available])
1871 ol_link_ldbm=berkeley
1872 ol_with_ldbm_api=berkeley
1874 if test $ol_with_ldbm_type = hash ; then
1875 AC_DEFINE(LDBM_USE_DBHASH,1,
1876 [define this to use DBHASH w/ LDBM backend])
1878 AC_DEFINE(LDBM_USE_DBBTREE,1,
1879 [define this to use DBBTREE w/ LDBM backend])
1882 dnl $ol_cv_lib_db should be yes or -ldb
1883 dnl (it could be no, but that would be an error
1884 if test $ol_cv_lib_db != yes ; then
1885 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db"
1890 if test $ol_enable_bdb != no -o $ol_enable_hdb != no; then
1891 if test $ol_link_ldbm != berkeley ; then
1892 AC_MSG_ERROR(BDB/HDB: BerkeleyDB not available)
1896 if test $ol_cv_bdb_compat != yes ; then
1897 AC_MSG_ERROR([BDB/HDB: BerkeleyDB version incompatible])
1902 if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
1903 AC_MSG_WARN([Could not find LDBM with BTREE support])
1904 ol_with_ldbm_api=none
1907 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = mdbm ; then
1910 if test $ol_cv_mdbm = yes ; then
1912 ol_with_ldbm_api=mdbm
1913 if test $ol_cv_lib_mdbm != yes ; then
1914 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_mdbm"
1919 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = gdbm ; then
1922 if test $ol_cv_gdbm = yes ; then
1924 ol_with_ldbm_api=gdbm
1926 if test $ol_cv_lib_gdbm != yes ; then
1927 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_gdbm"
1932 if test $ol_with_ldbm_api = ndbm ; then
1935 if test $ol_cv_ndbm = yes ; then
1937 ol_with_ldbm_api=ndbm
1939 if test $ol_cv_lib_ndbm != yes ; then
1940 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_ndbm"
1945 if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then
1946 AC_MSG_ERROR([could not find suitable LDBM backend])
1949 if test $ol_enable_bdb = yes -o \
1950 $ol_enable_hdb = yes -o \
1951 $ol_enable_ldbm = yes ; then
1952 SLAPD_LIBS="$SLAPD_LIBS \$(LDBM_LIBS)"
1955 dnl ----------------------------------------------------------------
1957 if test $ol_enable_dynamic = yes -a $enable_shared = yes ; then
1958 BUILD_LIBS_DYNAMIC=shared
1959 AC_DEFINE(LDAP_LIBS_DYNAMIC, 1, [define if LDAP libs are dynamic])
1962 BUILD_LIBS_DYNAMIC=static
1965 AC_SUBST(LTSTATIC)dnl
1967 dnl ----------------------------------------------------------------
1968 if test $ol_enable_wrappers != no ; then
1969 AC_CHECK_HEADERS(tcpd.h,[
1970 AC_MSG_CHECKING([for TCP wrappers library])
1975 int allow_severity = 0;
1976 int deny_severity = 0;
1978 struct request_info *req;
1981 ],[AC_MSG_RESULT([-lwrap])
1983 LIBS="$save_LIBS"],[
1988 int allow_severity = 0;
1989 int deny_severity = 0;
1991 struct request_info *req;
1994 ],[AC_MSG_RESULT([-lwrap -lnsl])
1996 LIBS="$save_LIBS -lnsl"],[
1999 LIBS=$save_LIBS])],[
2000 have_wrappers=no])],[have_wrappers=no])
2002 if test $have_wrappers = yes ; then
2003 AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
2005 elif test $ol_enable_wrappers = yes ; then
2006 AC_MSG_ERROR([could not find TCP wrappers, select apppropriate options or disable])
2008 AC_MSG_WARN([could not find TCP wrappers, support disabled])
2013 dnl ----------------------------------------------------------------
2014 if test $ol_enable_syslog != no ; then
2015 AC_CHECK_FUNC(openlog)
2016 if test $ac_cv_func_openlog = no -a $ol_enable_syslog = yes; then
2017 AC_MSG_ERROR(could not find syslog, select appropriate options or disable)
2019 ol_enable_syslog=$ac_cv_func_openlog
2022 dnl ----------------------------------------------------------------
2023 dnl dmalloc support (deprecated in favor of -DCSRIMALLOC support)
2024 dnl if test $ol_enable_dmalloc != no ; then
2025 dnl AC_CHECK_HEADERS(dmalloc.h)
2026 dnl AC_CHECK_LIB(dmalloc, dmalloc_shutdown)
2029 dnl ----------------------------------------------------------------
2032 if test $ol_enable_sql != no ; then
2033 AC_CHECK_HEADERS(sql.h sqlext.h,[],[
2034 AC_MSG_ERROR([could not locate SQL headers])
2037 AC_CHECK_LIB(iodbc,SQLDriverConnect,[have_iodbc=yes],[have_iodbc=no])
2038 if test $have_iodbc = yes ; then
2039 ol_link_sql="-liodbc"
2041 AC_CHECK_LIB(odbc,SQLDriverConnect,[have_odbc=yes],[have_odbc=no])
2042 if test $have_odbc = yes ; then
2043 ol_link_sql="-lodbc"
2047 if test $ol_link_sql != no ; then
2048 SLAPD_SQL_LIBS="$ol_link_sql"
2050 elif test $ol_enable_sql != auto ; then
2051 AC_MSG_ERROR([could not locate suitable ODBC library])
2055 dnl ----------------------------------------------------------------
2057 dnl Check for Cyrus SASL
2061 if test $ol_with_cyrus_sasl != no ; then
2062 AC_CHECK_HEADERS(sasl/sasl.h sasl.h)
2064 if test $ac_cv_header_sasl_sasl_h = yes -o $ac_cv_header_sasl_h = yes; then
2065 AC_CHECK_LIB(sasl2, sasl_client_init,
2066 [ol_link_sasl="-lsasl2"],
2067 [AC_CHECK_LIB(sasl, sasl_client_init,
2068 [ol_link_sasl="-lsasl"])])
2071 if test $ol_link_sasl = no ; then
2072 if test $ol_with_cyrus_sasl != auto ; then
2073 AC_MSG_ERROR([Could not locate Cyrus SASL])
2075 AC_MSG_WARN([Could not locate Cyrus SASL])
2076 AC_MSG_WARN([SASL authentication not supported!])
2077 if test $ol_link_tls = no ; then
2078 AC_MSG_WARN([Strong authentication not supported!])
2083 if test $ol_cv_sasl_compat = no ; then
2085 AC_MSG_ERROR([Cyrus SASL library located but is incompatible])
2088 AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
2089 SASL_LIBS="$ol_link_sasl"
2090 if test $ol_enable_spasswd != no ; then
2094 ac_save_LIBS="$LIBS"
2095 LIBS="$LIBS $ol_link_sasl"
2096 AC_CHECK_FUNC(sasl_version, [AC_DEFINE(HAVE_SASL_VERSION,1,
2097 [define if your SASL library has sasl_version()])])
2098 LIBS="$ac_save_LIBS"
2102 AC_MSG_WARN([SASL authentication not supported!])
2103 if test $ol_link_tls = no ; then
2104 AC_MSG_WARN([Strong authentication not supported!])
2108 dnl ----------------------------------------------------------------
2109 dnl Check for entropy sources
2110 if test $cross_compiling != yes -a "$ac_cv_mingw32" != yes ; then
2112 if test -r /dev/urandom ; then
2114 elif test -r /idev/urandom ; then
2115 dev="/idev/urandom";
2116 elif test -r /dev/srandom ; then
2118 elif test -r /dev/random ; then
2120 elif test -r /idev/random ; then
2124 if test $dev != no ; then
2125 AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device])
2129 dnl ----------------------------------------------------------------
2131 dnl Check for fetch URL support
2132 dnl should be extended to support other fetch URL APIs
2135 if test $ol_with_fetch != no ; then
2138 if test $ol_cv_lib_fetch != no ; then
2139 LUTIL_LIBS="$LUTIL_LIBS $ol_link_fetch"
2140 ol_link_fetch=freebsd
2142 elif test $ol_with_fetch != auto ; then
2143 AC_MSG_ERROR(no suitable API for --with-fetch=$ol_with_fetch)
2147 dnl ----------------------------------------------------------------
2148 dnl FreeBSD (and others) have crypt(3) in -lcrypt
2149 if test $ol_enable_crypt != no ; then
2151 LIBS="$TLS_LIBS $LIBS"
2153 AC_CHECK_FUNC(crypt, [have_crypt=yes], [
2155 AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
2156 have_crypt=yes], [have_crypt=no])])
2160 if test $have_crypt = yes ; then
2161 AC_DEFINE(HAVE_CRYPT,1, [define if crypt(3) is available])
2163 AC_MSG_WARN([could not find crypt])
2164 if test $ol_enable_crypt = yes ; then
2165 AC_MSG_ERROR([could not find crypt, select appropriate options or disable])
2168 AC_MSG_WARN([disabling crypt support])
2173 dnl ----------------------------------------------------------------
2174 dnl FreeBSD (and others) have setproctitle(3) in -lutil
2175 if test $ol_enable_proctitle != no ; then
2176 AC_CHECK_FUNC(setproctitle, [have_setproctitle=yes], [
2177 AC_CHECK_LIB(util, setproctitle,
2178 [have_setproctitle=yes
2179 LUTIL_LIBS="$LUTIL_LIBS -lutil"],
2180 [have_setproctitle=no
2181 LIBOBJS="$LIBOBJS setproctitle.o"
2182 LIBSRCS="$LIBSRCS setproctitle.c"])])
2184 if test $have_setproctitle = yes ; then
2185 AC_DEFINE(HAVE_SETPROCTITLE,1,
2186 [define if setproctitle(3) is available])
2190 dnl ----------------------------------------------------------------
2191 dnl Check for SLPv2 Compliant API Library
2192 if test $ol_enable_slp != no ; then
2193 AC_CHECK_HEADERS( slp.h )
2195 if test $ac_cv_header_slp_h = yes ; then
2196 AC_CHECK_LIB(slp, SLPOpen, [have_slp=yes], [have_slp=no])
2197 if test $have_slp = yes ; then
2198 AC_DEFINE(HAVE_SLP, 1, [define if you have -lslp])
2199 SLAPD_SLP_LIBS=-lslp
2202 elif test $ol_enable_slp = yes ; then
2203 AC_MSG_ERROR([SLP not found])
2207 dnl ----------------------------------------------------------------
2208 dnl Checks for typedefs, structures, and compiler characteristics.
2210 dnl Checks for long long
2211 AC_CACHE_CHECK([long long], ol_cv_type_long_long, [
2212 AC_TRY_COMPILE([], [long long x;],
2213 [ol_cv_type_long_long=yes],
2214 [ol_cv_type_long_long=no])])
2215 if test $ol_cv_type_long_long = yes; then
2216 AC_DEFINE(HAVE_LONG_LONG, 1, [define if you have 'long long'])
2226 AC_CHECK_TYPE(ssize_t, [signed int])
2227 AC_CHECK_TYPE(caddr_t, [char *])
2230 AC_STRUCT_ST_BLKSIZE
2234 OL_TYPE_SIG_ATOMIC_T
2236 dnl AC_TYPE_GETGROUPS
2238 OL_STRUCT_PASSWD_PW_GECOS
2239 OL_STRUCT_PASSWD_PW_PASSWD
2245 if test $cross_compiling = yes ; then
2246 AC_MSG_WARN([Crossing compiling... all bets are off!])
2247 AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
2252 AC_COMPILE_CHECK_SIZEOF(short)
2253 AC_COMPILE_CHECK_SIZEOF(int)
2254 AC_COMPILE_CHECK_SIZEOF(long)
2255 AC_COMPILE_CHECK_SIZEOF(wchar_t)
2257 if test "$ac_cv_sizeof_int" -lt 4 ; then
2258 AC_MSG_WARN([OpenLDAP requires 'int' to be 32 bits or greater.])
2260 AC_DEFINE(LBER_INT_T,long)
2262 AC_DEFINE(LBER_INT_T,int)
2265 AC_DEFINE(LBER_LEN_T,long)
2266 AC_DEFINE(LBER_SOCKET_T,int)
2267 AC_DEFINE(LBER_TAG_T,long)
2269 dnl ----------------------------------------------------------------
2270 dnl Checks for library functions.
2272 dnl AM_FUNC_MKTIME dnl checks for sys/time.h and unistd.h
2278 dnl Check for NT specific routines
2279 AC_CHECK_FUNC(_spawnlp, AC_DEFINE(HAVE_SPAWNLP,1,[if you have spawnlp()]))
2281 AC_CHECK_FUNC(_snprintf, [ac_cv_func_snprintf=yes
2282 AC_DEFINE(snprintf, _snprintf, [define to snprintf routine])
2285 AC_CHECK_FUNC(_vsnprintf, [ac_cv_func_vsnprintf=yes
2286 AC_DEFINE(vsnprintf, _vsnprintf, [define to vsnprintf routine])
2291 if test $ac_cv_func_vprintf = yes ; then
2292 dnl check for vsnprintf
2293 AC_CHECK_FUNCS(snprintf vsnprintf)
2355 dnl We actually may need to replace more than this.
2356 AC_REPLACE_FUNCS(getopt getpeereid)
2358 if test "$ac_cv_func_getopt" != yes; then
2359 LIBSRCS="$LIBSRCS getopt.c"
2361 if test "$ac_cv_func_getpeereid" != yes; then
2362 OL_MSGHDR_MSG_ACCRIGHTS
2363 LIBSRCS="$LIBSRCS getpeereid.c"
2365 if test "$ac_cv_func_snprintf" != yes -o "$ac_cv_func_vsnprintf" != yes; then
2366 if test "$ac_cv_func_snprintf" != yes; then
2367 AC_DEFINE(snprintf, ber_pvt_snprintf, [define to snprintf routine])
2369 if test "$ac_cv_func_vsnprintf" != yes; then
2370 AC_DEFINE(vsnprintf, ber_pvt_vsnprintf, [define to snprintf routine])
2374 dnl ----------------------------------------------------------------
2375 # Check Configuration
2378 dnl ----------------------------------------------------------------
2379 dnl Sort out defines
2381 if test "$ol_enable_slapi" != no ; then
2382 dnl This check is done also if --enable-modules is used;
2383 dnl it is duplicated here, 'cause it'd be cached anyway
2384 AC_CHECK_HEADERS(ltdl.h)
2386 if test $ac_cv_header_ltdl_h != yes ; then
2387 AC_MSG_ERROR([could not locate <ltdl.h>])
2389 AC_CHECK_LIB(ltdl, lt_dlinit, [
2392 LIBSLAPITOOLS=../libslapi.a
2393 AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
2394 ],[AC_MSG_ERROR([could not locate libtool -lltdl])])
2396 AC_DEFINE(LDAP_SLAPI,1, [define this to add SLAPI code])
2399 if test "$ol_enable_debug" != no ; then
2400 AC_DEFINE(LDAP_DEBUG,1,
2401 [define this to add debugging code])
2403 if test "$ol_enable_syslog" = yes ; then
2404 AC_DEFINE(LDAP_SYSLOG,1,
2405 [define this to add syslog code])
2407 if test "$ol_link_kbind" != no ; then
2408 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND,LDAP_VENDOR_VERSION)
2410 if test "$ol_enable_proctitle" != no ; then
2411 AC_DEFINE(LDAP_PROCTITLE,1,
2412 [define this for LDAP process title support])
2414 if test "$ol_enable_referrals" != no ; then
2415 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS,LDAP_VENDOR_VERSION)
2417 if test "$ol_enable_local" != no; then
2418 AC_DEFINE(LDAP_PF_LOCAL,1,[define to support PF_LOCAL])
2420 if test "$ol_link_ipv6" != no; then
2421 AC_DEFINE(LDAP_PF_INET6,1,[define to support PF_INET6])
2423 if test "$ol_enable_cleartext" != no ; then
2424 AC_DEFINE(SLAPD_CLEARTEXT,1,[define to support cleartext passwords])
2426 if test "$ol_enable_crypt" != no ; then
2427 AC_DEFINE(SLAPD_CRYPT,1,[define to support crypt(3) passwords])
2429 if test "$ol_link_spasswd" != no ; then
2430 AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords])
2432 if test "$ol_enable_multimaster" != no ; then
2433 AC_DEFINE(SLAPD_MULTIMASTER,1,[define to support multimaster replication])
2435 if test "$ol_enable_rlookups" != no ; then
2436 AC_DEFINE(SLAPD_RLOOKUPS,1,[define to support reverse lookups])
2438 if test "$ol_enable_aci" != no ; then
2439 AC_DEFINE(SLAPD_ACI_ENABLED,1,[define to support per-object ACIs])
2442 if test "$ol_link_modules" != no ; then
2443 AC_DEFINE(SLAPD_MODULES,1,[define to support modules])
2445 SLAPD_MODULES_LDFLAGS="-dlopen self"
2448 AC_DEFINE(SLAPD_MOD_STATIC,1,[statically linked module])
2449 AC_DEFINE(SLAPD_MOD_DYNAMIC,2,[dynamically linked module])
2451 if test "$ol_enable_bdb" != no ; then
2453 BUILD_BDB=$ol_enable_bdb
2454 if test "$ol_enable_bdb" = mod ; then
2455 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-bdb"
2456 MFLAG=SLAPD_MOD_DYNAMIC
2458 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-bdb"
2459 MFLAG=SLAPD_MOD_STATIC
2461 AC_DEFINE_UNQUOTED(SLAPD_BDB,$MFLAG,[define to support BDB backend])
2464 if test "$ol_enable_dnssrv" != no ; then
2466 BUILD_DNSSRV=$ol_enable_dnssrv
2467 if test "$ol_enable_dnssrv" = mod ; then
2468 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-dnssrv"
2469 MFLAG=SLAPD_MOD_DYNAMIC
2471 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-dnssrv"
2472 MFLAG=SLAPD_MOD_STATIC
2474 AC_DEFINE_UNQUOTED(SLAPD_DNSSRV,$MFLAG,[define to support DNS SRV backend])
2477 if test "$ol_enable_hdb" != no ; then
2479 BUILD_HDB=$ol_enable_hdb
2480 if test "$ol_enable_hdb" = mod ; then
2481 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-hdb"
2482 MFLAG=SLAPD_MOD_DYNAMIC
2484 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-hdb"
2485 MFLAG=SLAPD_MOD_STATIC
2487 AC_DEFINE_UNQUOTED(SLAPD_HDB,$MFLAG,[define to support HDB backend])
2490 if test "$ol_enable_ldap" != no ; then
2492 BUILD_LDAP=$ol_enable_ldap
2493 if test "$ol_enable_ldap" = mod ; then
2494 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldap"
2495 MFLAG=SLAPD_MOD_DYNAMIC
2497 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldap"
2498 MFLAG=SLAPD_MOD_STATIC
2500 AC_DEFINE_UNQUOTED(SLAPD_LDAP,$MFLAG,[define to support LDAP backend])
2503 if test "$ol_link_ldbm" != no -a $ol_enable_ldbm != no; then
2505 BUILD_LDBM=$ol_enable_ldbm
2506 if test "$ol_enable_ldbm" = mod ; then
2507 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldbm"
2508 MFLAG=SLAPD_MOD_DYNAMIC
2510 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldbm"
2511 MFLAG=SLAPD_MOD_STATIC
2513 AC_DEFINE_UNQUOTED(SLAPD_LDBM,$MFLAG,[define to support LDBM backend])
2516 if test "$ol_enable_meta" != no ; then
2518 BUILD_META=$ol_enable_meta
2520 if test "$ol_enable_meta" = mod ; then
2521 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-meta"
2522 MFLAG=SLAPD_MOD_DYNAMIC
2524 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-meta"
2525 MFLAG=SLAPD_MOD_STATIC
2527 AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend])
2530 if test "$ol_enable_monitor" != no ; then
2532 BUILD_MONITOR=$ol_enable_monitor
2533 if test "$ol_enable_monitor" = mod ; then
2534 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-monitor"
2535 MFLAG=SLAPD_MOD_DYNAMIC
2537 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-monitor"
2538 MFLAG=SLAPD_MOD_STATIC
2540 AC_DEFINE_UNQUOTED(SLAPD_MONITOR,$MFLAG,[define to support cn=Monitor backend])
2543 if test "$ol_enable_null" != no ; then
2545 BUILD_NULL=$ol_enable_null
2546 if test "$ol_enable_null" = mod ; then
2547 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-null"
2548 MFLAG=SLAPD_MOD_DYNAMIC
2550 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-null"
2551 MFLAG=SLAPD_MOD_STATIC
2553 AC_DEFINE_UNQUOTED(SLAPD_NULL,$MFLAG,[define to support NULL backend])
2556 if test "$ol_enable_passwd" != no ; then
2558 BUILD_PASSWD=$ol_enable_passwd
2559 if test "$ol_enable_passwd" = mod ; then
2560 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-passwd"
2561 MFLAG=SLAPD_MOD_DYNAMIC
2563 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-passwd"
2564 MFLAG=SLAPD_MOD_STATIC
2566 AC_DEFINE_UNQUOTED(SLAPD_PASSWD,$MFLAG,[define to support PASSWD backend])
2569 if test "$ol_link_perl" != no ; then
2571 BUILD_PERL=$ol_enable_perl
2572 if test "$ol_enable_perl" = mod ; then
2573 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-perl"
2574 MFLAG=SLAPD_MOD_DYNAMIC
2576 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-perl"
2577 MFLAG=SLAPD_MOD_STATIC
2579 AC_DEFINE_UNQUOTED(SLAPD_PERL,$MFLAG,[define to support PERL backend])
2582 if test "$ol_enable_relay" != no ; then
2584 BUILD_RELAY=$ol_enable_relay
2585 if test "$ol_enable_relay" = mod ; then
2586 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-relay"
2587 MFLAG=SLAPD_MOD_DYNAMIC
2589 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-relay"
2590 MFLAG=SLAPD_MOD_STATIC
2592 AC_DEFINE_UNQUOTED(SLAPD_RELAY,$MFLAG,[define to support relay backend])
2595 if test "$ol_enable_shell" != no ; then
2596 if test "$ol_link_thread" != no ; then
2597 AC_MSG_WARN([Use of --without-threads is recommended with back-shell])
2600 BUILD_SHELL=$ol_enable_shell
2601 if test "$ol_enable_shell" = mod ; then
2602 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-shell"
2603 MFLAG=SLAPD_MOD_DYNAMIC
2605 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-shell"
2606 MFLAG=SLAPD_MOD_STATIC
2608 AC_DEFINE_UNQUOTED(SLAPD_SHELL,$MFLAG,[define to support SHELL backend])
2611 if test "$ol_link_sql" != no ; then
2613 BUILD_SQL=$ol_enable_sql
2614 if test "$ol_enable_sql" = mod; then
2615 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sql"
2616 MFLAG=SLAPD_MOD_DYNAMIC
2618 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sql"
2619 MFLAG=SLAPD_MOD_STATIC
2621 AC_DEFINE_UNQUOTED(SLAPD_SQL,$MFLAG,[define to support SQL backend])
2624 if test "$ol_enable_chain" != no ; then
2625 BUILD_CHAIN=$ol_enable_chain
2626 if test "$ol_enable_chain" = mod ; then
2627 MFLAG=SLAPD_MOD_DYNAMIC
2628 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS chain.la"
2630 MFLAG=SLAPD_MOD_STATIC
2632 AC_DEFINE_UNQUOTED(SLAPD_OVER_CHAIN,$MFLAG,[define for Dynamic Group overlay])
2635 if test "$ol_enable_denyop" != no ; then
2636 BUILD_DENYOP=$ol_enable_denyop
2637 if test "$ol_enable_denyop" = mod ; then
2638 MFLAG=SLAPD_MOD_DYNAMIC
2639 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS denyop.la"
2641 MFLAG=SLAPD_MOD_STATIC
2643 AC_DEFINE_UNQUOTED(SLAPD_OVER_DENYOP,$MFLAG,[define for Dynamic Group overlay])
2646 if test "$ol_enable_dyngroup" != no ; then
2647 BUILD_DYNGROUP=$ol_enable_dyngroup
2648 if test "$ol_enable_dyngroup" = mod ; then
2649 MFLAG=SLAPD_MOD_DYNAMIC
2650 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dyngroup.la"
2652 MFLAG=SLAPD_MOD_STATIC
2654 AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group overlay])
2657 if test "$ol_enable_lastmod" != no ; then
2658 BUILD_LASTMOD=$ol_enable_lastmod
2659 if test "$ol_enable_lastmod" = mod ; then
2660 MFLAG=SLAPD_MOD_DYNAMIC
2661 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS lastmod.la"
2663 MFLAG=SLAPD_MOD_STATIC
2665 AC_DEFINE_UNQUOTED(SLAPD_OVER_LASTMOD,$MFLAG,[define for Last Modification overlay])
2668 if test "$ol_enable_ppolicy" != no ; then
2669 BUILD_PPOLICY=$ol_enable_ppolicy
2670 if test "$ol_enable_ppolicy" = mod ; then
2671 MFLAG=SLAPD_MOD_DYNAMIC
2672 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS ppolicy.la"
2674 MFLAG=SLAPD_MOD_STATIC
2676 AC_DEFINE_UNQUOTED(SLAPD_OVER_PPOLICY,$MFLAG,[define for Password Policy overlay])
2679 if test "$ol_enable_proxycache" != no ; then
2680 BUILD_PROXYCACHE=$ol_enable_proxycache
2681 if test "$ol_enable_proxycache" = mod ; then
2682 MFLAG=SLAPD_MOD_DYNAMIC
2683 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS pcache.la"
2685 MFLAG=SLAPD_MOD_STATIC
2687 AC_DEFINE_UNQUOTED(SLAPD_OVER_PROXYCACHE,$MFLAG,[define for Proxy Cache overlay])
2690 if test "$ol_enable_refint" != no ; then
2691 BUILD_REFINT=$ol_enable_refint
2692 if test "$ol_enable_refint" = mod ; then
2693 MFLAG=SLAPD_MOD_DYNAMIC
2694 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS refint.la"
2696 MFLAG=SLAPD_MOD_STATIC
2698 AC_DEFINE_UNQUOTED(SLAPD_OVER_REFINT,$MFLAG,[define for Referential Integrity overlay])
2701 if test "$ol_enable_rwm" != no ; then
2703 BUILD_RWM=$ol_enable_rwm
2704 if test "$ol_enable_rwm" = mod ; then
2705 MFLAG=SLAPD_MOD_DYNAMIC
2706 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS rwm.la"
2708 MFLAG=SLAPD_MOD_STATIC
2710 AC_DEFINE_UNQUOTED(SLAPD_OVER_RWM,$MFLAG,[define for Rewrite/Remap overlay])
2713 if test "$ol_enable_unique" != no ; then
2714 BUILD_UNIQUE=$ol_enable_unique
2715 if test "$ol_enable_unique" = mod ; then
2716 MFLAG=SLAPD_MOD_DYNAMIC
2717 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS unique.la"
2719 MFLAG=SLAPD_MOD_STATIC
2721 AC_DEFINE_UNQUOTED(SLAPD_OVER_UNIQUE,$MFLAG,[define for Attribute Uniqueness overlay])
2724 if test "$ol_enable_slurpd" != no -a "$ol_link_threads" != no -a \
2725 $BUILD_SLAPD = yes ; then
2729 if test "$ol_enable_rewrite" != no ; then
2730 AC_DEFINE(ENABLE_REWRITE,1,[define to enable rewriting in back-ldap and back-meta])
2734 if test "$ol_enable_slapi" != no ; then
2735 AC_DEFINE(ENABLE_SLAPI,1,[define to enable slapi library])
2737 SLAPD_SLAPI_DEPEND=libslapi.a
2740 dnl ----------------------------------------------------------------
2743 dnl For Windows build, we don't want to include -dlopen flags.
2744 dnl They hurt more than they help.
2747 if test "$ac_cv_mingw32" = yes ; then
2749 SLAPD_MODULES_LDFLAGS=
2754 if test -z "$SLAPD_STATIC_BACKENDS"; then
2763 AC_SUBST(BUILD_LIBS_DYNAMIC)
2765 AC_SUBST(BUILD_SLAPD)
2767 AC_SUBST(BUILD_SLAPI)
2768 AC_SUBST(SLAPD_SLAPI_DEPEND)
2771 AC_SUBST(BUILD_DNSSRV)
2773 AC_SUBST(BUILD_LDAP)
2774 AC_SUBST(BUILD_LDBM)
2775 AC_SUBST(BUILD_META)
2776 AC_SUBST(BUILD_MONITOR)
2777 AC_SUBST(BUILD_NULL)
2778 AC_SUBST(BUILD_PASSWD)
2779 AC_SUBST(BUILD_RELAY)
2780 AC_SUBST(BUILD_PERL)
2781 AC_SUBST(BUILD_SHELL)
2784 AC_SUBST(BUILD_CHAIN)
2785 AC_SUBST(BUILD_DENYOP)
2786 AC_SUBST(BUILD_DYNGROUP)
2787 AC_SUBST(BUILD_LASTMOD)
2788 AC_SUBST(BUILD_PPOLICY)
2789 AC_SUBST(BUILD_PROXYCACHE)
2790 AC_SUBST(BUILD_REFINT)
2792 AC_SUBST(BUILD_UNIQUE)
2793 AC_SUBST(BUILD_SLURPD)
2796 AC_SUBST(SLAPD_LIBS)
2797 AC_SUBST(SLURPD_LIBS)
2799 AC_SUBST(LTHREAD_LIBS)
2800 AC_SUBST(LUTIL_LIBS)
2803 AC_SUBST(SLAPD_MODULES_CPPFLAGS)
2804 AC_SUBST(SLAPD_MODULES_LDFLAGS)
2806 AC_SUBST(SLAPD_NO_STATIC)
2807 AC_SUBST(SLAPD_STATIC_BACKENDS)
2808 AC_SUBST(SLAPD_DYNAMIC_BACKENDS)
2809 AC_SUBST(SLAPD_DYNAMIC_OVERLAYS)
2811 AC_SUBST(PERL_CPPFLAGS)
2812 AC_SUBST(SLAPD_PERL_LDFLAGS)
2813 AC_SUBST(MOD_PERL_LDFLAGS)
2819 AC_SUBST(MODULES_LIBS)
2820 AC_SUBST(SLAPI_LIBS)
2822 AC_SUBST(LIBSLAPITOOLS)
2825 AC_SUBST(SLAPD_SLP_LIBS)
2827 AC_SUBST(SLAPD_SQL_LDFLAGS)
2828 AC_SUBST(SLAPD_SQL_LIBS)
2829 AC_SUBST(SLAPD_SQL_INCLUDES)
2831 dnl ----------------------------------------------------------------
2832 dnl final help output
2833 AC_ARG_WITH(xxinstall,[
2834 See INSTALL file for further details.])
2836 dnl ----------------------------------------------------------------
2841 Makefile:build/top.mk:Makefile.in:build/dir.mk \
2842 doc/Makefile:build/top.mk:doc/Makefile.in:build/dir.mk \
2843 doc/man/Makefile:build/top.mk:doc/man/Makefile.in:build/dir.mk \
2844 doc/man/man1/Makefile:build/top.mk:doc/man/man1/Makefile.in:build/man.mk \
2845 doc/man/man3/Makefile:build/top.mk:doc/man/man3/Makefile.in:build/man.mk \
2846 doc/man/man5/Makefile:build/top.mk:doc/man/man5/Makefile.in:build/man.mk \
2847 doc/man/man8/Makefile:build/top.mk:doc/man/man8/Makefile.in:build/man.mk \
2848 clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.mk \
2849 clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk \
2850 include/Makefile:build/top.mk:include/Makefile.in \
2851 libraries/Makefile:build/top.mk:libraries/Makefile.in:build/dir.mk \
2852 libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk:build/lib-shared.mk \
2853 libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk:build/lib-shared.mk \
2854 libraries/libldap_r/Makefile:build/top.mk:libraries/libldap_r/Makefile.in:build/lib.mk:build/lib-shared.mk \
2855 libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk \
2856 libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk \
2857 libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-static.mk \
2858 servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \
2859 servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
2860 servers/slapd/back-bdb/Makefile:build/top.mk:servers/slapd/back-bdb/Makefile.in:build/mod.mk \
2861 servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk \
2862 servers/slapd/back-hdb/Makefile:build/top.mk:servers/slapd/back-hdb/Makefile.in:build/mod.mk \
2863 servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/mod.mk \
2864 servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/mod.mk \
2865 servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk \
2866 servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk \
2867 servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/Makefile.in:build/mod.mk \
2868 servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk \
2869 servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk \
2870 servers/slapd/back-relay/Makefile:build/top.mk:servers/slapd/back-relay/Makefile.in:build/mod.mk \
2871 servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk \
2872 servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk \
2873 servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk \
2874 servers/slapd/slapi/Makefile:build/top.mk:servers/slapd/slapi/Makefile.in:build/lib.mk:build/lib-shared.mk \
2875 servers/slapd/overlays/Makefile:build/top.mk:servers/slapd/overlays/Makefile.in:build/lib.mk \
2876 servers/slurpd/Makefile:build/top.mk:servers/slurpd/Makefile.in:build/srv.mk \
2877 tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk \
2879 tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \
2883 echo Please run \"make depend\" to build dependencies