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
199 Backends="bdb dnssrv hdb ldap ldbm meta monitor null \
200 passwd perl relay shell sql"
202 dnl SLAPD Backend options
203 OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend no|yes|mod], yes, [no yes mod])dnl
204 OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend no|yes|mod], no, [no yes mod])dnl
205 OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend no|yes|mod], no, [no yes mod])dnl
206 OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend no|yes|mod], no, [no yes mod])dnl
207 OL_ARG_ENABLE(ldbm,[ --enable-ldbm enable ldbm backend no|yes|mod], no, [no yes mod])dnl
208 OL_ARG_WITH(ldbm_api,[ --with-ldbm-api with LDBM API auto|berkeley|bcompat|mdbm|gdbm], auto,
209 [auto berkeley bcompat mdbm gdbm])
210 OL_ARG_WITH(ldbm_type,[ --with-ldbm-type use LDBM type auto|btree|hash], auto,
212 OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend no|yes|mod], no, [no yes mod])dnl
213 OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend no|yes|mod], yes, [no yes mod])dnl
214 OL_ARG_ENABLE(null,[ --enable-null enable null backend no|yes|mod], no, [no yes mod])dnl
215 OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend no|yes|mod], no, [no yes mod])dnl
216 OL_ARG_ENABLE(perl,[ --enable-perl enable perl backend no|yes|mod], no, [no yes mod])dnl
217 OL_ARG_ENABLE(relay,[ --enable-relay enable relay backend no|yes|mod], yes, [no yes mod])dnl
218 OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend no|yes|mod], no, [no yes mod])dnl
219 OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend no|yes|mod], no, [no yes mod])dnl
221 dnl ----------------------------------------------------------------
222 dnl SLAPD Overlay Options
223 Overlays="chain denyop dyngroup ppolicy proxycache rwm"
225 AC_ARG_WITH(xxslapoverlays,[
226 SLAPD Overlay Options:])
227 OL_ARG_ENABLE(chain,[ --enable-chain LDAP Chain Response no|yes|mod], no,
229 OL_ARG_ENABLE(denyop,[ --enable-denyop Deny Operation overlay no|yes|mod], no,
231 OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay no|yes|mod], no,
233 OL_ARG_ENABLE(ppolicy,[ --enable-ppolicy Password Policy overlay no|yes|mod], no,
235 OL_ARG_ENABLE(proxycache,[ --enable-proxycache Proxy Cache overlay no|yes|mod], no,
237 OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay no|yes|mod], no,
240 dnl ----------------------------------------------------------------
242 AC_ARG_WITH(xxslurpdoptions,[
243 SLURPD (Replication Daemon) Options:])
244 OL_ARG_ENABLE(slurpd,[ --enable-slurpd enable building slurpd], auto)dnl
246 dnl ----------------------------------------------------------------
247 AC_ARG_WITH(xxliboptions,[
248 Library Generation & Linking Options])
252 dnl ----------------------------------------------------------------
254 dnl General "enable" options
256 if test $ol_enable_slapd = no ; then
257 dnl SLAPD was specificallly disabled
258 if test $ol_enable_slapi = yes ; then
259 AC_MSG_WARN([slapd disabled, ignoring --enable-slapi argument])
261 for i in $Backends; do
262 eval "ol_tmp=\$ol_enable_$i"
263 if test $ol_tmp != no ; then
264 AC_MSG_WARN([slapd disabled, ignoring --enable-$i argument])
265 eval "ol_enable_$i=no"
268 if test $ol_enable_modules = yes ; then
269 AC_MSG_WARN([slapd disabled, ignoring --enable-modules argument])
271 if test $ol_enable_multimaster = yes ; then
272 AC_MSG_WARN([slapd disabled, ignoring --enable-multimaster argument])
274 if test $ol_enable_wrappers = yes ; then
275 AC_MSG_WARN([slapd disabled, ignoring --enable-wrappers argument])
277 if test $ol_enable_rlookups = yes ; then
278 AC_MSG_WARN([slapd disabled, ignoring --enable-rlookups argument])
280 if test $ol_enable_aci = yes ; then
281 AC_MSG_WARN([slapd disabled, ignoring --enable-aci argument])
283 if test $ol_with_ldbm_api != auto ; then
284 AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-api argument])
286 if test $ol_with_ldbm_type != auto ; then
287 AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-type argument])
289 if test $ol_enable_slurpd = yes ; then
290 AC_MSG_ERROR([slurpd requires slapd])
292 if test $ol_enable_rewrite = yes ; then
293 AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument])
296 for i in $Overlays; do
297 eval "ol_tmp=\$ol_enable_$i"
298 if test $ol_tmp != no ; then
299 AC_MSG_WARN([slapd disabled, ignoring --enable-$i argument])
300 eval "ol_enable_$i=no"
304 # force settings to no
308 ol_enable_multimaster=no
309 ol_enable_rlookups=no
311 ol_enable_wrappers=no
320 elif test $ol_enable_ldbm = no ; then
321 dnl SLAPD without LDBM
323 if test $ol_with_ldbm_api != auto ; then
324 AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-api argument])
327 if test $ol_with_ldbm_type != auto ; then
328 AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-type argument])
331 if test $ol_enable_modules != yes -a \
332 $ol_enable_bdb = no -a \
333 $ol_enable_dnssrv = no -a \
334 $ol_enable_hdb = no -a \
335 $ol_enable_ldap = no -a \
336 $ol_enable_meta = no -a \
337 $ol_enable_monitor = no -a \
338 $ol_enable_null = no -a \
339 $ol_enable_passwd = no -a \
340 $ol_enable_perl = no -a \
341 $ol_enable_relay = no -a \
342 $ol_enable_shell = no -a \
343 $ol_enable_sql = no ; then
345 if test $ol_enable_slapd = yes ; then
346 AC_MSG_ERROR([slapd requires a backend])
348 AC_MSG_WARN([skipping slapd, no backend specified])
356 if test $ol_enable_bdb != no -o $ol_enable_hdb != no; then
357 ol_with_ldbm_api=berkeley
362 if test $ol_with_ldbm_api = gdbm -a \
363 $ol_with_ldbm_type = btree ; then
364 AC_MSG_ERROR([GDBM only supports LDBM type hash])
366 if test $ol_with_ldbm_api = mdbm -a \
367 $ol_with_ldbm_type = btree ; then
368 AC_MSG_ERROR([MDBM only supports LDBM type hash])
370 if test $ol_with_ldbm_api = ndbm -a \
371 $ol_with_ldbm_type = btree ; then
372 AC_MSG_ERROR([NDBM only supports LDBM type hash])
375 if test $ol_enable_bdb = yes -o $ol_enable_hdb = yes ; then
376 if test $ol_with_ldbm_api = auto ; then
377 ol_with_ldbm_api=berkeley
378 elif test $ol_with_ldbm_api != berkeley ; then
379 AC_MSG_ERROR([LDBM API not compatible with BDB/HDB])
382 elif test $ol_enable_bdb = auto ; then
383 if test $ol_with_ldbm_api != berkeley \
384 -o $ol_with_ldbm_api != auto ; then
385 AC_MSG_WARN([LDBM API not compatible with BDB, disabling BDB])
391 if test $ol_enable_chain != no -a $ol_enable_ldap = no ; then
392 AC_MSG_ERROR([--enable-chain requires --enable-ldap])
395 if test $ol_enable_meta = yes -a $ol_enable_ldap = no ; then
396 AC_MSG_ERROR([--enable-meta requires --enable-ldap])
399 if test $ol_enable_slurpd = yes ; then
400 dnl SLURPD was specifically enabled
401 if test $ol_with_threads = no ; then
402 AC_MSG_ERROR([slurpd requires threads])
406 if test $ol_enable_lmpasswd = yes ; then
407 if test $ol_with_tls = no ; then
408 AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
412 if test $ol_enable_kbind = yes ; then
413 if test $ol_with_kerberos = no ; then
414 AC_MSG_ERROR([options require --with-kerberos])
415 elif test $ol_with_kerberos = auto ; then
419 elif test $ol_enable_kbind = no ; then
420 if test $ol_with_kerberos = auto ; then
422 elif test $ol_with_kerberos != no ; then
423 AC_MSG_WARN([Kerberos detection enabled unnecessarily]);
428 if test $ol_enable_spasswd = yes ; then
429 if test $ol_with_cyrus_sasl = no ; then
430 AC_MSG_ERROR([options require --with-cyrus-sasl])
432 ol_with_cyrus_sasl=yes
437 dnl ----------------------------------------------------------------
476 SLAPD_DYNAMIC_OVERLAYS=
478 SLAPD_MODULES_LDFLAGS=
479 SLAPD_MODULES_CPPFLAGS=
481 SLAPD_STATIC_BACKENDS=
482 SLAPD_DYNAMIC_BACKENDS=
504 dnl ================================================================
505 dnl Checks for programs
509 AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion])
511 dnl ----------------------------------------------------------------
513 dnl Determine which C translator to use
516 dnl AIX Thread requires we use cc_r or xlc_r.
517 dnl But only do this IF AIX and CC is not set
518 dnl and threads are auto|yes|posix.
520 dnl If we find cc_r|xlc_r, force pthreads and assume
521 dnl pthread_create is in $LIBS (ie: don't bring in
522 dnl any additional thread libraries)
523 dnl If we do not find cc_r|xlc_r, disable threads
527 *-*-aix*) dnl all AIX is not a good idea.
528 if test -z "$CC" ; then
529 case "$ol_with_threads" in
530 auto | yes | posix) ol_aix_threads=yes ;;
536 if test $ol_aix_threads = yes ; then
537 if test -z "${CC}" ; then
538 AC_CHECK_PROGS(CC,cc_r xlc_r cc)
540 if test "$CC" = cc ; then
541 dnl no CC! don't allow --with-threads
542 if test $ol_with_threads != auto ; then
543 AC_MSG_ERROR([--with-threads requires cc_r (or other suitable compiler) on AIX])
545 AC_MSG_WARN([disabling threads, no cc_r on AIX])
551 if test "${CC}" = "cc_r" -o "${CC}" = "xlc_r" ; then
552 ol_with_threads=posix
553 ol_cv_pthread_create=yes
557 if test -z "${CC}"; then
558 AC_CHECK_PROGS(CC,cc gcc,missing)
560 if test "${CC}" = "missing" ; then
561 AC_MSG_ERROR([Unable to locate cc(1) or suitable replacement. Check PATH or set CC.])
565 if test -z "${AR}"; then
566 AC_CHECK_PROGS(AR,ar gar,missing)
568 if test "${AR}" = "missing" ; then
569 AC_MSG_ERROR([Unable to locate ar(1) or suitable replacement. Check PATH or set AR.])
580 dnl ----------------------------------------------------------------
583 if test $ol_enable_perl != no ; then
584 AC_PATH_PROG(PERLBIN, perl, /usr/bin/perl)
586 if test "no$PERLBIN" = "no" ; then
587 if test $ol_enable_perl = yes ; then
588 AC_MSG_ERROR([could not locate perl])
592 PERL_CPPFLAGS="`$PERLBIN -MExtUtils::Embed -e ccopts`"
593 PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e 's/ -lc / /' -e 's/ -lc$//'`"
595 if test x"$ol_enable_perl" = "xyes" ; then
596 SLAPD_PERL_LDFLAGS="$PERL_LDFLAGS"
598 MOD_PERL_LDFLAGS="$PERL_LDFLAGS"
600 dnl should check perl version
607 dnl ----------------------------------------------------------------
608 dnl Checks for UNIX Variants
613 dnl ----------------------------------------------------------------
614 dnl Checks for system services
620 AC_DEFINE_UNQUOTED(EXEEXT, "${EXEEXT}", [defined to be the EXE extension])
622 dnl ----------------------------------------------------------------
623 dnl BeOS requires -lbe -lroot -lnet
624 AC_CHECK_LIB(be, be_app, [LIBS="$LIBS -lbe -lroot -lnet"], :, [-lroot -lnet])
626 dnl ----------------------------------------------------------------
627 dnl OpenLDAP requires STDC features
629 if test "X${am_cv_prog_cc_stdc}" = "Xno" ; then
630 AC_MSG_ERROR([OpenLDAP requires compiler to support STDC constructs.])
633 dnl ----------------------------------------------------------------
634 dnl Check cc depend flags
636 if test "${ol_cv_mkdep}" = no ; then
637 # this will soon become an error
638 AC_MSG_WARN([do not know how to generate dependencies])
641 dnl ----------------------------------------------------------------
642 dnl Check for AIX security library
643 AC_CHECK_LIB(s, afopen, [
645 AC_DEFINE(HAVE_AIX_SECURITY,1,[define if you have AIX security lib])
648 dnl ----------------------------------------------------------------
649 dnl Check for IBM OS/390
653 AC_DEFINE(BOTH_STRINGS_H,1,[define to use both <string.h> and <strings.h>])
657 dnl ----------------------------------------------------------------
658 dnl Check for module support
660 if test $ol_enable_modules != no ; then
661 AC_CHECK_HEADERS(ltdl.h)
663 if test $ac_cv_header_ltdl_h = no ; then
664 AC_MSG_ERROR([could not locate libtool ltdl.h])
667 AC_CHECK_LIB(ltdl, lt_dlinit, [
669 AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
672 if test "$ac_cv_lib_ltdl_lt_dlinit" = no ; then
673 AC_MSG_ERROR([could not locate libtool -lltdl])
678 for i in $Backends; do
679 eval "ol_tmp=\$ol_enable_$i"
680 if test $ol_tmp = mod ; then
681 AC_MSG_WARN([building static $i backend])
682 eval "ol_enable_$i=yes"
685 for i in $Overlays; do
686 eval "ol_tmp=\$ol_enable_$i"
687 if test $ol_tmp = mod ; then
688 AC_MSG_WARN([building static $i overlay])
689 eval "ol_enable_$i=yes"
694 dnl ----------------------------------------------------------------
695 dnl Checks for header files.
698 if test $ol_cv_header_stdc != yes; then
699 AC_MSG_WARN([could not locate Standard C compliant headers])
704 AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
705 if test $am_cv_sys_posix_termios = yes ; then
706 AC_DEFINE(HAVE_POSIX_TERMIOS,1,
707 [define if you have POSIX termios])
762 dnl ----------------------------------------------------------------
763 dnl Checks for libraries
765 dnl HP-UX requires -lV3
766 dnl this is not needed on newer versions of HP-UX
767 AC_CHECK_LIB(V3, sigset)
769 dnl The following is INTENTIONALLY scripted out because shell does not
770 dnl support variable names with the '@' character, which is what
771 dnl autoconf would try to generate if one merely used AC_SEARCH_LIBS
772 if test "$ac_cv_header_winsock_h" = yes; then
773 AC_CACHE_CHECK([for winsock], [ol_cv_winsock],
775 for curlib in ws2_32 wsock32; do
776 LIBS="$LIBS -l$curlib"
777 AC_TRY_LINK([#include <winsock.h>
781 select(0,NULL,NULL,NULL,NULL);
785 ol_cv_winsock=yes, ol_cv_winsock=no)
787 if test $ol_cv_winsock = yes; then
788 AC_DEFINE(HAVE_WINSOCK, 1, [define if you have winsock])
789 ac_cv_func_socket=yes
790 ac_cv_func_select=yes
791 ac_cv_func_closesocket=yes
792 ac_cv_func_gethostname=yes
793 if test $curlib = ws2_32; then
794 ol_cv_winsock=winsock2
795 AC_DEFINE(HAVE_WINSOCK2, 1,
796 [define if you have winsock2])
805 dnl Likely combinations:
806 dnl -lsocket [ -lnsl_s | -lnsl ]
809 AC_CHECK_FUNC(socket, :, [
810 dnl hopefully we won't include too many libraries
811 AC_CHECK_LIB(socket, main)
812 AC_CHECK_LIB(net, main)
813 AC_CHECK_LIB(nsl_s, main)
814 AC_CHECK_LIB(nsl, main)
815 AC_CHECK_LIB(inet, socket)
816 AC_CHECK_LIB(gen, main)
820 AC_CHECK_FUNC(select, :, AC_MSG_ERROR([select() required.]))
822 if test "${ac_cv_header_winsock_h}" != yes; then
824 dnl (if this detection becomes permenent, it and the select() detection
825 dnl should be done before the yielding select test)
826 AC_FUNC_SELECT_ARGTYPES
829 dnl check to see if system call automatically restart
830 dnl AC_SYS_RESTARTABLE_SYSCALLS
832 dnl ----------------------------------------------------------------
833 dnl require POSIX regex
834 AC_CHECK_HEADERS( regex.h )
835 if test "$ac_cv_header_regex_h" != yes ; then
836 AC_MSG_ERROR([POSIX regex.h required.])
838 AC_SEARCH_LIBS(regfree, [regex gnuregex],
839 :, AC_MSG_ERROR([POSIX regex required.]))
842 if test "$ol_cv_c_posix_regex" = no ; then
843 AC_MSG_ERROR([broken POSIX regex!])
846 dnl ----------------------------------------------------------------
850 AC_CHECK_HEADERS(sys/uuid.h)
851 if test $ac_cv_header_sys_uuid_h = yes ; then
853 AC_SEARCH_LIBS(uuid_to_str, uuid, [have_uuid=yes], :)
856 if test have_uuid = yes ; then
857 AC_DEFINE(HAVE_UUID_TO_STR,1,
858 [define if you have uuid_to_str()])
860 test "$ac_cv_search_uuid_to_str" = "none required" || \
861 SLAPD_LIBS="$SLAPD_LIBS $ac_cv_search_uuid_to_str"
865 dnl For windows, check for the need of RPCRT for UUID function support
866 if test $have_uuid = no ; then
867 AC_MSG_CHECKING(to see if -lrpcrt4 is needed for win32 UUID support)
869 LIBS="$LIBS -lrpcrt4"
871 int __stdcall UuidCreate(void *);
872 int __stdcall UuidToStringA(void *,void **);
878 need_rpcrt=yes, need_rpcrt=no)
879 if test $need_rpcrt = yes; then
880 SLAPD_LIBS="$SLAPD_LIBS -lrpcrt4"
883 AC_MSG_RESULT($need_rpcrt)
886 dnl ----------------------------------------------------------------
887 dnl Check for resolver routines
888 dnl need to check for both res_query and __res_query
889 dnl need to check -lc, -lbind, and -lresolv
891 AC_CHECK_FUNC(res_query,:)
892 if test $ac_cv_func_res_query = no ; then
893 AC_CHECK_FUNC(__res_query,:)
894 ac_cv_func_res_query=$ac_cv_func___res_query
897 if test $ac_cv_func_res_query = no ; then
898 AC_CHECK_LIB(bind, res_query)
899 ac_cv_func_res_query=$ac_cv_lib_bind_res_query
902 if test $ac_cv_func_res_query = no ; then
903 AC_CHECK_LIB(bind, __res_query)
904 ac_cv_func_res_query=$ac_cv_lib_bind___res_query
907 if test $ac_cv_func_res_query = no ; then
908 AC_CHECK_LIB(resolv, res_query)
909 ac_cv_func_res_query=$ac_cv_lib_resolv_res_query
912 if test $ac_cv_func_res_query = no ; then
913 AC_CHECK_LIB(resolv, __res_query)
914 ac_cv_func_res_query=$ac_cv_lib_resolv___res_query
917 if test "$ac_cv_func_res_query" = yes ; then
918 AC_DEFINE(HAVE_RES_QUERY,1,
919 [define if you have res_query()])
921 if test $ol_enable_dnssrv != no ; then
926 if test "$ol_enable_dnssrv" != no -a "$ol_link_dnssrv" = no ; then
927 AC_MSG_ERROR([DNSSRV requires res_query()])
930 dnl ----------------------------------------------------------------
931 dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN
932 dnl PF_LOCAL may use getaddrinfo in available
933 AC_CHECK_FUNCS( getaddrinfo getnameinfo gai_strerror inet_ntop )
936 if test $ac_cv_func_getaddrinfo = no -o $ac_cv_func_inet_ntop = no ; then
937 if test $ol_enable_ipv6 = yes ; then
938 AC_MSG_ERROR([IPv6 support requires getaddrinfo() and inet_ntop()])
940 elif test $ol_enable_ipv6 != no ; then
941 AC_CACHE_CHECK([INET6_ADDRSTRLEN],[ol_cv_inet6_addrstrlen],[
942 AC_EGREP_CPP(__has_inet6_addrstrlen__,[
943 # include <netinet/in.h>
944 # ifdef INET6_ADDRSTRLEN
945 __has_inet6_addrstrlen__;
947 ], [ol_cv_inet6_addrstrlen=yes], [ol_cv_inet6_addrstrlen=no])])
950 AC_CACHE_CHECK([struct sockaddr_storage],ol_cv_struct_sockaddr_storage,[
952 #include <sys/types.h>
953 #include <sys/socket.h>
955 struct sockaddr_storage ss;
956 ], [ol_cv_struct_sockaddr_storage=yes],
957 [ol_cv_struct_sockaddr_storage=no])])
959 if test $ol_cv_inet6_addrstrlen = yes \
960 -a $ol_cv_struct_sockaddr_storage = yes ; then
962 elif test $ol_enable_ipv6 = yes \
963 -a $ol_cv_inet6_addrstrlen = no ; then
964 AC_MSG_ERROR([IPv6 support requires INET6_ADDRSTRLEN])
965 elif test $ol_enable_ipv6 = yes \
966 -a $ol_cv_struct_sockaddr_storage = no ; then
967 AC_MSG_ERROR([IPv6 support requires struct sockaddr_storage])
971 if test $ol_enable_local != no ; then
972 AC_CHECK_HEADERS( sys/un.h )
974 if test $ol_enable_local = auto ; then
975 ol_enable_local=$ac_cv_header_sys_un_h
976 elif test $ac_cv_header_sys_un_h = no ; then
977 AC_MSG_ERROR([AF_LOCAL domain support requires sys/un.h])
981 dnl ----------------------------------------------------------------
987 if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
988 -o $ol_with_kerberos = k5 -o $ol_with_kerberos = k5only \
989 -o $ol_with_kerberos = k425 ; then
991 AC_CHECK_HEADERS(krb5.h)
993 if test $ac_cv_header_krb5_h = yes ; then
994 dnl lazy check for Heimdal Kerberos
995 AC_CHECK_HEADERS(heim_err.h)
996 if test $ac_cv_header_heim_err_h = yes ; then
1002 if test $krb5_impl = mit; then
1003 AC_CHECK_LIB(k5crypto, main,
1004 [krb5crypto=k5crypto],
1005 [krb5crypto=crypto])
1007 AC_CHECK_LIB(krb5, main,
1009 KRB5_LIBS="-lkrb5 -l$krb5crypto -lcom_err"],
1011 [-l$krb5crypto -lcom_err])
1013 elif test $krb5_impl = heimdal; then
1014 AC_CHECK_LIB(des, main,
1016 [krb5crypto=crypto])
1018 AC_CHECK_LIB(krb5, main,
1020 KRB5_LIBS="-lkrb5 -l$krb5crypto -lasn1 -lroken -lcom_err"],
1022 [-l$krb5crypto -lasn1 -lroken -lcom_err])
1024 AC_DEFINE(HAVE_HEIMDAL_KERBEROS, 1,
1025 [define if you have HEIMDAL Kerberos])
1029 AC_MSG_WARN([Unrecognized Kerberos5 Implementation])
1032 if test $have_krb5 = yes ; then
1035 AC_DEFINE(HAVE_KRB5, 1,
1036 [define if you have Kerberos V])
1038 if test $ol_with_kerberos = k5only ; then
1039 ol_with_kerberos=found
1042 elif test $ol_with_kerberos != auto ; then
1043 AC_MSG_ERROR([Required Kerberos 5 support not available])
1049 if test $ol_link_krb5 = yes -a \( $ol_with_kerberos = yes -o \
1050 $ol_with_kerberos = auto -o $ol_with_kerberos = k425 \) ; then
1052 AC_CHECK_HEADERS(kerberosIV/krb.h kerberosIV/des.h)
1054 if test $ac_cv_header_kerberosIV_krb_h = yes ; then
1055 if test $krb5_impl = mit; then
1056 AC_CHECK_LIB(krb4, main, [have_k425=yes
1057 KRB4_LIBS="-lkrb4 -ldes425"], [have_k425=no],
1058 [-ldes425 -lkrb5 -l$krb5crypto -lcom_err])
1060 elif test $krb5_impl = heimdal; then
1061 AC_CHECK_LIB(krb4, main, [have_k425=yes
1062 KRB4_LIBS="-lkrb4"], [have_k425=no],
1063 [-lkrb5 -l$krb5crypto -lasn1 -lroken -lcom_err])
1067 AC_MSG_WARN([Unrecongized Kerberos V Implementation])
1070 if test $have_k425 = yes ; then
1071 ol_with_kerberos=found
1074 AC_DEFINE(HAVE_KRB425, 1,
1075 [define if you have Kerberos V with IV support])
1076 AC_DEFINE(HAVE_KRB4, 1,
1077 [define if you have Kerberos IV])
1079 AC_CACHE_CHECK([for des_debug in Kerberos libraries],
1080 [ol_cv_var_des_debug], [
1083 LIBS="$KRB4_LIBS $KRB5_LIBS $LIBS"
1085 #include <kerberosIV/krb.h>
1086 #include <kerberosIV/des.h>
1087 extern int des_debug;
1090 ], ol_cv_var_des_debug=yes, ol_cv_var_des_debug=no)
1091 dnl restore the LIBS
1095 if test $ol_cv_var_des_debug = yes ; then
1096 AC_DEFINE(HAVE_DES_DEBUG,1,
1097 [define if you have Kerberos des_debug])
1105 if test $ol_link_krb5 = yes ; then
1106 ol_with_kerberos=found
1109 if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
1110 -o $ol_with_kerberos = k4 -o $ol_with_kerberos = kth ; then
1112 AC_CHECK_HEADERS(krb.h des.h krb-archaeology.h )
1114 if test $ac_cv_header_krb_h = yes ; then
1115 AC_CHECK_LIB(krb, main, [have_k4=yes], [have_k4=no], [-ldes])
1117 if test $have_k4 = yes ; then
1118 ol_with_kerberos=found
1121 AC_DEFINE(HAVE_KRB4, 1,
1122 [define if you have Kerberos IV])
1124 KRB4_LIBS="-lkrb -ldes"
1126 if test $ac_cv_header_krb_archaeology_h = yes ; then
1127 AC_DEFINE(HAVE_KTH_KERBEROS, 1,
1128 [define if you have Kth Kerberos])
1134 if test $ol_link_krb4 = yes -a $ol_enable_kbind != no ; then
1137 elif test $ol_enable_kbind = yes ; then
1138 AC_MSG_ERROR([Kerberos IV detection failed])
1141 if test $ol_link_krb4 = yes -o $ol_link_krb5 = yes ; then
1142 AC_DEFINE(HAVE_KERBEROS, 1, [define if you have Kerberos])
1144 elif test $ol_with_kerberos != auto -a $ol_with_kerberos != no ; then
1145 AC_MSG_ERROR([Kerberos detection failed])
1148 dnl ----------------------------------------------------------------
1151 if test $ol_with_tls != no ; then
1152 AC_CHECK_HEADERS(openssl/ssl.h ssl.h)
1154 if test $ac_cv_header_openssl_ssl_h = yes \
1155 -o $ac_cv_header_ssl_h = yes ; then
1156 AC_CHECK_LIB(ssl, SSLeay_add_ssl_algorithms,
1162 if test $have_ssleay = no ; then
1163 AC_CHECK_LIB(ssl, SSL_library_init,
1165 need_rsaref=no], [have_ssleay=no],
1169 if test $have_ssleay = no ; then
1170 AC_CHECK_LIB(ssl, ssl3_accept,
1172 need_rsaref=yes], [have_ssleay=no],
1173 [-lcrypto -lRSAglue -lrsaref])
1176 if test $have_ssleay = yes ; then
1180 AC_DEFINE(HAVE_SSLEAY, 1,
1181 [define if you have SSLeay or OpenSSL])
1183 if test $need_rsaref = yes; then
1184 AC_DEFINE(HAVE_RSAREF, 1,
1185 [define if you have RSAref])
1187 TLS_LIBS="-lssl -lcrypto -lRSAglue -lrsaref"
1189 TLS_LIBS="-lssl -lcrypto"
1195 AC_WARN([TLS data protection not supported!])
1199 if test $ol_link_tls = yes ; then
1200 AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
1203 elif test $ol_with_tls = auto ; then
1204 AC_WARN([Could not locate TLS/SSL package])
1205 AC_WARN([TLS data protection not supported!])
1207 elif test $ol_with_tls != no ; then
1208 AC_ERROR([Could not locate TLS/SSL package])
1211 dnl ----------------------------------------------------------------
1212 dnl LAN Manger password checking requires DES from OpenSSL
1213 if test $ol_enable_lmpasswd != no; then
1214 if test $ol_link_tls != yes ; then
1215 AC_ERROR([LAN Manager passwords require OpenSSL])
1218 AC_DEFINE(SLAPD_LMHASH, 1, [define to support LAN Manager passwords])
1221 dnl ----------------------------------------------------------------
1225 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1226 -o $ol_with_threads = nt ; then
1230 if test "$ol_cv_nt_threads" = yes ; then
1232 ol_with_threads=found
1233 ol_with_yielding_select=yes
1235 AC_DEFINE(HAVE_NT_SERVICE_MANAGER,1,[if you have NT Service Manager])
1236 AC_DEFINE(HAVE_NT_EVENT_LOG,1,[if you have NT Event Log])
1239 if test $ol_with_threads = nt ; then
1240 AC_MSG_ERROR([could not locate NT Threads])
1244 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1245 -o $ol_with_threads = posix ; then
1247 AC_CHECK_HEADERS(pthread.h)
1249 if test $ac_cv_header_pthread_h = yes ; then
1250 OL_POSIX_THREAD_VERSION
1252 if test $ol_cv_pthread_version != 0 ; then
1253 AC_DEFINE_UNQUOTED(HAVE_PTHREADS,$ol_cv_pthread_version,
1254 [define to pthreads API spec revision])
1256 AC_MSG_ERROR([unknown pthread version])
1259 # consider threads found
1260 ol_with_threads=found
1262 OL_HEADER_LINUX_THREADS
1263 OL_HEADER_GNU_PTH_PTHREAD_H
1265 if test $ol_cv_header_gnu_pth_pthread_h = no ; then
1266 AC_CHECK_HEADERS(sched.h)
1269 dnl Now the hard part, how to link?
1271 dnl currently supported checks:
1273 dnl Check for no flags
1274 dnl pthread_create() in $LIBS
1276 dnl Check special pthread (final) flags
1277 dnl [skipped] pthread_create() with -mt (Solaris) [disabled]
1278 dnl pthread_create() with -kthread (FreeBSD)
1279 dnl pthread_create() with -pthread (FreeBSD/Digital Unix)
1280 dnl pthread_create() with -pthreads (?)
1281 dnl pthread_create() with -mthreads (AIX)
1282 dnl pthread_create() with -thread (?)
1284 dnl Check pthread (final) libraries
1285 dnl pthread_mutex_unlock() in -lpthread -lmach -lexc -lc_r (OSF/1)
1286 dnl pthread_mutex_lock() in -lpthread -lmach -lexc (OSF/1)
1287 dnl [skipped] pthread_mutex_trylock() in -lpthread -lexc (OSF/1)
1288 dnl pthread_join() -Wl,-woff,85 -lpthread (IRIX)
1289 dnl pthread_create() in -lpthread (many)
1290 dnl pthread_create() in -lc_r (FreeBSD)
1292 dnl Check pthread (draft4) flags (depreciated)
1293 dnl pthread_create() with -threads (OSF/1)
1295 dnl Check pthread (draft4) libraries (depreciated)
1296 dnl pthread_mutex_unlock() in -lpthreads -lmach -lexc -lc_r (OSF/1)
1297 dnl pthread_mutex_lock() in -lpthreads -lmach -lexc (OSF/1)
1298 dnl pthread_mutex_trylock() in -lpthreads -lexc (OSF/1)
1299 dnl pthread_create() in -lpthreads (many)
1302 dnl pthread_create in $LIBS
1303 AC_CACHE_CHECK([for pthread_create in default libraries],
1304 ol_cv_pthread_create,[
1305 AC_TRY_RUN(OL_PTHREAD_TEST_PROGRAM,
1306 [ol_cv_pthread_create=yes],
1307 [ol_cv_pthread_create=no],
1308 [AC_TRY_LINK(OL_PTHREAD_TEST_INCLUDES,OL_PTHREAD_TEST_FUNCTION,
1309 [ol_cv_pthread_create=yes],
1310 [ol_cv_pthread_create=no])])])
1312 if test $ol_cv_pthread_create != no ; then
1313 ol_link_threads=posix
1317 dnl OL_PTHREAD_TRY([-mt], [ol_cv_pthread_mt])
1318 OL_PTHREAD_TRY([-kthread], [ol_cv_pthread_kthread])
1319 OL_PTHREAD_TRY([-pthread], [ol_cv_pthread_pthread])
1320 OL_PTHREAD_TRY([-pthreads], [ol_cv_pthread_pthreads])
1321 OL_PTHREAD_TRY([-mthreads], [ol_cv_pthread_mthreads])
1322 OL_PTHREAD_TRY([-thread], [ol_cv_pthread_thread])
1324 OL_PTHREAD_TRY([-lpthread -lmach -lexc -lc_r],
1325 [ol_cv_pthread_lpthread_lmach_lexc_lc_r])
1326 OL_PTHREAD_TRY([-lpthread -lmach -lexc],
1327 [ol_cv_pthread_lpthread_lmach_lexc])
1328 dnl OL_PTHREAD_TRY([-lpthread -lexc],
1329 dnl [ol_cv_pthread_lpthread_lexc])
1331 OL_PTHREAD_TRY([-lpthread -Wl,-woff,85],
1332 [ol_cv_pthread_lib_lpthread_woff])
1334 OL_PTHREAD_TRY([-lpthread], [ol_cv_pthread_lpthread])
1335 OL_PTHREAD_TRY([-lc_r], [ol_cv_pthread_lc_r])
1337 OL_PTHREAD_TRY([-threads], [ol_cv_pthread_threads])
1339 OL_PTHREAD_TRY([-lpthreads -lmach -lexc -lc_r],
1340 [ol_cv_pthread_lpthreads_lmach_lexc_lc_r])
1341 OL_PTHREAD_TRY([-lpthreads -lmach -lexc],
1342 [ol_cv_pthread_lpthreads_lmach_lexc])
1343 OL_PTHREAD_TRY([-lpthreads -lexc],
1344 [ol_cv_pthread_lpthreads_lexc])
1346 OL_PTHREAD_TRY([-lpthreads],[ol_cv_pthread_lib_lpthreads])
1348 if test $ol_link_threads != no ; then
1349 LTHREAD_LIBS="$LTHREAD_LIBS $ol_link_pthreads"
1352 save_CPPFLAGS="$CPPFLAGS"
1354 LIBS="$LTHREAD_LIBS $LIBS"
1356 dnl All POSIX Thread (final) implementations should have
1357 dnl sched_yield instead of pthread yield.
1358 dnl check for both, and thr_yield for Solaris
1359 AC_CHECK_FUNCS(sched_yield pthread_yield thr_yield)
1361 if test $ac_cv_func_sched_yield = no -a \
1362 $ac_cv_func_pthread_yield = no -a \
1363 $ac_cv_func_thr_yield = no ; then
1364 dnl Digital UNIX has sched_yield() in -lrt
1365 AC_CHECK_LIB(rt, sched_yield,
1366 [LTHREAD_LIBS="$LTHREAD_LIBS -lrt"
1367 AC_DEFINE(HAVE_SCHED_YIELD,1,
1368 [Define if you have the sched_yield function.])
1369 ac_cv_func_sched_yield=yes],
1370 [ac_cv_func_sched_yield=no])
1372 if test $ac_cv_func_sched_yield = no -a \
1373 $ac_cv_func_pthread_yield = no -a \
1374 "$ac_cv_func_thr_yield" = no ; then
1375 AC_MSG_WARN([could not locate sched_yield() or pthread_yield()])
1378 dnl Check functions for compatibility
1379 AC_CHECK_FUNCS(pthread_kill pthread_rwlock_destroy)
1381 dnl Check for pthread_detach with <pthread.h> inclusion
1382 dnl as it's symbol may have been mangled.
1383 AC_CACHE_CHECK([for pthread_detach with <pthread.h>],
1384 [ol_cv_func_pthread_detach], [
1387 #include <pthread.h>
1389 #define NULL (void*)0
1392 [pthread_detach(NULL);],
1393 [ol_cv_func_pthread_detach=yes],
1394 [ol_cv_func_pthread_detach=no])
1397 if test $ol_cv_func_pthread_detach = no ; then
1398 AC_MSG_ERROR([could not locate pthread_detach()])
1401 AC_DEFINE(HAVE_PTHREAD_DETACH,1,
1402 [define if you have pthread_detach function])
1404 dnl Check for setconcurreny functions
1406 pthread_setconcurrency \
1407 pthread_getconcurrency \
1408 thr_setconcurrency \
1409 thr_getconcurrency \
1412 OL_SYS_LINUX_THREADS
1415 if test $ol_cv_linux_threads = error; then
1416 AC_MSG_ERROR([LinuxThreads header/library mismatch]);
1419 AC_CACHE_CHECK([if pthread_create() works],
1420 ol_cv_pthread_create_works,[
1421 AC_TRY_RUN(OL_PTHREAD_TEST_PROGRAM,
1422 [ol_cv_pthread_create_works=yes],
1423 [ol_cv_pthread_create_works=no],
1425 ol_cv_pthread_create_works=yes])])
1427 if test $ol_cv_pthread_create_works = no ; then
1428 AC_MSG_ERROR([pthread_create is not usable, check environment settings])
1431 dnl Check if select causes an yield
1432 if test $ol_with_yielding_select = auto ; then
1433 AC_CACHE_CHECK([if select yields when using pthreads],
1434 ol_cv_pthread_select_yields,[
1436 #include <sys/types.h>
1437 #include <sys/time.h>
1439 #include <pthread.h>
1441 #define NULL (void*) 0
1444 static int fildes[2];
1446 static void *task(p)
1458 FD_SET(fildes[0], &rfds);
1460 /* we're not interested in any fds */
1461 i = select(FD_SETSIZE, &rfds, NULL, NULL, &tv);
1468 exit(0); /* if we exit here, the select blocked the whole process */
1471 int main(argc, argv)
1477 /* create a pipe to select */
1478 if(pipe(&fildes[0])) {
1483 #ifdef HAVE_PTHREAD_SETCONCURRENCY
1484 (void) pthread_setconcurrency(2);
1486 #ifdef HAVE_THR_SETCONCURRENCY
1487 /* Set Solaris LWP concurrency to 2 */
1488 thr_setconcurrency(2);
1492 #if HAVE_PTHREADS < 6
1493 pthread_create(&t, pthread_attr_default, task, NULL);
1495 pthread_create(&t, NULL, task, NULL);
1498 /* make sure task runs first */
1501 #elif defined( HAVE_SCHED_YIELD )
1503 #elif defined( HAVE_PTHREAD_YIELD )
1509 [ol_cv_pthread_select_yields=no],
1510 [ol_cv_pthread_select_yields=yes],
1511 [ol_cv_pthread_select_yields=cross])])
1513 if test $ol_cv_pthread_select_yields = cross ; then
1514 AC_MSG_ERROR([crossing compiling: use --with-yielding_select=yes|no|manual])
1517 if test $ol_cv_pthread_select_yields = yes ; then
1518 ol_with_yielding_select=yes
1523 CPPFLAGS="$save_CPPFLAGS"
1526 AC_MSG_ERROR([could not locate usable POSIX Threads])
1530 if test $ol_with_threads = posix ; then
1531 AC_MSG_ERROR([could not locate POSIX Threads])
1535 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1536 -o $ol_with_threads = mach ; then
1538 dnl check for Mach CThreads
1539 AC_CHECK_HEADERS(mach/cthreads.h cthreads.h)
1540 if test $ac_cv_header_mach_cthreads_h = yes ; then
1541 ol_with_threads=found
1543 dnl check for cthreads support in current $LIBS
1544 AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
1546 if test $ol_link_threads = no ; then
1548 dnl this test needs work
1549 AC_CACHE_CHECK([for cthread_fork with -all_load],
1550 [ol_cv_cthread_all_load], [
1553 LIBS="-all_load $LIBS"
1554 AC_TRY_LINK([#include <mach/cthreads.h>],[
1555 cthread_fork((void *)0, (void *)0);
1556 ], ol_cv_cthread_all_load=yes, ol_cv_cthread_all_load=no)
1557 dnl restore the LIBS
1561 if test $ol_cv_cthread_all_load = yes ; then
1562 LTHREAD_LIBS="$LTHREAD_LIBS -all_load"
1563 ol_link_threads=mach
1564 ol_with_threads=found
1568 elif test $ac_cv_header_cthreads_h = yes ; then
1569 dnl Hurd variant of Mach Cthreads
1570 dnl uses <cthreads.h> and -lthreads
1572 ol_with_threads=found
1576 LIBS="$LIBS -lthreads"
1577 AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
1580 if test $ol_link_threads = yes ; then
1581 LTHREAD_LIBS="-lthreads"
1582 ol_link_threads=mach
1583 ol_with_threads=found
1585 AC_MSG_ERROR([could not link with Mach CThreads])
1588 elif test $ol_with_threads = mach ; then
1589 AC_MSG_ERROR([could not locate Mach CThreads])
1592 if test $ol_link_threads = mach ; then
1593 AC_DEFINE(HAVE_MACH_CTHREADS,1,
1594 [define if you have Mach Cthreads])
1595 elif test $ol_with_threads = found ; then
1596 AC_MSG_ERROR([could not link with Mach CThreads])
1600 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1601 -o $ol_with_threads = pth ; then
1603 AC_CHECK_HEADERS(pth.h)
1605 if test $ac_cv_header_pth_h = yes ; then
1606 AC_CHECK_LIB(pth, pth_version, [have_pth=yes], [have_pth=no])
1608 if test $have_pth = yes ; then
1609 AC_DEFINE(HAVE_GNU_PTH,1,[if you have GNU Pth])
1610 LTHREAD_LIBS="$LTHREAD_LIBS -lpth"
1612 ol_with_threads=found
1614 if test $ol_with_yielding_select = auto ; then
1615 ol_with_yielding_select=yes
1621 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1622 -o $ol_with_threads = lwp ; then
1624 dnl check for SunOS5 LWP
1625 AC_CHECK_HEADERS(thread.h synch.h)
1626 if test $ac_cv_header_thread_h = yes -a $ac_cv_header_synch_h = yes ; then
1627 AC_CHECK_LIB(thread, thr_create, [have_thr=yes], [have_thr=no])
1629 if test $have_thr = yes ; then
1630 AC_DEFINE(HAVE_THR,1,
1631 [if you have Solaris LWP (thr) package])
1632 LTHREAD_LIBS="$LTHREAD_LIBS -lthread"
1635 if test $ol_with_yielding_select = auto ; then
1636 ol_with_yielding_select=yes
1639 dnl Check for setconcurreny functions
1641 thr_setconcurrency \
1642 thr_getconcurrency \
1647 dnl check for SunOS4 LWP
1648 AC_CHECK_HEADERS(lwp/lwp.h)
1649 if test $ac_cv_header_lwp_lwp_h = yes ; then
1650 AC_CHECK_LIB(lwp, lwp_create, [have_lwp=yes], [have_lwp=no])
1652 if test $have_lwp = yes ; then
1653 AC_DEFINE(HAVE_LWP,1,
1654 [if you have SunOS LWP package])
1655 LTHREAD_LIBS="$LTHREAD_LIBS -llwp"
1658 if test $ol_with_yielding_select = auto ; then
1659 ol_with_yielding_select=no
1665 if test $ol_with_yielding_select = yes ; then
1666 AC_DEFINE(HAVE_YIELDING_SELECT,1,
1667 [define if select implicitly yields])
1670 if test $ol_with_threads = manual ; then
1671 dnl User thinks he can manually configure threads.
1674 AC_MSG_WARN([thread defines and link options must be set manually])
1676 AC_CHECK_HEADERS(pthread.h sched.h)
1677 AC_CHECK_FUNCS(sched_yield pthread_yield)
1678 OL_HEADER_LINUX_THREADS
1680 AC_CHECK_HEADERS(mach/cthreads.h)
1681 AC_CHECK_HEADERS(lwp/lwp.h)
1682 AC_CHECK_HEADERS(thread.h synch.h)
1685 if test $ol_link_threads != no -a $ol_link_threads != nt ; then
1686 dnl needed to get reentrant/threadsafe versions
1688 AC_DEFINE(REENTRANT,1)
1689 AC_DEFINE(_REENTRANT,1)
1690 AC_DEFINE(THREAD_SAFE,1)
1691 AC_DEFINE(_THREAD_SAFE,1)
1692 AC_DEFINE(THREADSAFE,1)
1693 AC_DEFINE(_THREADSAFE,1)
1694 AC_DEFINE(_SGI_MP_SOURCE,1)
1696 dnl The errno declaration may dependent upon _REENTRANT.
1697 dnl If it does, we must link with thread support.
1698 AC_CACHE_CHECK([for thread specific errno],
1699 [ol_cv_errno_thread_specific], [
1700 AC_TRY_LINK([#include <errno.h>], [errno = 0;],
1701 [ol_cv_errno_thread_specific=yes],
1702 [ol_cv_errno_thread_specific=no])
1705 dnl The h_errno declaration may dependent upon _REENTRANT.
1706 dnl If it does, we must link with thread support.
1707 AC_CACHE_CHECK([for thread specific h_errno],
1708 [ol_cv_h_errno_thread_specific], [
1709 AC_TRY_LINK([#include <netdb.h>], [h_errno = 0;],
1710 [ol_cv_h_errno_thread_specific=yes],
1711 [ol_cv_h_errno_thread_specific=no])
1714 if test $ol_cv_errno_thread_specific != yes \
1715 -o $ol_cv_h_errno_thread_specific != yes ; then
1716 LIBS="$LTHREAD_LIBS $LIBS"
1720 dnl When in thread environment, use
1721 dnl #if defined( HAVE_REENTRANT_FUNCTIONS ) || defined( HAVE_FUNC_R )
1724 dnl # if defined( HAVE_THREADS )
1728 dnl # if defined( HAVE_THREADS )
1733 dnl HAVE_REENTRANT_FUNCTIONS is derived from:
1734 dnl _POSIX_REENTRANT_FUNCTIONS
1735 dnl _POSIX_THREAD_SAFE_FUNCTIONS
1736 dnl _POSIX_THREADSAFE_FUNCTIONS
1738 dnl and is currently defined in <ldap_pvt_thread.h>
1740 dnl HAVE_THREADS is defined by <ldap_pvt_thread.h> iff -UNO_THREADS
1742 dnl libldap/*.c should only include <ldap_pvt_thread.h> iff
1743 dnl LDAP_R_COMPILE is defined. ie:
1744 dnl #ifdef LDAP_R_COMPILE
1745 dnl # include <ldap_pvt_thread.h>
1748 dnl LDAP_R_COMPILE is defined by libldap_r/Makefile.in
1749 dnl specifically for compiling the threadsafe version of
1750 dnl the ldap library (-lldap_r).
1752 dnl dnl check for reentrant/threadsafe functions
1754 dnl dnl note: these should only be used when linking
1755 dnl dnl with $LTHREAD_LIBS
1757 dnl save_CPPFLAGS="$CPPFLAGS"
1758 dnl save_LIBS="$LIBS"
1759 dnl LIBS="$LTHREAD_LIBS $LIBS"
1760 dnl AC_CHECK_FUNCS( \
1762 dnl gethostbyaddr_r gethostbyname_r \
1763 dnl feof_unlocked unlocked_feof \
1764 dnl putc_unlocked unlocked_putc \
1765 dnl flockfile ftrylockfile \
1767 dnl CPPFLAGS="$save_CPPFLAGS"
1768 dnl LIBS="$save_LIBS"
1771 if test $ol_link_threads = no ; then
1772 if test $ol_with_threads = yes ; then
1773 AC_MSG_ERROR([no suitable thread support])
1776 if test $ol_with_threads = auto ; then
1777 AC_MSG_WARN([no suitable thread support, disabling threads])
1781 AC_DEFINE(NO_THREADS,1,
1782 [define if you have (or want) no threads])
1786 if test $ol_link_threads != no ; then
1787 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE,1)
1790 dnl ----------------------------------------------------------------
1791 dnl Tests for reentrant functions necessary to build -lldap_r
1794 gethostbyname_r gethostbyaddr_r \
1797 if test "$ac_cv_func_ctime_r" = no ; then
1798 ol_cv_func_ctime_r_nargs=0
1800 OL_FUNC_CTIME_R_NARGS
1801 dnl OL_FUNC_CTIME_R_TYPE
1804 if test "$ac_cv_func_gethostbyname_r" = yes ; then
1805 OL_FUNC_GETHOSTBYNAME_R_NARGS
1807 ol_cv_func_gethostbyname_r_nargs=0
1810 if test "$ac_cv_func_gethostbyaddr_r" = yes ; then
1811 OL_FUNC_GETHOSTBYADDR_R_NARGS
1813 ol_cv_func_gethostbyaddr_r_nargs=0
1816 dnl ----------------------------------------------------------------
1819 if test $ol_with_ldbm_api = auto \
1820 -o $ol_with_ldbm_api = berkeley \
1821 -o $ol_with_ldbm_api = bcompat ; then
1823 if test $ol_with_ldbm_api = bcompat; then \
1824 OL_BERKELEY_COMPAT_DB
1829 if test $ol_cv_berkeley_db != no ; then
1830 AC_DEFINE(HAVE_BERKELEY_DB,1,
1831 [define this if Berkeley DB is available])
1833 ol_link_ldbm=berkeley
1834 ol_with_ldbm_api=berkeley
1836 if test $ol_with_ldbm_type = hash ; then
1837 AC_DEFINE(LDBM_USE_DBHASH,1,
1838 [define this to use DBHASH w/ LDBM backend])
1840 AC_DEFINE(LDBM_USE_DBBTREE,1,
1841 [define this to use DBBTREE w/ LDBM backend])
1844 dnl $ol_cv_lib_db should be yes or -ldb
1845 dnl (it could be no, but that would be an error
1846 if test $ol_cv_lib_db != yes ; then
1847 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db"
1852 if test $ol_enable_bdb = yes -a $ol_link_ldbm != berkeley ; then
1853 AC_MSG_ERROR(BDB: BerkeleyDB not available)
1854 elif test $ol_enable_bdb != no -a $ol_link_ldbm = berkeley ; then
1857 if test $ol_cv_bdb_compat = yes ; then
1859 elif test $ol_enable_bdb = yes ; then
1860 AC_MSG_ERROR([BDB: BerkeleyDB version incompatible])
1865 if test $ol_enable_hdb = yes -a $ol_link_ldbm != berkeley ; then
1866 AC_MSG_ERROR([HDB: BerkeleyDB not available])
1869 if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
1870 AC_MSG_WARN([Could not find LDBM with BTREE support])
1871 ol_with_ldbm_api=none
1874 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = mdbm ; then
1877 if test $ol_cv_mdbm = yes ; then
1879 ol_with_ldbm_api=mdbm
1880 if test $ol_cv_lib_mdbm != yes ; then
1881 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_mdbm"
1886 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = gdbm ; then
1889 if test $ol_cv_gdbm = yes ; then
1891 ol_with_ldbm_api=gdbm
1893 if test $ol_cv_lib_gdbm != yes ; then
1894 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_gdbm"
1899 if test $ol_with_ldbm_api = ndbm ; then
1902 if test $ol_cv_ndbm = yes ; then
1904 ol_with_ldbm_api=ndbm
1906 if test $ol_cv_lib_ndbm != yes ; then
1907 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_ndbm"
1912 if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then
1913 AC_MSG_WARN([could not find suitable LDBM backend])
1914 if test $ol_enable_ldbm = yes ; then
1915 AC_MSG_ERROR([select appropriate LDBM options or disable])
1918 AC_MSG_WARN(disabling LDBM)
1922 dnl ----------------------------------------------------------------
1924 if test $ol_enable_dynamic = yes -a $enable_shared = yes ; then
1925 BUILD_LIBS_DYNAMIC=shared
1926 AC_DEFINE(LDAP_LIBS_DYNAMIC, 1, [define if LDAP libs are dynamic])
1929 BUILD_LIBS_DYNAMIC=static
1932 AC_SUBST(LTSTATIC)dnl
1934 dnl ----------------------------------------------------------------
1935 if test $ol_enable_wrappers != no ; then
1936 AC_CHECK_HEADERS(tcpd.h,[
1937 AC_MSG_CHECKING([for TCP wrappers library])
1942 int allow_severity = 0;
1943 int deny_severity = 0;
1945 struct request_info *req;
1948 ],[AC_MSG_RESULT([-lwrap])
1950 LIBS="$save_LIBS"],[
1955 int allow_severity = 0;
1956 int deny_severity = 0;
1958 struct request_info *req;
1961 ],[AC_MSG_RESULT([-lwrap -lnsl])
1963 LIBS="$save_LIBS -lnsl"],[
1966 LIBS=$save_LIBS])],[
1967 have_wrappers=no])],[have_wrappers=no])
1969 if test $have_wrappers = yes ; then
1970 AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
1972 elif test $ol_enable_wrappers = yes ; then
1973 AC_MSG_ERROR([could not find TCP wrappers, select apppropriate options or disable])
1975 AC_MSG_WARN([could not find TCP wrappers, support disabled])
1980 dnl ----------------------------------------------------------------
1981 if test $ol_enable_syslog != no ; then
1982 AC_CHECK_FUNC(openlog)
1983 if test $ac_cv_func_openlog = no -a $ol_enable_syslog = yes; then
1984 AC_MSG_ERROR(could not find syslog, select appropriate options or disable)
1986 ol_enable_syslog=$ac_cv_func_openlog
1989 dnl ----------------------------------------------------------------
1990 dnl dmalloc support (deprecated in favor of -DCSRIMALLOC support)
1991 dnl if test $ol_enable_dmalloc != no ; then
1992 dnl AC_CHECK_HEADERS(dmalloc.h)
1993 dnl AC_CHECK_LIB(dmalloc, dmalloc_shutdown)
1996 dnl ----------------------------------------------------------------
1999 if test $ol_enable_sql != no ; then
2000 AC_CHECK_HEADERS(sql.h sqlext.h,[],[
2001 AC_MSG_ERROR([could not locate SQL headers])
2004 AC_CHECK_LIB(iodbc,SQLDriverConnect,[have_iodbc=yes],[have_iodbc=no])
2005 if test $have_iodbc = yes ; then
2006 ol_link_sql="-liodbc"
2008 AC_CHECK_LIB(odbc,SQLDriverConnect,[have_odbc=yes],[have_odbc=no])
2009 if test $have_odbc = yes ; then
2010 ol_link_sql="-lodbc"
2014 if test $ol_link_sql != no ; then
2015 SLAPD_SQL_LIBS="$ol_link_sql"
2017 elif test $ol_enable_sql != auto ; then
2018 AC_MSG_ERROR([could not locate suitable ODBC library])
2022 dnl ----------------------------------------------------------------
2024 dnl Check for Cyrus SASL
2028 if test $ol_with_cyrus_sasl != no ; then
2029 AC_CHECK_HEADERS(sasl/sasl.h sasl.h)
2031 if test $ac_cv_header_sasl_sasl_h = yes -o $ac_cv_header_sasl_h = yes; then
2032 AC_CHECK_LIB(sasl2, sasl_client_init,
2033 [ol_link_sasl="-lsasl2"],
2034 [AC_CHECK_LIB(sasl, sasl_client_init,
2035 [ol_link_sasl="-lsasl"])])
2038 if test $ol_link_sasl = no ; then
2039 if test $ol_with_cyrus_sasl != auto ; then
2040 AC_MSG_ERROR([Could not locate Cyrus SASL])
2042 AC_MSG_WARN([Could not locate Cyrus SASL])
2043 AC_MSG_WARN([SASL authentication not supported!])
2044 if test $ol_link_tls = no ; then
2045 AC_MSG_WARN([Strong authentication not supported!])
2050 if test $ol_cv_sasl_compat = no ; then
2052 AC_MSG_ERROR([Cyrus SASL library located but is incompatible])
2055 AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
2056 SASL_LIBS="$ol_link_sasl"
2057 if test $ol_enable_spasswd != no ; then
2061 ac_save_LIBS="$LIBS"
2062 LIBS="$LIBS $ol_link_sasl"
2063 AC_CHECK_FUNC(sasl_version, [AC_DEFINE(HAVE_SASL_VERSION,1,
2064 [define if your SASL library has sasl_version()])])
2065 LIBS="$ac_save_LIBS"
2069 AC_MSG_WARN([SASL authentication not supported!])
2070 if test $ol_link_tls = no ; then
2071 AC_MSG_WARN([Strong authentication not supported!])
2075 dnl ----------------------------------------------------------------
2076 dnl Check for entropy sources
2077 if test $cross_compiling != yes -a "$ac_cv_mingw32" != yes ; then
2079 if test -r /dev/urandom ; then
2081 elif test -r /idev/urandom ; then
2082 dev="/idev/urandom";
2083 elif test -r /dev/srandom ; then
2085 elif test -r /dev/random ; then
2087 elif test -r /idev/random ; then
2091 if test $dev != no ; then
2092 AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device])
2096 dnl ----------------------------------------------------------------
2098 dnl Check for fetch URL support
2099 dnl should be extended to support other fetch URL APIs
2102 if test $ol_with_fetch != no ; then
2105 if test $ol_cv_lib_fetch != no ; then
2106 LUTIL_LIBS="$LUTIL_LIBS $ol_link_fetch"
2107 ol_link_fetch=freebsd
2109 elif test $ol_with_fetch != auto ; then
2110 AC_MSG_ERROR(no suitable API for --with-fetch=$ol_with_fetch)
2114 dnl ----------------------------------------------------------------
2115 dnl FreeBSD (and others) have crypt(3) in -lcrypt
2116 if test $ol_enable_crypt != no ; then
2118 LIBS="$TLS_LIBS $LIBS"
2120 AC_CHECK_FUNC(crypt, [have_crypt=yes], [
2122 AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
2123 have_crypt=yes], [have_crypt=no])])
2127 if test $have_crypt = yes ; then
2128 AC_DEFINE(HAVE_CRYPT,1, [define if crypt(3) is available])
2130 AC_MSG_WARN([could not find crypt])
2131 if test $ol_enable_crypt = yes ; then
2132 AC_MSG_ERROR([could not find crypt, select appropriate options or disable])
2135 AC_MSG_WARN([disabling crypt support])
2140 dnl ----------------------------------------------------------------
2141 dnl FreeBSD (and others) have setproctitle(3) in -lutil
2142 if test $ol_enable_proctitle != no ; then
2143 AC_CHECK_FUNC(setproctitle, [have_setproctitle=yes], [
2144 AC_CHECK_LIB(util, setproctitle,
2145 [have_setproctitle=yes
2146 LUTIL_LIBS="$LUTIL_LIBS -lutil"],
2147 [have_setproctitle=no
2148 LIBOBJS="$LIBOBJS setproctitle.o"
2149 LIBSRCS="$LIBSRCS setproctitle.c"])])
2151 if test $have_setproctitle = yes ; then
2152 AC_DEFINE(HAVE_SETPROCTITLE,1,
2153 [define if setproctitle(3) is available])
2157 dnl ----------------------------------------------------------------
2158 dnl Check for SLPv2 Compliant API Library
2159 if test $ol_enable_slp != no ; then
2160 AC_CHECK_HEADERS( slp.h )
2162 if test $ac_cv_header_slp_h = yes ; then
2163 AC_CHECK_LIB(slp, SLPOpen, [have_slp=yes], [have_slp=no])
2164 if test $have_slp = yes ; then
2165 AC_DEFINE(HAVE_SLP, 1, [define if you have -lslp])
2166 SLAPD_SLP_LIBS=-lslp
2169 elif test $ol_enable_slp = yes ; then
2170 AC_MSG_ERROR([SLP not found])
2174 dnl ----------------------------------------------------------------
2175 dnl Checks for typedefs, structures, and compiler characteristics.
2177 dnl Checks for long long
2178 AC_CACHE_CHECK([long long], ol_cv_type_long_long, [
2179 AC_TRY_COMPILE([], [long long x;],
2180 [ol_cv_type_long_long=yes],
2181 [ol_cv_type_long_long=no])])
2182 if test $ol_cv_type_long_long = yes; then
2183 AC_DEFINE(HAVE_LONG_LONG, 1, [define if you have 'long long'])
2193 AC_CHECK_TYPE(ssize_t, [signed int])
2194 AC_CHECK_TYPE(caddr_t, [char *])
2197 AC_STRUCT_ST_BLKSIZE
2201 OL_TYPE_SIG_ATOMIC_T
2203 dnl AC_TYPE_GETGROUPS
2205 OL_STRUCT_PASSWD_PW_GECOS
2206 OL_STRUCT_PASSWD_PW_PASSWD
2212 if test $cross_compiling = yes ; then
2213 AC_MSG_WARN([Crossing compiling... all bets are off!])
2214 AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
2219 AC_COMPILE_CHECK_SIZEOF(short)
2220 AC_COMPILE_CHECK_SIZEOF(int)
2221 AC_COMPILE_CHECK_SIZEOF(long)
2223 if test "$ac_cv_sizeof_int" -lt 4 ; then
2224 AC_MSG_WARN([OpenLDAP requires 'int' to be 32 bits or greater.])
2226 AC_DEFINE(LBER_INT_T,long)
2228 AC_DEFINE(LBER_INT_T,int)
2231 AC_DEFINE(LBER_LEN_T,long)
2232 AC_DEFINE(LBER_SOCKET_T,int)
2233 AC_DEFINE(LBER_TAG_T,long)
2235 dnl ----------------------------------------------------------------
2236 dnl Checks for library functions.
2238 dnl AM_FUNC_MKTIME dnl checks for sys/time.h and unistd.h
2244 dnl Check for NT specific routines
2245 AC_CHECK_FUNC(_spawnlp, AC_DEFINE(HAVE_SPAWNLP,1,[if you have spawnlp()]))
2247 AC_CHECK_FUNC(_snprintf, [ac_cv_func_snprintf=yes
2248 AC_DEFINE(snprintf, _snprintf, [define to snprintf routine])
2251 AC_CHECK_FUNC(_vsnprintf, [ac_cv_func_vsnprintf=yes
2252 AC_DEFINE(vsnprintf, _vsnprintf, [define to vsnprintf routine])
2257 if test $ac_cv_func_vprintf = yes ; then
2258 dnl check for vsnprintf
2259 AC_CHECK_FUNCS(snprintf vsnprintf)
2321 dnl We actually may need to replace more than this.
2322 AC_REPLACE_FUNCS(getopt getpeereid)
2324 if test "$ac_cv_func_getopt" != yes; then
2325 LIBSRCS="$LIBSRCS getopt.c"
2327 if test "$ac_cv_func_getpeereid" != yes; then
2328 OL_MSGHDR_MSG_ACCRIGHTS
2329 LIBSRCS="$LIBSRCS getpeereid.c"
2331 if test "$ac_cv_func_snprintf" != yes -o "$ac_cv_func_vsnprintf" != yes; then
2332 if test "$ac_cv_func_snprintf" != yes; then
2333 AC_DEFINE(snprintf, ber_pvt_snprintf, [define to snprintf routine])
2335 if test "$ac_cv_func_vsnprintf" != yes; then
2336 AC_DEFINE(vsnprintf, ber_pvt_vsnprintf, [define to snprintf routine])
2340 dnl ----------------------------------------------------------------
2341 # Check Configuration
2344 dnl ----------------------------------------------------------------
2345 dnl Sort out defines
2347 if test "$ol_enable_slapi" != no ; then
2348 dnl This check is done also if --enable-modules is used;
2349 dnl it is duplicated here, 'cause it'd be cached anyway
2350 AC_CHECK_HEADERS(ltdl.h)
2352 if test $ac_cv_header_ltdl_h != yes ; then
2353 AC_MSG_ERROR([could not locate <ltdl.h>])
2355 AC_CHECK_LIB(ltdl, lt_dlinit, [
2358 LIBSLAPITOOLS=../libslapi.a
2359 AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
2360 ],[AC_MSG_ERROR([could not locate libtool -lltdl])])
2362 AC_DEFINE(LDAP_SLAPI,1, [define this to add SLAPI code])
2365 if test "$ol_enable_debug" != no ; then
2366 AC_DEFINE(LDAP_DEBUG,1,
2367 [define this to add debugging code])
2369 if test "$ol_enable_syslog" = yes ; then
2370 AC_DEFINE(LDAP_SYSLOG,1,
2371 [define this to add syslog code])
2373 if test "$ol_link_kbind" != no ; then
2374 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND,LDAP_VENDOR_VERSION)
2376 if test "$ol_enable_proctitle" != no ; then
2377 AC_DEFINE(LDAP_PROCTITLE,1,
2378 [define this for LDAP process title support])
2380 if test "$ol_enable_referrals" != no ; then
2381 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS,LDAP_VENDOR_VERSION)
2383 if test "$ol_enable_local" != no; then
2384 AC_DEFINE(LDAP_PF_LOCAL,1,[define to support PF_LOCAL])
2386 if test "$ol_link_ipv6" != no; then
2387 AC_DEFINE(LDAP_PF_INET6,1,[define to support PF_INET6])
2389 if test "$ol_enable_cleartext" != no ; then
2390 AC_DEFINE(SLAPD_CLEARTEXT,1,[define to support cleartext passwords])
2392 if test "$ol_enable_crypt" != no ; then
2393 AC_DEFINE(SLAPD_CRYPT,1,[define to support crypt(3) passwords])
2395 if test "$ol_link_spasswd" != no ; then
2396 AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords])
2398 if test "$ol_enable_multimaster" != no ; then
2399 AC_DEFINE(SLAPD_MULTIMASTER,1,[define to support multimaster replication])
2401 if test "$ol_enable_rlookups" != no ; then
2402 AC_DEFINE(SLAPD_RLOOKUPS,1,[define to support reverse lookups])
2404 if test "$ol_enable_aci" != no ; then
2405 AC_DEFINE(SLAPD_ACI_ENABLED,1,[define to support per-object ACIs])
2408 if test "$ol_link_modules" != no ; then
2409 AC_DEFINE(SLAPD_MODULES,1,[define to support modules])
2411 SLAPD_MODULES_LDFLAGS="-dlopen self"
2414 AC_DEFINE(SLAPD_MOD_STATIC,1,[statically linked module])
2415 AC_DEFINE(SLAPD_MOD_DYNAMIC,2,[dynamically linked module])
2417 if test "$ol_enable_bdb" != no ; then
2419 BUILD_BDB=$ol_enable_bdb
2420 if test "$ol_enable_bdb" = mod ; then
2421 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-bdb"
2422 MFLAG=SLAPD_MOD_DYNAMIC
2424 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-bdb"
2425 MFLAG=SLAPD_MOD_STATIC
2427 AC_DEFINE_UNQUOTED(SLAPD_BDB,$MFLAG,[define to support BDB backend])
2430 if test "$ol_enable_dnssrv" != no ; then
2432 BUILD_DNSSRV=$ol_enable_dnssrv
2433 if test "$ol_enable_dnssrv" = mod ; then
2434 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-dnssrv"
2435 MFLAG=SLAPD_MOD_DYNAMIC
2437 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-dnssrv"
2438 MFLAG=SLAPD_MOD_STATIC
2440 AC_DEFINE_UNQUOTED(SLAPD_DNSSRV,$MFLAG,[define to support DNS SRV backend])
2443 if test "$ol_enable_hdb" != no ; then
2445 BUILD_HDB=$ol_enable_hdb
2446 if test "$ol_enable_hdb" = mod ; then
2447 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-hdb"
2448 MFLAG=SLAPD_MOD_DYNAMIC
2450 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-hdb"
2451 MFLAG=SLAPD_MOD_STATIC
2453 AC_DEFINE_UNQUOTED(SLAPD_HDB,$MFLAG,[define to support HDB backend])
2456 if test "$ol_enable_ldap" != no ; then
2458 BUILD_LDAP=$ol_enable_ldap
2459 if test "$ol_enable_ldap" = mod ; then
2460 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldap"
2461 MFLAG=SLAPD_MOD_DYNAMIC
2463 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldap"
2464 MFLAG=SLAPD_MOD_STATIC
2466 AC_DEFINE_UNQUOTED(SLAPD_LDAP,$MFLAG,[define to support LDAP backend])
2469 if test "$ol_link_ldbm" != no -a $ol_enable_ldbm != no; then
2471 BUILD_LDBM=$ol_enable_ldbm
2472 if test "$ol_enable_ldbm" = mod ; then
2473 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldbm"
2474 MFLAG=SLAPD_MOD_DYNAMIC
2476 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldbm"
2477 MFLAG=SLAPD_MOD_STATIC
2479 AC_DEFINE_UNQUOTED(SLAPD_LDBM,$MFLAG,[define to support LDBM backend])
2482 if test "$ol_enable_meta" != no ; then
2484 BUILD_META=$ol_enable_meta
2486 if test "$ol_enable_meta" = mod ; then
2487 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-meta"
2488 MFLAG=SLAPD_MOD_DYNAMIC
2490 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-meta"
2491 MFLAG=SLAPD_MOD_STATIC
2493 AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend])
2496 if test "$ol_enable_monitor" != no ; then
2498 BUILD_MONITOR=$ol_enable_monitor
2499 if test "$ol_enable_monitor" = mod ; then
2500 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-monitor"
2501 MFLAG=SLAPD_MOD_DYNAMIC
2503 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-monitor"
2504 MFLAG=SLAPD_MOD_STATIC
2506 AC_DEFINE_UNQUOTED(SLAPD_MONITOR,$MFLAG,[define to support cn=Monitor backend])
2509 if test "$ol_enable_null" != no ; then
2511 BUILD_NULL=$ol_enable_null
2512 if test "$ol_enable_null" = mod ; then
2513 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-null"
2514 MFLAG=SLAPD_MOD_DYNAMIC
2516 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-null"
2517 MFLAG=SLAPD_MOD_STATIC
2519 AC_DEFINE_UNQUOTED(SLAPD_NULL,$MFLAG,[define to support NULL backend])
2522 if test "$ol_enable_passwd" != no ; then
2524 BUILD_PASSWD=$ol_enable_passwd
2525 if test "$ol_enable_passwd" = mod ; then
2526 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-passwd"
2527 MFLAG=SLAPD_MOD_DYNAMIC
2529 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-passwd"
2530 MFLAG=SLAPD_MOD_STATIC
2532 AC_DEFINE_UNQUOTED(SLAPD_PASSWD,$MFLAG,[define to support PASSWD backend])
2535 if test "$ol_link_perl" != no ; then
2537 BUILD_PERL=$ol_enable_perl
2538 if test "$ol_enable_perl" = mod ; then
2539 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-perl"
2540 MFLAG=SLAPD_MOD_DYNAMIC
2542 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-perl"
2543 MFLAG=SLAPD_MOD_STATIC
2545 AC_DEFINE_UNQUOTED(SLAPD_PERL,$MFLAG,[define to support PERL backend])
2548 if test "$ol_enable_relay" != no ; then
2550 BUILD_RELAY=$ol_enable_relay
2551 if test "$ol_enable_relay" = mod ; then
2552 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-relay"
2553 MFLAG=SLAPD_MOD_DYNAMIC
2555 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-relay"
2556 MFLAG=SLAPD_MOD_STATIC
2558 AC_DEFINE_UNQUOTED(SLAPD_RELAY,$MFLAG,[define to support relay backend])
2561 if test "$ol_enable_shell" != no ; then
2562 if test "$ol_link_thread" != no ; then
2563 AC_MSG_WARN([Use of --without-threads is recommended with back-shell])
2566 BUILD_SHELL=$ol_enable_shell
2567 if test "$ol_enable_shell" = mod ; then
2568 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-shell"
2569 MFLAG=SLAPD_MOD_DYNAMIC
2571 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-shell"
2572 MFLAG=SLAPD_MOD_STATIC
2574 AC_DEFINE_UNQUOTED(SLAPD_SHELL,$MFLAG,[define to support SHELL backend])
2577 if test "$ol_link_sql" != no ; then
2579 BUILD_SQL=$ol_enable_sql
2580 if test "$ol_enable_sql" = mod; then
2581 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sql"
2582 MFLAG=SLAPD_MOD_DYNAMIC
2584 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sql"
2585 MFLAG=SLAPD_MOD_STATIC
2587 AC_DEFINE_UNQUOTED(SLAPD_SQL,$MFLAG,[define to support SQL backend])
2590 if test "$ol_enable_chain" != no ; then
2591 BUILD_CHAIN=$ol_enable_chain
2592 if test "$ol_enable_chain" = mod ; then
2593 MFLAG=SLAPD_MOD_DYNAMIC
2594 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS chain.la"
2596 MFLAG=SLAPD_MOD_STATIC
2598 AC_DEFINE_UNQUOTED(SLAPD_OVER_CHAIN,$MFLAG,[define for Dynamic Group overlay])
2601 if test "$ol_enable_denyop" != no ; then
2602 BUILD_DENYOP=$ol_enable_denyop
2603 if test "$ol_enable_denyop" = mod ; then
2604 MFLAG=SLAPD_MOD_DYNAMIC
2605 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS denyop.la"
2607 MFLAG=SLAPD_MOD_STATIC
2609 AC_DEFINE_UNQUOTED(SLAPD_OVER_DENYOP,$MFLAG,[define for Dynamic Group overlay])
2612 if test "$ol_enable_dyngroup" != no ; then
2613 BUILD_DYNGROUP=$ol_enable_dyngroup
2614 if test "$ol_enable_dyngroup" = mod ; then
2615 MFLAG=SLAPD_MOD_DYNAMIC
2616 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dyngroup.la"
2618 MFLAG=SLAPD_MOD_STATIC
2620 AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group overlay])
2623 if test "$ol_enable_ppolicy" != no ; then
2624 BUILD_PPOLICY=$ol_enable_ppolicy
2625 if test "$ol_enable_ppolicy" = mod ; then
2626 MFLAG=SLAPD_MOD_DYNAMIC
2627 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS ppolicy.la"
2629 MFLAG=SLAPD_MOD_STATIC
2631 AC_DEFINE_UNQUOTED(SLAPD_OVER_PPOLICY,$MFLAG,[define for Password Policy overlay])
2634 if test "$ol_enable_proxycache" != no ; then
2635 BUILD_PROXYCACHE=$ol_enable_proxycache
2636 if test "$ol_enable_proxycache" = mod ; then
2637 MFLAG=SLAPD_MOD_DYNAMIC
2638 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS pcache.la"
2640 MFLAG=SLAPD_MOD_STATIC
2642 AC_DEFINE_UNQUOTED(SLAPD_OVER_PROXYCACHE,$MFLAG,[define for Proxy Cache overlay])
2645 if test "$ol_enable_rwm" != no ; then
2647 BUILD_RWM=$ol_enable_rwm
2648 if test "$ol_enable_rwm" = mod ; then
2649 MFLAG=SLAPD_MOD_DYNAMIC
2650 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS rwm.la"
2652 MFLAG=SLAPD_MOD_STATIC
2654 AC_DEFINE_UNQUOTED(SLAPD_OVER_RWM,$MFLAG,[define for Rewrite/Remap overlay])
2657 if test "$ol_enable_slurpd" != no -a "$ol_link_threads" != no -a \
2658 $BUILD_SLAPD = yes ; then
2662 if test "$ol_enable_rewrite" != no ; then
2663 AC_DEFINE(ENABLE_REWRITE,1,[define to enable rewriting in back-ldap and back-meta])
2667 if test "$ol_enable_slapi" != no ; then
2668 AC_DEFINE(ENABLE_SLAPI,1,[define to enable slapi library])
2670 SLAPD_SLAPI_DEPEND=libslapi.a
2673 dnl ----------------------------------------------------------------
2676 dnl For Windows build, we don't want to include -dlopen flags.
2677 dnl They hurt more than they help.
2680 if test "$ac_cv_mingw32" = yes ; then
2682 SLAPD_MODULES_LDFLAGS=
2687 if test -z "$SLAPD_STATIC_BACKENDS"; then
2696 AC_SUBST(BUILD_LIBS_DYNAMIC)
2698 AC_SUBST(BUILD_SLAPD)
2700 AC_SUBST(BUILD_SLAPI)
2701 AC_SUBST(SLAPD_SLAPI_DEPEND)
2704 AC_SUBST(BUILD_DNSSRV)
2706 AC_SUBST(BUILD_LDAP)
2707 AC_SUBST(BUILD_LDBM)
2708 AC_SUBST(BUILD_META)
2709 AC_SUBST(BUILD_MONITOR)
2710 AC_SUBST(BUILD_NULL)
2711 AC_SUBST(BUILD_PASSWD)
2712 AC_SUBST(BUILD_RELAY)
2713 AC_SUBST(BUILD_PERL)
2714 AC_SUBST(BUILD_SHELL)
2717 AC_SUBST(BUILD_CHAIN)
2718 AC_SUBST(BUILD_DENYOP)
2719 AC_SUBST(BUILD_DYNGROUP)
2720 AC_SUBST(BUILD_PPOLICY)
2721 AC_SUBST(BUILD_PROXYCACHE)
2723 AC_SUBST(BUILD_SLURPD)
2726 AC_SUBST(SLAPD_LIBS)
2727 AC_SUBST(SLURPD_LIBS)
2729 AC_SUBST(LTHREAD_LIBS)
2730 AC_SUBST(LUTIL_LIBS)
2733 AC_SUBST(SLAPD_MODULES_CPPFLAGS)
2734 AC_SUBST(SLAPD_MODULES_LDFLAGS)
2736 AC_SUBST(SLAPD_NO_STATIC)
2737 AC_SUBST(SLAPD_STATIC_BACKENDS)
2738 AC_SUBST(SLAPD_DYNAMIC_BACKENDS)
2739 AC_SUBST(SLAPD_DYNAMIC_OVERLAYS)
2741 AC_SUBST(PERL_CPPFLAGS)
2742 AC_SUBST(SLAPD_PERL_LDFLAGS)
2743 AC_SUBST(MOD_PERL_LDFLAGS)
2749 AC_SUBST(MODULES_LIBS)
2750 AC_SUBST(SLAPI_LIBS)
2752 AC_SUBST(LIBSLAPITOOLS)
2755 AC_SUBST(SLAPD_SLP_LIBS)
2757 AC_SUBST(SLAPD_SQL_LDFLAGS)
2758 AC_SUBST(SLAPD_SQL_LIBS)
2759 AC_SUBST(SLAPD_SQL_INCLUDES)
2761 dnl ----------------------------------------------------------------
2762 dnl final help output
2763 AC_ARG_WITH(xxinstall,[
2764 See INSTALL file for further details.])
2766 dnl ----------------------------------------------------------------
2771 Makefile:build/top.mk:Makefile.in:build/dir.mk \
2772 doc/Makefile:build/top.mk:doc/Makefile.in:build/dir.mk \
2773 doc/man/Makefile:build/top.mk:doc/man/Makefile.in:build/dir.mk \
2774 doc/man/man1/Makefile:build/top.mk:doc/man/man1/Makefile.in:build/man.mk \
2775 doc/man/man3/Makefile:build/top.mk:doc/man/man3/Makefile.in:build/man.mk \
2776 doc/man/man5/Makefile:build/top.mk:doc/man/man5/Makefile.in:build/man.mk \
2777 doc/man/man8/Makefile:build/top.mk:doc/man/man8/Makefile.in:build/man.mk \
2778 clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.mk \
2779 clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk \
2780 include/Makefile:build/top.mk:include/Makefile.in \
2781 libraries/Makefile:build/top.mk:libraries/Makefile.in:build/dir.mk \
2782 libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk:build/lib-shared.mk \
2783 libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk:build/lib-shared.mk \
2784 libraries/libldap_r/Makefile:build/top.mk:libraries/libldap_r/Makefile.in:build/lib.mk:build/lib-shared.mk \
2785 libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk \
2786 libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk \
2787 libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-static.mk \
2788 servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \
2789 servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
2790 servers/slapd/back-bdb/Makefile:build/top.mk:servers/slapd/back-bdb/Makefile.in:build/mod.mk \
2791 servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk \
2792 servers/slapd/back-hdb/Makefile:build/top.mk:servers/slapd/back-hdb/Makefile.in:build/mod.mk \
2793 servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/mod.mk \
2794 servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/mod.mk \
2795 servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk \
2796 servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk \
2797 servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/Makefile.in:build/mod.mk \
2798 servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk \
2799 servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk \
2800 servers/slapd/back-relay/Makefile:build/top.mk:servers/slapd/back-relay/Makefile.in:build/mod.mk \
2801 servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk \
2802 servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk \
2803 servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk \
2804 servers/slapd/slapi/Makefile:build/top.mk:servers/slapd/slapi/Makefile.in:build/lib.mk:build/lib-shared.mk \
2805 servers/slapd/overlays/Makefile:build/top.mk:servers/slapd/overlays/Makefile.in:build/lib.mk \
2806 servers/slurpd/Makefile:build/top.mk:servers/slurpd/Makefile.in:build/srv.mk \
2807 tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk \
2809 tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \
2813 echo Please run \"make depend\" to build dependencies