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 dnl SLAPD Backend options
200 OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend], yes)dnl
201 OL_ARG_WITH(bdb_module,[ --with-bdb-module module type static|dynamic], static,
203 OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend], no)dnl
204 OL_ARG_WITH(dnssrv_module,[ --with-dnssrv-module module type static|dynamic], static,
206 OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend], no)dnl
207 OL_ARG_WITH(hdb_module,[ --with-hdb-module module type static|dynamic], static,
209 OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend], no)dnl
210 OL_ARG_WITH(ldap_module,[ --with-ldap-module module type static|dynamic], static,
212 OL_ARG_ENABLE(ldbm,[ --enable-ldbm enable ldbm backend], no)dnl
213 OL_ARG_WITH(ldbm_api,[ --with-ldbm-api with LDBM API auto|berkeley|bcompat|mdbm|gdbm], auto,
214 [auto berkeley bcompat mdbm gdbm])
215 OL_ARG_WITH(ldbm_module,[ --with-ldbm-module module type static|dynamic], static,
217 OL_ARG_WITH(ldbm_type,[ --with-ldbm-type use LDBM type auto|btree|hash], auto,
219 OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend], no)dnl
220 OL_ARG_WITH(meta_module,[ --with-meta-module module type static|dynamic], static,
222 OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend], yes)dnl
223 OL_ARG_WITH(monitor_module,[ --with-monitor-module module type static|dynamic], static,
225 OL_ARG_ENABLE(null,[ --enable-null enable null backend], no)dnl
226 OL_ARG_WITH(null_module,[ --with-null-module module type static|dynamic], static,
228 OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend], no)dnl
229 OL_ARG_WITH(passwd_module,[ --with-passwd-module module type static|dynamic], static,
231 OL_ARG_ENABLE(perl,[ --enable-perl enable perl backend], no)dnl
232 OL_ARG_WITH(perl_module,[ --with-perl-module module type static|dynamic], static,
234 OL_ARG_ENABLE(relay,[ --enable-relay enable relay backend], yes)dnl
235 OL_ARG_WITH(relay_module,[ --with-relay-module module type static|dynamic], static,
237 OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend], no)dnl
238 OL_ARG_WITH(shell_module,[ --with-shell-module module type static|dynamic], static,
240 OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend], no)dnl
241 OL_ARG_WITH(sql_module,[ --with-sql-module module type static|dynamic], static,
244 dnl ----------------------------------------------------------------
245 dnl SLAPD Overlay Options
246 AC_ARG_WITH(xxslapoverlays,[
247 SLAPD Overlay Options:])
248 OL_ARG_ENABLE(chain,[ --enable-chain LDAP Chain Response no|yes|mod], no,
250 OL_ARG_ENABLE(denyop,[ --enable-denyop Deny Operation overlay no|yes|mod], no,
252 OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay no|yes|mod], no,
254 OL_ARG_ENABLE(ppolicy,[ --enable-ppolicy Password Policy overlay no|yes|mod], no,
256 OL_ARG_ENABLE(proxycache,[ --enable-proxycache Proxy Cache overlay no|yes|mod], no,
258 OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay no|yes|mod], no,
261 dnl ----------------------------------------------------------------
263 AC_ARG_WITH(xxslurpdoptions,[
264 SLURPD (Replication Daemon) Options:])
265 OL_ARG_ENABLE(slurpd,[ --enable-slurpd enable building slurpd], auto)dnl
267 dnl ----------------------------------------------------------------
268 AC_ARG_WITH(xxliboptions,[
269 Library Generation & Linking Options])
273 dnl ----------------------------------------------------------------
275 dnl General "enable" options
277 if test $ol_enable_slapd = no ; then
278 dnl SLAPD was specificallly disabled
279 if test $ol_enable_slapi = yes ; then
280 AC_MSG_WARN([slapd disabled, ignoring --enable-slapi argument])
282 if test $ol_enable_bdb = yes ; then
283 AC_MSG_WARN([slapd disabled, ignoring --enable-bdb argument])
285 if test $ol_enable_dnssrv = yes ; then
286 AC_MSG_WARN([slapd disabled, ignoring --enable-dnssrv argument])
288 if test $ol_enable_hdb = yes ; then
289 AC_MSG_WARN([slapd disabled, ignoring --enable-hdb argument])
291 if test $ol_enable_ldap = yes ; then
292 AC_MSG_WARN([slapd disabled, ignoring --enable-ldap argument])
294 if test $ol_enable_ldbm = yes ; then
295 AC_MSG_WARN([slapd disabled, ignoring --enable-ldbm argument])
297 if test $ol_enable_meta = yes ; then
298 AC_MSG_WARN([slapd disabled, ignoring --enable-meta argument])
300 if test $ol_enable_monitor = yes ; then
301 AC_MSG_WARN([slapd disabled, ignoring --enable-monitor argument])
303 if test $ol_enable_null = yes ; then
304 AC_MSG_WARN([slapd disabled, ignoring --enable-null argument])
306 if test $ol_enable_passwd = yes ; then
307 AC_MSG_WARN([slapd disabled, ignoring --enable-passwd argument])
309 if test $ol_enable_perl = yes ; then
310 AC_MSG_WARN([slapd disabled, ignoring --enable-perl argument])
312 if test $ol_enable_relay = yes ; then
313 AC_MSG_WARN([slapd disabled, ignoring --enable-relay argument])
315 if test $ol_enable_shell = yes ; then
316 AC_MSG_WARN([slapd disabled, ignoring --enable-shell argument])
318 if test $ol_enable_sql = yes ; then
319 AC_MSG_WARN([slapd disabled, ignoring --enable-sql argument])
321 if test $ol_enable_modules = yes ; then
322 AC_MSG_WARN([slapd disabled, ignoring --enable-modules argument])
324 if test $ol_enable_multimaster = yes ; then
325 AC_MSG_WARN([slapd disabled, ignoring --enable-multimaster argument])
327 if test $ol_enable_wrappers = yes ; then
328 AC_MSG_WARN([slapd disabled, ignoring --enable-wrappers argument])
330 if test $ol_enable_rlookups = yes ; then
331 AC_MSG_WARN([slapd disabled, ignoring --enable-rlookups argument])
333 if test $ol_enable_aci = yes ; then
334 AC_MSG_WARN([slapd disabled, ignoring --enable-aci argument])
336 if test $ol_with_ldbm_api != auto ; then
337 AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-api argument])
339 if test $ol_with_ldbm_type != auto ; then
340 AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-type argument])
342 if test $ol_with_bdb_module != static ; then
343 AC_MSG_WARN([slapd disabled, ignoring --with-bdb-module argument])
345 if test $ol_with_dnssrv_module != static ; then
346 AC_MSG_WARN([slapd disabled, ignoring --with-dnssrv-module argument])
348 if test $ol_with_hdb_module != static ; then
349 AC_MSG_WARN([slapd disabled, ignoring --with-hdb-module argument])
351 if test $ol_with_ldap_module != static ; then
352 AC_MSG_WARN([slapd disabled, ignoring --with-ldap-module argument])
354 if test $ol_with_ldbm_module != static ; then
355 AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-module argument])
357 if test $ol_with_meta_module != static ; then
358 AC_MSG_WARN([slapd disabled, ignoring --with-meta-module argument])
360 if test $ol_with_monitor_module != static ; then
361 AC_MSG_WARN([slapd disabled, ignoring --with-monitor-module argument])
363 if test $ol_with_null_module != static ; then
364 AC_MSG_WARN([slapd disabled, ignoring --with-null-module argument])
366 if test $ol_with_passwd_module != static ; then
367 AC_MSG_WARN([slapd disabled, ignoring --with-passwd-module argument])
369 if test $ol_with_perl_module != static ; then
370 AC_MSG_WARN([slapd disabled, ignoring --with-perl-module argument])
372 if test $ol_with_relay_module != static ; then
373 AC_MSG_WARN([slapd disabled, ignoring --with-relay-module argument])
375 if test $ol_with_shell_module != static ; then
376 AC_MSG_WARN([slapd disabled, ignoring --with-shell-module argument])
378 if test $ol_with_sql_module != static ; then
379 AC_MSG_WARN([slapd disabled, ignoring --with-sql-module argument])
381 if test $ol_enable_slurpd = yes ; then
382 AC_MSG_ERROR([slurpd requires slapd])
384 if test $ol_enable_rewrite = yes ; then
385 AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument])
388 if test $ol_with_chain != no ; then
389 AC_MSG_WARN([slapd disabled, ignoring --with-chain argument])
391 if test $ol_with_denyop != no ; then
392 AC_MSG_WARN([slapd disabled, ignoring --with-denyop argument])
394 if test $ol_with_dyngroup != no ; then
395 AC_MSG_WARN([slapd disabled, ignoring --with-dyngroup argument])
397 if test $ol_with_ppolicy != no ; then
398 AC_MSG_WARN([slapd disabled, ignoring --with-ppolicy argument])
400 if test $ol_with_proxycache != no ; then
401 AC_MSG_WARN([slapd disabled, ignoring --with-proxycache argument])
403 if test $ol_with_rwm != no ; then
404 AC_MSG_WARN([slapd disabled, ignoring --with-rwm argument])
407 # force settings to no
424 ol_enable_multimaster=no
425 ol_enable_rlookups=no
427 ol_enable_wrappers=no
432 ol_with_bdb_module=static
433 ol_with_dnssrv_module=static
434 ol_with_hdb_module=static
435 ol_with_ldap_module=static
436 ol_with_ldbm_module=static
437 ol_with_meta_module=static
438 ol_with_monitor_module=static
439 ol_with_null_module=static
440 ol_with_passwd_module=static
441 ol_with_perl_module=static
442 ol_with_relay_module=static
443 ol_with_shell_module=static
444 ol_with_sql_module=static
452 ol_enable_dyngroup=no
454 ol_enable_proxycache=no
457 elif test $ol_enable_ldbm = no ; then
458 dnl SLAPD without LDBM
460 if test $ol_with_ldbm_api != auto ; then
461 AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-api argument])
464 if test $ol_with_ldbm_type != auto ; then
465 AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-type argument])
468 if test $ol_with_ldbm_module != static ; then
469 AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-module argument])
472 if test $ol_enable_modules != yes -a \
473 $ol_enable_bdb = no -a \
474 $ol_enable_dnssrv = no -a \
475 $ol_enable_hdb = no -a \
476 $ol_enable_ldap = no -a \
477 $ol_enable_meta = no -a \
478 $ol_enable_monitor = no -a \
479 $ol_enable_null = no -a \
480 $ol_enable_passwd = no -a \
481 $ol_enable_perl = no -a \
482 $ol_enable_relay = no -a \
483 $ol_enable_shell = no -a \
484 $ol_enable_sql = no ; then
486 if test $ol_enable_slapd = yes ; then
487 AC_MSG_ERROR([slapd requires a backend])
489 AC_MSG_WARN([skipping slapd, no backend specified])
496 ol_with_ldbm_module=static
498 if test $ol_enable_bdb != no -o $ol_enable_hdb != no; then
499 ol_with_ldbm_api=berkeley
504 if test $ol_with_ldbm_api = gdbm -a \
505 $ol_with_ldbm_type = btree ; then
506 AC_MSG_ERROR([GDBM only supports LDBM type hash])
508 if test $ol_with_ldbm_api = mdbm -a \
509 $ol_with_ldbm_type = btree ; then
510 AC_MSG_ERROR([MDBM only supports LDBM type hash])
512 if test $ol_with_ldbm_api = ndbm -a \
513 $ol_with_ldbm_type = btree ; then
514 AC_MSG_ERROR([NDBM only supports LDBM type hash])
517 if test $ol_enable_bdb = yes -o $ol_enable_hdb = yes ; then
518 if test $ol_with_ldbm_api = auto ; then
519 ol_with_ldbm_api=berkeley
520 elif test $ol_with_ldbm_api != berkeley ; then
521 AC_MSG_ERROR([LDBM API not compatible with BDB/HDB])
524 elif test $ol_enable_bdb = auto ; then
525 if test $ol_with_ldbm_api != berkeley \
526 -o $ol_with_ldbm_api != auto ; then
527 AC_MSG_WARN([LDBM API not compatible with BDB, disabling BDB])
533 if test $ol_enable_chain != no -a $ol_enable_ldap = no ; then
534 AC_MSG_ERROR([--enable-chain requires --enable-ldap])
537 if test $ol_enable_meta = yes -a $ol_enable_ldap = no ; then
538 AC_MSG_ERROR([--enable-meta requires --enable-ldap])
541 if test $ol_enable_slurpd = yes ; then
542 dnl SLURPD was specifically enabled
543 if test $ol_with_threads = no ; then
544 AC_MSG_ERROR([slurpd requires threads])
548 if test $ol_enable_lmpasswd = yes ; then
549 if test $ol_with_tls = no ; then
550 AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
554 if test $ol_enable_kbind = yes ; then
555 if test $ol_with_kerberos = no ; then
556 AC_MSG_ERROR([options require --with-kerberos])
557 elif test $ol_with_kerberos = auto ; then
561 elif test $ol_enable_kbind = no ; then
562 if test $ol_with_kerberos = auto ; then
564 elif test $ol_with_kerberos != no ; then
565 AC_MSG_WARN([Kerberos detection enabled unnecessarily]);
570 if test $ol_enable_spasswd = yes ; then
571 if test $ol_with_cyrus_sasl = no ; then
572 AC_MSG_ERROR([options require --with-cyrus-sasl])
574 ol_with_cyrus_sasl=yes
579 dnl ----------------------------------------------------------------
611 BUILD_BDB_DYNAMIC=static
612 BUILD_DNSSRV_DYNAMIC=static
613 BUILD_HDB_DYNAMIC=static
614 BUILD_LDAP_DYNAMIC=static
615 BUILD_LDBM_DYNAMIC=static
616 BUILD_META_DYNAMIC=static
617 BUILD_MONITOR_DYNAMIC=static
618 BUILD_NULL_DYNAMIC=static
619 BUILD_PASSWD_DYNAMIC=static
620 BUILD_PERL_DYNAMIC=static
621 BUILD_RELAY_DYNAMIC=static
622 BUILD_SHELL_DYNAMIC=static
623 BUILD_SQL_DYNAMIC=static
632 SLAPD_DYNAMIC_OVERLAYS=
634 SLAPD_MODULES_LDFLAGS=
635 SLAPD_MODULES_CPPFLAGS=
637 SLAPD_STATIC_BACKENDS=
638 SLAPD_DYNAMIC_BACKENDS=
660 dnl ================================================================
661 dnl Checks for programs
665 AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion])
667 dnl ----------------------------------------------------------------
669 dnl Determine which C translator to use
672 dnl AIX Thread requires we use cc_r or xlc_r.
673 dnl But only do this IF AIX and CC is not set
674 dnl and threads are auto|yes|posix.
676 dnl If we find cc_r|xlc_r, force pthreads and assume
677 dnl pthread_create is in $LIBS (ie: don't bring in
678 dnl any additional thread libraries)
679 dnl If we do not find cc_r|xlc_r, disable threads
683 *-*-aix*) dnl all AIX is not a good idea.
684 if test -z "$CC" ; then
685 case "$ol_with_threads" in
686 auto | yes | posix) ol_aix_threads=yes ;;
692 if test $ol_aix_threads = yes ; then
693 if test -z "${CC}" ; then
694 AC_CHECK_PROGS(CC,cc_r xlc_r cc)
696 if test "$CC" = cc ; then
697 dnl no CC! don't allow --with-threads
698 if test $ol_with_threads != auto ; then
699 AC_MSG_ERROR([--with-threads requires cc_r (or other suitable compiler) on AIX])
701 AC_MSG_WARN([disabling threads, no cc_r on AIX])
707 if test "${CC}" = "cc_r" -o "${CC}" = "xlc_r" ; then
708 ol_with_threads=posix
709 ol_cv_pthread_create=yes
713 if test -z "${CC}"; then
714 AC_CHECK_PROGS(CC,cc gcc,missing)
716 if test "${CC}" = "missing" ; then
717 AC_MSG_ERROR([Unable to locate cc(1) or suitable replacement. Check PATH or set CC.])
721 if test -z "${AR}"; then
722 AC_CHECK_PROGS(AR,ar gar,missing)
724 if test "${AR}" = "missing" ; then
725 AC_MSG_ERROR([Unable to locate ar(1) or suitable replacement. Check PATH or set AR.])
736 dnl ----------------------------------------------------------------
739 if test $ol_enable_perl != no ; then
740 AC_PATH_PROG(PERLBIN, perl, /usr/bin/perl)
742 if test "no$PERLBIN" = "no" ; then
743 if test $ol_enable_perl = yes ; then
744 AC_MSG_ERROR([could not locate perl])
748 PERL_CPPFLAGS="`$PERLBIN -MExtUtils::Embed -e ccopts`"
749 PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e 's/ -lc / /' -e 's/ -lc$//'`"
751 if test x"$ol_with_perl_module" = "xstatic" ; then
752 SLAPD_PERL_LDFLAGS="$PERL_LDFLAGS"
754 MOD_PERL_LDFLAGS="$PERL_LDFLAGS"
756 dnl should check perl version
763 dnl ----------------------------------------------------------------
764 dnl Checks for UNIX Variants
769 dnl ----------------------------------------------------------------
770 dnl Checks for system services
776 AC_DEFINE_UNQUOTED(EXEEXT, "${EXEEXT}", [defined to be the EXE extension])
778 dnl ----------------------------------------------------------------
779 dnl BeOS requires -lbe -lroot -lnet
780 AC_CHECK_LIB(be, be_app, [LIBS="$LIBS -lbe -lroot -lnet"], :, [-lroot -lnet])
782 dnl ----------------------------------------------------------------
783 dnl OpenLDAP requires STDC features
785 if test "X${am_cv_prog_cc_stdc}" = "Xno" ; then
786 AC_MSG_ERROR([OpenLDAP requires compiler to support STDC constructs.])
789 dnl ----------------------------------------------------------------
790 dnl Check cc depend flags
792 if test "${ol_cv_mkdep}" = no ; then
793 # this will soon become an error
794 AC_MSG_WARN([do not know how to generate dependencies])
797 dnl ----------------------------------------------------------------
798 dnl Check for AIX security library
799 AC_CHECK_LIB(s, afopen, [
801 AC_DEFINE(HAVE_AIX_SECURITY,1,[define if you have AIX security lib])
804 dnl ----------------------------------------------------------------
805 dnl Check for IBM OS/390
809 AC_DEFINE(BOTH_STRINGS_H,1,[define to use both <string.h> and <strings.h>])
813 dnl ----------------------------------------------------------------
814 dnl Check for module support
816 if test $ol_enable_modules != no ; then
817 AC_CHECK_HEADERS(ltdl.h)
819 if test $ac_cv_header_ltdl_h = no ; then
820 AC_MSG_ERROR([could not locate libtool ltdl.h])
823 AC_CHECK_LIB(ltdl, lt_dlinit, [
825 AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
828 if test "$ac_cv_lib_ltdl_lt_dlinit" = no ; then
829 AC_MSG_ERROR([could not locate libtool -lltdl])
834 ol_with_bdb_module=static
835 ol_with_dnssrv_module=static
836 ol_with_hdb_module=static
837 ol_with_ldap_module=static
838 ol_with_ldbm_module=static
839 ol_with_meta_module=static
840 ol_with_monitor_module=static
841 ol_with_null_module=static
842 ol_with_passwd_module=static
843 ol_with_perl_module=static
844 ol_with_relay_module=static
845 ol_with_shell_module=static
846 ol_with_sql_module=static
847 if test $ol_enable_chain = mod ; then
848 AC_MSG_WARN([building static chain overlay])
851 if test $ol_enable_denyop = mod ; then
852 AC_MSG_WARN([building static denyop overlay])
855 if test $ol_enable_dyngroup = mod ; then
856 AC_MSG_WARN([building static dyngroup overlay])
857 ol_enable_dyngroup=yes
859 if test $ol_enable_ppolicy = mod ; then
860 AC_MSG_WARN([building static ppolicy overlay])
861 ol_enable_ppolicy=yes
863 if test $ol_enable_proxycache = mod ; then
864 AC_MSG_WARN([building static proxycache overlay])
865 ol_enable_proxycache=yes
867 if test $ol_enable_rwm = mod ; then
868 AC_MSG_WARN([building static rwm overlay])
873 dnl ----------------------------------------------------------------
874 dnl Checks for header files.
877 if test $ol_cv_header_stdc != yes; then
878 AC_MSG_WARN([could not locate Standard C compliant headers])
883 AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
884 if test $am_cv_sys_posix_termios = yes ; then
885 AC_DEFINE(HAVE_POSIX_TERMIOS,1,
886 [define if you have POSIX termios])
941 dnl ----------------------------------------------------------------
942 dnl Checks for libraries
944 dnl HP-UX requires -lV3
945 dnl this is not needed on newer versions of HP-UX
946 AC_CHECK_LIB(V3, sigset)
948 dnl The following is INTENTIONALLY scripted out because shell does not
949 dnl support variable names with the '@' character, which is what
950 dnl autoconf would try to generate if one merely used AC_SEARCH_LIBS
951 if test "$ac_cv_header_winsock_h" = yes; then
952 AC_CACHE_CHECK([for winsock], [ol_cv_winsock],
954 for curlib in ws2_32 wsock32; do
955 LIBS="$LIBS -l$curlib"
956 AC_TRY_LINK([#include <winsock.h>
960 select(0,NULL,NULL,NULL,NULL);
964 ol_cv_winsock=yes, ol_cv_winsock=no)
966 if test $ol_cv_winsock = yes; then
967 AC_DEFINE(HAVE_WINSOCK, 1, [define if you have winsock])
968 ac_cv_func_socket=yes
969 ac_cv_func_select=yes
970 ac_cv_func_closesocket=yes
971 ac_cv_func_gethostname=yes
972 if test $curlib = ws2_32; then
973 ol_cv_winsock=winsock2
974 AC_DEFINE(HAVE_WINSOCK2, 1,
975 [define if you have winsock2])
984 dnl Likely combinations:
985 dnl -lsocket [ -lnsl_s | -lnsl ]
988 AC_CHECK_FUNC(socket, :, [
989 dnl hopefully we won't include too many libraries
990 AC_CHECK_LIB(socket, main)
991 AC_CHECK_LIB(net, main)
992 AC_CHECK_LIB(nsl_s, main)
993 AC_CHECK_LIB(nsl, main)
994 AC_CHECK_LIB(inet, socket)
995 AC_CHECK_LIB(gen, main)
999 AC_CHECK_FUNC(select, :, AC_MSG_ERROR([select() required.]))
1001 if test "${ac_cv_header_winsock_h}" != yes; then
1002 dnl Select arg types
1003 dnl (if this detection becomes permenent, it and the select() detection
1004 dnl should be done before the yielding select test)
1005 AC_FUNC_SELECT_ARGTYPES
1008 dnl check to see if system call automatically restart
1009 dnl AC_SYS_RESTARTABLE_SYSCALLS
1011 dnl ----------------------------------------------------------------
1012 dnl require POSIX regex
1013 AC_CHECK_HEADERS( regex.h )
1014 if test "$ac_cv_header_regex_h" != yes ; then
1015 AC_MSG_ERROR([POSIX regex.h required.])
1017 AC_SEARCH_LIBS(regfree, [regex gnuregex],
1018 :, AC_MSG_ERROR([POSIX regex required.]))
1021 if test "$ol_cv_c_posix_regex" = no ; then
1022 AC_MSG_ERROR([broken POSIX regex!])
1025 dnl ----------------------------------------------------------------
1029 AC_CHECK_HEADERS(sys/uuid.h)
1030 if test $ac_cv_header_sys_uuid_h = yes ; then
1032 AC_SEARCH_LIBS(uuid_to_str, uuid, [have_uuid=yes], :)
1035 if test have_uuid = yes ; then
1036 AC_DEFINE(HAVE_UUID_TO_STR,1,
1037 [define if you have uuid_to_str()])
1039 test "$ac_cv_search_uuid_to_str" = "none required" || \
1040 SLAPD_LIBS="$SLAPD_LIBS $ac_cv_search_uuid_to_str"
1044 dnl For windows, check for the need of RPCRT for UUID function support
1045 if test $have_uuid = no ; then
1046 AC_MSG_CHECKING(to see if -lrpcrt4 is needed for win32 UUID support)
1048 LIBS="$LIBS -lrpcrt4"
1050 int __stdcall UuidCreate(void *);
1051 int __stdcall UuidToStringA(void *,void **);
1057 need_rpcrt=yes, need_rpcrt=no)
1058 if test $need_rpcrt = yes; then
1059 SLAPD_LIBS="$SLAPD_LIBS -lrpcrt4"
1062 AC_MSG_RESULT($need_rpcrt)
1065 dnl ----------------------------------------------------------------
1066 dnl Check for resolver routines
1067 dnl need to check for both res_query and __res_query
1068 dnl need to check -lc, -lbind, and -lresolv
1070 AC_CHECK_FUNC(res_query,:)
1071 if test $ac_cv_func_res_query = no ; then
1072 AC_CHECK_FUNC(__res_query,:)
1073 ac_cv_func_res_query=$ac_cv_func___res_query
1076 if test $ac_cv_func_res_query = no ; then
1077 AC_CHECK_LIB(bind, res_query)
1078 ac_cv_func_res_query=$ac_cv_lib_bind_res_query
1081 if test $ac_cv_func_res_query = no ; then
1082 AC_CHECK_LIB(bind, __res_query)
1083 ac_cv_func_res_query=$ac_cv_lib_bind___res_query
1086 if test $ac_cv_func_res_query = no ; then
1087 AC_CHECK_LIB(resolv, res_query)
1088 ac_cv_func_res_query=$ac_cv_lib_resolv_res_query
1091 if test $ac_cv_func_res_query = no ; then
1092 AC_CHECK_LIB(resolv, __res_query)
1093 ac_cv_func_res_query=$ac_cv_lib_resolv___res_query
1096 if test "$ac_cv_func_res_query" = yes ; then
1097 AC_DEFINE(HAVE_RES_QUERY,1,
1098 [define if you have res_query()])
1100 if test $ol_enable_dnssrv != no ; then
1105 if test "$ol_enable_dnssrv" = yes -a "$ol_link_dnssrv" = no ; then
1106 AC_MSG_ERROR([DNSSRV requires res_query()])
1109 dnl ----------------------------------------------------------------
1110 dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN
1111 dnl PF_LOCAL may use getaddrinfo in available
1112 AC_CHECK_FUNCS( getaddrinfo getnameinfo gai_strerror inet_ntop )
1115 if test $ac_cv_func_getaddrinfo = no -o $ac_cv_func_inet_ntop = no ; then
1116 if test $ol_enable_ipv6 = yes ; then
1117 AC_MSG_ERROR([IPv6 support requires getaddrinfo() and inet_ntop()])
1119 elif test $ol_enable_ipv6 != no ; then
1120 AC_CACHE_CHECK([INET6_ADDRSTRLEN],[ol_cv_inet6_addrstrlen],[
1121 AC_EGREP_CPP(__has_inet6_addrstrlen__,[
1122 # include <netinet/in.h>
1123 # ifdef INET6_ADDRSTRLEN
1124 __has_inet6_addrstrlen__;
1126 ], [ol_cv_inet6_addrstrlen=yes], [ol_cv_inet6_addrstrlen=no])])
1129 AC_CACHE_CHECK([struct sockaddr_storage],ol_cv_struct_sockaddr_storage,[
1131 #include <sys/types.h>
1132 #include <sys/socket.h>
1134 struct sockaddr_storage ss;
1135 ], [ol_cv_struct_sockaddr_storage=yes],
1136 [ol_cv_struct_sockaddr_storage=no])])
1138 if test $ol_cv_inet6_addrstrlen = yes \
1139 -a $ol_cv_struct_sockaddr_storage = yes ; then
1141 elif test $ol_enable_ipv6 = yes \
1142 -a $ol_cv_inet6_addrstrlen = no ; then
1143 AC_MSG_ERROR([IPv6 support requires INET6_ADDRSTRLEN])
1144 elif test $ol_enable_ipv6 = yes \
1145 -a $ol_cv_struct_sockaddr_storage = no ; then
1146 AC_MSG_ERROR([IPv6 support requires struct sockaddr_storage])
1150 if test $ol_enable_local != no ; then
1151 AC_CHECK_HEADERS( sys/un.h )
1153 if test $ol_enable_local = auto ; then
1154 ol_enable_local=$ac_cv_header_sys_un_h
1155 elif test $ac_cv_header_sys_un_h = no ; then
1156 AC_MSG_ERROR([AF_LOCAL domain support requires sys/un.h])
1160 dnl ----------------------------------------------------------------
1166 if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
1167 -o $ol_with_kerberos = k5 -o $ol_with_kerberos = k5only \
1168 -o $ol_with_kerberos = k425 ; then
1170 AC_CHECK_HEADERS(krb5.h)
1172 if test $ac_cv_header_krb5_h = yes ; then
1173 dnl lazy check for Heimdal Kerberos
1174 AC_CHECK_HEADERS(heim_err.h)
1175 if test $ac_cv_header_heim_err_h = yes ; then
1181 if test $krb5_impl = mit; then
1182 AC_CHECK_LIB(k5crypto, main,
1183 [krb5crypto=k5crypto],
1184 [krb5crypto=crypto])
1186 AC_CHECK_LIB(krb5, main,
1188 KRB5_LIBS="-lkrb5 -l$krb5crypto -lcom_err"],
1190 [-l$krb5crypto -lcom_err])
1192 elif test $krb5_impl = heimdal; then
1193 AC_CHECK_LIB(des, main,
1195 [krb5crypto=crypto])
1197 AC_CHECK_LIB(krb5, main,
1199 KRB5_LIBS="-lkrb5 -l$krb5crypto -lasn1 -lroken -lcom_err"],
1201 [-l$krb5crypto -lasn1 -lroken -lcom_err])
1203 AC_DEFINE(HAVE_HEIMDAL_KERBEROS, 1,
1204 [define if you have HEIMDAL Kerberos])
1208 AC_MSG_WARN([Unrecognized Kerberos5 Implementation])
1211 if test $have_krb5 = yes ; then
1214 AC_DEFINE(HAVE_KRB5, 1,
1215 [define if you have Kerberos V])
1217 if test $ol_with_kerberos = k5only ; then
1218 ol_with_kerberos=found
1221 elif test $ol_with_kerberos != auto ; then
1222 AC_MSG_ERROR([Required Kerberos 5 support not available])
1228 if test $ol_link_krb5 = yes -a \( $ol_with_kerberos = yes -o \
1229 $ol_with_kerberos = auto -o $ol_with_kerberos = k425 \) ; then
1231 AC_CHECK_HEADERS(kerberosIV/krb.h kerberosIV/des.h)
1233 if test $ac_cv_header_kerberosIV_krb_h = yes ; then
1234 if test $krb5_impl = mit; then
1235 AC_CHECK_LIB(krb4, main, [have_k425=yes
1236 KRB4_LIBS="-lkrb4 -ldes425"], [have_k425=no],
1237 [-ldes425 -lkrb5 -l$krb5crypto -lcom_err])
1239 elif test $krb5_impl = heimdal; then
1240 AC_CHECK_LIB(krb4, main, [have_k425=yes
1241 KRB4_LIBS="-lkrb4"], [have_k425=no],
1242 [-lkrb5 -l$krb5crypto -lasn1 -lroken -lcom_err])
1246 AC_MSG_WARN([Unrecongized Kerberos V Implementation])
1249 if test $have_k425 = yes ; then
1250 ol_with_kerberos=found
1253 AC_DEFINE(HAVE_KRB425, 1,
1254 [define if you have Kerberos V with IV support])
1255 AC_DEFINE(HAVE_KRB4, 1,
1256 [define if you have Kerberos IV])
1258 AC_CACHE_CHECK([for des_debug in Kerberos libraries],
1259 [ol_cv_var_des_debug], [
1262 LIBS="$KRB4_LIBS $KRB5_LIBS $LIBS"
1264 #include <kerberosIV/krb.h>
1265 #include <kerberosIV/des.h>
1266 extern int des_debug;
1269 ], ol_cv_var_des_debug=yes, ol_cv_var_des_debug=no)
1270 dnl restore the LIBS
1274 if test $ol_cv_var_des_debug = yes ; then
1275 AC_DEFINE(HAVE_DES_DEBUG,1,
1276 [define if you have Kerberos des_debug])
1284 if test $ol_link_krb5 = yes ; then
1285 ol_with_kerberos=found
1288 if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
1289 -o $ol_with_kerberos = k4 -o $ol_with_kerberos = kth ; then
1291 AC_CHECK_HEADERS(krb.h des.h krb-archaeology.h )
1293 if test $ac_cv_header_krb_h = yes ; then
1294 AC_CHECK_LIB(krb, main, [have_k4=yes], [have_k4=no], [-ldes])
1296 if test $have_k4 = yes ; then
1297 ol_with_kerberos=found
1300 AC_DEFINE(HAVE_KRB4, 1,
1301 [define if you have Kerberos IV])
1303 KRB4_LIBS="-lkrb -ldes"
1305 if test $ac_cv_header_krb_archaeology_h = yes ; then
1306 AC_DEFINE(HAVE_KTH_KERBEROS, 1,
1307 [define if you have Kth Kerberos])
1313 if test $ol_link_krb4 = yes -a $ol_enable_kbind != no ; then
1316 elif test $ol_enable_kbind = yes ; then
1317 AC_MSG_ERROR([Kerberos IV detection failed])
1320 if test $ol_link_krb4 = yes -o $ol_link_krb5 = yes ; then
1321 AC_DEFINE(HAVE_KERBEROS, 1, [define if you have Kerberos])
1323 elif test $ol_with_kerberos != auto -a $ol_with_kerberos != no ; then
1324 AC_MSG_ERROR([Kerberos detection failed])
1327 dnl ----------------------------------------------------------------
1330 if test $ol_with_tls != no ; then
1331 AC_CHECK_HEADERS(openssl/ssl.h ssl.h)
1333 if test $ac_cv_header_openssl_ssl_h = yes \
1334 -o $ac_cv_header_ssl_h = yes ; then
1335 AC_CHECK_LIB(ssl, SSLeay_add_ssl_algorithms,
1341 if test $have_ssleay = no ; then
1342 AC_CHECK_LIB(ssl, SSL_library_init,
1344 need_rsaref=no], [have_ssleay=no],
1348 if test $have_ssleay = no ; then
1349 AC_CHECK_LIB(ssl, ssl3_accept,
1351 need_rsaref=yes], [have_ssleay=no],
1352 [-lcrypto -lRSAglue -lrsaref])
1355 if test $have_ssleay = yes ; then
1359 AC_DEFINE(HAVE_SSLEAY, 1,
1360 [define if you have SSLeay or OpenSSL])
1362 if test $need_rsaref = yes; then
1363 AC_DEFINE(HAVE_RSAREF, 1,
1364 [define if you have RSAref])
1366 TLS_LIBS="-lssl -lcrypto -lRSAglue -lrsaref"
1368 TLS_LIBS="-lssl -lcrypto"
1374 AC_WARN([TLS data protection not supported!])
1378 if test $ol_link_tls = yes ; then
1379 AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
1382 elif test $ol_with_tls = auto ; then
1383 AC_WARN([Could not locate TLS/SSL package])
1384 AC_WARN([TLS data protection not supported!])
1386 elif test $ol_with_tls != no ; then
1387 AC_ERROR([Could not locate TLS/SSL package])
1390 dnl ----------------------------------------------------------------
1391 dnl LAN Manger password checking requires DES from OpenSSL
1392 if test $ol_enable_lmpasswd != no; then
1393 if test $ol_link_tls != yes ; then
1394 AC_ERROR([LAN Manager passwords require OpenSSL])
1397 AC_DEFINE(SLAPD_LMHASH, 1, [define to support LAN Manager passwords])
1400 dnl ----------------------------------------------------------------
1404 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1405 -o $ol_with_threads = nt ; then
1409 if test "$ol_cv_nt_threads" = yes ; then
1411 ol_with_threads=found
1412 ol_with_yielding_select=yes
1414 AC_DEFINE(HAVE_NT_SERVICE_MANAGER,1,[if you have NT Service Manager])
1415 AC_DEFINE(HAVE_NT_EVENT_LOG,1,[if you have NT Event Log])
1418 if test $ol_with_threads = nt ; then
1419 AC_MSG_ERROR([could not locate NT Threads])
1423 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1424 -o $ol_with_threads = posix ; then
1426 AC_CHECK_HEADERS(pthread.h)
1428 if test $ac_cv_header_pthread_h = yes ; then
1429 OL_POSIX_THREAD_VERSION
1431 if test $ol_cv_pthread_version != 0 ; then
1432 AC_DEFINE_UNQUOTED(HAVE_PTHREADS,$ol_cv_pthread_version,
1433 [define to pthreads API spec revision])
1435 AC_MSG_ERROR([unknown pthread version])
1438 # consider threads found
1439 ol_with_threads=found
1441 OL_HEADER_LINUX_THREADS
1442 OL_HEADER_GNU_PTH_PTHREAD_H
1444 if test $ol_cv_header_gnu_pth_pthread_h = no ; then
1445 AC_CHECK_HEADERS(sched.h)
1448 dnl Now the hard part, how to link?
1450 dnl currently supported checks:
1452 dnl Check for no flags
1453 dnl pthread_create() in $LIBS
1455 dnl Check special pthread (final) flags
1456 dnl [skipped] pthread_create() with -mt (Solaris) [disabled]
1457 dnl pthread_create() with -kthread (FreeBSD)
1458 dnl pthread_create() with -pthread (FreeBSD/Digital Unix)
1459 dnl pthread_create() with -pthreads (?)
1460 dnl pthread_create() with -mthreads (AIX)
1461 dnl pthread_create() with -thread (?)
1463 dnl Check pthread (final) libraries
1464 dnl pthread_mutex_unlock() in -lpthread -lmach -lexc -lc_r (OSF/1)
1465 dnl pthread_mutex_lock() in -lpthread -lmach -lexc (OSF/1)
1466 dnl [skipped] pthread_mutex_trylock() in -lpthread -lexc (OSF/1)
1467 dnl pthread_join() -Wl,-woff,85 -lpthread (IRIX)
1468 dnl pthread_create() in -lpthread (many)
1469 dnl pthread_create() in -lc_r (FreeBSD)
1471 dnl Check pthread (draft4) flags (depreciated)
1472 dnl pthread_create() with -threads (OSF/1)
1474 dnl Check pthread (draft4) libraries (depreciated)
1475 dnl pthread_mutex_unlock() in -lpthreads -lmach -lexc -lc_r (OSF/1)
1476 dnl pthread_mutex_lock() in -lpthreads -lmach -lexc (OSF/1)
1477 dnl pthread_mutex_trylock() in -lpthreads -lexc (OSF/1)
1478 dnl pthread_create() in -lpthreads (many)
1481 dnl pthread_create in $LIBS
1482 AC_CACHE_CHECK([for pthread_create in default libraries],
1483 ol_cv_pthread_create,[
1484 AC_TRY_RUN(OL_PTHREAD_TEST_PROGRAM,
1485 [ol_cv_pthread_create=yes],
1486 [ol_cv_pthread_create=no],
1487 [AC_TRY_LINK(OL_PTHREAD_TEST_INCLUDES,OL_PTHREAD_TEST_FUNCTION,
1488 [ol_cv_pthread_create=yes],
1489 [ol_cv_pthread_create=no])])])
1491 if test $ol_cv_pthread_create != no ; then
1492 ol_link_threads=posix
1496 dnl OL_PTHREAD_TRY([-mt], [ol_cv_pthread_mt])
1497 OL_PTHREAD_TRY([-kthread], [ol_cv_pthread_kthread])
1498 OL_PTHREAD_TRY([-pthread], [ol_cv_pthread_pthread])
1499 OL_PTHREAD_TRY([-pthreads], [ol_cv_pthread_pthreads])
1500 OL_PTHREAD_TRY([-mthreads], [ol_cv_pthread_mthreads])
1501 OL_PTHREAD_TRY([-thread], [ol_cv_pthread_thread])
1503 OL_PTHREAD_TRY([-lpthread -lmach -lexc -lc_r],
1504 [ol_cv_pthread_lpthread_lmach_lexc_lc_r])
1505 OL_PTHREAD_TRY([-lpthread -lmach -lexc],
1506 [ol_cv_pthread_lpthread_lmach_lexc])
1507 dnl OL_PTHREAD_TRY([-lpthread -lexc],
1508 dnl [ol_cv_pthread_lpthread_lexc])
1510 OL_PTHREAD_TRY([-lpthread -Wl,-woff,85],
1511 [ol_cv_pthread_lib_lpthread_woff])
1513 OL_PTHREAD_TRY([-lpthread], [ol_cv_pthread_lpthread])
1514 OL_PTHREAD_TRY([-lc_r], [ol_cv_pthread_lc_r])
1516 OL_PTHREAD_TRY([-threads], [ol_cv_pthread_threads])
1518 OL_PTHREAD_TRY([-lpthreads -lmach -lexc -lc_r],
1519 [ol_cv_pthread_lpthreads_lmach_lexc_lc_r])
1520 OL_PTHREAD_TRY([-lpthreads -lmach -lexc],
1521 [ol_cv_pthread_lpthreads_lmach_lexc])
1522 OL_PTHREAD_TRY([-lpthreads -lexc],
1523 [ol_cv_pthread_lpthreads_lexc])
1525 OL_PTHREAD_TRY([-lpthreads],[ol_cv_pthread_lib_lpthreads])
1527 if test $ol_link_threads != no ; then
1528 LTHREAD_LIBS="$LTHREAD_LIBS $ol_link_pthreads"
1531 save_CPPFLAGS="$CPPFLAGS"
1533 LIBS="$LTHREAD_LIBS $LIBS"
1535 dnl All POSIX Thread (final) implementations should have
1536 dnl sched_yield instead of pthread yield.
1537 dnl check for both, and thr_yield for Solaris
1538 AC_CHECK_FUNCS(sched_yield pthread_yield thr_yield)
1540 if test $ac_cv_func_sched_yield = no -a \
1541 $ac_cv_func_pthread_yield = no -a \
1542 $ac_cv_func_thr_yield = no ; then
1543 dnl Digital UNIX has sched_yield() in -lrt
1544 AC_CHECK_LIB(rt, sched_yield,
1545 [LTHREAD_LIBS="$LTHREAD_LIBS -lrt"
1546 AC_DEFINE(HAVE_SCHED_YIELD,1,
1547 [Define if you have the sched_yield function.])
1548 ac_cv_func_sched_yield=yes],
1549 [ac_cv_func_sched_yield=no])
1551 if test $ac_cv_func_sched_yield = no -a \
1552 $ac_cv_func_pthread_yield = no -a \
1553 "$ac_cv_func_thr_yield" = no ; then
1554 AC_MSG_WARN([could not locate sched_yield() or pthread_yield()])
1557 dnl Check functions for compatibility
1558 AC_CHECK_FUNCS(pthread_kill pthread_rwlock_destroy)
1560 dnl Check for pthread_detach with <pthread.h> inclusion
1561 dnl as it's symbol may have been mangled.
1562 AC_CACHE_CHECK([for pthread_detach with <pthread.h>],
1563 [ol_cv_func_pthread_detach], [
1566 #include <pthread.h>
1568 #define NULL (void*)0
1571 [pthread_detach(NULL);],
1572 [ol_cv_func_pthread_detach=yes],
1573 [ol_cv_func_pthread_detach=no])
1576 if test $ol_cv_func_pthread_detach = no ; then
1577 AC_MSG_ERROR([could not locate pthread_detach()])
1580 AC_DEFINE(HAVE_PTHREAD_DETACH,1,
1581 [define if you have pthread_detach function])
1583 dnl Check for setconcurreny functions
1585 pthread_setconcurrency \
1586 pthread_getconcurrency \
1587 thr_setconcurrency \
1588 thr_getconcurrency \
1591 OL_SYS_LINUX_THREADS
1594 if test $ol_cv_linux_threads = error; then
1595 AC_MSG_ERROR([LinuxThreads header/library mismatch]);
1598 AC_CACHE_CHECK([if pthread_create() works],
1599 ol_cv_pthread_create_works,[
1600 AC_TRY_RUN(OL_PTHREAD_TEST_PROGRAM,
1601 [ol_cv_pthread_create_works=yes],
1602 [ol_cv_pthread_create_works=no],
1604 ol_cv_pthread_create_works=yes])])
1606 if test $ol_cv_pthread_create_works = no ; then
1607 AC_MSG_ERROR([pthread_create is not usable, check environment settings])
1610 dnl Check if select causes an yield
1611 if test $ol_with_yielding_select = auto ; then
1612 AC_CACHE_CHECK([if select yields when using pthreads],
1613 ol_cv_pthread_select_yields,[
1615 #include <sys/types.h>
1616 #include <sys/time.h>
1618 #include <pthread.h>
1620 #define NULL (void*) 0
1623 static int fildes[2];
1625 static void *task(p)
1637 FD_SET(fildes[0], &rfds);
1639 /* we're not interested in any fds */
1640 i = select(FD_SETSIZE, &rfds, NULL, NULL, &tv);
1647 exit(0); /* if we exit here, the select blocked the whole process */
1650 int main(argc, argv)
1656 /* create a pipe to select */
1657 if(pipe(&fildes[0])) {
1662 #ifdef HAVE_PTHREAD_SETCONCURRENCY
1663 (void) pthread_setconcurrency(2);
1665 #ifdef HAVE_THR_SETCONCURRENCY
1666 /* Set Solaris LWP concurrency to 2 */
1667 thr_setconcurrency(2);
1671 #if HAVE_PTHREADS < 6
1672 pthread_create(&t, pthread_attr_default, task, NULL);
1674 pthread_create(&t, NULL, task, NULL);
1677 /* make sure task runs first */
1680 #elif defined( HAVE_SCHED_YIELD )
1682 #elif defined( HAVE_PTHREAD_YIELD )
1688 [ol_cv_pthread_select_yields=no],
1689 [ol_cv_pthread_select_yields=yes],
1690 [ol_cv_pthread_select_yields=cross])])
1692 if test $ol_cv_pthread_select_yields = cross ; then
1693 AC_MSG_ERROR([crossing compiling: use --with-yielding_select=yes|no|manual])
1696 if test $ol_cv_pthread_select_yields = yes ; then
1697 ol_with_yielding_select=yes
1702 CPPFLAGS="$save_CPPFLAGS"
1705 AC_MSG_ERROR([could not locate usable POSIX Threads])
1709 if test $ol_with_threads = posix ; then
1710 AC_MSG_ERROR([could not locate POSIX Threads])
1714 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1715 -o $ol_with_threads = mach ; then
1717 dnl check for Mach CThreads
1718 AC_CHECK_HEADERS(mach/cthreads.h cthreads.h)
1719 if test $ac_cv_header_mach_cthreads_h = yes ; then
1720 ol_with_threads=found
1722 dnl check for cthreads support in current $LIBS
1723 AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
1725 if test $ol_link_threads = no ; then
1727 dnl this test needs work
1728 AC_CACHE_CHECK([for cthread_fork with -all_load],
1729 [ol_cv_cthread_all_load], [
1732 LIBS="-all_load $LIBS"
1733 AC_TRY_LINK([#include <mach/cthreads.h>],[
1734 cthread_fork((void *)0, (void *)0);
1735 ], ol_cv_cthread_all_load=yes, ol_cv_cthread_all_load=no)
1736 dnl restore the LIBS
1740 if test $ol_cv_cthread_all_load = yes ; then
1741 LTHREAD_LIBS="$LTHREAD_LIBS -all_load"
1742 ol_link_threads=mach
1743 ol_with_threads=found
1747 elif test $ac_cv_header_cthreads_h = yes ; then
1748 dnl Hurd variant of Mach Cthreads
1749 dnl uses <cthreads.h> and -lthreads
1751 ol_with_threads=found
1755 LIBS="$LIBS -lthreads"
1756 AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
1759 if test $ol_link_threads = yes ; then
1760 LTHREAD_LIBS="-lthreads"
1761 ol_link_threads=mach
1762 ol_with_threads=found
1764 AC_MSG_ERROR([could not link with Mach CThreads])
1767 elif test $ol_with_threads = mach ; then
1768 AC_MSG_ERROR([could not locate Mach CThreads])
1771 if test $ol_link_threads = mach ; then
1772 AC_DEFINE(HAVE_MACH_CTHREADS,1,
1773 [define if you have Mach Cthreads])
1774 elif test $ol_with_threads = found ; then
1775 AC_MSG_ERROR([could not link with Mach CThreads])
1779 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1780 -o $ol_with_threads = pth ; then
1782 AC_CHECK_HEADERS(pth.h)
1784 if test $ac_cv_header_pth_h = yes ; then
1785 AC_CHECK_LIB(pth, pth_version, [have_pth=yes], [have_pth=no])
1787 if test $have_pth = yes ; then
1788 AC_DEFINE(HAVE_GNU_PTH,1,[if you have GNU Pth])
1789 LTHREAD_LIBS="$LTHREAD_LIBS -lpth"
1791 ol_with_threads=found
1793 if test $ol_with_yielding_select = auto ; then
1794 ol_with_yielding_select=yes
1800 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1801 -o $ol_with_threads = lwp ; then
1803 dnl check for SunOS5 LWP
1804 AC_CHECK_HEADERS(thread.h synch.h)
1805 if test $ac_cv_header_thread_h = yes -a $ac_cv_header_synch_h = yes ; then
1806 AC_CHECK_LIB(thread, thr_create, [have_thr=yes], [have_thr=no])
1808 if test $have_thr = yes ; then
1809 AC_DEFINE(HAVE_THR,1,
1810 [if you have Solaris LWP (thr) package])
1811 LTHREAD_LIBS="$LTHREAD_LIBS -lthread"
1814 if test $ol_with_yielding_select = auto ; then
1815 ol_with_yielding_select=yes
1818 dnl Check for setconcurreny functions
1820 thr_setconcurrency \
1821 thr_getconcurrency \
1826 dnl check for SunOS4 LWP
1827 AC_CHECK_HEADERS(lwp/lwp.h)
1828 if test $ac_cv_header_lwp_lwp_h = yes ; then
1829 AC_CHECK_LIB(lwp, lwp_create, [have_lwp=yes], [have_lwp=no])
1831 if test $have_lwp = yes ; then
1832 AC_DEFINE(HAVE_LWP,1,
1833 [if you have SunOS LWP package])
1834 LTHREAD_LIBS="$LTHREAD_LIBS -llwp"
1837 if test $ol_with_yielding_select = auto ; then
1838 ol_with_yielding_select=no
1844 if test $ol_with_yielding_select = yes ; then
1845 AC_DEFINE(HAVE_YIELDING_SELECT,1,
1846 [define if select implicitly yields])
1849 if test $ol_with_threads = manual ; then
1850 dnl User thinks he can manually configure threads.
1853 AC_MSG_WARN([thread defines and link options must be set manually])
1855 AC_CHECK_HEADERS(pthread.h sched.h)
1856 AC_CHECK_FUNCS(sched_yield pthread_yield)
1857 OL_HEADER_LINUX_THREADS
1859 AC_CHECK_HEADERS(mach/cthreads.h)
1860 AC_CHECK_HEADERS(lwp/lwp.h)
1861 AC_CHECK_HEADERS(thread.h synch.h)
1864 if test $ol_link_threads != no -a $ol_link_threads != nt ; then
1865 dnl needed to get reentrant/threadsafe versions
1867 AC_DEFINE(REENTRANT,1)
1868 AC_DEFINE(_REENTRANT,1)
1869 AC_DEFINE(THREAD_SAFE,1)
1870 AC_DEFINE(_THREAD_SAFE,1)
1871 AC_DEFINE(THREADSAFE,1)
1872 AC_DEFINE(_THREADSAFE,1)
1873 AC_DEFINE(_SGI_MP_SOURCE,1)
1875 dnl The errno declaration may dependent upon _REENTRANT.
1876 dnl If it does, we must link with thread support.
1877 AC_CACHE_CHECK([for thread specific errno],
1878 [ol_cv_errno_thread_specific], [
1879 AC_TRY_LINK([#include <errno.h>], [errno = 0;],
1880 [ol_cv_errno_thread_specific=yes],
1881 [ol_cv_errno_thread_specific=no])
1884 dnl The h_errno declaration may dependent upon _REENTRANT.
1885 dnl If it does, we must link with thread support.
1886 AC_CACHE_CHECK([for thread specific h_errno],
1887 [ol_cv_h_errno_thread_specific], [
1888 AC_TRY_LINK([#include <netdb.h>], [h_errno = 0;],
1889 [ol_cv_h_errno_thread_specific=yes],
1890 [ol_cv_h_errno_thread_specific=no])
1893 if test $ol_cv_errno_thread_specific != yes \
1894 -o $ol_cv_h_errno_thread_specific != yes ; then
1895 LIBS="$LTHREAD_LIBS $LIBS"
1899 dnl When in thread environment, use
1900 dnl #if defined( HAVE_REENTRANT_FUNCTIONS ) || defined( HAVE_FUNC_R )
1903 dnl # if defined( HAVE_THREADS )
1907 dnl # if defined( HAVE_THREADS )
1912 dnl HAVE_REENTRANT_FUNCTIONS is derived from:
1913 dnl _POSIX_REENTRANT_FUNCTIONS
1914 dnl _POSIX_THREAD_SAFE_FUNCTIONS
1915 dnl _POSIX_THREADSAFE_FUNCTIONS
1917 dnl and is currently defined in <ldap_pvt_thread.h>
1919 dnl HAVE_THREADS is defined by <ldap_pvt_thread.h> iff -UNO_THREADS
1921 dnl libldap/*.c should only include <ldap_pvt_thread.h> iff
1922 dnl LDAP_R_COMPILE is defined. ie:
1923 dnl #ifdef LDAP_R_COMPILE
1924 dnl # include <ldap_pvt_thread.h>
1927 dnl LDAP_R_COMPILE is defined by libldap_r/Makefile.in
1928 dnl specifically for compiling the threadsafe version of
1929 dnl the ldap library (-lldap_r).
1931 dnl dnl check for reentrant/threadsafe functions
1933 dnl dnl note: these should only be used when linking
1934 dnl dnl with $LTHREAD_LIBS
1936 dnl save_CPPFLAGS="$CPPFLAGS"
1937 dnl save_LIBS="$LIBS"
1938 dnl LIBS="$LTHREAD_LIBS $LIBS"
1939 dnl AC_CHECK_FUNCS( \
1941 dnl gethostbyaddr_r gethostbyname_r \
1942 dnl feof_unlocked unlocked_feof \
1943 dnl putc_unlocked unlocked_putc \
1944 dnl flockfile ftrylockfile \
1946 dnl CPPFLAGS="$save_CPPFLAGS"
1947 dnl LIBS="$save_LIBS"
1950 if test $ol_link_threads = no ; then
1951 if test $ol_with_threads = yes ; then
1952 AC_MSG_ERROR([no suitable thread support])
1955 if test $ol_with_threads = auto ; then
1956 AC_MSG_WARN([no suitable thread support, disabling threads])
1960 AC_DEFINE(NO_THREADS,1,
1961 [define if you have (or want) no threads])
1965 if test $ol_link_threads != no ; then
1966 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE,1)
1969 dnl ----------------------------------------------------------------
1970 dnl Tests for reentrant functions necessary to build -lldap_r
1973 gethostbyname_r gethostbyaddr_r \
1976 if test "$ac_cv_func_ctime_r" = no ; then
1977 ol_cv_func_ctime_r_nargs=0
1979 OL_FUNC_CTIME_R_NARGS
1980 dnl OL_FUNC_CTIME_R_TYPE
1983 if test "$ac_cv_func_gethostbyname_r" = yes ; then
1984 OL_FUNC_GETHOSTBYNAME_R_NARGS
1986 ol_cv_func_gethostbyname_r_nargs=0
1989 if test "$ac_cv_func_gethostbyaddr_r" = yes ; then
1990 OL_FUNC_GETHOSTBYADDR_R_NARGS
1992 ol_cv_func_gethostbyaddr_r_nargs=0
1995 dnl ----------------------------------------------------------------
1998 if test $ol_with_ldbm_api = auto \
1999 -o $ol_with_ldbm_api = berkeley \
2000 -o $ol_with_ldbm_api = bcompat ; then
2002 if test $ol_with_ldbm_api = bcompat; then \
2003 OL_BERKELEY_COMPAT_DB
2008 if test $ol_cv_berkeley_db != no ; then
2009 AC_DEFINE(HAVE_BERKELEY_DB,1,
2010 [define this if Berkeley DB is available])
2012 ol_link_ldbm=berkeley
2013 ol_with_ldbm_api=berkeley
2015 if test $ol_with_ldbm_type = hash ; then
2016 AC_DEFINE(LDBM_USE_DBHASH,1,
2017 [define this to use DBHASH w/ LDBM backend])
2019 AC_DEFINE(LDBM_USE_DBBTREE,1,
2020 [define this to use DBBTREE w/ LDBM backend])
2023 dnl $ol_cv_lib_db should be yes or -ldb
2024 dnl (it could be no, but that would be an error
2025 if test $ol_cv_lib_db != yes ; then
2026 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db"
2031 if test $ol_enable_bdb = yes -a $ol_link_ldbm != berkeley ; then
2032 AC_MSG_ERROR(BDB: BerkeleyDB not available)
2033 elif test $ol_enable_bdb != no -a $ol_link_ldbm = berkeley ; then
2036 if test $ol_cv_bdb_compat = yes ; then
2038 elif test $ol_enable_bdb = yes ; then
2039 AC_MSG_ERROR([BDB: BerkeleyDB version incompatible])
2044 if test $ol_enable_hdb = yes -a $ol_link_ldbm != berkeley ; then
2045 AC_MSG_ERROR([HDB: BerkeleyDB not available])
2048 if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
2049 AC_MSG_WARN([Could not find LDBM with BTREE support])
2050 ol_with_ldbm_api=none
2053 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = mdbm ; then
2056 if test $ol_cv_mdbm = yes ; then
2058 ol_with_ldbm_api=mdbm
2059 if test $ol_cv_lib_mdbm != yes ; then
2060 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_mdbm"
2065 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = gdbm ; then
2068 if test $ol_cv_gdbm = yes ; then
2070 ol_with_ldbm_api=gdbm
2072 if test $ol_cv_lib_gdbm != yes ; then
2073 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_gdbm"
2078 if test $ol_with_ldbm_api = ndbm ; then
2081 if test $ol_cv_ndbm = yes ; then
2083 ol_with_ldbm_api=ndbm
2085 if test $ol_cv_lib_ndbm != yes ; then
2086 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_ndbm"
2091 if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then
2092 AC_MSG_WARN([could not find suitable LDBM backend])
2093 if test $ol_enable_ldbm = yes ; then
2094 AC_MSG_ERROR([select appropriate LDBM options or disable])
2097 AC_MSG_WARN(disabling LDBM)
2101 dnl ----------------------------------------------------------------
2103 if test $ol_enable_dynamic = yes -a $enable_shared = yes ; then
2104 BUILD_LIBS_DYNAMIC=shared
2105 AC_DEFINE(LDAP_LIBS_DYNAMIC, 1, [define if LDAP libs are dynamic])
2108 BUILD_LIBS_DYNAMIC=static
2111 AC_SUBST(LTSTATIC)dnl
2113 dnl ----------------------------------------------------------------
2114 if test $ol_enable_wrappers != no ; then
2115 AC_CHECK_HEADERS(tcpd.h,[
2116 AC_MSG_CHECKING([for TCP wrappers library])
2121 int allow_severity = 0;
2122 int deny_severity = 0;
2124 struct request_info *req;
2127 ],[AC_MSG_RESULT([-lwrap])
2129 LIBS="$save_LIBS"],[
2134 int allow_severity = 0;
2135 int deny_severity = 0;
2137 struct request_info *req;
2140 ],[AC_MSG_RESULT([-lwrap -lnsl])
2142 LIBS="$save_LIBS -lnsl"],[
2145 LIBS=$save_LIBS])],[
2146 have_wrappers=no])],[have_wrappers=no])
2148 if test $have_wrappers = yes ; then
2149 AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
2151 elif test $ol_enable_wrappers = yes ; then
2152 AC_MSG_ERROR([could not find TCP wrappers, select apppropriate options or disable])
2154 AC_MSG_WARN([could not find TCP wrappers, support disabled])
2159 dnl ----------------------------------------------------------------
2160 if test $ol_enable_syslog != no ; then
2161 AC_CHECK_FUNC(openlog)
2162 if test $ac_cv_func_openlog = no -a $ol_enable_syslog = yes; then
2163 AC_MSG_ERROR(could not find syslog, select appropriate options or disable)
2165 ol_enable_syslog=$ac_cv_func_openlog
2168 dnl ----------------------------------------------------------------
2169 dnl dmalloc support (deprecated in favor of -DCSRIMALLOC support)
2170 dnl if test $ol_enable_dmalloc != no ; then
2171 dnl AC_CHECK_HEADERS(dmalloc.h)
2172 dnl AC_CHECK_LIB(dmalloc, dmalloc_shutdown)
2175 dnl ----------------------------------------------------------------
2178 if test $ol_enable_sql != no ; then
2179 AC_CHECK_HEADERS(sql.h sqlext.h,[],[
2180 AC_MSG_ERROR([could not locate SQL headers])
2183 AC_CHECK_LIB(iodbc,SQLDriverConnect,[have_iodbc=yes],[have_iodbc=no])
2184 if test $have_iodbc = yes ; then
2185 ol_link_sql="-liodbc"
2187 AC_CHECK_LIB(odbc,SQLDriverConnect,[have_odbc=yes],[have_odbc=no])
2188 if test $have_odbc = yes ; then
2189 ol_link_sql="-lodbc"
2193 if test $ol_link_sql != no ; then
2194 SLAPD_SQL_LIBS="$ol_link_sql"
2196 elif test $ol_enable_sql != auto ; then
2197 AC_MSG_ERROR([could not locate suitable ODBC library])
2201 dnl ----------------------------------------------------------------
2203 dnl Check for Cyrus SASL
2207 if test $ol_with_cyrus_sasl != no ; then
2208 AC_CHECK_HEADERS(sasl/sasl.h sasl.h)
2210 if test $ac_cv_header_sasl_sasl_h = yes -o $ac_cv_header_sasl_h = yes; then
2211 AC_CHECK_LIB(sasl2, sasl_client_init,
2212 [ol_link_sasl="-lsasl2"],
2213 [AC_CHECK_LIB(sasl, sasl_client_init,
2214 [ol_link_sasl="-lsasl"])])
2217 if test $ol_link_sasl = no ; then
2218 if test $ol_with_cyrus_sasl != auto ; then
2219 AC_MSG_ERROR([Could not locate Cyrus SASL])
2221 AC_MSG_WARN([Could not locate Cyrus SASL])
2222 AC_MSG_WARN([SASL authentication not supported!])
2223 if test $ol_link_tls = no ; then
2224 AC_MSG_WARN([Strong authentication not supported!])
2229 if test $ol_cv_sasl_compat = no ; then
2231 AC_MSG_ERROR([Cyrus SASL library located but is incompatible])
2234 AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
2235 SASL_LIBS="$ol_link_sasl"
2236 if test $ol_enable_spasswd != no ; then
2240 ac_save_LIBS="$LIBS"
2241 LIBS="$LIBS $ol_link_sasl"
2242 AC_CHECK_FUNC(sasl_version, [AC_DEFINE(HAVE_SASL_VERSION,1,
2243 [define if your SASL library has sasl_version()])])
2244 LIBS="$ac_save_LIBS"
2248 AC_MSG_WARN([SASL authentication not supported!])
2249 if test $ol_link_tls = no ; then
2250 AC_MSG_WARN([Strong authentication not supported!])
2254 dnl ----------------------------------------------------------------
2255 dnl Check for entropy sources
2256 if test $cross_compiling != yes -a "$ac_cv_mingw32" != yes ; then
2258 if test -r /dev/urandom ; then
2260 elif test -r /idev/urandom ; then
2261 dev="/idev/urandom";
2262 elif test -r /dev/srandom ; then
2264 elif test -r /dev/random ; then
2266 elif test -r /idev/random ; then
2270 if test $dev != no ; then
2271 AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device])
2275 dnl ----------------------------------------------------------------
2277 dnl Check for fetch URL support
2278 dnl should be extended to support other fetch URL APIs
2281 if test $ol_with_fetch != no ; then
2284 if test $ol_cv_lib_fetch != no ; then
2285 LUTIL_LIBS="$LUTIL_LIBS $ol_link_fetch"
2286 ol_link_fetch=freebsd
2288 elif test $ol_with_fetch != auto ; then
2289 AC_MSG_ERROR(no suitable API for --with-fetch=$ol_with_fetch)
2293 dnl ----------------------------------------------------------------
2294 dnl FreeBSD (and others) have crypt(3) in -lcrypt
2295 if test $ol_enable_crypt != no ; then
2297 LIBS="$TLS_LIBS $LIBS"
2299 AC_CHECK_FUNC(crypt, [have_crypt=yes], [
2301 AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
2302 have_crypt=yes], [have_crypt=no])])
2306 if test $have_crypt = yes ; then
2307 AC_DEFINE(HAVE_CRYPT,1, [define if crypt(3) is available])
2309 AC_MSG_WARN([could not find crypt])
2310 if test $ol_enable_crypt = yes ; then
2311 AC_MSG_ERROR([could not find crypt, select appropriate options or disable])
2314 AC_MSG_WARN([disabling crypt support])
2319 dnl ----------------------------------------------------------------
2320 dnl FreeBSD (and others) have setproctitle(3) in -lutil
2321 if test $ol_enable_proctitle != no ; then
2322 AC_CHECK_FUNC(setproctitle, [have_setproctitle=yes], [
2323 AC_CHECK_LIB(util, setproctitle,
2324 [have_setproctitle=yes
2325 LUTIL_LIBS="$LUTIL_LIBS -lutil"],
2326 [have_setproctitle=no
2327 LIBOBJS="$LIBOBJS setproctitle.o"
2328 LIBSRCS="$LIBSRCS setproctitle.c"])])
2330 if test $have_setproctitle = yes ; then
2331 AC_DEFINE(HAVE_SETPROCTITLE,1,
2332 [define if setproctitle(3) is available])
2336 dnl ----------------------------------------------------------------
2337 dnl Check for SLPv2 Compliant API Library
2338 if test $ol_enable_slp != no ; then
2339 AC_CHECK_HEADERS( slp.h )
2341 if test $ac_cv_header_slp_h = yes ; then
2342 AC_CHECK_LIB(slp, SLPOpen, [have_slp=yes], [have_slp=no])
2343 if test $have_slp = yes ; then
2344 AC_DEFINE(HAVE_SLP, 1, [define if you have -lslp])
2345 SLAPD_SLP_LIBS=-lslp
2348 elif test $ol_enable_slp = yes ; then
2349 AC_MSG_ERROR([SLP not found])
2353 dnl ----------------------------------------------------------------
2354 dnl Checks for typedefs, structures, and compiler characteristics.
2356 dnl Checks for long long
2357 AC_CACHE_CHECK([long long], ol_cv_type_long_long, [
2358 AC_TRY_COMPILE([], [long long x;],
2359 [ol_cv_type_long_long=yes],
2360 [ol_cv_type_long_long=no])])
2361 if test $ol_cv_type_long_long = yes; then
2362 AC_DEFINE(HAVE_LONG_LONG, 1, [define if you have 'long long'])
2372 AC_CHECK_TYPE(ssize_t, [signed int])
2373 AC_CHECK_TYPE(caddr_t, [char *])
2376 AC_STRUCT_ST_BLKSIZE
2380 OL_TYPE_SIG_ATOMIC_T
2382 dnl AC_TYPE_GETGROUPS
2384 OL_STRUCT_PASSWD_PW_GECOS
2385 OL_STRUCT_PASSWD_PW_PASSWD
2391 if test $cross_compiling = yes ; then
2392 AC_MSG_WARN([Crossing compiling... all bets are off!])
2393 AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
2398 AC_COMPILE_CHECK_SIZEOF(short)
2399 AC_COMPILE_CHECK_SIZEOF(int)
2400 AC_COMPILE_CHECK_SIZEOF(long)
2402 if test "$ac_cv_sizeof_int" -lt 4 ; then
2403 AC_MSG_WARN([OpenLDAP requires 'int' to be 32 bits or greater.])
2405 AC_DEFINE(LBER_INT_T,long)
2407 AC_DEFINE(LBER_INT_T,int)
2410 AC_DEFINE(LBER_LEN_T,long)
2411 AC_DEFINE(LBER_SOCKET_T,int)
2412 AC_DEFINE(LBER_TAG_T,long)
2414 dnl ----------------------------------------------------------------
2415 dnl Checks for library functions.
2417 dnl AM_FUNC_MKTIME dnl checks for sys/time.h and unistd.h
2423 dnl Check for NT specific routines
2424 AC_CHECK_FUNC(_spawnlp, AC_DEFINE(HAVE_SPAWNLP,1,[if you have spawnlp()]))
2426 AC_CHECK_FUNC(_snprintf, [ac_cv_func_snprintf=yes
2427 AC_DEFINE(snprintf, _snprintf, [define to snprintf routine])
2430 AC_CHECK_FUNC(_vsnprintf, [ac_cv_func_vsnprintf=yes
2431 AC_DEFINE(vsnprintf, _vsnprintf, [define to vsnprintf routine])
2436 if test $ac_cv_func_vprintf = yes ; then
2437 dnl check for vsnprintf
2438 AC_CHECK_FUNCS(snprintf vsnprintf)
2500 dnl We actually may need to replace more than this.
2501 AC_REPLACE_FUNCS(getopt getpeereid)
2503 if test "$ac_cv_func_getopt" != yes; then
2504 LIBSRCS="$LIBSRCS getopt.c"
2506 if test "$ac_cv_func_getpeereid" != yes; then
2507 OL_MSGHDR_MSG_ACCRIGHTS
2508 LIBSRCS="$LIBSRCS getpeereid.c"
2510 if test "$ac_cv_func_snprintf" != yes -o "$ac_cv_func_vsnprintf" != yes; then
2511 if test "$ac_cv_func_snprintf" != yes; then
2512 AC_DEFINE(snprintf, ber_pvt_snprintf, [define to snprintf routine])
2514 if test "$ac_cv_func_vsnprintf" != yes; then
2515 AC_DEFINE(vsnprintf, ber_pvt_vsnprintf, [define to snprintf routine])
2519 dnl ----------------------------------------------------------------
2520 # Check Configuration
2523 dnl ----------------------------------------------------------------
2524 dnl Sort out defines
2526 if test "$ol_enable_slapi" != no ; then
2527 dnl This check is done also if --enable-modules is used;
2528 dnl it is duplicated here, 'cause it'd be cached anyway
2529 AC_CHECK_HEADERS(ltdl.h)
2531 if test $ac_cv_header_ltdl_h != yes ; then
2532 AC_MSG_ERROR([could not locate <ltdl.h>])
2534 AC_CHECK_LIB(ltdl, lt_dlinit, [
2537 LIBSLAPITOOLS=../libslapi.a
2538 AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
2539 ],[AC_MSG_ERROR([could not locate libtool -lltdl])])
2541 AC_DEFINE(LDAP_SLAPI,1, [define this to add SLAPI code])
2544 if test "$ol_enable_debug" != no ; then
2545 AC_DEFINE(LDAP_DEBUG,1,
2546 [define this to add debugging code])
2548 if test "$ol_enable_syslog" = yes ; then
2549 AC_DEFINE(LDAP_SYSLOG,1,
2550 [define this to add syslog code])
2552 if test "$ol_link_kbind" != no ; then
2553 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND,LDAP_VENDOR_VERSION)
2555 if test "$ol_enable_proctitle" != no ; then
2556 AC_DEFINE(LDAP_PROCTITLE,1,
2557 [define this for LDAP process title support])
2559 if test "$ol_enable_referrals" != no ; then
2560 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS,LDAP_VENDOR_VERSION)
2562 if test "$ol_enable_local" != no; then
2563 AC_DEFINE(LDAP_PF_LOCAL,1,[define to support PF_LOCAL])
2565 if test "$ol_link_ipv6" != no; then
2566 AC_DEFINE(LDAP_PF_INET6,1,[define to support PF_INET6])
2568 if test "$ol_enable_cleartext" != no ; then
2569 AC_DEFINE(SLAPD_CLEARTEXT,1,[define to support cleartext passwords])
2571 if test "$ol_enable_crypt" != no ; then
2572 AC_DEFINE(SLAPD_CRYPT,1,[define to support crypt(3) passwords])
2574 if test "$ol_link_spasswd" != no ; then
2575 AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords])
2577 if test "$ol_enable_multimaster" != no ; then
2578 AC_DEFINE(SLAPD_MULTIMASTER,1,[define to support multimaster replication])
2580 if test "$ol_enable_rlookups" != no ; then
2581 AC_DEFINE(SLAPD_RLOOKUPS,1,[define to support reverse lookups])
2583 if test "$ol_enable_aci" != no ; then
2584 AC_DEFINE(SLAPD_ACI_ENABLED,1,[define to support per-object ACIs])
2587 if test "$ol_link_modules" != no ; then
2588 AC_DEFINE(SLAPD_MODULES,1,[define to support modules])
2590 SLAPD_MODULES_LDFLAGS="-dlopen self"
2593 AC_DEFINE(SLAPD_MOD_STATIC,1,[statically linked module])
2594 AC_DEFINE(SLAPD_MOD_DYNAMIC,2,[dynamically linked module])
2596 if test "$ol_enable_bdb" != no ; then
2597 AC_DEFINE(SLAPD_BDB,1,[define to support BDB backend])
2600 if test "$ol_with_bdb_module" != static ; then
2601 AC_DEFINE(SLAPD_BDB_DYNAMIC,1,
2602 [define to support dynamic BDB backend])
2604 BUILD_BDB_DYNAMIC=shared
2605 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-bdb"
2607 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-bdb"
2611 if test "$ol_link_dnssrv" != no ; then
2612 AC_DEFINE(SLAPD_DNSSRV,1,[define to support DNS SRV backend])
2615 if test "$ol_with_dnssrv_module" != static ; then
2616 AC_DEFINE(SLAPD_DNSSRV_DYNAMIC,1,
2617 [define to support dynamic DNS SRV backend])
2619 BUILD_DNSSRV_DYNAMIC=shared
2620 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-dnssrv"
2622 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-dnssrv"
2626 if test "$ol_enable_hdb" != no ; then
2627 AC_DEFINE(SLAPD_HDB,1,[define to support HDB backend])
2630 if test "$ol_with_hdb_module" != static ; then
2631 AC_DEFINE(SLAPD_HDB_DYNAMIC,1,
2632 [define to support dynamic HDB backend])
2634 BUILD_HDB_DYNAMIC=shared
2635 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-hdb"
2637 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-hdb"
2641 if test "$ol_enable_ldap" != no ; then
2642 AC_DEFINE(SLAPD_LDAP,1,[define to support LDAP backend])
2645 if test "$ol_with_ldap_module" != static ; then
2646 AC_DEFINE(SLAPD_LDAP_DYNAMIC,1,
2647 [define to support dynamic LDAP backend])
2649 BUILD_LDAP_DYNAMIC=shared
2650 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldap"
2652 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldap"
2656 if test "$ol_link_ldbm" != no -a $ol_enable_ldbm != no; then
2657 AC_DEFINE(SLAPD_LDBM,1,[define to support LDBM backend])
2660 if test "$ol_with_ldbm_module" != static ; then
2661 AC_DEFINE(SLAPD_LDBM_DYNAMIC,1,
2662 [define to support dynamic LDBM backend])
2664 BUILD_LDBM_DYNAMIC=shared
2665 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldbm"
2667 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldbm"
2671 if test "$ol_enable_meta" != no ; then
2672 AC_DEFINE(SLAPD_META,1,[define to support LDAP Metadirectory backend])
2676 if test "$ol_with_meta_module" != static ; then
2677 AC_DEFINE(SLAPD_META_DYNAMIC,1,
2678 [define to support dynamic LDAP Metadirectory backend])
2680 BUILD_META_DYNAMIC=shared
2681 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-meta"
2683 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-meta"
2687 if test "$ol_enable_monitor" != no ; then
2688 AC_DEFINE(SLAPD_MONITOR,1,[define to support cn=Monitor backend])
2691 if test "$ol_with_monitor_module" != static ; then
2692 AC_DEFINE(SLAPD_MONITOR_DYNAMIC,1,
2693 [define to support dynamic cn=Monitor backend])
2695 BUILD_MONITOR_DYNAMIC=shared
2696 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-monitor"
2698 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-monitor"
2702 if test "$ol_enable_null" != no ; then
2703 AC_DEFINE(SLAPD_NULL,1,[define to support NULL backend])
2706 if test "$ol_with_null_module" != static ; then
2707 AC_DEFINE(SLAPD_NULL_DYNAMIC,1,
2708 [define to support dynamic NULL backend])
2710 BUILD_NULL_DYNAMIC=shared
2711 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-null"
2713 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-null"
2717 if test "$ol_enable_passwd" != no ; then
2718 AC_DEFINE(SLAPD_PASSWD,1,[define to support PASSWD backend])
2721 if test "$ol_with_passwd_module" != static ; then
2722 AC_DEFINE(SLAPD_PASSWD_DYNAMIC,1,
2723 [define to support dynamic PASSWD backend])
2725 BUILD_PASSWD_DYNAMIC=shared
2726 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-passwd"
2728 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-passwd"
2732 if test "$ol_link_perl" != no ; then
2733 AC_DEFINE(SLAPD_PERL,1,[define to support PERL backend])
2736 if test "$ol_with_perl_module" != static ; then
2737 AC_DEFINE(SLAPD_PERL_DYNAMIC,1,
2738 [define to support dynamic PERL backend])
2740 BUILD_PERL_DYNAMIC=shared
2741 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-perl"
2743 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-perl"
2747 if test "$ol_enable_relay" != no ; then
2748 AC_DEFINE(SLAPD_RELAY,1,[define to support relay backend])
2751 if test "$ol_with_relay_module" != static ; then
2752 AC_DEFINE(SLAPD_RELAY_DYNAMIC,1,
2753 [define to support dynamic relay backend])
2755 BUILD_RELAY_DYNAMIC=shared
2756 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-relay"
2758 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-relay"
2762 if test "$ol_enable_shell" != no ; then
2763 if test "$ol_link_thread" != no ; then
2764 AC_MSG_WARN([Use of --without-threads is recommended with back-shell])
2766 AC_DEFINE(SLAPD_SHELL,1,[define to support SHELL backend])
2769 if test "$ol_with_shell_module" != static ; then
2770 AC_DEFINE(SLAPD_SHELL_DYNAMIC,1,
2771 [define to support dynamic SHELL backend])
2773 BUILD_SHELL_DYNAMIC=shared
2774 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-shell"
2776 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-shell"
2780 if test "$ol_link_sql" != no ; then
2781 AC_DEFINE(SLAPD_SQL,1,[define to support SQL backend])
2784 if test "$ol_with_sql_module" != static; then
2785 AC_DEFINE(SLAPD_SQL_DYNAMIC,1,
2786 [define to support dynamic SQL backend])
2788 BUILD_SQL_DYNAMIC=shared
2789 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sql"
2791 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sql"
2795 if test "$ol_enable_chain" != no ; then
2796 BUILD_CHAIN=$ol_enable_chain
2797 if test "$ol_enable_chain" = mod ; then
2798 MFLAG=SLAPD_MOD_DYNAMIC
2799 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS chain.la"
2801 MFLAG=SLAPD_MOD_STATIC
2803 AC_DEFINE_UNQUOTED(SLAPD_OVER_CHAIN,$MFLAG,[define for Dynamic Group overlay])
2806 if test "$ol_enable_denyop" != no ; then
2807 BUILD_DENYOP=$ol_enable_denyop
2808 if test "$ol_enable_denyop" = mod ; then
2809 MFLAG=SLAPD_MOD_DYNAMIC
2810 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS denyop.la"
2812 MFLAG=SLAPD_MOD_STATIC
2814 AC_DEFINE_UNQUOTED(SLAPD_OVER_DENYOP,$MFLAG,[define for Dynamic Group overlay])
2817 if test "$ol_enable_dyngroup" != no ; then
2818 BUILD_DYNGROUP=$ol_enable_dyngroup
2819 if test "$ol_enable_dyngroup" = mod ; then
2820 MFLAG=SLAPD_MOD_DYNAMIC
2821 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dyngroup.la"
2823 MFLAG=SLAPD_MOD_STATIC
2825 AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group overlay])
2828 if test "$ol_enable_ppolicy" != no ; then
2829 BUILD_PPOLICY=$ol_enable_ppolicy
2830 if test "$ol_enable_ppolicy" = mod ; then
2831 MFLAG=SLAPD_MOD_DYNAMIC
2832 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS ppolicy.la"
2834 MFLAG=SLAPD_MOD_STATIC
2836 AC_DEFINE_UNQUOTED(SLAPD_OVER_PPOLICY,$MFLAG,[define for Password Policy overlay])
2839 if test "$ol_enable_proxycache" != no ; then
2840 BUILD_PROXYCACHE=$ol_enable_proxycache
2841 if test "$ol_enable_proxycache" = mod ; then
2842 MFLAG=SLAPD_MOD_DYNAMIC
2843 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS pcache.la"
2845 MFLAG=SLAPD_MOD_STATIC
2847 AC_DEFINE_UNQUOTED(SLAPD_OVER_PROXYCACHE,$MFLAG,[define for Proxy Cache overlay])
2850 if test "$ol_enable_rwm " != no ; then
2852 BUILD_RWM=$ol_enable_rwm
2853 if test "$ol_enable_rwm" = mod ; then
2854 MFLAG=SLAPD_MOD_DYNAMIC
2855 SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS rwm.la"
2857 MFLAG=SLAPD_MOD_STATIC
2859 AC_DEFINE_UNQUOTED(SLAPD_OVER_RWM,$MFLAG,[define for Rewrite/Remap overlay])
2862 if test "$ol_enable_slurpd" != no -a "$ol_link_threads" != no -a \
2863 $BUILD_SLAPD = yes ; then
2867 if test "$ol_enable_rewrite" != no ; then
2868 AC_DEFINE(ENABLE_REWRITE,1,[define to enable rewriting in back-ldap and back-meta])
2872 if test "$ol_enable_slapi" != no ; then
2873 AC_DEFINE(ENABLE_SLAPI,1,[define to enable slapi library])
2875 SLAPD_SLAPI_DEPEND=libslapi.a
2878 dnl ----------------------------------------------------------------
2881 dnl For Windows build, we don't want to include -dlopen flags.
2882 dnl They hurt more than they help.
2885 if test "$ac_cv_mingw32" = yes ; then
2887 SLAPD_MODULES_LDFLAGS=
2892 if test -z "$SLAPD_STATIC_BACKENDS"; then
2901 AC_SUBST(BUILD_LIBS_DYNAMIC)
2903 AC_SUBST(BUILD_SLAPD)
2905 AC_SUBST(BUILD_SLAPI)
2906 AC_SUBST(SLAPD_SLAPI_DEPEND)
2909 AC_SUBST(BUILD_DNSSRV)
2911 AC_SUBST(BUILD_LDAP)
2912 AC_SUBST(BUILD_LDBM)
2913 AC_SUBST(BUILD_META)
2914 AC_SUBST(BUILD_MONITOR)
2915 AC_SUBST(BUILD_NULL)
2916 AC_SUBST(BUILD_PASSWD)
2917 AC_SUBST(BUILD_RELAY)
2918 AC_SUBST(BUILD_PERL)
2919 AC_SUBST(BUILD_SHELL)
2922 AC_SUBST(BUILD_BDB_DYNAMIC)
2923 AC_SUBST(BUILD_DNSSRV_DYNAMIC)
2924 AC_SUBST(BUILD_HDB_DYNAMIC)
2925 AC_SUBST(BUILD_LDAP_DYNAMIC)
2926 AC_SUBST(BUILD_LDBM_DYNAMIC)
2927 AC_SUBST(BUILD_META_DYNAMIC)
2928 AC_SUBST(BUILD_MONITOR_DYNAMIC)
2929 AC_SUBST(BUILD_NULL_DYNAMIC)
2930 AC_SUBST(BUILD_PASSWD_DYNAMIC)
2931 AC_SUBST(BUILD_PERL_DYNAMIC)
2932 AC_SUBST(BUILD_RELAY_DYNAMIC)
2933 AC_SUBST(BUILD_SHELL_DYNAMIC)
2934 AC_SUBST(BUILD_SQL_DYNAMIC)
2936 AC_SUBST(BUILD_CHAIN)
2937 AC_SUBST(BUILD_DENYOP)
2938 AC_SUBST(BUILD_DYNGROUP)
2939 AC_SUBST(BUILD_PPOLICY)
2940 AC_SUBST(BUILD_PROXYCACHE)
2942 AC_SUBST(BUILD_SLURPD)
2945 AC_SUBST(SLAPD_LIBS)
2946 AC_SUBST(SLURPD_LIBS)
2948 AC_SUBST(LTHREAD_LIBS)
2949 AC_SUBST(LUTIL_LIBS)
2952 AC_SUBST(SLAPD_MODULES_CPPFLAGS)
2953 AC_SUBST(SLAPD_MODULES_LDFLAGS)
2955 AC_SUBST(SLAPD_NO_STATIC)
2956 AC_SUBST(SLAPD_STATIC_BACKENDS)
2957 AC_SUBST(SLAPD_DYNAMIC_BACKENDS)
2958 AC_SUBST(SLAPD_DYNAMIC_OVERLAYS)
2960 AC_SUBST(PERL_CPPFLAGS)
2961 AC_SUBST(SLAPD_PERL_LDFLAGS)
2962 AC_SUBST(MOD_PERL_LDFLAGS)
2968 AC_SUBST(MODULES_LIBS)
2969 AC_SUBST(SLAPI_LIBS)
2971 AC_SUBST(LIBSLAPITOOLS)
2974 AC_SUBST(SLAPD_SLP_LIBS)
2976 AC_SUBST(SLAPD_SQL_LDFLAGS)
2977 AC_SUBST(SLAPD_SQL_LIBS)
2978 AC_SUBST(SLAPD_SQL_INCLUDES)
2980 dnl ----------------------------------------------------------------
2981 dnl final help output
2982 AC_ARG_WITH(xxinstall,[
2983 See INSTALL file for further details.])
2985 dnl ----------------------------------------------------------------
2990 Makefile:build/top.mk:Makefile.in:build/dir.mk \
2991 doc/Makefile:build/top.mk:doc/Makefile.in:build/dir.mk \
2992 doc/man/Makefile:build/top.mk:doc/man/Makefile.in:build/dir.mk \
2993 doc/man/man1/Makefile:build/top.mk:doc/man/man1/Makefile.in:build/man.mk \
2994 doc/man/man3/Makefile:build/top.mk:doc/man/man3/Makefile.in:build/man.mk \
2995 doc/man/man5/Makefile:build/top.mk:doc/man/man5/Makefile.in:build/man.mk \
2996 doc/man/man8/Makefile:build/top.mk:doc/man/man8/Makefile.in:build/man.mk \
2997 clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.mk \
2998 clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk \
2999 include/Makefile:build/top.mk:include/Makefile.in \
3000 libraries/Makefile:build/top.mk:libraries/Makefile.in:build/dir.mk \
3001 libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk:build/lib-shared.mk \
3002 libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk:build/lib-shared.mk \
3003 libraries/libldap_r/Makefile:build/top.mk:libraries/libldap_r/Makefile.in:build/lib.mk:build/lib-shared.mk \
3004 libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk \
3005 libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk \
3006 libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-static.mk \
3007 servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \
3008 servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
3009 servers/slapd/back-bdb/Makefile:build/top.mk:servers/slapd/back-bdb/Makefile.in:build/mod.mk \
3010 servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk \
3011 servers/slapd/back-hdb/Makefile:build/top.mk:servers/slapd/back-hdb/Makefile.in:build/mod.mk \
3012 servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/mod.mk \
3013 servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/mod.mk \
3014 servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk \
3015 servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk \
3016 servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/Makefile.in:build/mod.mk \
3017 servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk \
3018 servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk \
3019 servers/slapd/back-relay/Makefile:build/top.mk:servers/slapd/back-relay/Makefile.in:build/mod.mk \
3020 servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk \
3021 servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk \
3022 servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk \
3023 servers/slapd/slapi/Makefile:build/top.mk:servers/slapd/slapi/Makefile.in:build/lib.mk:build/lib-shared.mk \
3024 servers/slapd/overlays/Makefile:build/top.mk:servers/slapd/overlays/Makefile.in:build/lib.mk \
3025 servers/slurpd/Makefile:build/top.mk:servers/slurpd/Makefile.in:build/srv.mk \
3026 tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk \
3028 tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \
3032 echo Please run \"make depend\" to build dependencies