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(xxslapoverlays,[
204 SLAPD Backend Options:])
206 OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend no|yes|mod], yes, [no yes mod])dnl
207 OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend no|yes|mod], no, [no yes mod])dnl
208 OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend no|yes|mod], no, [no yes mod])dnl
209 OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend no|yes|mod], no, [no yes mod])dnl
210 OL_ARG_ENABLE(ldbm,[ --enable-ldbm enable ldbm backend no|yes|mod], no, [no yes mod])dnl
211 OL_ARG_WITH(ldbm_api,[ --with-ldbm-api with LDBM API auto|berkeley|bcompat|mdbm|gdbm], auto,
212 [auto berkeley bcompat mdbm gdbm])
213 OL_ARG_WITH(ldbm_type,[ --with-ldbm-type use LDBM type auto|btree|hash], auto,
215 OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend no|yes|mod], no, [no yes mod])dnl
216 OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend no|yes|mod], yes, [no yes mod])dnl
217 OL_ARG_ENABLE(null,[ --enable-null enable null backend no|yes|mod], no, [no yes mod])dnl
218 OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend no|yes|mod], no, [no yes mod])dnl
219 OL_ARG_ENABLE(perl,[ --enable-perl enable perl backend no|yes|mod], no, [no yes mod])dnl
220 OL_ARG_ENABLE(relay,[ --enable-relay enable relay backend no|yes|mod], yes, [no yes mod])dnl
221 OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend no|yes|mod], no, [no yes mod])dnl
222 OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend no|yes|mod], no, [no yes mod])dnl
224 dnl ----------------------------------------------------------------
225 dnl SLAPD Overlay Options
226 Overlays="chain denyop dyngroup lastmod ppolicy proxycache rwm"
228 AC_ARG_WITH(xxslapoverlays,[
229 SLAPD Overlay Options:])
231 OL_ARG_ENABLE(chain,[ --enable-chain LDAP Chain Response no|yes|mod], no,
233 OL_ARG_ENABLE(denyop,[ --enable-denyop Deny Operation overlay no|yes|mod], no,
235 OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay no|yes|mod], no,
237 OL_ARG_ENABLE(lastmod,[ --enable-lastmod Last Modification overlay no|yes|mod], no,
239 OL_ARG_ENABLE(ppolicy,[ --enable-ppolicy Password Policy overlay no|yes|mod], no,
241 OL_ARG_ENABLE(proxycache,[ --enable-proxycache Proxy Cache overlay no|yes|mod], no,
243 OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay no|yes|mod], no,
246 dnl ----------------------------------------------------------------
248 AC_ARG_WITH(xxslurpdoptions,[
249 SLURPD (Replication Daemon) Options:])
250 OL_ARG_ENABLE(slurpd,[ --enable-slurpd enable building slurpd], auto)dnl
252 dnl ----------------------------------------------------------------
253 AC_ARG_WITH(xxliboptions,[
254 Library Generation & Linking Options])
258 dnl ----------------------------------------------------------------
260 dnl General "enable" options
262 if test $ol_enable_slapd = no ; then
263 dnl SLAPD was specificallly disabled
264 if test $ol_enable_slapi = yes ; then
265 AC_MSG_WARN([slapd disabled, ignoring --enable-slapi argument])
267 for i in $Backends; do
268 eval "ol_tmp=\$ol_enable_$i"
269 if test $ol_tmp != no ; then
270 AC_MSG_WARN([slapd disabled, ignoring --enable-$i argument])
271 eval "ol_enable_$i=no"
274 if test $ol_enable_modules = yes ; then
275 AC_MSG_WARN([slapd disabled, ignoring --enable-modules argument])
277 if test $ol_enable_multimaster = yes ; then
278 AC_MSG_WARN([slapd disabled, ignoring --enable-multimaster argument])
280 if test $ol_enable_wrappers = yes ; then
281 AC_MSG_WARN([slapd disabled, ignoring --enable-wrappers argument])
283 if test $ol_enable_rlookups = yes ; then
284 AC_MSG_WARN([slapd disabled, ignoring --enable-rlookups argument])
286 if test $ol_enable_aci = yes ; then
287 AC_MSG_WARN([slapd disabled, ignoring --enable-aci argument])
289 if test $ol_with_ldbm_api != auto ; then
290 AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-api argument])
292 if test $ol_with_ldbm_type != auto ; then
293 AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-type argument])
295 if test $ol_enable_slurpd = yes ; then
296 AC_MSG_ERROR([slurpd requires slapd])
298 if test $ol_enable_rewrite = yes ; then
299 AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument])
302 for i in $Overlays; do
303 eval "ol_tmp=\$ol_enable_$i"
304 if test $ol_tmp != no ; then
305 AC_MSG_WARN([slapd disabled, ignoring --enable-$i argument])
306 eval "ol_enable_$i=no"
310 # force settings to no
314 ol_enable_multimaster=no
315 ol_enable_rlookups=no
317 ol_enable_wrappers=no
326 elif test $ol_enable_ldbm = no ; then
327 dnl SLAPD without LDBM
329 if test $ol_with_ldbm_api != auto ; then
330 AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-api argument])
333 if test $ol_with_ldbm_type != auto ; then
334 AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-type argument])
337 if test $ol_enable_modules != yes -a \
338 $ol_enable_bdb = no -a \
339 $ol_enable_dnssrv = no -a \
340 $ol_enable_hdb = no -a \
341 $ol_enable_ldap = no -a \
342 $ol_enable_meta = no -a \
343 $ol_enable_monitor = no -a \
344 $ol_enable_null = no -a \
345 $ol_enable_passwd = no -a \
346 $ol_enable_perl = no -a \
347 $ol_enable_relay = no -a \
348 $ol_enable_shell = no -a \
349 $ol_enable_sql = no ; then
351 if test $ol_enable_slapd = yes ; then
352 AC_MSG_ERROR([slapd requires a backend])
354 AC_MSG_WARN([skipping slapd, no backend specified])
362 if test $ol_enable_bdb != no -o $ol_enable_hdb != no; then
363 ol_with_ldbm_api=berkeley
368 if test $ol_with_ldbm_api = gdbm -a \
369 $ol_with_ldbm_type = btree ; then
370 AC_MSG_ERROR([GDBM only supports LDBM type hash])
372 if test $ol_with_ldbm_api = mdbm -a \
373 $ol_with_ldbm_type = btree ; then
374 AC_MSG_ERROR([MDBM only supports LDBM type hash])
376 if test $ol_with_ldbm_api = ndbm -a \
377 $ol_with_ldbm_type = btree ; then
378 AC_MSG_ERROR([NDBM only supports LDBM type hash])
381 if test $ol_enable_bdb = yes -o $ol_enable_hdb = yes ; then
382 if test $ol_with_ldbm_api = auto ; then
383 ol_with_ldbm_api=berkeley
384 elif test $ol_with_ldbm_api != berkeley ; then
385 AC_MSG_ERROR([LDBM API not compatible with BDB/HDB])
388 elif test $ol_enable_bdb = auto ; then
389 if test $ol_with_ldbm_api != berkeley \
390 -o $ol_with_ldbm_api != auto ; then
391 AC_MSG_WARN([LDBM API not compatible with BDB, disabling BDB])
397 if test $ol_enable_chain != no -a $ol_enable_ldap = no ; then
398 AC_MSG_ERROR([--enable-chain requires --enable-ldap])
401 if test $ol_enable_meta = yes -a $ol_enable_ldap = no ; then
402 AC_MSG_ERROR([--enable-meta requires --enable-ldap])
405 if test $ol_enable_slurpd = yes ; then
406 dnl SLURPD was specifically enabled
407 if test $ol_with_threads = no ; then
408 AC_MSG_ERROR([slurpd requires threads])
412 if test $ol_enable_lmpasswd = yes ; then
413 if test $ol_with_tls = no ; then
414 AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
418 if test $ol_enable_kbind = yes ; then
419 if test $ol_with_kerberos = no ; then
420 AC_MSG_ERROR([options require --with-kerberos])
421 elif test $ol_with_kerberos = auto ; then
425 elif test $ol_enable_kbind = no ; then
426 if test $ol_with_kerberos = auto ; then
428 elif test $ol_with_kerberos != no ; then
429 AC_MSG_WARN([Kerberos detection enabled unnecessarily]);
434 if test $ol_enable_spasswd = yes ; then
435 if test $ol_with_cyrus_sasl = no ; then
436 AC_MSG_ERROR([options require --with-cyrus-sasl])
438 ol_with_cyrus_sasl=yes
443 dnl ----------------------------------------------------------------
483 SLAPD_DYNAMIC_OVERLAYS=
485 SLAPD_MODULES_LDFLAGS=
486 SLAPD_MODULES_CPPFLAGS=
488 SLAPD_STATIC_BACKENDS=
489 SLAPD_DYNAMIC_BACKENDS=
511 dnl ================================================================
512 dnl Checks for programs
516 AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion])
518 dnl ----------------------------------------------------------------
520 dnl Determine which C translator to use
523 dnl AIX Thread requires we use cc_r or xlc_r.
524 dnl But only do this IF AIX and CC is not set
525 dnl and threads are auto|yes|posix.
527 dnl If we find cc_r|xlc_r, force pthreads and assume
528 dnl pthread_create is in $LIBS (ie: don't bring in
529 dnl any additional thread libraries)
530 dnl If we do not find cc_r|xlc_r, disable threads
534 *-*-aix*) dnl all AIX is not a good idea.
535 if test -z "$CC" ; then
536 case "$ol_with_threads" in
537 auto | yes | posix) ol_aix_threads=yes ;;
543 if test $ol_aix_threads = yes ; then
544 if test -z "${CC}" ; then
545 AC_CHECK_PROGS(CC,cc_r xlc_r cc)
547 if test "$CC" = cc ; then
548 dnl no CC! don't allow --with-threads
549 if test $ol_with_threads != auto ; then
550 AC_MSG_ERROR([--with-threads requires cc_r (or other suitable compiler) on AIX])
552 AC_MSG_WARN([disabling threads, no cc_r on AIX])
558 if test "${CC}" = "cc_r" -o "${CC}" = "xlc_r" ; then
559 ol_with_threads=posix
560 ol_cv_pthread_create=yes
564 if test -z "${CC}"; then
565 AC_CHECK_PROGS(CC,cc gcc,missing)
567 if test "${CC}" = "missing" ; then
568 AC_MSG_ERROR([Unable to locate cc(1) or suitable replacement. Check PATH or set CC.])
572 if test -z "${AR}"; then
573 AC_CHECK_PROGS(AR,ar gar,missing)
575 if test "${AR}" = "missing" ; then
576 AC_MSG_ERROR([Unable to locate ar(1) or suitable replacement. Check PATH or set AR.])
587 dnl ----------------------------------------------------------------
590 if test $ol_enable_perl != no ; then
591 AC_PATH_PROG(PERLBIN, perl, /usr/bin/perl)
593 if test "no$PERLBIN" = "no" ; then
594 if test $ol_enable_perl = yes ; then
595 AC_MSG_ERROR([could not locate perl])
599 PERL_CPPFLAGS="`$PERLBIN -MExtUtils::Embed -e ccopts`"
600 PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e 's/ -lc / /' -e 's/ -lc$//'`"
602 if test x"$ol_enable_perl" = "xyes" ; then
603 SLAPD_PERL_LDFLAGS="$PERL_LDFLAGS"
605 MOD_PERL_LDFLAGS="$PERL_LDFLAGS"
607 dnl should check perl version
614 dnl ----------------------------------------------------------------
615 dnl Checks for UNIX Variants
620 dnl ----------------------------------------------------------------
621 dnl Checks for system services
627 AC_DEFINE_UNQUOTED(EXEEXT, "${EXEEXT}", [defined to be the EXE extension])
629 dnl ----------------------------------------------------------------
630 dnl BeOS requires -lbe -lroot -lnet
631 AC_CHECK_LIB(be, be_app, [LIBS="$LIBS -lbe -lroot -lnet"], :, [-lroot -lnet])
633 dnl ----------------------------------------------------------------
634 dnl OpenLDAP requires STDC features
636 if test "X${am_cv_prog_cc_stdc}" = "Xno" ; then
637 AC_MSG_ERROR([OpenLDAP requires compiler to support STDC constructs.])
640 dnl ----------------------------------------------------------------
641 dnl Check cc depend flags
643 if test "${ol_cv_mkdep}" = no ; then
644 # this will soon become an error
645 AC_MSG_WARN([do not know how to generate dependencies])
648 dnl ----------------------------------------------------------------
649 dnl Check for AIX security library
650 AC_CHECK_LIB(s, afopen, [
652 AC_DEFINE(HAVE_AIX_SECURITY,1,[define if you have AIX security lib])
655 dnl ----------------------------------------------------------------
656 dnl Check for IBM OS/390
660 AC_DEFINE(BOTH_STRINGS_H,1,[define to use both <string.h> and <strings.h>])
664 dnl ----------------------------------------------------------------
665 dnl Check for module support
667 if test $ol_enable_modules != no ; then
668 AC_CHECK_HEADERS(ltdl.h)
670 if test $ac_cv_header_ltdl_h = no ; then
671 AC_MSG_ERROR([could not locate libtool ltdl.h])
674 AC_CHECK_LIB(ltdl, lt_dlinit, [
676 AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
679 if test "$ac_cv_lib_ltdl_lt_dlinit" = no ; then
680 AC_MSG_ERROR([could not locate libtool -lltdl])
685 for i in $Backends; do
686 eval "ol_tmp=\$ol_enable_$i"
687 if test $ol_tmp = mod ; then
688 AC_MSG_WARN([building static $i backend])
689 eval "ol_enable_$i=yes"
692 for i in $Overlays; do
693 eval "ol_tmp=\$ol_enable_$i"
694 if test $ol_tmp = mod ; then
695 AC_MSG_WARN([building static $i overlay])
696 eval "ol_enable_$i=yes"
701 dnl ----------------------------------------------------------------
702 dnl Checks for header files.
705 if test $ol_cv_header_stdc != yes; then
706 AC_MSG_WARN([could not locate Standard C compliant headers])
711 AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
712 if test $am_cv_sys_posix_termios = yes ; then
713 AC_DEFINE(HAVE_POSIX_TERMIOS,1,
714 [define if you have POSIX termios])
769 dnl ----------------------------------------------------------------
770 dnl Checks for libraries
772 dnl HP-UX requires -lV3
773 dnl this is not needed on newer versions of HP-UX
774 AC_CHECK_LIB(V3, sigset)
776 dnl The following is INTENTIONALLY scripted out because shell does not
777 dnl support variable names with the '@' character, which is what
778 dnl autoconf would try to generate if one merely used AC_SEARCH_LIBS
779 if test "$ac_cv_header_winsock_h" = yes; then
780 AC_CACHE_CHECK([for winsock], [ol_cv_winsock],
782 for curlib in ws2_32 wsock32; do
783 LIBS="$LIBS -l$curlib"
784 AC_TRY_LINK([#include <winsock.h>
788 select(0,NULL,NULL,NULL,NULL);
792 ol_cv_winsock=yes, ol_cv_winsock=no)
794 if test $ol_cv_winsock = yes; then
795 AC_DEFINE(HAVE_WINSOCK, 1, [define if you have winsock])
796 ac_cv_func_socket=yes
797 ac_cv_func_select=yes
798 ac_cv_func_closesocket=yes
799 ac_cv_func_gethostname=yes
800 if test $curlib = ws2_32; then
801 ol_cv_winsock=winsock2
802 AC_DEFINE(HAVE_WINSOCK2, 1,
803 [define if you have winsock2])
812 dnl Likely combinations:
813 dnl -lsocket [ -lnsl_s | -lnsl ]
816 AC_CHECK_FUNC(socket, :, [
817 dnl hopefully we won't include too many libraries
818 AC_CHECK_LIB(socket, main)
819 AC_CHECK_LIB(net, main)
820 AC_CHECK_LIB(nsl_s, main)
821 AC_CHECK_LIB(nsl, main)
822 AC_CHECK_LIB(inet, socket)
823 AC_CHECK_LIB(gen, main)
827 AC_CHECK_FUNC(select, :, AC_MSG_ERROR([select() required.]))
829 if test "${ac_cv_header_winsock_h}" != yes; then
831 dnl (if this detection becomes permenent, it and the select() detection
832 dnl should be done before the yielding select test)
833 AC_FUNC_SELECT_ARGTYPES
836 dnl check to see if system call automatically restart
837 dnl AC_SYS_RESTARTABLE_SYSCALLS
839 dnl ----------------------------------------------------------------
840 dnl require POSIX regex
841 AC_CHECK_HEADERS( regex.h )
842 if test "$ac_cv_header_regex_h" != yes ; then
843 AC_MSG_ERROR([POSIX regex.h required.])
845 AC_SEARCH_LIBS(regfree, [regex gnuregex],
846 :, AC_MSG_ERROR([POSIX regex required.]))
849 if test "$ol_cv_c_posix_regex" = no ; then
850 AC_MSG_ERROR([broken POSIX regex!])
853 dnl ----------------------------------------------------------------
857 AC_CHECK_HEADERS(sys/uuid.h)
858 if test $ac_cv_header_sys_uuid_h = yes ; then
860 AC_SEARCH_LIBS(uuid_to_str, uuid, [have_uuid=yes], :)
863 if test have_uuid = yes ; then
864 AC_DEFINE(HAVE_UUID_TO_STR,1,
865 [define if you have uuid_to_str()])
867 test "$ac_cv_search_uuid_to_str" = "none required" || \
868 SLAPD_LIBS="$SLAPD_LIBS $ac_cv_search_uuid_to_str"
872 dnl For windows, check for the need of RPCRT for UUID function support
873 if test $have_uuid = no ; then
874 AC_MSG_CHECKING(to see if -lrpcrt4 is needed for win32 UUID support)
876 LIBS="$LIBS -lrpcrt4"
878 int __stdcall UuidCreate(void *);
879 int __stdcall UuidToStringA(void *,void **);
885 need_rpcrt=yes, need_rpcrt=no)
886 if test $need_rpcrt = yes; then
887 SLAPD_LIBS="$SLAPD_LIBS -lrpcrt4"
890 AC_MSG_RESULT($need_rpcrt)
893 dnl ----------------------------------------------------------------
894 dnl Check for resolver routines
895 dnl need to check for both res_query and __res_query
896 dnl need to check -lc, -lbind, and -lresolv
898 AC_CHECK_FUNC(res_query,:)
899 if test $ac_cv_func_res_query = no ; then
900 AC_CHECK_FUNC(__res_query,:)
901 ac_cv_func_res_query=$ac_cv_func___res_query
904 if test $ac_cv_func_res_query = no ; then
905 AC_CHECK_LIB(bind, res_query)
906 ac_cv_func_res_query=$ac_cv_lib_bind_res_query
909 if test $ac_cv_func_res_query = no ; then
910 AC_CHECK_LIB(bind, __res_query)
911 ac_cv_func_res_query=$ac_cv_lib_bind___res_query
914 if test $ac_cv_func_res_query = no ; then
915 AC_CHECK_LIB(resolv, res_query)
916 ac_cv_func_res_query=$ac_cv_lib_resolv_res_query
919 if test $ac_cv_func_res_query = no ; then
920 AC_CHECK_LIB(resolv, __res_query)
921 ac_cv_func_res_query=$ac_cv_lib_resolv___res_query
924 if test "$ac_cv_func_res_query" = yes ; then
925 AC_DEFINE(HAVE_RES_QUERY,1,
926 [define if you have res_query()])
928 if test $ol_enable_dnssrv != no ; then
933 if test "$ol_enable_dnssrv" != no -a "$ol_link_dnssrv" = no ; then
934 AC_MSG_ERROR([DNSSRV requires res_query()])
937 dnl ----------------------------------------------------------------
938 dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN
939 dnl PF_LOCAL may use getaddrinfo in available
940 AC_CHECK_FUNCS( getaddrinfo getnameinfo gai_strerror inet_ntop )
943 if test $ac_cv_func_getaddrinfo = no -o $ac_cv_func_inet_ntop = no ; then
944 if test $ol_enable_ipv6 = yes ; then
945 AC_MSG_ERROR([IPv6 support requires getaddrinfo() and inet_ntop()])
947 elif test $ol_enable_ipv6 != no ; then
948 AC_CACHE_CHECK([INET6_ADDRSTRLEN],[ol_cv_inet6_addrstrlen],[
949 AC_EGREP_CPP(__has_inet6_addrstrlen__,[
950 # include <netinet/in.h>
951 # ifdef INET6_ADDRSTRLEN
952 __has_inet6_addrstrlen__;
954 ], [ol_cv_inet6_addrstrlen=yes], [ol_cv_inet6_addrstrlen=no])])
957 AC_CACHE_CHECK([struct sockaddr_storage],ol_cv_struct_sockaddr_storage,[
959 #include <sys/types.h>
960 #include <sys/socket.h>
962 struct sockaddr_storage ss;
963 ], [ol_cv_struct_sockaddr_storage=yes],
964 [ol_cv_struct_sockaddr_storage=no])])
966 if test $ol_cv_inet6_addrstrlen = yes \
967 -a $ol_cv_struct_sockaddr_storage = yes ; then
969 elif test $ol_enable_ipv6 = yes \
970 -a $ol_cv_inet6_addrstrlen = no ; then
971 AC_MSG_ERROR([IPv6 support requires INET6_ADDRSTRLEN])
972 elif test $ol_enable_ipv6 = yes \
973 -a $ol_cv_struct_sockaddr_storage = no ; then
974 AC_MSG_ERROR([IPv6 support requires struct sockaddr_storage])
978 if test $ol_enable_local != no ; then
979 AC_CHECK_HEADERS( sys/un.h )
981 if test $ol_enable_local = auto ; then
982 ol_enable_local=$ac_cv_header_sys_un_h
983 elif test $ac_cv_header_sys_un_h = no ; then
984 AC_MSG_ERROR([AF_LOCAL domain support requires sys/un.h])
988 dnl ----------------------------------------------------------------
994 if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
995 -o $ol_with_kerberos = k5 -o $ol_with_kerberos = k5only \
996 -o $ol_with_kerberos = k425 ; then
998 AC_CHECK_HEADERS(krb5.h)
1000 if test $ac_cv_header_krb5_h = yes ; then
1001 dnl lazy check for Heimdal Kerberos
1002 AC_CHECK_HEADERS(heim_err.h)
1003 if test $ac_cv_header_heim_err_h = yes ; then
1009 if test $krb5_impl = mit; then
1010 AC_CHECK_LIB(k5crypto, main,
1011 [krb5crypto=k5crypto],
1012 [krb5crypto=crypto])
1014 AC_CHECK_LIB(krb5, main,
1016 KRB5_LIBS="-lkrb5 -l$krb5crypto -lcom_err"],
1018 [-l$krb5crypto -lcom_err])
1020 elif test $krb5_impl = heimdal; then
1021 AC_CHECK_LIB(des, main,
1023 [krb5crypto=crypto])
1025 AC_CHECK_LIB(krb5, main,
1027 KRB5_LIBS="-lkrb5 -l$krb5crypto -lasn1 -lroken -lcom_err"],
1029 [-l$krb5crypto -lasn1 -lroken -lcom_err])
1031 AC_DEFINE(HAVE_HEIMDAL_KERBEROS, 1,
1032 [define if you have HEIMDAL Kerberos])
1036 AC_MSG_WARN([Unrecognized Kerberos5 Implementation])
1039 if test $have_krb5 = yes ; then
1042 AC_DEFINE(HAVE_KRB5, 1,
1043 [define if you have Kerberos V])
1045 if test $ol_with_kerberos = k5only ; then
1046 ol_with_kerberos=found
1049 elif test $ol_with_kerberos != auto ; then
1050 AC_MSG_ERROR([Required Kerberos 5 support not available])
1056 if test $ol_link_krb5 = yes -a \( $ol_with_kerberos = yes -o \
1057 $ol_with_kerberos = auto -o $ol_with_kerberos = k425 \) ; then
1059 AC_CHECK_HEADERS(kerberosIV/krb.h kerberosIV/des.h)
1061 if test $ac_cv_header_kerberosIV_krb_h = yes ; then
1062 if test $krb5_impl = mit; then
1063 AC_CHECK_LIB(krb4, main, [have_k425=yes
1064 KRB4_LIBS="-lkrb4 -ldes425"], [have_k425=no],
1065 [-ldes425 -lkrb5 -l$krb5crypto -lcom_err])
1067 elif test $krb5_impl = heimdal; then
1068 AC_CHECK_LIB(krb4, main, [have_k425=yes
1069 KRB4_LIBS="-lkrb4"], [have_k425=no],
1070 [-lkrb5 -l$krb5crypto -lasn1 -lroken -lcom_err])
1074 AC_MSG_WARN([Unrecongized Kerberos V Implementation])
1077 if test $have_k425 = yes ; then
1078 ol_with_kerberos=found
1081 AC_DEFINE(HAVE_KRB425, 1,
1082 [define if you have Kerberos V with IV support])
1083 AC_DEFINE(HAVE_KRB4, 1,
1084 [define if you have Kerberos IV])
1086 AC_CACHE_CHECK([for des_debug in Kerberos libraries],
1087 [ol_cv_var_des_debug], [
1090 LIBS="$KRB4_LIBS $KRB5_LIBS $LIBS"
1092 #include <kerberosIV/krb.h>
1093 #include <kerberosIV/des.h>
1094 extern int des_debug;
1097 ], ol_cv_var_des_debug=yes, ol_cv_var_des_debug=no)
1098 dnl restore the LIBS
1102 if test $ol_cv_var_des_debug = yes ; then
1103 AC_DEFINE(HAVE_DES_DEBUG,1,
1104 [define if you have Kerberos des_debug])
1112 if test $ol_link_krb5 = yes ; then
1113 ol_with_kerberos=found
1116 if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
1117 -o $ol_with_kerberos = k4 -o $ol_with_kerberos = kth ; then
1119 AC_CHECK_HEADERS(krb.h des.h krb-archaeology.h )
1121 if test $ac_cv_header_krb_h = yes ; then
1122 AC_CHECK_LIB(krb, main, [have_k4=yes], [have_k4=no], [-ldes])
1124 if test $have_k4 = yes ; then
1125 ol_with_kerberos=found
1128 AC_DEFINE(HAVE_KRB4, 1,
1129 [define if you have Kerberos IV])
1131 KRB4_LIBS="-lkrb -ldes"
1133 if test $ac_cv_header_krb_archaeology_h = yes ; then
1134 AC_DEFINE(HAVE_KTH_KERBEROS, 1,
1135 [define if you have Kth Kerberos])
1141 if test $ol_link_krb4 = yes -a $ol_enable_kbind != no ; then
1144 elif test $ol_enable_kbind = yes ; then
1145 AC_MSG_ERROR([Kerberos IV detection failed])
1148 if test $ol_link_krb4 = yes -o $ol_link_krb5 = yes ; then
1149 AC_DEFINE(HAVE_KERBEROS, 1, [define if you have Kerberos])
1151 elif test $ol_with_kerberos != auto -a $ol_with_kerberos != no ; then
1152 AC_MSG_ERROR([Kerberos detection failed])
1155 dnl ----------------------------------------------------------------
1158 if test $ol_with_tls != no ; then
1159 AC_CHECK_HEADERS(openssl/ssl.h ssl.h)
1161 if test $ac_cv_header_openssl_ssl_h = yes \
1162 -o $ac_cv_header_ssl_h = yes ; then
1163 AC_CHECK_LIB(ssl, SSLeay_add_ssl_algorithms,
1169 if test $have_ssleay = no ; then
1170 AC_CHECK_LIB(ssl, SSL_library_init,
1172 need_rsaref=no], [have_ssleay=no],
1176 if test $have_ssleay = no ; then
1177 AC_CHECK_LIB(ssl, ssl3_accept,
1179 need_rsaref=yes], [have_ssleay=no],
1180 [-lcrypto -lRSAglue -lrsaref])
1183 if test $have_ssleay = yes ; then
1187 AC_DEFINE(HAVE_SSLEAY, 1,
1188 [define if you have SSLeay or OpenSSL])
1190 if test $need_rsaref = yes; then
1191 AC_DEFINE(HAVE_RSAREF, 1,
1192 [define if you have RSAref])
1194 TLS_LIBS="-lssl -lcrypto -lRSAglue -lrsaref"
1196 TLS_LIBS="-lssl -lcrypto"
1202 AC_WARN([TLS data protection not supported!])
1206 if test $ol_link_tls = yes ; then
1207 AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
1210 elif test $ol_with_tls = auto ; then
1211 AC_WARN([Could not locate TLS/SSL package])
1212 AC_WARN([TLS data protection not supported!])
1214 elif test $ol_with_tls != no ; then
1215 AC_ERROR([Could not locate TLS/SSL package])
1218 dnl ----------------------------------------------------------------
1219 dnl LAN Manger password checking requires DES from OpenSSL
1220 if test $ol_enable_lmpasswd != no; then
1221 if test $ol_link_tls != yes ; then
1222 AC_ERROR([LAN Manager passwords require OpenSSL])
1225 AC_DEFINE(SLAPD_LMHASH, 1, [define to support LAN Manager passwords])
1228 dnl ----------------------------------------------------------------
1232 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1233 -o $ol_with_threads = nt ; then
1237 if test "$ol_cv_nt_threads" = yes ; then
1239 ol_with_threads=found
1240 ol_with_yielding_select=yes
1242 AC_DEFINE(HAVE_NT_SERVICE_MANAGER,1,[if you have NT Service Manager])
1243 AC_DEFINE(HAVE_NT_EVENT_LOG,1,[if you have NT Event Log])
1246 if test $ol_with_threads = nt ; then
1247 AC_MSG_ERROR([could not locate NT Threads])
1251 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1252 -o $ol_with_threads = posix ; then
1254 AC_CHECK_HEADERS(pthread.h)
1256 if test $ac_cv_header_pthread_h = yes ; then
1257 OL_POSIX_THREAD_VERSION
1259 if test $ol_cv_pthread_version != 0 ; then
1260 AC_DEFINE_UNQUOTED(HAVE_PTHREADS,$ol_cv_pthread_version,
1261 [define to pthreads API spec revision])
1263 AC_MSG_ERROR([unknown pthread version])
1266 # consider threads found
1267 ol_with_threads=found
1269 OL_HEADER_LINUX_THREADS
1270 OL_HEADER_GNU_PTH_PTHREAD_H
1272 if test $ol_cv_header_gnu_pth_pthread_h = no ; then
1273 AC_CHECK_HEADERS(sched.h)
1276 dnl Now the hard part, how to link?
1278 dnl currently supported checks:
1280 dnl Check for no flags
1281 dnl pthread_create() in $LIBS
1283 dnl Check special pthread (final) flags
1284 dnl [skipped] pthread_create() with -mt (Solaris) [disabled]
1285 dnl pthread_create() with -kthread (FreeBSD)
1286 dnl pthread_create() with -pthread (FreeBSD/Digital Unix)
1287 dnl pthread_create() with -pthreads (?)
1288 dnl pthread_create() with -mthreads (AIX)
1289 dnl pthread_create() with -thread (?)
1291 dnl Check pthread (final) libraries
1292 dnl pthread_mutex_unlock() in -lpthread -lmach -lexc -lc_r (OSF/1)
1293 dnl pthread_mutex_lock() in -lpthread -lmach -lexc (OSF/1)
1294 dnl [skipped] pthread_mutex_trylock() in -lpthread -lexc (OSF/1)
1295 dnl pthread_join() -Wl,-woff,85 -lpthread (IRIX)
1296 dnl pthread_create() in -lpthread (many)
1297 dnl pthread_create() in -lc_r (FreeBSD)
1299 dnl Check pthread (draft4) flags (depreciated)
1300 dnl pthread_create() with -threads (OSF/1)
1302 dnl Check pthread (draft4) libraries (depreciated)
1303 dnl pthread_mutex_unlock() in -lpthreads -lmach -lexc -lc_r (OSF/1)
1304 dnl pthread_mutex_lock() in -lpthreads -lmach -lexc (OSF/1)
1305 dnl pthread_mutex_trylock() in -lpthreads -lexc (OSF/1)
1306 dnl pthread_create() in -lpthreads (many)
1309 dnl pthread_create in $LIBS
1310 AC_CACHE_CHECK([for pthread_create in default libraries],
1311 ol_cv_pthread_create,[
1312 AC_TRY_RUN(OL_PTHREAD_TEST_PROGRAM,
1313 [ol_cv_pthread_create=yes],
1314 [ol_cv_pthread_create=no],
1315 [AC_TRY_LINK(OL_PTHREAD_TEST_INCLUDES,OL_PTHREAD_TEST_FUNCTION,
1316 [ol_cv_pthread_create=yes],
1317 [ol_cv_pthread_create=no])])])
1319 if test $ol_cv_pthread_create != no ; then
1320 ol_link_threads=posix
1324 dnl OL_PTHREAD_TRY([-mt], [ol_cv_pthread_mt])
1325 OL_PTHREAD_TRY([-kthread], [ol_cv_pthread_kthread])
1326 OL_PTHREAD_TRY([-pthread], [ol_cv_pthread_pthread])
1327 OL_PTHREAD_TRY([-pthreads], [ol_cv_pthread_pthreads])
1328 OL_PTHREAD_TRY([-mthreads], [ol_cv_pthread_mthreads])
1329 OL_PTHREAD_TRY([-thread], [ol_cv_pthread_thread])
1331 OL_PTHREAD_TRY([-lpthread -lmach -lexc -lc_r],
1332 [ol_cv_pthread_lpthread_lmach_lexc_lc_r])
1333 OL_PTHREAD_TRY([-lpthread -lmach -lexc],
1334 [ol_cv_pthread_lpthread_lmach_lexc])
1335 dnl OL_PTHREAD_TRY([-lpthread -lexc],
1336 dnl [ol_cv_pthread_lpthread_lexc])
1338 OL_PTHREAD_TRY([-lpthread -Wl,-woff,85],
1339 [ol_cv_pthread_lib_lpthread_woff])
1341 OL_PTHREAD_TRY([-lpthread], [ol_cv_pthread_lpthread])
1342 OL_PTHREAD_TRY([-lc_r], [ol_cv_pthread_lc_r])
1344 OL_PTHREAD_TRY([-threads], [ol_cv_pthread_threads])
1346 OL_PTHREAD_TRY([-lpthreads -lmach -lexc -lc_r],
1347 [ol_cv_pthread_lpthreads_lmach_lexc_lc_r])
1348 OL_PTHREAD_TRY([-lpthreads -lmach -lexc],
1349 [ol_cv_pthread_lpthreads_lmach_lexc])
1350 OL_PTHREAD_TRY([-lpthreads -lexc],
1351 [ol_cv_pthread_lpthreads_lexc])
1353 OL_PTHREAD_TRY([-lpthreads],[ol_cv_pthread_lib_lpthreads])
1355 if test $ol_link_threads != no ; then
1356 LTHREAD_LIBS="$LTHREAD_LIBS $ol_link_pthreads"
1359 save_CPPFLAGS="$CPPFLAGS"
1361 LIBS="$LTHREAD_LIBS $LIBS"
1363 dnl All POSIX Thread (final) implementations should have
1364 dnl sched_yield instead of pthread yield.
1365 dnl check for both, and thr_yield for Solaris
1366 AC_CHECK_FUNCS(sched_yield pthread_yield thr_yield)
1368 if test $ac_cv_func_sched_yield = no -a \
1369 $ac_cv_func_pthread_yield = no -a \
1370 $ac_cv_func_thr_yield = no ; then
1371 dnl Digital UNIX has sched_yield() in -lrt
1372 AC_CHECK_LIB(rt, sched_yield,
1373 [LTHREAD_LIBS="$LTHREAD_LIBS -lrt"
1374 AC_DEFINE(HAVE_SCHED_YIELD,1,
1375 [Define if you have the sched_yield function.])
1376 ac_cv_func_sched_yield=yes],
1377 [ac_cv_func_sched_yield=no])
1379 if test $ac_cv_func_sched_yield = no -a \
1380 $ac_cv_func_pthread_yield = no -a \
1381 "$ac_cv_func_thr_yield" = no ; then
1382 AC_MSG_WARN([could not locate sched_yield() or pthread_yield()])
1385 dnl Check functions for compatibility
1386 AC_CHECK_FUNCS(pthread_kill pthread_rwlock_destroy)
1388 dnl Check for pthread_detach with <pthread.h> inclusion
1389 dnl as it's symbol may have been mangled.
1390 AC_CACHE_CHECK([for pthread_detach with <pthread.h>],
1391 [ol_cv_func_pthread_detach], [
1394 #include <pthread.h>
1396 #define NULL (void*)0
1399 [pthread_detach(NULL);],
1400 [ol_cv_func_pthread_detach=yes],
1401 [ol_cv_func_pthread_detach=no])
1404 if test $ol_cv_func_pthread_detach = no ; then
1405 AC_MSG_ERROR([could not locate pthread_detach()])
1408 AC_DEFINE(HAVE_PTHREAD_DETACH,1,
1409 [define if you have pthread_detach function])
1411 dnl Check for setconcurreny functions
1413 pthread_setconcurrency \
1414 pthread_getconcurrency \
1415 thr_setconcurrency \
1416 thr_getconcurrency \
1419 OL_SYS_LINUX_THREADS
1422 if test $ol_cv_linux_threads = error; then
1423 AC_MSG_ERROR([LinuxThreads header/library mismatch]);
1426 AC_CACHE_CHECK([if pthread_create() works],
1427 ol_cv_pthread_create_works,[
1428 AC_TRY_RUN(OL_PTHREAD_TEST_PROGRAM,
1429 [ol_cv_pthread_create_works=yes],
1430 [ol_cv_pthread_create_works=no],
1432 ol_cv_pthread_create_works=yes])])
1434 if test $ol_cv_pthread_create_works = no ; then
1435 AC_MSG_ERROR([pthread_create is not usable, check environment settings])
1438 dnl Check if select causes an yield
1439 if test $ol_with_yielding_select = auto ; then
1440 AC_CACHE_CHECK([if select yields when using pthreads],
1441 ol_cv_pthread_select_yields,[
1443 #include <sys/types.h>
1444 #include <sys/time.h>
1446 #include <pthread.h>
1448 #define NULL (void*) 0
1451 static int fildes[2];
1453 static void *task(p)
1465 FD_SET(fildes[0], &rfds);
1467 /* we're not interested in any fds */
1468 i = select(FD_SETSIZE, &rfds, NULL, NULL, &tv);
1475 exit(0); /* if we exit here, the select blocked the whole process */
1478 int main(argc, argv)
1484 /* create a pipe to select */
1485 if(pipe(&fildes[0])) {
1490 #ifdef HAVE_PTHREAD_SETCONCURRENCY
1491 (void) pthread_setconcurrency(2);
1493 #ifdef HAVE_THR_SETCONCURRENCY
1494 /* Set Solaris LWP concurrency to 2 */
1495 thr_setconcurrency(2);
1499 #if HAVE_PTHREADS < 6
1500 pthread_create(&t, pthread_attr_default, task, NULL);
1502 pthread_create(&t, NULL, task, NULL);
1505 /* make sure task runs first */
1508 #elif defined( HAVE_SCHED_YIELD )
1510 #elif defined( HAVE_PTHREAD_YIELD )
1516 [ol_cv_pthread_select_yields=no],
1517 [ol_cv_pthread_select_yields=yes],
1518 [ol_cv_pthread_select_yields=cross])])
1520 if test $ol_cv_pthread_select_yields = cross ; then
1521 AC_MSG_ERROR([crossing compiling: use --with-yielding_select=yes|no|manual])
1524 if test $ol_cv_pthread_select_yields = yes ; then
1525 ol_with_yielding_select=yes
1530 CPPFLAGS="$save_CPPFLAGS"
1533 AC_MSG_ERROR([could not locate usable POSIX Threads])
1537 if test $ol_with_threads = posix ; then
1538 AC_MSG_ERROR([could not locate POSIX Threads])
1542 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1543 -o $ol_with_threads = mach ; then
1545 dnl check for Mach CThreads
1546 AC_CHECK_HEADERS(mach/cthreads.h cthreads.h)
1547 if test $ac_cv_header_mach_cthreads_h = yes ; then
1548 ol_with_threads=found
1550 dnl check for cthreads support in current $LIBS
1551 AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
1553 if test $ol_link_threads = no ; then
1555 dnl this test needs work
1556 AC_CACHE_CHECK([for cthread_fork with -all_load],
1557 [ol_cv_cthread_all_load], [
1560 LIBS="-all_load $LIBS"
1561 AC_TRY_LINK([#include <mach/cthreads.h>],[
1562 cthread_fork((void *)0, (void *)0);
1563 ], ol_cv_cthread_all_load=yes, ol_cv_cthread_all_load=no)
1564 dnl restore the LIBS
1568 if test $ol_cv_cthread_all_load = yes ; then
1569 LTHREAD_LIBS="$LTHREAD_LIBS -all_load"
1570 ol_link_threads=mach
1571 ol_with_threads=found
1575 elif test $ac_cv_header_cthreads_h = yes ; then
1576 dnl Hurd variant of Mach Cthreads
1577 dnl uses <cthreads.h> and -lthreads
1579 ol_with_threads=found
1583 LIBS="$LIBS -lthreads"
1584 AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
1587 if test $ol_link_threads = yes ; then
1588 LTHREAD_LIBS="-lthreads"
1589 ol_link_threads=mach
1590 ol_with_threads=found
1592 AC_MSG_ERROR([could not link with Mach CThreads])
1595 elif test $ol_with_threads = mach ; then
1596 AC_MSG_ERROR([could not locate Mach CThreads])
1599 if test $ol_link_threads = mach ; then
1600 AC_DEFINE(HAVE_MACH_CTHREADS,1,
1601 [define if you have Mach Cthreads])
1602 elif test $ol_with_threads = found ; then
1603 AC_MSG_ERROR([could not link with Mach CThreads])
1607 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1608 -o $ol_with_threads = pth ; then
1610 AC_CHECK_HEADERS(pth.h)
1612 if test $ac_cv_header_pth_h = yes ; then
1613 AC_CHECK_LIB(pth, pth_version, [have_pth=yes], [have_pth=no])
1615 if test $have_pth = yes ; then
1616 AC_DEFINE(HAVE_GNU_PTH,1,[if you have GNU Pth])
1617 LTHREAD_LIBS="$LTHREAD_LIBS -lpth"
1619 ol_with_threads=found
1621 if test $ol_with_yielding_select = auto ; then
1622 ol_with_yielding_select=yes
1628 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1629 -o $ol_with_threads = lwp ; then
1631 dnl check for SunOS5 LWP
1632 AC_CHECK_HEADERS(thread.h synch.h)
1633 if test $ac_cv_header_thread_h = yes -a $ac_cv_header_synch_h = yes ; then
1634 AC_CHECK_LIB(thread, thr_create, [have_thr=yes], [have_thr=no])
1636 if test $have_thr = yes ; then
1637 AC_DEFINE(HAVE_THR,1,
1638 [if you have Solaris LWP (thr) package])
1639 LTHREAD_LIBS="$LTHREAD_LIBS -lthread"
1642 if test $ol_with_yielding_select = auto ; then
1643 ol_with_yielding_select=yes
1646 dnl Check for setconcurreny functions
1648 thr_setconcurrency \
1649 thr_getconcurrency \
1654 dnl check for SunOS4 LWP
1655 AC_CHECK_HEADERS(lwp/lwp.h)
1656 if test $ac_cv_header_lwp_lwp_h = yes ; then
1657 AC_CHECK_LIB(lwp, lwp_create, [have_lwp=yes], [have_lwp=no])
1659 if test $have_lwp = yes ; then
1660 AC_DEFINE(HAVE_LWP,1,
1661 [if you have SunOS LWP package])
1662 LTHREAD_LIBS="$LTHREAD_LIBS -llwp"
1665 if test $ol_with_yielding_select = auto ; then
1666 ol_with_yielding_select=no
1672 if test $ol_with_yielding_select = yes ; then
1673 AC_DEFINE(HAVE_YIELDING_SELECT,1,
1674 [define if select implicitly yields])
1677 if test $ol_with_threads = manual ; then
1678 dnl User thinks he can manually configure threads.
1681 AC_MSG_WARN([thread defines and link options must be set manually])
1683 AC_CHECK_HEADERS(pthread.h sched.h)
1684 AC_CHECK_FUNCS(sched_yield pthread_yield)
1685 OL_HEADER_LINUX_THREADS
1687 AC_CHECK_HEADERS(mach/cthreads.h)
1688 AC_CHECK_HEADERS(lwp/lwp.h)
1689 AC_CHECK_HEADERS(thread.h synch.h)
1692 if test $ol_link_threads != no -a $ol_link_threads != nt ; then
1693 dnl needed to get reentrant/threadsafe versions
1695 AC_DEFINE(REENTRANT,1)
1696 AC_DEFINE(_REENTRANT,1)
1697 AC_DEFINE(THREAD_SAFE,1)
1698 AC_DEFINE(_THREAD_SAFE,1)
1699 AC_DEFINE(THREADSAFE,1)
1700 AC_DEFINE(_THREADSAFE,1)
1701 AC_DEFINE(_SGI_MP_SOURCE,1)
1703 dnl The errno declaration may dependent upon _REENTRANT.
1704 dnl If it does, we must link with thread support.
1705 AC_CACHE_CHECK([for thread specific errno],
1706 [ol_cv_errno_thread_specific], [
1707 AC_TRY_LINK([#include <errno.h>], [errno = 0;],
1708 [ol_cv_errno_thread_specific=yes],
1709 [ol_cv_errno_thread_specific=no])
1712 dnl The h_errno declaration may dependent upon _REENTRANT.
1713 dnl If it does, we must link with thread support.
1714 AC_CACHE_CHECK([for thread specific h_errno],
1715 [ol_cv_h_errno_thread_specific], [
1716 AC_TRY_LINK([#include <netdb.h>], [h_errno = 0;],
1717 [ol_cv_h_errno_thread_specific=yes],
1718 [ol_cv_h_errno_thread_specific=no])
1721 if test $ol_cv_errno_thread_specific != yes \
1722 -o $ol_cv_h_errno_thread_specific != yes ; then
1723 LIBS="$LTHREAD_LIBS $LIBS"
1727 dnl When in thread environment, use
1728 dnl #if defined( HAVE_REENTRANT_FUNCTIONS ) || defined( HAVE_FUNC_R )
1731 dnl # if defined( HAVE_THREADS )
1735 dnl # if defined( HAVE_THREADS )
1740 dnl HAVE_REENTRANT_FUNCTIONS is derived from:
1741 dnl _POSIX_REENTRANT_FUNCTIONS
1742 dnl _POSIX_THREAD_SAFE_FUNCTIONS
1743 dnl _POSIX_THREADSAFE_FUNCTIONS
1745 dnl and is currently defined in <ldap_pvt_thread.h>
1747 dnl HAVE_THREADS is defined by <ldap_pvt_thread.h> iff -UNO_THREADS
1749 dnl libldap/*.c should only include <ldap_pvt_thread.h> iff
1750 dnl LDAP_R_COMPILE is defined. ie:
1751 dnl #ifdef LDAP_R_COMPILE
1752 dnl # include <ldap_pvt_thread.h>
1755 dnl LDAP_R_COMPILE is defined by libldap_r/Makefile.in
1756 dnl specifically for compiling the threadsafe version of
1757 dnl the ldap library (-lldap_r).
1759 dnl dnl check for reentrant/threadsafe functions
1761 dnl dnl note: these should only be used when linking
1762 dnl dnl with $LTHREAD_LIBS
1764 dnl save_CPPFLAGS="$CPPFLAGS"
1765 dnl save_LIBS="$LIBS"
1766 dnl LIBS="$LTHREAD_LIBS $LIBS"
1767 dnl AC_CHECK_FUNCS( \
1769 dnl gethostbyaddr_r gethostbyname_r \
1770 dnl feof_unlocked unlocked_feof \
1771 dnl putc_unlocked unlocked_putc \
1772 dnl flockfile ftrylockfile \
1774 dnl CPPFLAGS="$save_CPPFLAGS"
1775 dnl LIBS="$save_LIBS"
1778 if test $ol_link_threads = no ; then
1779 if test $ol_with_threads = yes ; then
1780 AC_MSG_ERROR([no suitable thread support])
1783 if test $ol_with_threads = auto ; then
1784 AC_MSG_WARN([no suitable thread support, disabling threads])
1788 AC_DEFINE(NO_THREADS,1,
1789 [define if you have (or want) no threads])
1793 if test $ol_link_threads != no ; then
1794 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE,1)
1797 dnl ----------------------------------------------------------------
1798 dnl Tests for reentrant functions necessary to build -lldap_r
1801 gethostbyname_r gethostbyaddr_r \
1804 if test "$ac_cv_func_ctime_r" = no ; then
1805 ol_cv_func_ctime_r_nargs=0
1807 OL_FUNC_CTIME_R_NARGS
1808 dnl OL_FUNC_CTIME_R_TYPE
1811 if test "$ac_cv_func_gethostbyname_r" = yes ; then
1812 OL_FUNC_GETHOSTBYNAME_R_NARGS
1814 ol_cv_func_gethostbyname_r_nargs=0
1817 if test "$ac_cv_func_gethostbyaddr_r" = yes ; then
1818 OL_FUNC_GETHOSTBYADDR_R_NARGS
1820 ol_cv_func_gethostbyaddr_r_nargs=0
1823 dnl ----------------------------------------------------------------
1826 if test $ol_with_ldbm_api = auto \
1827 -o $ol_with_ldbm_api = berkeley \
1828 -o $ol_with_ldbm_api = bcompat ; then
1830 if test $ol_with_ldbm_api = bcompat; then \
1831 OL_BERKELEY_COMPAT_DB
1836 if test $ol_cv_berkeley_db != no ; then
1837 AC_DEFINE(HAVE_BERKELEY_DB,1,
1838 [define this if Berkeley DB is available])
1840 ol_link_ldbm=berkeley
1841 ol_with_ldbm_api=berkeley
1843 if test $ol_with_ldbm_type = hash ; then
1844 AC_DEFINE(LDBM_USE_DBHASH,1,
1845 [define this to use DBHASH w/ LDBM backend])
1847 AC_DEFINE(LDBM_USE_DBBTREE,1,
1848 [define this to use DBBTREE w/ LDBM backend])
1851 dnl $ol_cv_lib_db should be yes or -ldb
1852 dnl (it could be no, but that would be an error
1853 if test $ol_cv_lib_db != yes ; then
1854 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db"
1859 if test $ol_enable_bdb = yes -a $ol_link_ldbm != berkeley ; then
1860 AC_MSG_ERROR(BDB: BerkeleyDB not available)
1861 elif test $ol_enable_bdb != no -a $ol_link_ldbm = berkeley ; then
1864 if test $ol_cv_bdb_compat = yes ; then
1866 elif test $ol_enable_bdb = yes ; then
1867 AC_MSG_ERROR([BDB: BerkeleyDB version incompatible])
1872 if test $ol_enable_hdb = yes -a $ol_link_ldbm != berkeley ; then
1873 AC_MSG_ERROR([HDB: BerkeleyDB not available])
1876 if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
1877 AC_MSG_WARN([Could not find LDBM with BTREE support])
1878 ol_with_ldbm_api=none
1881 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = mdbm ; then
1884 if test $ol_cv_mdbm = yes ; then
1886 ol_with_ldbm_api=mdbm
1887 if test $ol_cv_lib_mdbm != yes ; then
1888 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_mdbm"
1893 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = gdbm ; then
1896 if test $ol_cv_gdbm = yes ; then
1898 ol_with_ldbm_api=gdbm
1900 if test $ol_cv_lib_gdbm != yes ; then
1901 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_gdbm"
1906 if test $ol_with_ldbm_api = ndbm ; then
1909 if test $ol_cv_ndbm = yes ; then
1911 ol_with_ldbm_api=ndbm
1913 if test $ol_cv_lib_ndbm != yes ; then
1914 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_ndbm"
1919 if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then
1920 AC_MSG_WARN([could not find suitable LDBM backend])
1921 if test $ol_enable_ldbm = yes ; then
1922 AC_MSG_ERROR([select appropriate LDBM options or disable])
1925 AC_MSG_WARN(disabling LDBM)
1929 dnl ----------------------------------------------------------------
1931 if test $ol_enable_dynamic = yes -a $enable_shared = yes ; then
1932 BUILD_LIBS_DYNAMIC=shared
1933 AC_DEFINE(LDAP_LIBS_DYNAMIC, 1, [define if LDAP libs are dynamic])
1936 BUILD_LIBS_DYNAMIC=static
1939 AC_SUBST(LTSTATIC)dnl
1941 dnl ----------------------------------------------------------------
1942 if test $ol_enable_wrappers != no ; then
1943 AC_CHECK_HEADERS(tcpd.h,[
1944 AC_MSG_CHECKING([for TCP wrappers library])
1949 int allow_severity = 0;
1950 int deny_severity = 0;
1952 struct request_info *req;
1955 ],[AC_MSG_RESULT([-lwrap])
1957 LIBS="$save_LIBS"],[
1962 int allow_severity = 0;
1963 int deny_severity = 0;
1965 struct request_info *req;
1968 ],[AC_MSG_RESULT([-lwrap -lnsl])
1970 LIBS="$save_LIBS -lnsl"],[
1973 LIBS=$save_LIBS])],[
1974 have_wrappers=no])],[have_wrappers=no])
1976 if test $have_wrappers = yes ; then
1977 AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
1979 elif test $ol_enable_wrappers = yes ; then
1980 AC_MSG_ERROR([could not find TCP wrappers, select apppropriate options or disable])
1982 AC_MSG_WARN([could not find TCP wrappers, support disabled])
1987 dnl ----------------------------------------------------------------
1988 if test $ol_enable_syslog != no ; then
1989 AC_CHECK_FUNC(openlog)
1990 if test $ac_cv_func_openlog = no -a $ol_enable_syslog = yes; then
1991 AC_MSG_ERROR(could not find syslog, select appropriate options or disable)
1993 ol_enable_syslog=$ac_cv_func_openlog
1996 dnl ----------------------------------------------------------------
1997 dnl dmalloc support (deprecated in favor of -DCSRIMALLOC support)
1998 dnl if test $ol_enable_dmalloc != no ; then
1999 dnl AC_CHECK_HEADERS(dmalloc.h)
2000 dnl AC_CHECK_LIB(dmalloc, dmalloc_shutdown)
2003 dnl ----------------------------------------------------------------
2006 if test $ol_enable_sql != no ; then
2007 AC_CHECK_HEADERS(sql.h sqlext.h,[],[
2008 AC_MSG_ERROR([could not locate SQL headers])
2011 AC_CHECK_LIB(iodbc,SQLDriverConnect,[have_iodbc=yes],[have_iodbc=no])
2012 if test $have_iodbc = yes ; then
2013 ol_link_sql="-liodbc"
2015 AC_CHECK_LIB(odbc,SQLDriverConnect,[have_odbc=yes],[have_odbc=no])
2016 if test $have_odbc = yes ; then
2017 ol_link_sql="-lodbc"
2021 if test $ol_link_sql != no ; then
2022 SLAPD_SQL_LIBS="$ol_link_sql"
2024 elif test $ol_enable_sql != auto ; then
2025 AC_MSG_ERROR([could not locate suitable ODBC library])
2029 dnl ----------------------------------------------------------------
2031 dnl Check for Cyrus SASL
2035 if test $ol_with_cyrus_sasl != no ; then
2036 AC_CHECK_HEADERS(sasl/sasl.h sasl.h)
2038 if test $ac_cv_header_sasl_sasl_h = yes -o $ac_cv_header_sasl_h = yes; then
2039 AC_CHECK_LIB(sasl2, sasl_client_init,
2040 [ol_link_sasl="-lsasl2"],
2041 [AC_CHECK_LIB(sasl, sasl_client_init,
2042 [ol_link_sasl="-lsasl"])])
2045 if test $ol_link_sasl = no ; then
2046 if test $ol_with_cyrus_sasl != auto ; then
2047 AC_MSG_ERROR([Could not locate Cyrus SASL])
2049 AC_MSG_WARN([Could not locate Cyrus SASL])
2050 AC_MSG_WARN([SASL authentication not supported!])
2051 if test $ol_link_tls = no ; then
2052 AC_MSG_WARN([Strong authentication not supported!])
2057 if test $ol_cv_sasl_compat = no ; then
2059 AC_MSG_ERROR([Cyrus SASL library located but is incompatible])
2062 AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
2063 SASL_LIBS="$ol_link_sasl"
2064 if test $ol_enable_spasswd != no ; then
2068 ac_save_LIBS="$LIBS"
2069 LIBS="$LIBS $ol_link_sasl"
2070 AC_CHECK_FUNC(sasl_version, [AC_DEFINE(HAVE_SASL_VERSION,1,
2071 [define if your SASL library has sasl_version()])])
2072 LIBS="$ac_save_LIBS"
2076 AC_MSG_WARN([SASL authentication not supported!])
2077 if test $ol_link_tls = no ; then
2078 AC_MSG_WARN([Strong authentication not supported!])
2082 dnl ----------------------------------------------------------------
2083 dnl Check for entropy sources
2084 if test $cross_compiling != yes -a "$ac_cv_mingw32" != yes ; then
2086 if test -r /dev/urandom ; then
2088 elif test -r /idev/urandom ; then
2089 dev="/idev/urandom";
2090 elif test -r /dev/srandom ; then
2092 elif test -r /dev/random ; then
2094 elif test -r /idev/random ; then
2098 if test $dev != no ; then
2099 AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device])
2103 dnl ----------------------------------------------------------------
2105 dnl Check for fetch URL support
2106 dnl should be extended to support other fetch URL APIs
2109 if test $ol_with_fetch != no ; then
2112 if test $ol_cv_lib_fetch != no ; then
2113 LUTIL_LIBS="$LUTIL_LIBS $ol_link_fetch"
2114 ol_link_fetch=freebsd
2116 elif test $ol_with_fetch != auto ; then
2117 AC_MSG_ERROR(no suitable API for --with-fetch=$ol_with_fetch)
2121 dnl ----------------------------------------------------------------
2122 dnl FreeBSD (and others) have crypt(3) in -lcrypt
2123 if test $ol_enable_crypt != no ; then
2125 LIBS="$TLS_LIBS $LIBS"
2127 AC_CHECK_FUNC(crypt, [have_crypt=yes], [
2129 AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
2130 have_crypt=yes], [have_crypt=no])])
2134 if test $have_crypt = yes ; then
2135 AC_DEFINE(HAVE_CRYPT,1, [define if crypt(3) is available])
2137 AC_MSG_WARN([could not find crypt])
2138 if test $ol_enable_crypt = yes ; then
2139 AC_MSG_ERROR([could not find crypt, select appropriate options or disable])
2142 AC_MSG_WARN([disabling crypt support])
2147 dnl ----------------------------------------------------------------
2148 dnl FreeBSD (and others) have setproctitle(3) in -lutil
2149 if test $ol_enable_proctitle != no ; then
2150 AC_CHECK_FUNC(setproctitle, [have_setproctitle=yes], [
2151 AC_CHECK_LIB(util, setproctitle,
2152 [have_setproctitle=yes
2153 LUTIL_LIBS="$LUTIL_LIBS -lutil"],
2154 [have_setproctitle=no
2155 LIBOBJS="$LIBOBJS setproctitle.o"
2156 LIBSRCS="$LIBSRCS setproctitle.c"])])
2158 if test $have_setproctitle = yes ; then
2159 AC_DEFINE(HAVE_SETPROCTITLE,1,
2160 [define if setproctitle(3) is available])
2164 dnl ----------------------------------------------------------------
2165 dnl Check for SLPv2 Compliant API Library
2166 if test $ol_enable_slp != no ; then
2167 AC_CHECK_HEADERS( slp.h )
2169 if test $ac_cv_header_slp_h = yes ; then
2170 AC_CHECK_LIB(slp, SLPOpen, [have_slp=yes], [have_slp=no])
2171 if test $have_slp = yes ; then
2172 AC_DEFINE(HAVE_SLP, 1, [define if you have -lslp])
2173 SLAPD_SLP_LIBS=-lslp
2176 elif test $ol_enable_slp = yes ; then
2177 AC_MSG_ERROR([SLP not found])
2181 dnl ----------------------------------------------------------------
2182 dnl Checks for typedefs, structures, and compiler characteristics.
2184 dnl Checks for long long
2185 AC_CACHE_CHECK([long long], ol_cv_type_long_long, [
2186 AC_TRY_COMPILE([], [long long x;],
2187 [ol_cv_type_long_long=yes],
2188 [ol_cv_type_long_long=no])])
2189 if test $ol_cv_type_long_long = yes; then
2190 AC_DEFINE(HAVE_LONG_LONG, 1, [define if you have 'long long'])
2200 AC_CHECK_TYPE(ssize_t, [signed int])
2201 AC_CHECK_TYPE(caddr_t, [char *])
2204 AC_STRUCT_ST_BLKSIZE
2208 OL_TYPE_SIG_ATOMIC_T
2210 dnl AC_TYPE_GETGROUPS
2212 OL_STRUCT_PASSWD_PW_GECOS
2213 OL_STRUCT_PASSWD_PW_PASSWD
2219 if test $cross_compiling = yes ; then
2220 AC_MSG_WARN([Crossing compiling... all bets are off!])
2221 AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
2226 AC_COMPILE_CHECK_SIZEOF(short)
2227 AC_COMPILE_CHECK_SIZEOF(int)
2228 AC_COMPILE_CHECK_SIZEOF(long)
2229 AC_COMPILE_CHECK_SIZEOF(wchar_t)
2231 if test "$ac_cv_sizeof_int" -lt 4 ; then
2232 AC_MSG_WARN([OpenLDAP requires 'int' to be 32 bits or greater.])
2234 AC_DEFINE(LBER_INT_T,long)
2236 AC_DEFINE(LBER_INT_T,int)
2239 AC_DEFINE(LBER_LEN_T,long)
2240 AC_DEFINE(LBER_SOCKET_T,int)
2241 AC_DEFINE(LBER_TAG_T,long)
2243 dnl ----------------------------------------------------------------
2244 dnl Checks for library functions.
2246 dnl AM_FUNC_MKTIME dnl checks for sys/time.h and unistd.h
2252 dnl Check for NT specific routines
2253 AC_CHECK_FUNC(_spawnlp, AC_DEFINE(HAVE_SPAWNLP,1,[if you have spawnlp()]))
2255 AC_CHECK_FUNC(_snprintf, [ac_cv_func_snprintf=yes
2256 AC_DEFINE(snprintf, _snprintf, [define to snprintf routine])
2259 AC_CHECK_FUNC(_vsnprintf, [ac_cv_func_vsnprintf=yes
2260 AC_DEFINE(vsnprintf, _vsnprintf, [define to vsnprintf routine])
2265 if test $ac_cv_func_vprintf = yes ; then
2266 dnl check for vsnprintf
2267 AC_CHECK_FUNCS(snprintf vsnprintf)
2329 dnl We actually may need to replace more than this.
2330 AC_REPLACE_FUNCS(getopt getpeereid)
2332 if test "$ac_cv_func_getopt" != yes; then
2333 LIBSRCS="$LIBSRCS getopt.c"
2335 if test "$ac_cv_func_getpeereid" != yes; then
2336 OL_MSGHDR_MSG_ACCRIGHTS
2337 LIBSRCS="$LIBSRCS getpeereid.c"
2339 if test "$ac_cv_func_snprintf" != yes -o "$ac_cv_func_vsnprintf" != yes; then
2340 if test "$ac_cv_func_snprintf" != yes; then
2341 AC_DEFINE(snprintf, ber_pvt_snprintf, [define to snprintf routine])
2343 if test "$ac_cv_func_vsnprintf" != yes; then
2344 AC_DEFINE(vsnprintf, ber_pvt_vsnprintf, [define to snprintf routine])
2348 dnl ----------------------------------------------------------------
2349 # Check Configuration
2352 dnl ----------------------------------------------------------------
2353 dnl Sort out defines
2355 if test "$ol_enable_slapi" != no ; then
2356 dnl This check is done also if --enable-modules is used;
2357 dnl it is duplicated here, 'cause it'd be cached anyway
2358 AC_CHECK_HEADERS(ltdl.h)
2360 if test $ac_cv_header_ltdl_h != yes ; then
2361 AC_MSG_ERROR([could not locate <ltdl.h>])
2363 AC_CHECK_LIB(ltdl, lt_dlinit, [
2366 LIBSLAPITOOLS=../libslapi.a
2367 AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
2368 ],[AC_MSG_ERROR([could not locate libtool -lltdl])])
2370 AC_DEFINE(LDAP_SLAPI,1, [define this to add SLAPI code])
2373 if test "$ol_enable_debug" != no ; then
2374 AC_DEFINE(LDAP_DEBUG,1,
2375 [define this to add debugging code])
2377 if test "$ol_enable_syslog" = yes ; then
2378 AC_DEFINE(LDAP_SYSLOG,1,
2379 [define this to add syslog code])
2381 if test "$ol_link_kbind" != no ; then
2382 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND,LDAP_VENDOR_VERSION)
2384 if test "$ol_enable_proctitle" != no ; then
2385 AC_DEFINE(LDAP_PROCTITLE,1,
2386 [define this for LDAP process title support])
2388 if test "$ol_enable_referrals" != no ; then
2389 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS,LDAP_VENDOR_VERSION)
2391 if test "$ol_enable_local" != no; then
2392 AC_DEFINE(LDAP_PF_LOCAL,1,[define to support PF_LOCAL])
2394 if test "$ol_link_ipv6" != no; then
2395 AC_DEFINE(LDAP_PF_INET6,1,[define to support PF_INET6])
2397 if test "$ol_enable_cleartext" != no ; then
2398 AC_DEFINE(SLAPD_CLEARTEXT,1,[define to support cleartext passwords])
2400 if test "$ol_enable_crypt" != no ; then
2401 AC_DEFINE(SLAPD_CRYPT,1,[define to support crypt(3) passwords])
2403 if test "$ol_link_spasswd" != no ; then
2404 AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords])
2406 if test "$ol_enable_multimaster" != no ; then
2407 AC_DEFINE(SLAPD_MULTIMASTER,1,[define to support multimaster replication])
2409 if test "$ol_enable_rlookups" != no ; then
2410 AC_DEFINE(SLAPD_RLOOKUPS,1,[define to support reverse lookups])
2412 if test "$ol_enable_aci" != no ; then
2413 AC_DEFINE(SLAPD_ACI_ENABLED,1,[define to support per-object ACIs])
2416 if test "$ol_link_modules" != no ; then
2417 AC_DEFINE(SLAPD_MODULES,1,[define to support modules])
2419 SLAPD_MODULES_LDFLAGS="-dlopen self"
2422 AC_DEFINE(SLAPD_MOD_STATIC,1,[statically linked module])
2423 AC_DEFINE(SLAPD_MOD_DYNAMIC,2,[dynamically linked module])
2425 if test "$ol_enable_bdb" != no ; then
2427 BUILD_BDB=$ol_enable_bdb
2428 if test "$ol_enable_bdb" = mod ; then
2429 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-bdb"
2430 MFLAG=SLAPD_MOD_DYNAMIC
2432 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-bdb"
2433 MFLAG=SLAPD_MOD_STATIC
2435 AC_DEFINE_UNQUOTED(SLAPD_BDB,$MFLAG,[define to support BDB backend])
2438 if test "$ol_enable_dnssrv" != no ; then
2440 BUILD_DNSSRV=$ol_enable_dnssrv
2441 if test "$ol_enable_dnssrv" = mod ; then
2442 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-dnssrv"
2443 MFLAG=SLAPD_MOD_DYNAMIC
2445 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-dnssrv"
2446 MFLAG=SLAPD_MOD_STATIC
2448 AC_DEFINE_UNQUOTED(SLAPD_DNSSRV,$MFLAG,[define to support DNS SRV backend])
2451 if test "$ol_enable_hdb" != no ; then
2453 BUILD_HDB=$ol_enable_hdb
2454 if test "$ol_enable_hdb" = mod ; then
2455 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-hdb"
2456 MFLAG=SLAPD_MOD_DYNAMIC
2458 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-hdb"
2459 MFLAG=SLAPD_MOD_STATIC
2461 AC_DEFINE_UNQUOTED(SLAPD_HDB,$MFLAG,[define to support HDB backend])
2464 if test "$ol_enable_ldap" != no ; then
2466 BUILD_LDAP=$ol_enable_ldap
2467 if test "$ol_enable_ldap" = mod ; then
2468 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldap"
2469 MFLAG=SLAPD_MOD_DYNAMIC
2471 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldap"
2472 MFLAG=SLAPD_MOD_STATIC
2474 AC_DEFINE_UNQUOTED(SLAPD_LDAP,$MFLAG,[define to support LDAP backend])
2477 if test "$ol_link_ldbm" != no -a $ol_enable_ldbm != no; then
2479 BUILD_LDBM=$ol_enable_ldbm
2480 if test "$ol_enable_ldbm" = mod ; then
2481 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldbm"
2482 MFLAG=SLAPD_MOD_DYNAMIC
2484 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldbm"
2485 MFLAG=SLAPD_MOD_STATIC
2487 AC_DEFINE_UNQUOTED(SLAPD_LDBM,$MFLAG,[define to support LDBM backend])
2490 if test "$ol_enable_meta" != no ; then
2492 BUILD_META=$ol_enable_meta
2494 if test "$ol_enable_meta" = mod ; then
2495 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-meta"
2496 MFLAG=SLAPD_MOD_DYNAMIC
2498 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-meta"
2499 MFLAG=SLAPD_MOD_STATIC
2501 AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend])
2504 if test "$ol_enable_monitor" != no ; then
2506 BUILD_MONITOR=$ol_enable_monitor
2507 if test "$ol_enable_monitor" = mod ; then
2508 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-monitor"
2509 MFLAG=SLAPD_MOD_DYNAMIC
2511 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-monitor"
2512 MFLAG=SLAPD_MOD_STATIC
2514 AC_DEFINE_UNQUOTED(SLAPD_MONITOR,$MFLAG,[define to support cn=Monitor backend])
2517 if test "$ol_enable_null" != no ; then
2519 BUILD_NULL=$ol_enable_null
2520 if test "$ol_enable_null" = mod ; then
2521 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-null"
2522 MFLAG=SLAPD_MOD_DYNAMIC
2524 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-null"
2525 MFLAG=SLAPD_MOD_STATIC
2527 AC_DEFINE_UNQUOTED(SLAPD_NULL,$MFLAG,[define to support NULL backend])
2530 if test "$ol_enable_passwd" != no ; then
2532 BUILD_PASSWD=$ol_enable_passwd
2533 if test "$ol_enable_passwd" = mod ; then
2534 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-passwd"
2535 MFLAG=SLAPD_MOD_DYNAMIC
2537 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-passwd"
2538 MFLAG=SLAPD_MOD_STATIC
2540 AC_DEFINE_UNQUOTED(SLAPD_PASSWD,$MFLAG,[define to support PASSWD backend])
2543 if test "$ol_link_perl" != no ; then
2545 BUILD_PERL=$ol_enable_perl
2546 if test "$ol_enable_perl" = mod ; then
2547 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-perl"
2548 MFLAG=SLAPD_MOD_DYNAMIC
2550 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-perl"
2551 MFLAG=SLAPD_MOD_STATIC
2553 AC_DEFINE_UNQUOTED(SLAPD_PERL,$MFLAG,[define to support PERL backend])
2556 if test "$ol_enable_relay" != no ; then
2558 BUILD_RELAY=$ol_enable_relay
2559 if test "$ol_enable_relay" = mod ; then
2560 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-relay"
2561 MFLAG=SLAPD_MOD_DYNAMIC
2563 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-relay"
2564 MFLAG=SLAPD_MOD_STATIC
2566 AC_DEFINE_UNQUOTED(SLAPD_RELAY,$MFLAG,[define to support relay backend])
2569 if test "$ol_enable_shell" != no ; then
2570 if test "$ol_link_thread" != no ; then
2571 AC_MSG_WARN([Use of --without-threads is recommended with back-shell])
2574 BUILD_SHELL=$ol_enable_shell
2575 if test "$ol_enable_shell" = mod ; then
2576 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-shell"
2577 MFLAG=SLAPD_MOD_DYNAMIC
2579 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-shell"
2580 MFLAG=SLAPD_MOD_STATIC
2582 AC_DEFINE_UNQUOTED(SLAPD_SHELL,$MFLAG,[define to support SHELL backend])
2585 if test "$ol_link_sql" != no ; then
2587 BUILD_SQL=$ol_enable_sql
2588 if test "$ol_enable_sql" = mod; then
2589 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sql"
2590 MFLAG=SLAPD_MOD_DYNAMIC
2592 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sql"
2593 MFLAG=SLAPD_MOD_STATIC
2595 AC_DEFINE_UNQUOTED(SLAPD_SQL,$MFLAG,[define to support SQL backend])
2598 if test "$ol_enable_chain" != no ; then
2599 BUILD_CHAIN=$ol_enable_chain
2600 if test "$ol_enable_chain" = mod ; then
2601 MFLAG=SLAPD_MOD_DYNAMIC
2602 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS chain.la"
2604 MFLAG=SLAPD_MOD_STATIC
2606 AC_DEFINE_UNQUOTED(SLAPD_OVER_CHAIN,$MFLAG,[define for Dynamic Group overlay])
2609 if test "$ol_enable_denyop" != no ; then
2610 BUILD_DENYOP=$ol_enable_denyop
2611 if test "$ol_enable_denyop" = mod ; then
2612 MFLAG=SLAPD_MOD_DYNAMIC
2613 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS denyop.la"
2615 MFLAG=SLAPD_MOD_STATIC
2617 AC_DEFINE_UNQUOTED(SLAPD_OVER_DENYOP,$MFLAG,[define for Dynamic Group overlay])
2620 if test "$ol_enable_dyngroup" != no ; then
2621 BUILD_DYNGROUP=$ol_enable_dyngroup
2622 if test "$ol_enable_dyngroup" = mod ; then
2623 MFLAG=SLAPD_MOD_DYNAMIC
2624 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dyngroup.la"
2626 MFLAG=SLAPD_MOD_STATIC
2628 AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group overlay])
2631 if test "$ol_enable_lastmod" != no ; then
2632 BUILD_LASTMOD=$ol_enable_lastmod
2633 if test "$ol_enable_lastmod" = mod ; then
2634 MFLAG=SLAPD_MOD_DYNAMIC
2635 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS lastmod.la"
2637 MFLAG=SLAPD_MOD_STATIC
2639 AC_DEFINE_UNQUOTED(SLAPD_OVER_LASTMOD,$MFLAG,[define for Last Modification overlay])
2642 if test "$ol_enable_ppolicy" != no ; then
2643 BUILD_PPOLICY=$ol_enable_ppolicy
2644 if test "$ol_enable_ppolicy" = mod ; then
2645 MFLAG=SLAPD_MOD_DYNAMIC
2646 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS ppolicy.la"
2648 MFLAG=SLAPD_MOD_STATIC
2650 AC_DEFINE_UNQUOTED(SLAPD_OVER_PPOLICY,$MFLAG,[define for Password Policy overlay])
2653 if test "$ol_enable_proxycache" != no ; then
2654 BUILD_PROXYCACHE=$ol_enable_proxycache
2655 if test "$ol_enable_proxycache" = mod ; then
2656 MFLAG=SLAPD_MOD_DYNAMIC
2657 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS pcache.la"
2659 MFLAG=SLAPD_MOD_STATIC
2661 AC_DEFINE_UNQUOTED(SLAPD_OVER_PROXYCACHE,$MFLAG,[define for Proxy Cache overlay])
2664 if test "$ol_enable_rwm" != no ; then
2666 BUILD_RWM=$ol_enable_rwm
2667 if test "$ol_enable_rwm" = mod ; then
2668 MFLAG=SLAPD_MOD_DYNAMIC
2669 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS rwm.la"
2671 MFLAG=SLAPD_MOD_STATIC
2673 AC_DEFINE_UNQUOTED(SLAPD_OVER_RWM,$MFLAG,[define for Rewrite/Remap overlay])
2676 if test "$ol_enable_slurpd" != no -a "$ol_link_threads" != no -a \
2677 $BUILD_SLAPD = yes ; then
2681 if test "$ol_enable_rewrite" != no ; then
2682 AC_DEFINE(ENABLE_REWRITE,1,[define to enable rewriting in back-ldap and back-meta])
2686 if test "$ol_enable_slapi" != no ; then
2687 AC_DEFINE(ENABLE_SLAPI,1,[define to enable slapi library])
2689 SLAPD_SLAPI_DEPEND=libslapi.a
2692 dnl ----------------------------------------------------------------
2695 dnl For Windows build, we don't want to include -dlopen flags.
2696 dnl They hurt more than they help.
2699 if test "$ac_cv_mingw32" = yes ; then
2701 SLAPD_MODULES_LDFLAGS=
2706 if test -z "$SLAPD_STATIC_BACKENDS"; then
2715 AC_SUBST(BUILD_LIBS_DYNAMIC)
2717 AC_SUBST(BUILD_SLAPD)
2719 AC_SUBST(BUILD_SLAPI)
2720 AC_SUBST(SLAPD_SLAPI_DEPEND)
2723 AC_SUBST(BUILD_DNSSRV)
2725 AC_SUBST(BUILD_LDAP)
2726 AC_SUBST(BUILD_LDBM)
2727 AC_SUBST(BUILD_META)
2728 AC_SUBST(BUILD_MONITOR)
2729 AC_SUBST(BUILD_NULL)
2730 AC_SUBST(BUILD_PASSWD)
2731 AC_SUBST(BUILD_RELAY)
2732 AC_SUBST(BUILD_PERL)
2733 AC_SUBST(BUILD_SHELL)
2736 AC_SUBST(BUILD_CHAIN)
2737 AC_SUBST(BUILD_DENYOP)
2738 AC_SUBST(BUILD_DYNGROUP)
2739 AC_SUBST(BUILD_LASTMOD)
2740 AC_SUBST(BUILD_PPOLICY)
2741 AC_SUBST(BUILD_PROXYCACHE)
2743 AC_SUBST(BUILD_SLURPD)
2746 AC_SUBST(SLAPD_LIBS)
2747 AC_SUBST(SLURPD_LIBS)
2749 AC_SUBST(LTHREAD_LIBS)
2750 AC_SUBST(LUTIL_LIBS)
2753 AC_SUBST(SLAPD_MODULES_CPPFLAGS)
2754 AC_SUBST(SLAPD_MODULES_LDFLAGS)
2756 AC_SUBST(SLAPD_NO_STATIC)
2757 AC_SUBST(SLAPD_STATIC_BACKENDS)
2758 AC_SUBST(SLAPD_DYNAMIC_BACKENDS)
2759 AC_SUBST(SLAPD_DYNAMIC_OVERLAYS)
2761 AC_SUBST(PERL_CPPFLAGS)
2762 AC_SUBST(SLAPD_PERL_LDFLAGS)
2763 AC_SUBST(MOD_PERL_LDFLAGS)
2769 AC_SUBST(MODULES_LIBS)
2770 AC_SUBST(SLAPI_LIBS)
2772 AC_SUBST(LIBSLAPITOOLS)
2775 AC_SUBST(SLAPD_SLP_LIBS)
2777 AC_SUBST(SLAPD_SQL_LDFLAGS)
2778 AC_SUBST(SLAPD_SQL_LIBS)
2779 AC_SUBST(SLAPD_SQL_INCLUDES)
2781 dnl ----------------------------------------------------------------
2782 dnl final help output
2783 AC_ARG_WITH(xxinstall,[
2784 See INSTALL file for further details.])
2786 dnl ----------------------------------------------------------------
2791 Makefile:build/top.mk:Makefile.in:build/dir.mk \
2792 doc/Makefile:build/top.mk:doc/Makefile.in:build/dir.mk \
2793 doc/man/Makefile:build/top.mk:doc/man/Makefile.in:build/dir.mk \
2794 doc/man/man1/Makefile:build/top.mk:doc/man/man1/Makefile.in:build/man.mk \
2795 doc/man/man3/Makefile:build/top.mk:doc/man/man3/Makefile.in:build/man.mk \
2796 doc/man/man5/Makefile:build/top.mk:doc/man/man5/Makefile.in:build/man.mk \
2797 doc/man/man8/Makefile:build/top.mk:doc/man/man8/Makefile.in:build/man.mk \
2798 clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.mk \
2799 clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk \
2800 include/Makefile:build/top.mk:include/Makefile.in \
2801 libraries/Makefile:build/top.mk:libraries/Makefile.in:build/dir.mk \
2802 libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk:build/lib-shared.mk \
2803 libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk:build/lib-shared.mk \
2804 libraries/libldap_r/Makefile:build/top.mk:libraries/libldap_r/Makefile.in:build/lib.mk:build/lib-shared.mk \
2805 libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk \
2806 libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk \
2807 libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-static.mk \
2808 servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \
2809 servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
2810 servers/slapd/back-bdb/Makefile:build/top.mk:servers/slapd/back-bdb/Makefile.in:build/mod.mk \
2811 servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk \
2812 servers/slapd/back-hdb/Makefile:build/top.mk:servers/slapd/back-hdb/Makefile.in:build/mod.mk \
2813 servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/mod.mk \
2814 servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/mod.mk \
2815 servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk \
2816 servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk \
2817 servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/Makefile.in:build/mod.mk \
2818 servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk \
2819 servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk \
2820 servers/slapd/back-relay/Makefile:build/top.mk:servers/slapd/back-relay/Makefile.in:build/mod.mk \
2821 servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk \
2822 servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk \
2823 servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk \
2824 servers/slapd/slapi/Makefile:build/top.mk:servers/slapd/slapi/Makefile.in:build/lib.mk:build/lib-shared.mk \
2825 servers/slapd/overlays/Makefile:build/top.mk:servers/slapd/overlays/Makefile.in:build/lib.mk \
2826 servers/slurpd/Makefile:build/top.mk:servers/slurpd/Makefile.in:build/srv.mk \
2827 tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk \
2829 tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \
2833 echo Please run \"make depend\" to build dependencies