]> git.sur5r.net Git - openldap/blob - configure.in
cleanup
[openldap] / configure.in
1 dnl $OpenLDAP$
2 dnl
3 dnl Copyright 1998-2002 The OpenLDAP Foundation.  All Rights Reserved.
4 dnl 
5 dnl Redistribution and use in source and binary forms, with or without
6 dnl modification, are permitted only as authorized by the OpenLDAP
7 dnl Public License.  A copy of this license is available at
8 dnl http://www.OpenLDAP.org/license.html or in file LICENSE in the
9 dnl top-level directory of the distribution.
10 dnl
11 dnl ----------------------------------------------------------------
12 dnl Redefine AC_INIT_BINSH to provide RCS IDs and copyright notice
13 dnl at top of generated configure script.  Prints simple copyright.
14 define([AC_INIT_BINSH],
15 [[#! /bin/sh
16 # $]OpenLDAP[$
17 # from] translit([$OpenLDAP$], $")] [
18
19 # Copyright 1998-2002 The OpenLDAP Foundation.  All Rights Reserved.
20
21 # Redistribution and use in source and binary forms, with or without
22 # modification, are permitted only as authorized by the OpenLDAP
23 # Public License.  A copy of this license is available at
24 # http://www.OpenLDAP.org/license.html or in file LICENSE in the
25 # top-level directory of the distribution.
26
27 echo "Copyright 1998-2002 The OpenLDAP Foundation,  All Rights Reserved."
28 echo "  Restrictions apply, see COPYRIGHT and LICENSE files."
29 ])dnl
30 dnl ----------------------------------------------------------------
31 dnl Disable config.cache!
32 define([AC_CACHE_LOAD], )dnl
33 define([AC_CACHE_SAVE], )dnl
34 dnl ================================================================
35 dnl Configure.in for OpenLDAP
36 AC_INIT(build/version.sh)dnl
37
38 # set unset (borrowed from autoconf 2.49c)
39 if (OL_FOO=OL_FOO; unset OL_FOO) >/dev/null 2>&1; then
40   ol_unset=unset
41 else
42   ol_unset=false
43 fi
44 # unset CDPATH
45 $ol_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
46
47 AC_CONFIG_AUX_DIR(build)dnl
48
49 eval `$ac_aux_dir/version.sh`
50 if test -z "$OL_STRING"; then
51         AC_MSG_ERROR([could not determine version])
52 fi
53
54 if test -f "$ac_aux_dir/shtool" -a ! -d $ac_aux_dir/shtool; then
55         ac_cv_shtool="$ac_aux_dir/shtool"
56 else
57         AC_MSG_ERROR([no shtool found in $ac_aux_dir])
58 fi
59
60 SHTOOL="$ac_cv_shtool"
61 dnl AC_SUBST(SHTOOL)dnl
62
63 TB="`$SHTOOL echo -e '%B' 2>/dev/null`"
64 TN="`$SHTOOL echo -e '%b' 2>/dev/null`"
65
66 OPENLDAP_CVS=""
67 if test -d $ac_aux_dir/CVS; then
68         OPENLDAP_CVS="(from CVS sources) "
69 fi
70
71 echo "Configuring ${TB}${OL_STRING}${TN} ${OPENLDAP_CVS}..."
72
73 dnl Determine host platform
74 dnl             we try not to use this for much
75 AC_CANONICAL_SYSTEM
76
77 AM_INIT_AUTOMAKE([$OL_PACKAGE],[$OL_VERSION], [no defines])dnl
78 AC_SUBST(PACKAGE)dnl
79 AC_SUBST(VERSION)dnl
80 AC_DEFINE_UNQUOTED(OPENLDAP_PACKAGE,"$PACKAGE",Package)
81 AC_DEFINE_UNQUOTED(OPENLDAP_VERSION,"$VERSION",Version)
82
83 AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION,$OL_API_INC,Version)
84 AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_MAJOR,$OL_MAJOR,Major)
85 AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_MINOR,$OL_MINOR,Minor)
86 AC_DEFINE_UNQUOTED(LDAP_VENDOR_VERSION_PATCH,$OL_PATCH,Patch)
87
88 OPENLDAP_LIBVERSION=$OL_API_LIB
89 AC_SUBST(OPENLDAP_LIBVERSION)dnl
90
91 OPENLDAP_RELEASE_DATE="$OL_RELEASE_DATE"
92 AC_SUBST(OPENLDAP_RELEASE_DATE)dnl
93
94 dnl We use autoconf features new to 2.13.
95 dnl aclocal.m4 should be built using aclocal from automake 1.4
96 dnl libtool 1.4.2 should be installed.
97 AC_PREREQ(2.13)dnl Required Autoconf version
98
99 AC_CONFIG_HEADER(include/portable.h include/ldap_features.h include/lber_types.h)dnl
100
101 dnl ================================================================
102 dnl Start Args
103 AC_MSG_CHECKING(configure arguments)
104 AC_PREFIX_DEFAULT(/usr/local)
105
106 top_builddir=`pwd`
107 AC_SUBST(top_builddir)dnl
108
109 dnl ----------------------------------------------------------------
110 dnl --with-subdir
111 ldap_subdir="/openldap"
112
113 AC_ARG_WITH(subdir,
114 [  --with-subdir=DIR       change default subdirectory used for installs],
115 [case "$withval" in
116         no) ldap_subdir=""
117                 ;;
118         yes)
119                 ;;
120         /*|\\*)
121                 ldap_subdir="$withval"
122                 ;;
123         *)
124                 ldap_subdir="/$withval"
125                 ;;
126 esac
127 ])dnl
128
129 AC_SUBST(ldap_subdir)dnl
130
131 dnl ----------------------------------------------------------------
132 dnl General "enable" options
133 OL_ARG_ENABLE(debug,[  --enable-debug     enable debugging], yes)dnl
134 OL_ARG_ENABLE(syslog,[  --enable-syslog   enable syslog support], auto)dnl
135 OL_ARG_ENABLE(proctitle,[  --enable-proctitle     enable proctitle support], yes)dnl
136 OL_ARG_ENABLE(cache,[  --enable-cache     enable caching (experimental)], no)dnl
137 OL_ARG_ENABLE(referrals,[  --enable-referrals     enable LDAPv2+ Referrals (experimental)], no)dnl
138 dnl OL_ARG_ENABLE(kbind,[  --enable-kbind         enable LDAPv2+ Kerberos IV bind (deprecated)], no)dnl
139 ol_enable_kbind=${ol_enable_kbind-no}
140 OL_ARG_ENABLE(ipv6,[  --enable-ipv6       enable IPv6 support], auto)dnl
141 OL_ARG_ENABLE(local,[  --enable-local     enable AF_LOCAL (AF_UNIX) socket support], auto)dnl
142 OL_ARG_ENABLE(x_compile,[  --enable-x-compile     enable cross compiling],
143         no, [yes no])dnl
144
145 dnl ----------------------------------------------------------------
146 dnl General "with" options
147 dnl OL_ARG_ENABLE(dmalloc,[  --enable-dmalloc     enable debug malloc support], no)dnl
148
149 OL_ARG_WITH(cyrus_sasl,[  --with-cyrus-sasl       with Cyrus SASL support],
150         auto, [auto yes no] )
151 OL_ARG_WITH(fetch,[  --with-fetch                 with freeBSD fetch URL support],
152         auto, [auto yes no] )
153 OL_ARG_WITH(kerberos,[  --with-kerberos   with Kerberos support],
154         auto, [auto k5 k5only k425 kth k4 afs yes no])
155 OL_ARG_WITH(readline,[  --with-readline   with readline support],
156         auto, [auto yes no] )
157 OL_ARG_WITH(threads,[  --with-threads     with threads],
158         auto, [auto nt posix mach pth lwp yes no manual] )
159 OL_ARG_WITH(tls,[  --with-tls             with TLS/SSL support],
160         auto, [auto ssleay openssl yes no] )
161 OL_ARG_WITH(yielding_select,[  --with-yielding-select  with implicitly yielding select],
162         auto, [auto yes no manual] )
163
164 dnl ----------------------------------------------------------------
165 dnl Server options
166 dnl ----------------------------------------------------------------
167
168 dnl ----------------------------------------------------------------
169 dnl SLAPD OPTIONS
170 AC_ARG_WITH(xxslapdoptions,[
171 SLAPD (Standalone LDAP Daemon) Options:])
172 OL_ARG_ENABLE(slapd,[  --enable-slapd     enable building slapd], yes)dnl
173 OL_ARG_ENABLE(aci,[    --enable-aci       enable per-object ACIs (experimental)], no)dnl
174 OL_ARG_ENABLE(cleartext,[    --enable-cleartext   enable cleartext passwords], yes)dnl
175 OL_ARG_ENABLE(crypt,[    --enable-crypt   enable crypt(3) passwords], no)dnl
176 OL_ARG_ENABLE(dynamic,[    --enable-dynamic       enable linking built binaries with dynamic libs], no)dnl
177 OL_ARG_ENABLE(kpasswd,[    --enable-kpasswd       enable Kerberos password verification], no)dnl
178 OL_ARG_ENABLE(lmpasswd,[    --enable-lmpasswd     enable LAN Manager passwords], no)dnl
179 OL_ARG_ENABLE(spasswd,[    --enable-spasswd       enable (Cyrus) SASL password verification], no)dnl
180 OL_ARG_ENABLE(modules,[    --enable-modules       enable dynamic module support], no)dnl
181 dnl OL_ARG_ENABLE(multimaster,[    --enable-multimaster  enable multimaster replication], no)dnl
182 ol_enable_multimaster=${ol_enable_multimaster-no}
183 OL_ARG_ENABLE(phonetic,[    --enable-phonetic     enable phonetic/soundex], no)dnl
184 OL_ARG_ENABLE(rewrite,[    --enable-rewrite       enable DN rewriting in back-ldap and back-meta], no)dnl
185 OL_ARG_ENABLE(rlookups,[    --enable-rlookups     enable reverse lookups of client hostnames], no)dnl
186 OL_ARG_ENABLE(slp, [    --enable-slp          enable SLPv2 support], no)dnl     
187 OL_ARG_ENABLE(wrappers,[    --enable-wrappers     enable tcp wrapper support], no)dnl
188
189 dnl SLAPD Backend options
190 OL_ARG_ENABLE(bdb,[    --enable-bdb       enable Berkeley DB backend], yes)dnl
191 OL_ARG_WITH(bdb_module,[    --with-bdb-module     module type static|dynamic], static,
192         [static dynamic])
193 OL_ARG_ENABLE(dnssrv,[    --enable-dnssrv         enable dnssrv backend], no)dnl
194 OL_ARG_WITH(dnssrv_module,[    --with-dnssrv-module  module type static|dynamic], static,
195         [static dynamic])
196 OL_ARG_ENABLE(ldap,[    --enable-ldap     enable ldap backend], no)dnl
197 OL_ARG_WITH(ldap_module,[    --with-ldap-module   module type static|dynamic], static,
198         [static dynamic])
199 OL_ARG_ENABLE(ldbm,[    --enable-ldbm     enable ldbm backend], no)dnl
200 OL_ARG_WITH(ldbm_api,[    --with-ldbm-api       with LDBM API auto|berkeley|bcompat|mdbm|gdbm], auto,
201         [auto berkeley bcompat mdbm gdbm])
202 OL_ARG_WITH(ldbm_module,[    --with-ldbm-module   module type static|dynamic], static,
203         [static dynamic])
204 OL_ARG_WITH(ldbm_type,[    --with-ldbm-type       use LDBM type auto|btree|hash], auto,
205         [auto btree hash])
206 OL_ARG_ENABLE(meta,[    --enable-meta     enable metadirectory backend], no)dnl
207 OL_ARG_WITH(meta_module,[    --with-meta-module   module type static|dynamic], static,
208         [static dynamic])
209 OL_ARG_ENABLE(monitor,[    --enable-monitor       enable monitor backend], no)dnl
210 OL_ARG_WITH(monitor_module,[    --with-monitor-module module type static|dynamic], static,
211         [static dynamic])
212 OL_ARG_ENABLE(null,[    --enable-null     enable null backend], no)dnl
213 OL_ARG_WITH(null_module,[    --with-null-module   module type static|dynamic], static,
214         [static dynamic])
215 OL_ARG_ENABLE(passwd,[    --enable-passwd         enable passwd backend], no)dnl
216 OL_ARG_WITH(passwd_module,[    --with-passwd-module  module type static|dynamic], static,
217         [static dynamic])
218 OL_ARG_ENABLE(perl,[    --enable-perl     enable perl backend], no)dnl
219 OL_ARG_WITH(perl_module,[    --with-perl-module   module type static|dynamic], static,
220         [static dynamic])
221 OL_ARG_ENABLE(shell,[    --enable-shell   enable shell backend], no)dnl
222 OL_ARG_WITH(shell_module,[    --with-shell-module         module type static|dynamic], static,
223         [static dynamic])
224 OL_ARG_ENABLE(sql,[    --enable-sql       enable sql backend], no)dnl
225 OL_ARG_WITH(sql_module,[    --with-sql-module     module type static|dynamic], static,
226         [static dynamic])
227 OL_ARG_ENABLE(tcl,[    --enable-tcl       enable tcl backend], no)dnl
228 OL_ARG_WITH(tcl_module,[    --with-tcl-module     module type static|dynamic], static,
229         [static dynamic])
230
231 dnl ----------------------------------------------------------------
232 dnl SLURPD OPTIONS
233 AC_ARG_WITH(xxslurpdoptions,[
234 SLURPD (Replication Daemon) Options:])
235 OL_ARG_ENABLE(slurpd,[  --enable-slurpd   enable building slurpd], auto)dnl
236
237 dnl ----------------------------------------------------------------
238 AC_ARG_WITH(xxliboptions,[
239 Library Generation & Linking Options])
240 AC_ENABLE_STATIC
241 dnl AC_DISABLE_SHARED
242 AC_ENABLE_SHARED
243
244 dnl ----------------------------------------------------------------
245
246 dnl General "enable" options
247 # validate options
248 if test $ol_enable_slapd = no ; then
249         dnl SLAPD was specificallly disabled
250         if test $ol_enable_bdb = yes ; then
251                 AC_MSG_WARN([slapd disabled, ignoring --enable-bdb argument])
252         fi
253         if test $ol_enable_dnssrv = yes ; then
254                 AC_MSG_WARN([slapd disabled, ignoring --enable-dnssrv argument])
255         fi
256         if test $ol_enable_ldap = yes ; then
257                 AC_MSG_WARN([slapd disabled, ignoring --enable-ldap argument])
258         fi
259         if test $ol_enable_ldbm = yes ; then
260                 AC_MSG_WARN([slapd disabled, ignoring --enable-ldbm argument])
261         fi
262         if test $ol_enable_meta = yes ; then
263                 AC_MSG_WARN([slapd disabled, ignoring --enable-meta argument])
264         fi
265         if test $ol_enable_monitor = yes ; then
266                 AC_MSG_WARN([slapd disabled, ignoring --enable-monitor argument])
267         fi
268         if test $ol_enable_null = yes ; then
269                 AC_MSG_WARN([slapd disabled, ignoring --enable-null argument])
270         fi
271         if test $ol_enable_passwd = yes ; then
272                 AC_MSG_WARN([slapd disabled, ignoring --enable-passwd argument])
273         fi
274         if test $ol_enable_perl = yes ; then
275                 AC_MSG_WARN([slapd disabled, ignoring --enable-perl argument])
276         fi
277         if test $ol_enable_shell = yes ; then
278                 AC_MSG_WARN([slapd disabled, ignoring --enable-shell argument])
279         fi
280         if test $ol_enable_tcl = yes ; then
281                 AC_MSG_WARN([slapd disabled, ignoring --enable-tcl argument])
282         fi
283         if test $ol_enable_sql = yes ; then
284                 AC_MSG_WARN([slapd disabled, ignoring --enable-sql argument])
285         fi
286         if test $ol_enable_modules = yes ; then
287                 AC_MSG_WARN([slapd disabled, ignoring --enable-modules argument])
288         fi
289         if test $ol_enable_multimaster = yes ; then
290                 AC_MSG_WARN([slapd disabled, ignoring --enable-multimaster argument])
291         fi
292         if test $ol_enable_wrappers = yes ; then
293                 AC_MSG_WARN([slapd disabled, ignoring --enable-wrappers argument])
294         fi
295         if test $ol_enable_phonetic = yes ; then
296                 AC_MSG_WARN([slapd disabled, ignoring --enable-phonetic argument])
297         fi
298         if test $ol_enable_rlookups = yes ; then
299                 AC_MSG_WARN([slapd disabled, ignoring --enable-rlookups argument])
300         fi
301         if test $ol_enable_aci = yes ; then
302                 AC_MSG_WARN([slapd disabled, ignoring --enable-aci argument])
303         fi
304         if test $ol_with_ldbm_api != auto ; then
305                 AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-api argument])
306         fi
307         if test $ol_with_ldbm_type != auto ; then
308                 AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-type argument])
309         fi
310         if test $ol_with_bdb_module != static ; then
311                 AC_MSG_WARN([slapd disabled, ignoring --with-bdb-module argument])
312         fi
313         if test $ol_with_dnssrv_module != static ; then
314                 AC_MSG_WARN([slapd disabled, ignoring --with-dnssrv-module argument])
315         fi
316         if test $ol_with_ldap_module != static ; then
317                 AC_MSG_WARN([slapd disabled, ignoring --with-ldap-module argument])
318         fi
319         if test $ol_with_ldbm_module != static ; then
320                 AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-module argument])
321         fi
322         if test $ol_with_meta_module != static ; then
323                 AC_MSG_WARN([slapd disabled, ignoring --with-meta-module argument])
324         fi
325         if test $ol_with_monitor_module != static ; then
326                 AC_MSG_WARN([slapd disabled, ignoring --with-monitor-module argument])
327         fi
328         if test $ol_with_null_module != static ; then
329                 AC_MSG_WARN([slapd disabled, ignoring --with-null-module argument])
330         fi
331         if test $ol_with_passwd_module != static ; then
332                 AC_MSG_WARN([slapd disabled, ignoring --with-passwd-module argument])
333         fi
334         if test $ol_with_perl_module != static ; then
335                 AC_MSG_WARN([slapd disabled, ignoring --with-perl-module argument])
336         fi
337         if test $ol_with_shell_module != static ; then
338                 AC_MSG_WARN([slapd disabled, ignoring --with-shell-module argument])
339         fi
340         if test $ol_with_tcl_module != static ; then
341                 AC_MSG_WARN([slapd disabled, ignoring --with-tcl-module argument])
342         fi
343         if test $ol_with_sql_module != static ; then
344                 AC_MSG_WARN([slapd disabled, ignoring --with-sql-module argument])
345         fi
346         if test $ol_enable_slurpd = yes ; then
347                 AC_MSG_ERROR([slurpd requires slapd])
348         fi
349         if test $ol_enable_rewrite = yes ; then
350                 AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument])
351         fi
352
353         # force settings to no
354         ol_enable_bdb=no
355         ol_enable_dnssrv=no
356         ol_enable_ldap=no
357         ol_enable_ldbm=no
358         ol_enable_meta=no
359         ol_enable_monitor=no
360         ol_enable_null=no
361         ol_enable_passwd=no
362         ol_enable_perl=no
363         ol_enable_shell=no
364         ol_enable_tcl=no
365         ol_enable_sql=no
366
367         ol_enable_modules=no
368         ol_enable_multimaster=no
369         ol_enable_phonetic=no
370         ol_enable_rlookups=no
371         ol_enable_aci=no
372         ol_enable_wrappers=no
373         ol_enable_dynamic=no
374
375         ol_with_ldbm_api=no
376         ol_with_ldbm_type=no
377
378         ol_with_bdb_module=static
379         ol_with_dnssrv_module=static
380         ol_with_ldap_module=static
381         ol_with_ldbm_module=static
382         ol_with_meta_module=static
383         ol_with_monitor_module=static
384         ol_with_null_module=static
385         ol_with_passwd_module=static
386         ol_with_perl_module=static
387         ol_with_shell_module=static
388         ol_with_tcl_module=static
389         ol_with_sql_module=static
390
391         ol_enable_slurpd=no
392
393         ol_enable_rewrite=no
394
395 elif test $ol_enable_ldbm = no ; then
396         dnl SLAPD without LDBM
397
398         if test $ol_with_ldbm_api != auto ; then
399                 AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-api argument])
400         fi
401
402         if test $ol_with_ldbm_type != auto ; then
403                 AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-type argument])
404         fi
405
406         if test $ol_with_ldbm_module != static ; then
407                 AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-module argument])
408         fi
409
410         if test $ol_enable_modules != yes -a \
411                 $ol_enable_bdb = no -a \
412                 $ol_enable_dnssrv = no -a \
413                 $ol_enable_ldap = no -a \
414                 $ol_enable_meta = no -a \
415                 $ol_enable_monitor = no -a \
416                 $ol_enable_null = no -a \
417                 $ol_enable_passwd = no -a \
418                 $ol_enable_perl = no -a \
419                 $ol_enable_shell = no -a \
420                 $ol_enable_sql = no -a \
421                 $ol_enable_tcl = no ; then
422
423                 if test $ol_enable_slapd = yes ; then
424                         AC_MSG_ERROR([slapd requires a backend])
425                 else
426                         AC_MSG_WARN([skipping slapd, no backend specified])
427                         ol_enable_slapd=no
428                 fi
429         fi
430
431         ol_with_ldbm_api=no
432         ol_with_ldbm_type=no
433         ol_with_ldbm_module=static
434
435         if test $ol_enable_bdb != no ; then
436                 ol_with_ldbm_api=berkeley
437         fi
438
439 else
440         dnl SLAPD with LDBM
441         if test $ol_with_ldbm_api = gdbm -a \
442                 $ol_with_ldbm_type = btree ; then
443                 AC_MSG_ERROR([GDBM only supports LDBM type hash])
444         fi
445         if test $ol_with_ldbm_api = mdbm -a \
446                 $ol_with_ldbm_type = btree ; then
447                 AC_MSG_ERROR([MDBM only supports LDBM type hash])
448         fi
449         if test $ol_with_ldbm_api = ndbm -a \
450                 $ol_with_ldbm_type = btree ; then
451                 AC_MSG_ERROR([NDBM only supports LDBM type hash])
452         fi
453
454         if test $ol_enable_bdb = yes ; then
455                 if test $ol_with_ldbm_api = auto ; then
456                         ol_with_ldbm_api=berkeley
457                 elif test $ol_with_ldbm_api != berkeley ; then
458                         AC_MSG_ERROR([LDBM API not compatible with BDB])
459                 fi
460
461         elif test $ol_enable_bdb = auto ; then
462                 if test $ol_with_ldbm_api != berkeley \
463                         -o $ol_with_ldbm_api != auto ; then
464                         AC_MSG_WARN([LDBM API not compatible with BDB, disabling BDB])
465                         ol_enable_bdb=no
466                 fi
467         fi
468 fi
469
470 if test $ol_enable_slurpd = yes ; then
471         dnl SLURPD was specifically enabled
472         if test $ol_with_threads = no ; then
473                 AC_MSG_ERROR([slurpd requires threads])
474         fi
475 fi
476
477 if test $ol_enable_lmpasswd = yes ; then
478         if test $ol_with_tls = no ; then
479                 AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
480         fi
481 fi
482
483 if test $ol_enable_kbind = yes -o $ol_enable_kpasswd = yes ; then
484         if test $ol_with_kerberos = no ; then
485                 AC_MSG_ERROR([options require --with-kerberos])
486         elif test $ol_with_kerberos = auto ; then
487                 ol_with_kerberos=yes
488         fi
489
490 elif test $ol_enable_kbind = no -o $ol_enable_kpasswd = no ; then
491         if test $ol_with_kerberos = auto ; then
492                 ol_with_kerberos=no
493         elif test $ol_with_kerberos != no ; then
494                 AC_MSG_WARN([Kerberos detection enabled unnecessarily]);
495                 ol_with_kerberos=no
496         fi
497 fi
498
499 if test $ol_enable_spasswd = yes ; then
500         if test $ol_with_cyrus_sasl = no ; then
501                 AC_MSG_ERROR([options require --with-cyrus-sasl])
502         fi
503         ol_with_cyrus_sasl=yes
504 fi
505
506 AC_MSG_RESULT(done)
507
508 dnl ----------------------------------------------------------------
509 dnl Initialize vars
510 LDAP_LIBS=
511 LDIF_LIBS=
512 LDBM_LIBS=
513 LTHREAD_LIBS=
514 LUTIL_LIBS=
515
516 SLAPD_LIBS=
517 SLURPD_LIBS=
518
519 BUILD_SLAPD=no
520 BUILD_SLURPD=no
521
522 BUILD_THREAD=no
523
524 BUILD_BDB=no
525 BUILD_DNSSRV=no
526 BUILD_LDAP=no
527 BUILD_LDBM=no
528 BUILD_META=no
529 BUILD_MONITOR=no
530 BUILD_NULL=no
531 BUILD_PASSWD=no
532 BUILD_PERL=no
533 BUILD_SHELL=no
534 BUILD_SQL=no
535 BUILD_TCL=no
536
537 BUILD_BDB_DYNAMIC=static
538 BUILD_DNSSRV_DYNAMIC=static
539 BUILD_LDAP_DYNAMIC=static
540 BUILD_LDBM_DYNAMIC=static
541 BUILD_META_DYNAMIC=static
542 BUILD_MONITOR_DYNAMIC=static
543 BUILD_NULL_DYNAMIC=static
544 BUILD_PASSWD_DYNAMIC=static
545 BUILD_PERL_DYNAMIC=static
546 BUILD_SHELL_DYNAMIC=static
547 BUILD_TCL_DYNAMIC=static
548 BUILD_SQL_DYNAMIC=static
549
550 SLAPD_MODULES_LDFLAGS=
551 SLAPD_MODULES_CPPFLAGS=
552
553 SLAPD_STATIC_BACKENDS=
554 SLAPD_DYNAMIC_BACKENDS=
555
556 SLAPD_PERL_LDFLAGS=
557 MOD_PERL_LDFLAGS=
558 PERL_CPPFLAGS=
559
560 SLAPD_SQL_LDFLAGS=
561 SLAPD_SQL_LIBS=
562 SLAPD_SQL_INCLUDES=
563
564 MOD_TCL_LIB=
565 KRB4_LIBS=
566 KRB5_LIBS=
567 READLINE_LIBS=
568 SASL_LIBS=
569 TERMCAP_LIBS=
570 TLS_LIBS=
571 MODULES_LIBS=
572 AUTH_LIBS=
573
574 SLAPD_SLP_LIBS=
575
576 dnl ================================================================
577 dnl Checks for programs
578
579 AC_PROG_INSTALL
580
581 AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion])
582
583 dnl ----------------------------------------------------------------
584 dnl
585 dnl Determine which C translator to use
586 dnl
587
588 dnl AIX Thread requires we use cc_r or xlc_r.
589 dnl But only do this IF AIX and CC is not set
590 dnl and threads are auto|yes|posix.
591 dnl
592 dnl If we find cc_r|xlc_r, force pthreads and assume
593 dnl             pthread_create is in $LIBS (ie: don't bring in
594 dnl             any additional thread libraries)
595 dnl If we do not find cc_r|xlc_r, disable threads
596
597 ol_aix_threads=no
598 case "$target" in
599 *-*-aix*) dnl all AIX is not a good idea.
600         if test -z "$CC" ; then
601                 case "$ol_with_threads" in
602                 auto | yes |  posix) ol_aix_threads=yes ;;
603                 esac
604         fi
605 ;;
606 esac
607
608 if test $ol_aix_threads = yes ; then
609         if test -z "${CC}" ; then
610                 AC_CHECK_PROGS(CC,cc_r xlc_r cc)
611
612                 if test "$CC" = cc ; then
613                         dnl no CC! don't allow --with-threads
614                         if test $ol_with_threads != auto ; then
615                                 AC_MSG_ERROR([--with-threads requires cc_r (or other suitable compiler) on AIX])
616                         else
617                                 AC_MSG_WARN([disabling threads, no cc_r on AIX])
618                         fi
619                         ol_with_threads=no
620                 fi
621         fi
622
623         if test "${CC}" = "cc_r" -o "${CC}" = "xlc_r" ; then
624                 ol_with_threads=posix
625                 ol_cv_pthread_create=yes
626         fi
627 fi
628
629 if test -z "${CC}"; then
630         AC_CHECK_PROGS(CC,cc gcc,missing)
631
632         if test "${CC}" = "missing" ; then
633                 AC_MSG_ERROR([Unable to locate cc(1) or suitable replacement.  Check PATH or set CC.])
634         fi
635 fi
636
637 if test -z "${AR}"; then
638         AC_CHECK_PROGS(AR,ar gar,missing)
639
640         if test "${AR}" = "missing" ; then
641                 AC_MSG_ERROR([Unable to locate ar(1) or suitable replacement.  Check PATH or set AR.])
642         fi
643 fi
644
645 AC_LIBTOOL_WIN32_DLL
646 AC_LIBTOOL_DLOPEN
647 AC_PROG_LIBTOOL
648
649 LTSTATIC=""
650 if test "${OPENLDAP_CVS}"; then
651         LTSTATIC="-static"
652 fi
653 AC_SUBST(LTSTATIC)dnl
654
655 OL_PROG_LN_H
656 AC_PROG_LN_S
657
658 dnl ----------------------------------------------------------------
659 dnl Perl
660 ol_link_perl=no
661 if test $ol_enable_perl != no ; then
662         AC_PATH_PROG(PERLBIN, perl, /usr/bin/perl)
663
664         if test "no$PERLBIN" = "no" ; then
665                 if test $ol_enable_perl = yes ; then
666                         AC_MSG_ERROR([could not locate perl])
667                 fi
668
669         else
670                 PERL_CPPFLAGS="`$PERLBIN -MExtUtils::Embed -e ccopts`"
671                 if test x"$ol_with_perl_module" = "xstatic" ; then
672                         SLAPD_PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e s/-lc//`"
673                 else
674                         MOD_PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e s/-lc//`"
675                 fi
676                 dnl should check perl version
677                 ol_link_perl=yes
678         fi
679 fi
680
681 AC_PROG_CPP
682
683 dnl ----------------------------------------------------------------
684 dnl Cross compiling checks
685 if test $cross_compiling = yes -a $ol_enable_x_compile = yes; then
686         AC_MSG_WARN([cross compiling....  some functionality will be removed.])
687
688 elif test $cross_compiling = no -a $ol_enable_x_compile = yes; then
689         AC_MSG_WARN([programs compiled here do run here...])
690         AC_MSG_ERROR([  if not cross compiling, use --disable-x-compile.])
691
692 elif test $cross_compiling = yes -a $ol_enable_x_compile = no; then
693         AC_MSG_WARN([programs compiled here do not run here...])
694         AC_MSG_ERROR([  if cross compiling,  add --enable-x-compile.])
695 fi
696
697 dnl ----------------------------------------------------------------
698 dnl Checks for UNIX Variants
699 dnl AC_AIX
700 dnl AC_ISC_POSIX
701 dnl AC_MINIX
702
703 dnl ----------------------------------------------------------------
704 dnl Checks for system services
705 AC_CYGWIN
706 AC_MINGW32
707 AC_EXEEXT
708 AC_OBJEXT
709
710 AC_DEFINE_UNQUOTED(EXEEXT, "${EXEEXT}", [defined to be the EXE extension])
711
712 dnl ----------------------------------------------------------------
713 dnl BeOS requires -lbe -lroot -lnet
714 AC_CHECK_LIB(be, be_app, [LIBS="$LIBS -lbe -lroot -lnet"], :, [-lroot -lnet])
715
716 dnl ----------------------------------------------------------------
717 dnl OpenLDAP requires STDC features
718 AM_PROG_CC_STDC
719 if test "X${am_cv_prog_cc_stdc}" = "Xno" ; then
720         AC_MSG_ERROR([OpenLDAP requires compiler to support STDC constructs.])
721 fi
722
723 dnl ----------------------------------------------------------------
724 dnl Check cc depend flags
725 OL_MKDEPEND
726 if test "${ol_cv_mkdep}" = no ; then
727         # this will soon become an error
728         AC_MSG_WARN([do not know how to generate dependencies])
729 fi
730
731 dnl ----------------------------------------------------------------
732 dnl Check for AIX security library
733 AC_CHECK_LIB(s, afopen, [
734         AUTH_LIBS=-ls
735         AC_DEFINE(HAVE_AIX_SECURITY,1,[define if you have AIX security lib])
736 ])
737
738 dnl ----------------------------------------------------------------
739 dnl Check for IBM OS/390
740 case "$target" in
741 *-ibm-openedition)
742         ac_cv_func_getopt=no
743         AC_DEFINE(BOTH_STRINGS_H,1,[define to use both <string.h> and <strings.h>])
744         ;;
745 esac
746
747 dnl ----------------------------------------------------------------
748 dnl Check for module support
749 ol_link_modules=no
750 if test $ol_enable_modules != no ; then
751         AC_CHECK_HEADERS(ltdl.h)
752
753         if test $ac_cv_header_ltdl_h = no ; then
754                 AC_MSG_ERROR([could not locate libtool ltdl.h])
755         fi
756
757         AC_CHECK_LIB(ltdl, lt_dlinit, [
758                 MODULES_LIBS=-lltdl
759                 AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
760         ])
761
762         if test "$ac_cv_lib_ltdl_lt_dlinit" = no ; then
763                 AC_MSG_ERROR([could not locate libtool -lltdl])
764         fi
765         ol_link_modules=yes
766 else
767         ol_with_bdb_module=static
768         ol_with_dnssrv_module=static
769         ol_with_ldap_module=static
770         ol_with_ldbm_module=static
771         ol_with_meta_module=static
772         ol_with_monitor_module=static
773         ol_with_null_module=static
774         ol_with_passwd_module=static
775         ol_with_perl_module=static
776         ol_with_shell_module=static
777         ol_with_tcl_module=static
778         ol_with_sql_module=static
779 fi
780
781 dnl ----------------------------------------------------------------
782 dnl Checks for header files.
783 OL_HEADER_STDC
784
785 if test $ol_cv_header_stdc != yes; then
786         AC_MSG_WARN([could not locate Standard C compliant headers])
787 fi
788
789 AC_HEADER_DIRENT
790 AC_HEADER_SYS_WAIT
791 AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
792 if test $am_cv_sys_posix_termios = yes ; then
793         AC_DEFINE(HAVE_POSIX_TERMIOS,1,
794                 [define if you have POSIX termios])
795 fi
796
797 AC_CHECK_HEADERS(       \
798         arpa/inet.h             \
799         arpa/nameser.h  \
800         assert.h                \
801         conio.h                 \
802         crypt.h                 \
803         direct.h                \
804         errno.h                 \
805         fcntl.h                 \
806         filio.h                 \
807         getopt.h                \
808         grp.h                   \
809         io.h                    \
810         libutil.h               \
811         limits.h                \
812         locale.h                \
813         netinet/tcp.h   \
814         malloc.h                \
815         memory.h                \
816         psap.h                  \
817         pwd.h                   \
818         process.h               \
819         resolv.h                \
820         sgtty.h                 \
821         shadow.h                \
822         stddef.h                \
823         string.h                \
824         strings.h               \
825         sysexits.h              \
826         sys/file.h              \
827         sys/filio.h             \
828         sys/errno.h             \
829         sys/ioctl.h             \
830         sys/param.h             \
831         sys/resource.h  \
832         sys/select.h    \
833         sys/socket.h    \
834         sys/syslog.h    \
835         sys/time.h              \
836         sys/types.h             \
837         syslog.h                \
838         termios.h               \
839         unistd.h                \
840         winsock.h               \
841         winsock2.h              \
842 )
843
844
845 dnl ----------------------------------------------------------------
846 dnl Checks for libraries
847
848 AC_CHECK_FUNC(dlopen, :, [AC_CHECK_LIB(dl, dlopen)])
849
850 dnl HP-UX requires -lV3
851 dnl this is not needed on newer versions of HP-UX
852 AC_CHECK_LIB(V3, sigset)
853
854 dnl The following is INTENTIONALLY scripted out because shell does not
855 dnl support variable names with the '@' character, which is what
856 dnl autoconf would try to generate if one merely used AC_SEARCH_LIBS
857 AC_MSG_CHECKING(for winsock)
858 save_LIBS="$LIBS"
859 for curlib in ws2_32 wsock32; do
860         LIBS="$LIBS -l$curlib"
861         AC_TRY_LINK([
862                         char socket@12();
863                         char select@20();
864                         char closesocket@4();
865                         char gethostname@8();
866                         ],
867                         [
868                         socket@12();
869                         select@20();
870                         closesocket@4();
871                         gethostname@8();
872                         ],
873                         have_winsock=yes, have_winsock=no)
874
875         if test $have_winsock = yes; then
876                 AC_DEFINE(HAVE_WINSOCK, 1, [define if you have winsock])
877                 ac_cv_func_socket=yes
878                 ac_cv_func_select=yes
879                 ac_cv_func_closesocket=yes
880                 ac_cv_func_gethostname=yes
881                 if test $curlib = ws2_32; then
882                         have_winsock=winsock2
883                         AC_DEFINE(HAVE_WINSOCK2, 1,
884                                   [define if you have winsock2])
885                 fi
886                 break
887         fi
888         LIBS="$save_LIBS"
889 done
890 AC_MSG_RESULT($have_winsock)
891
892 dnl Find socket()
893 dnl Likely combinations:
894 dnl             -lsocket [ -lnsl_s | -lnsl ]
895 dnl             -linet
896
897 AC_CHECK_FUNC(socket, :, [      
898 dnl hopefully we won't include too many libraries
899         AC_CHECK_LIB(socket, main)
900         AC_CHECK_LIB(net, main)
901         AC_CHECK_LIB(nsl_s, main)
902         AC_CHECK_LIB(nsl, main)
903         AC_CHECK_LIB(inet, socket)
904         AC_CHECK_LIB(gen, main)
905 ])
906
907 dnl require select
908 AC_CHECK_FUNC(select, :, AC_MSG_ERROR([select() required.]))
909
910 if test "${ac_cv_header_winsock_h}" != yes; then
911         dnl Select arg types
912         dnl (if this detection becomes permenent, it and the select() detection
913         dnl should be done before the yielding select test) 
914         AC_FUNC_SELECT_ARGTYPES
915 fi
916
917 dnl check to see if system call automatically restart
918 dnl AC_SYS_RESTARTABLE_SYSCALLS
919
920 dnl ----------------------------------------------------------------
921 dnl require POSIX regex
922 AC_CHECK_HEADERS( regex.h )
923 if test "$ac_cv_header_regex_h" != yes ; then
924         AC_MSG_ERROR([POSIX regex.h required.])
925 fi
926 AC_SEARCH_LIBS(regfree, [regex gnuregex],
927         :, AC_MSG_ERROR([POSIX regex required.]))
928
929 OL_POSIX_REGEX
930 if test "$ol_cv_c_posix_regex" = no ; then
931         AC_MSG_ERROR([broken POSIX regex!])
932 fi
933
934 dnl ----------------------------------------------------------------
935 dnl UUID Support
936
937 have_uuid=no
938 AC_CHECK_HEADERS(sys/uuid.h)
939 if test $ac_cv_header_sys_uuid_h = yes ; then
940         save_LIBS="$LIBS"
941         AC_SEARCH_LIBS(uuid_to_str, uuid, [have_uuid=yes], :)
942         LIBS="$save_LIBS"
943
944         if test have_uuid = yes ; then
945                 AC_DEFINE(HAVE_UUID_TO_STR,1,
946                         [define if you have uuid_to_str()])
947
948                 test "$ac_cv_search_uuid_to_str" = "none required" || \
949                         SLAPD_LIBS="$SLAPD_LIBS $ac_cv_search_uuid_to_str"
950         fi
951 fi
952
953 dnl For windows, check for the need of RPCRT for UUID function support
954 if test $have_uuid = no ; then
955         AC_MSG_CHECKING(to see if -lrpcrt4 is needed for win32 UUID support)
956         save_LIBS="$LIBS"
957         LIBS="$LIBS -lrpcrt4"
958         AC_TRY_LINK([
959                 char UuidCreate@4();
960                 char UuidToStringA@8();
961                 ],
962                 [
963                 UuidCreate@4();
964                 UuidToStringA@8();
965                 ],
966                 need_rpcrt=yes, need_rpcrt=no)
967         if test $need_rpcrt = yes; then
968                 SLAPD_LIBS="$SLAPD_LIBS -lrpcrt4"
969         fi
970         LIBS="$save_LIBS"
971         AC_MSG_RESULT($need_rpcrt)
972 fi
973
974 dnl ----------------------------------------------------------------
975 dnl Check for resolver routines
976 dnl       need to check for both res_query and __res_query
977 dnl   need to check -lc, -lbind, and -lresolv
978 ol_link_dnssrv=no
979 AC_CHECK_FUNC(res_query,:)
980 if test $ac_cv_func_res_query = no ; then 
981         AC_CHECK_FUNC(__res_query,:)
982         ac_cv_func_res_query=$ac_cv_func___res_query
983 fi
984
985 if test $ac_cv_func_res_query = no ; then 
986         AC_CHECK_LIB(bind, res_query)
987         ac_cv_func_res_query=$ac_cv_lib_bind_res_query
988 fi
989
990 if test $ac_cv_func_res_query = no ; then 
991         AC_CHECK_LIB(bind, __res_query)
992         ac_cv_func_res_query=$ac_cv_lib_bind___res_query
993 fi
994
995 if test $ac_cv_func_res_query = no ; then 
996         AC_CHECK_LIB(resolv, res_query)
997         ac_cv_func_res_query=$ac_cv_lib_resolv_res_query
998 fi
999
1000 if test $ac_cv_func_res_query = no ; then 
1001         AC_CHECK_LIB(resolv, __res_query)
1002         ac_cv_func_res_query=$ac_cv_lib_resolv___res_query
1003 fi
1004
1005 if test "$ac_cv_func_res_query" = yes ; then
1006         AC_DEFINE(HAVE_RES_QUERY,1,
1007                 [define if you have res_query()])
1008
1009         if test $ol_enable_dnssrv != no ; then
1010                 ol_link_dnssrv=yes
1011         fi
1012 fi
1013
1014 if test "$ol_enable_dnssrv" = yes -a "$ol_link_dnssrv" = no ; then
1015         AC_MSG_ERROR([DNSSRV requires res_query()])
1016 fi
1017
1018 dnl ----------------------------------------------------------------
1019 dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN
1020 dnl PF_LOCAL may use getaddrinfo in available
1021 AC_CHECK_FUNCS( getaddrinfo gai_strerror inet_ntop )
1022
1023 ol_link_ipv6=no
1024 if test $ac_cv_func_getaddrinfo = no -o $ac_cv_func_inet_ntop = no ; then
1025         if test $ol_enable_ipv6 = yes ; then
1026                 AC_MSG_ERROR([IPv6 support requires getaddrinfo() and inet_ntop()])
1027         fi
1028 elif test $ol_enable_ipv6 != no ; then
1029         AC_CACHE_CHECK([INET6_ADDRSTRLEN],[ol_cv_inet6_addrstrlen],[
1030                 AC_EGREP_CPP(__has_inet6_addrstrlen__,[
1031 #                       include <netinet/in.h>
1032 #                       ifdef INET6_ADDRSTRLEN
1033                                 __has_inet6_addrstrlen__;
1034 #                       endif
1035                 ], [ol_cv_inet6_addrstrlen=yes], [ol_cv_inet6_addrstrlen=no])])
1036
1037
1038         AC_CACHE_CHECK([struct sockaddr_storage],ol_cv_struct_sockaddr_storage,[
1039                 AC_TRY_COMPILE([
1040 #include <sys/types.h>
1041 #include <sys/socket.h>
1042 ],[
1043                         struct sockaddr_storage ss;
1044 ],                      [ol_cv_struct_sockaddr_storage=yes],
1045                         [ol_cv_struct_sockaddr_storage=no])])
1046
1047         if test $ol_cv_inet6_addrstrlen = yes \
1048                 -a $ol_cv_struct_sockaddr_storage = yes ; then
1049                 ol_link_ipv6=yes
1050         elif test $ol_enable_ipv6 = yes \
1051                         -a $ol_cv_inet6_addrstrlen = no ; then
1052                 AC_MSG_ERROR([IPv6 support requires INET6_ADDRSTRLEN])
1053         elif test $ol_enable_ipv6 = yes \
1054                         -a $ol_cv_struct_sockaddr_storage = no ; then
1055                 AC_MSG_ERROR([IPv6 support requires struct sockaddr_storage])
1056         fi
1057 fi
1058
1059 if test $ol_enable_local != no ; then
1060         AC_CHECK_HEADERS( sys/un.h )
1061
1062         if test $ol_enable_local = auto ; then
1063                 ol_enable_local=$ac_cv_header_sys_un_h
1064         elif test $ac_cv_header_sys_un_h = no ; then
1065                 AC_MSG_ERROR([AF_LOCAL domain support requires sys/un.h])
1066         fi
1067 fi
1068
1069 dnl ----------------------------------------------------------------
1070 dnl Kerberos
1071 ol_link_kbind=no
1072 ol_link_kpasswd=no
1073 ol_link_krb5=no
1074 ol_link_krb4=no
1075
1076 if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
1077         -o $ol_with_kerberos = k5 -o $ol_with_kerberos = k5only \
1078         -o $ol_with_kerberos = k425 ; then
1079
1080         AC_CHECK_HEADERS(krb5.h)
1081
1082         if test $ac_cv_header_krb5_h = yes ; then
1083                 dnl lazy check for Heimdal Kerberos
1084                 AC_CHECK_HEADERS(heim_err.h)
1085                 if test $ac_cv_header_heim_err_h = yes ; then
1086                         krb5_impl=heimdal
1087                 else
1088                         krb5_impl=mit
1089                 fi
1090
1091                 if test $krb5_impl = mit; then
1092                         AC_CHECK_LIB(k5crypto, main,
1093                                 [krb5crypto=k5crypto],
1094                                 [krb5crypto=crypto])
1095
1096                         AC_CHECK_LIB(krb5, main,
1097                                 [have_krb5=yes
1098                                 KRB5_LIBS="-lkrb5 -l$krb5crypto -lcom_err"],
1099                                 [have_krb5=no],
1100                                 [-l$krb5crypto -lcom_err])
1101
1102                 elif test $krb5_impl = heimdal; then
1103                         AC_CHECK_LIB(des, main,
1104                                 [krb5crypto=des],
1105                                 [krb5crypto=crypto])
1106
1107                         AC_CHECK_LIB(krb5, main,
1108                                 [have_krb5=yes
1109                                 KRB5_LIBS="-lkrb5 -l$krb5crypto -lasn1 -lroken -lcom_err"],
1110                                 [have_krb5=no],
1111                                 [-l$krb5crypto -lasn1 -lroken -lcom_err])
1112
1113                         AC_DEFINE(HAVE_HEIMDAL_KERBEROS, 1,
1114                                 [define if you have HEIMDAL Kerberos])
1115
1116                 else
1117                         have_krb5=no
1118                         AC_MSG_WARN([Unrecongized Kerberos5 Implementation])
1119                 fi
1120
1121                 if test $have_krb5 = yes ; then
1122                         ol_link_krb5=yes
1123
1124                         AC_DEFINE(HAVE_KRB5, 1,
1125                                 [define if you have Kerberos V])
1126
1127                         if test $ol_enable_kpasswd != no ; then
1128                                 ol_link_kpasswd=yes;
1129                         fi
1130
1131                         if test $ol_with_kerberos = k5only ; then
1132                                 ol_with_kerberos=found
1133                         fi
1134
1135                 elif test $ol_with_kerberos != auto ; then
1136                         AC_MSG_ERROR([Required Kerberos 5 support not available])
1137                 fi
1138
1139         fi
1140 fi
1141
1142 if test $ol_link_krb5 = yes -a \( $ol_with_kerberos = yes -o \
1143         $ol_with_kerberos = auto -o $ol_with_kerberos = k425 \) ; then
1144
1145         AC_CHECK_HEADERS(kerberosIV/krb.h kerberosIV/des.h)
1146
1147         if test $ac_cv_header_kerberosIV_krb_h = yes ; then
1148                 if test $krb5_impl = mit; then
1149                         AC_CHECK_LIB(krb4, main, [have_k425=yes
1150                                 KRB4_LIBS="-lkrb4 -ldes425"], [have_k425=no],
1151                                 [-ldes425 -lkrb5 -l$krb5crypto -lcom_err])
1152
1153                 elif test $krb5_impl = heimdal; then
1154                         AC_CHECK_LIB(krb4, main, [have_k425=yes
1155                                 KRB4_LIBS="-lkrb4"], [have_k425=no],
1156                                 [-lkrb5 -l$krb5crypto -lasn1 -lroken -lcom_err])
1157
1158                 else
1159                         have_425=no
1160                         AC_MSG_WARN([Unrecongized Kerberos V Implementation])
1161                 fi
1162
1163                 if test $have_k425 = yes ; then
1164                         ol_with_kerberos=found
1165                         ol_link_krb4=yes
1166
1167                         AC_DEFINE(HAVE_KRB425, 1,
1168                                 [define if you have Kerberos V with IV support])
1169                         AC_DEFINE(HAVE_KRB4, 1,
1170                                 [define if you have Kerberos IV])
1171
1172                         AC_CACHE_CHECK([for des_debug in Kerberos libraries],
1173                                 [ol_cv_var_des_debug], [
1174                                 dnl save the flags
1175                                 save_LIBS="$LIBS"
1176                                 LIBS="$KRB4_LIBS $KRB5_LIBS $LIBS"
1177                                 AC_TRY_LINK([
1178 #include <kerberosIV/krb.h>
1179 #include <kerberosIV/des.h>
1180 extern int des_debug;
1181 ],[
1182 des_debug = 1;
1183 ],                              ol_cv_var_des_debug=yes, ol_cv_var_des_debug=no)
1184                                 dnl restore the LIBS
1185                                 LIBS="$save_LIBS"
1186                         ])
1187
1188                         if test $ol_cv_var_des_debug = yes ; then
1189                                 AC_DEFINE(HAVE_DES_DEBUG,1,
1190                                         [define if you have Kerberos des_debug])
1191                         fi
1192
1193                         LIBS="$save_LIBS"
1194                 fi
1195         fi
1196 fi
1197
1198 if test $ol_link_krb5 = yes ; then
1199         ol_with_kerberos=found
1200 fi
1201
1202 if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
1203         -o $ol_with_kerberos = k4 -o $ol_with_kerberos = kth ; then
1204
1205         AC_CHECK_HEADERS(krb.h des.h krb-archaeology.h )
1206
1207         if test $ac_cv_header_krb_h = yes ; then
1208                 AC_CHECK_LIB(krb, main, [have_k4=yes], [have_k4=no], [-ldes])
1209
1210                 if test $have_k4 = yes ; then
1211                         ol_with_kerberos=found
1212                         ol_link_krb4=yes
1213
1214                         AC_DEFINE(HAVE_KRB4, 1,
1215                                 [define if you have Kerberos IV])
1216
1217                         KRB4_LIBS="-lkrb -ldes"
1218
1219                         if test $ac_cv_header_krb_archaeology_h = yes ; then
1220                                 AC_DEFINE(HAVE_KTH_KERBEROS, 1,
1221                                         [define if you have Kth Kerberos])
1222                         fi
1223                 fi
1224         fi
1225 fi
1226
1227 if test $ol_link_krb4 = yes -a $ol_enable_kpasswd != no ; then
1228         ol_link_kpasswd=yes
1229 fi
1230
1231 if test $ol_link_krb4 = yes -a $ol_enable_kbind != no ; then
1232         ol_link_kbind=yes
1233
1234 elif test $ol_enable_kbind = yes ; then
1235         AC_MSG_ERROR([Kerberos IV detection failed])
1236 fi
1237
1238 if test $ol_link_krb4 = yes -o $ol_link_krb5 = yes ; then
1239         AC_DEFINE(HAVE_KERBEROS, 1, [define if you have Kerberos])
1240
1241 elif test $ol_with_kerberos != auto -a $ol_with_kerberos != no ; then
1242         AC_MSG_ERROR([Kerberos detection failed])
1243 fi
1244
1245 dnl ----------------------------------------------------------------
1246 dnl TLS/SSL
1247 ol_link_tls=no
1248 if test $ol_with_tls != no ; then
1249         AC_CHECK_HEADERS(openssl/ssl.h ssl.h)
1250         
1251         if test $ac_cv_header_openssl_ssl_h = yes \
1252                 -o $ac_cv_header_ssl_h = yes ; then
1253                 AC_CHECK_LIB(ssl, SSLeay_add_ssl_algorithms, 
1254                         [have_ssleay=yes
1255                         need_rsaref=no],
1256                         [have_ssleay=no],
1257                         [-lcrypto])
1258                         
1259                 if test $have_ssleay = no ; then
1260                         AC_CHECK_LIB(ssl, SSL_library_init,
1261                                 [have_ssleay=yes
1262                                 need_rsaref=no], [have_ssleay=no],
1263                                 [-lcrypto])
1264                 fi
1265
1266                 if test $have_ssleay = no ; then
1267                         AC_CHECK_LIB(ssl, ssl3_accept, 
1268                                 [have_ssleay=yes
1269                                 need_rsaref=yes], [have_ssleay=no],
1270                                 [-lcrypto -lRSAglue -lrsaref])
1271                 fi
1272
1273                 if test $have_ssleay = yes ; then
1274                         ol_with_tls=found
1275                         ol_link_tls=yes
1276
1277                         AC_DEFINE(HAVE_SSLEAY, 1, 
1278                                 [define if you have SSLeay or OpenSSL])
1279
1280                         if test $need_rsaref = yes; then
1281                                 AC_DEFINE(HAVE_RSAREF, 1, 
1282                                         [define if you have RSAref])
1283
1284                                 TLS_LIBS="-lssl -lcrypto -lRSAglue -lrsaref"
1285                         else
1286                                 TLS_LIBS="-lssl -lcrypto"
1287                         fi
1288                 fi
1289         fi
1290
1291 else
1292         AC_WARN([TLS data protection not supported!])
1293 fi
1294
1295 if test $ol_link_tls = yes ; then
1296         AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
1297
1298 elif test $ol_with_tls = auto ; then
1299         AC_WARN([Could not locate TLS/SSL package])
1300         AC_WARN([TLS data protection not supported!])
1301
1302 elif test $ol_with_tls != no ; then
1303         AC_ERROR([Could not locate TLS/SSL package])
1304 fi
1305
1306 dnl ----------------------------------------------------------------
1307 dnl LAN Manger password checking requires DES from OpenSSL
1308 if test $ol_enable_lmpasswd != no; then
1309         if test $ol_link_tls != yes ; then
1310                 AC_ERROR([LAN Manager passwords require OpenSSL])
1311         fi
1312
1313         AC_DEFINE(SLAPD_LMHASH, 1, [define to support LAN Manager passwords])
1314 fi
1315
1316 dnl ----------------------------------------------------------------
1317 dnl Threads?
1318 ol_link_threads=no
1319
1320 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1321         -o $ol_with_threads = nt ; then
1322
1323         OL_NT_THREADS
1324
1325         if test "$ol_cv_nt_threads" = yes ; then
1326                 ol_link_threads=nt
1327                 ol_with_threads=found
1328                 ol_with_yielding_select=yes
1329
1330                 AC_DEFINE(HAVE_NT_SERVICE_MANAGER,1,[if you have NT Service Manager])
1331                 AC_DEFINE(HAVE_NT_EVENT_LOG,1,[if you have NT Event Log])
1332         fi
1333
1334         if test $ol_with_threads = nt ; then
1335                 AC_MSG_ERROR([could not locate NT Threads])
1336         fi
1337 fi
1338
1339 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1340         -o $ol_with_threads = posix ; then
1341
1342         AC_CHECK_HEADERS(pthread.h)
1343
1344         if test $ac_cv_header_pthread_h = yes ; then
1345                 OL_POSIX_THREAD_VERSION
1346
1347                 if test $ol_cv_pthread_version != 0 ; then
1348                         AC_DEFINE_UNQUOTED(HAVE_PTHREADS,$ol_cv_pthread_version,
1349                                 [define to pthreads API spec revision])
1350                 else
1351                         AC_MSG_ERROR([unknown pthread version])
1352                 fi
1353
1354                 # consider threads found
1355                 ol_with_threads=found
1356
1357                 OL_HEADER_LINUX_THREADS
1358                 OL_HEADER_GNU_PTH_PTHREAD_H
1359
1360                 if test $ol_cv_header_gnu_pth_pthread_h = no ; then
1361                         AC_CHECK_HEADERS(sched.h)
1362                 fi
1363
1364                 dnl Now the hard part, how to link?
1365                 dnl
1366                 dnl currently supported checks:
1367                 dnl
1368                 dnl Check for no flags 
1369                 dnl     pthread_create() in $LIBS
1370                 dnl
1371                 dnl Check special pthread (final) flags
1372                 dnl     [skipped] pthread_create() with -mt (Solaris) [disabled]
1373                 dnl     pthread_create() with -kthread (FreeBSD)
1374                 dnl     pthread_create() with -pthread (FreeBSD/Digital Unix)
1375                 dnl     pthread_create() with -pthreads (?)
1376                 dnl     pthread_create() with -mthreads (AIX)
1377                 dnl     pthread_create() with -thread (?)
1378                 dnl
1379                 dnl Check pthread (final) libraries
1380                 dnl     pthread_mutex_unlock() in -lpthread -lmach -lexc -lc_r (OSF/1)
1381                 dnl     pthread_mutex_lock() in -lpthread -lmach -lexc (OSF/1)
1382                 dnl     [skipped] pthread_mutex_trylock() in -lpthread -lexc (OSF/1)
1383                 dnl     pthread_join() -Wl,-woff,85 -lpthread (IRIX)
1384                 dnl     pthread_create() in -lpthread (many)
1385                 dnl     pthread_create() in -lc_r (FreeBSD)
1386                 dnl
1387                 dnl Check pthread (draft4) flags (depreciated)
1388                 dnl     pthread_create() with -threads (OSF/1)
1389                 dnl
1390                 dnl Check pthread (draft4) libraries (depreciated)
1391                 dnl     pthread_mutex_unlock() in -lpthreads -lmach -lexc -lc_r (OSF/1)
1392                 dnl     pthread_mutex_lock() in -lpthreads -lmach -lexc (OSF/1)
1393                 dnl     pthread_mutex_trylock() in -lpthreads -lexc (OSF/1)
1394                 dnl     pthread_create() in -lpthreads (many)
1395                 dnl
1396
1397                 dnl pthread_create in $LIBS
1398                 AC_CACHE_CHECK([for pthread_create in default libraries],
1399                         ol_cv_pthread_create,[
1400                 AC_TRY_RUN(OL_PTHREAD_TEST_PROGRAM,
1401                         [ol_cv_pthread_create=yes],
1402                         [ol_cv_pthread_create=no],
1403                         [AC_TRY_LINK(OL_PTHREAD_TEST_INCLUDES,OL_PTHREAD_TEST_FUNCTION,
1404                                 [ol_cv_pthread_create=yes],
1405                                 [ol_cv_pthread_create=no])])])
1406
1407                 if test $ol_cv_pthread_create != no ; then
1408                         ol_link_threads=posix
1409                         ol_link_pthreads=""
1410                 fi
1411                 
1412 dnl             OL_PTHREAD_TRY([-mt],           [ol_cv_pthread_mt])
1413                 OL_PTHREAD_TRY([-kthread],      [ol_cv_pthread_kthread])
1414                 OL_PTHREAD_TRY([-pthread],      [ol_cv_pthread_pthread])
1415                 OL_PTHREAD_TRY([-pthreads],     [ol_cv_pthread_pthreads])
1416                 OL_PTHREAD_TRY([-mthreads],     [ol_cv_pthread_mthreads])
1417                 OL_PTHREAD_TRY([-thread],       [ol_cv_pthread_thread])
1418
1419                 OL_PTHREAD_TRY([-lpthread -lmach -lexc -lc_r],
1420                         [ol_cv_pthread_lpthread_lmach_lexc_lc_r])
1421                 OL_PTHREAD_TRY([-lpthread -lmach -lexc],
1422                         [ol_cv_pthread_lpthread_lmach_lexc])
1423 dnl             OL_PTHREAD_TRY([-lpthread -lexc],
1424 dnl                     [ol_cv_pthread_lpthread_lexc])
1425
1426                 OL_PTHREAD_TRY([-lpthread -Wl,-woff,85],
1427                         [ol_cv_pthread_lib_lpthread_woff])
1428
1429                 OL_PTHREAD_TRY([-lpthread],     [ol_cv_pthread_lpthread])
1430                 OL_PTHREAD_TRY([-lc_r],         [ol_cv_pthread_lc_r])
1431
1432                 OL_PTHREAD_TRY([-threads],      [ol_cv_pthread_threads])
1433
1434                 OL_PTHREAD_TRY([-lpthreads -lmach -lexc -lc_r],
1435                         [ol_cv_pthread_lpthreads_lmach_lexc_lc_r])
1436                 OL_PTHREAD_TRY([-lpthreads -lmach -lexc],
1437                         [ol_cv_pthread_lpthreads_lmach_lexc])
1438                 OL_PTHREAD_TRY([-lpthreads -lexc],
1439                         [ol_cv_pthread_lpthreads_lexc])
1440
1441                 OL_PTHREAD_TRY([-lpthreads],[ol_cv_pthread_lib_lpthreads])
1442
1443                 if test $ol_link_threads != no ; then
1444                         LTHREAD_LIBS="$LTHREAD_LIBS $ol_link_pthreads"
1445
1446                         dnl save flags
1447                         save_CPPFLAGS="$CPPFLAGS"
1448                         save_LIBS="$LIBS"
1449                         LIBS="$LTHREAD_LIBS $LIBS"
1450
1451                         dnl All POSIX Thread (final) implementations should have
1452                         dnl sched_yield instead of pthread yield.
1453                         dnl check for both, and thr_yield for Solaris
1454                         AC_CHECK_FUNCS(sched_yield pthread_yield thr_yield)
1455
1456                         if test $ac_cv_func_sched_yield = no -a \
1457                                 $ac_cv_func_pthread_yield = no -a \
1458                                 $ac_cv_func_thr_yield = no ; then
1459                                 dnl Digital UNIX has sched_yield() in -lrt
1460                                 AC_CHECK_LIB(rt, sched_yield,
1461                                         [LTHREAD_LIBS="$LTHREAD_LIBS -lrt"
1462                                         AC_DEFINE(HAVE_SCHED_YIELD,1,
1463                                                 [Define if you have the sched_yield function.])
1464                                         ac_cv_func_sched_yield=yes],
1465                                         [ac_cv_func_sched_yield=no])
1466                         fi
1467                         if test $ac_cv_func_sched_yield = no -a \
1468                                 $ac_cv_func_pthread_yield = no -a \
1469                                 "$ac_cv_func_thr_yield" = no ; then
1470                                 AC_MSG_WARN([could not locate sched_yield() or pthread_yield()])
1471                         fi
1472
1473                         dnl Check functions for compatibility
1474                         AC_CHECK_FUNCS(pthread_kill pthread_rwlock_destroy)
1475
1476                         dnl Check for pthread_detach with <pthread.h> inclusion
1477                         dnl as it's symbol may have been mangled.
1478                         AC_CACHE_CHECK([for pthread_detach with <pthread.h>],
1479                                 [ol_cv_func_pthread_detach], [
1480                                 dnl save the flags
1481                                 AC_TRY_LINK([
1482 #include <pthread.h>
1483 #ifndef NULL
1484 #define NULL (void*)0
1485 #endif
1486 ],
1487                                         [pthread_detach(NULL);],
1488                                         [ol_cv_func_pthread_detach=yes],
1489                                         [ol_cv_func_pthread_detach=no])
1490                         ])
1491
1492                         if test $ol_cv_func_pthread_detach = no ; then
1493                                 AC_MSG_ERROR([could not locate pthread_detach()])
1494                         fi
1495
1496                         AC_DEFINE(HAVE_PTHREAD_DETACH,1,
1497                                 [define if you have pthread_detach function])
1498
1499                         dnl Check for setconcurreny functions
1500                         AC_CHECK_FUNCS( \
1501                                 pthread_setconcurrency \
1502                                 pthread_getconcurrency \
1503                                 thr_setconcurrency \
1504                                 thr_getconcurrency \
1505                         )
1506
1507                         OL_SYS_LINUX_THREADS
1508                         OL_LINUX_THREADS
1509
1510                         if test $ol_cv_linux_threads = error; then
1511                                 AC_MSG_ERROR([LinuxThreads header/library mismatch]);
1512                         fi
1513
1514                         AC_CACHE_CHECK([if pthread_create() works],
1515                                 ol_cv_pthread_create_works,[
1516                         AC_TRY_RUN(OL_PTHREAD_TEST_PROGRAM,
1517                                 [ol_cv_pthread_create_works=yes],
1518                                 [ol_cv_pthread_create_works=no],
1519                                 [dnl assume yes
1520                                 ol_cv_pthread_create_works=yes])])
1521
1522                         if test $ol_cv_pthread_create_works = no ; then
1523                                 AC_MSG_ERROR([pthread_create is not usable, check environment settings])
1524                         fi
1525
1526                         dnl Check if select causes an yield
1527                         if test $ol_with_yielding_select = auto ; then
1528                                 AC_CACHE_CHECK([if select yields when using pthreads],
1529                                         ol_cv_pthread_select_yields,[
1530                                 AC_TRY_RUN([
1531 #include <sys/types.h>
1532 #include <sys/time.h>
1533 #include <unistd.h>
1534 #include <pthread.h>
1535 #ifndef NULL
1536 #define NULL (void*) 0
1537 #endif
1538
1539 static int fildes[2];
1540
1541 static void *task(p)
1542         void *p;
1543 {
1544         int i;
1545         struct timeval tv;
1546
1547         fd_set rfds;
1548
1549         tv.tv_sec=10;
1550         tv.tv_usec=0;
1551
1552         FD_ZERO(&rfds);
1553         FD_SET(fildes[0], &rfds);
1554
1555         /* we're not interested in any fds */
1556         i = select(FD_SETSIZE, &rfds, NULL, NULL, &tv);
1557
1558         if(i < 0) {
1559                 perror("select");
1560                 exit(10);
1561         }
1562
1563         exit(0); /* if we exit here, the select blocked the whole process */
1564 }
1565
1566 int main(argc, argv)
1567         int argc;
1568         char **argv;
1569 {
1570         pthread_t t;
1571
1572         /* create a pipe to select */
1573         if(pipe(&fildes[0])) {
1574                 perror("select");
1575                 exit(1);
1576         }
1577
1578 #ifdef HAVE_PTHREAD_SETCONCURRENCY
1579         (void) pthread_setconcurrency(2);
1580 #else
1581 #ifdef HAVE_THR_SETCONCURRENCY
1582         /* Set Solaris LWP concurrency to 2 */
1583         thr_setconcurrency(2);
1584 #endif
1585 #endif
1586
1587 #if HAVE_PTHREADS < 6
1588         pthread_create(&t, pthread_attr_default, task, NULL);
1589 #else
1590         pthread_create(&t, NULL, task, NULL);
1591 #endif
1592
1593         /* make sure task runs first */
1594 #if HAVE_THR_YIELD
1595         thr_yield();
1596 #elif defined( HAVE_SCHED_YIELD )
1597         sched_yield();
1598 #elif defined( HAVE_PTHREAD_YIELD )
1599         pthread_yield();
1600 #endif
1601
1602         exit(2);
1603 }],
1604                                 [ol_cv_pthread_select_yields=no],
1605                                 [ol_cv_pthread_select_yields=yes],
1606                                 [ol_cv_pthread_select_yields=cross])])
1607
1608                                 if test $ol_cv_pthread_select_yields = cross ; then
1609                                         AC_MSG_ERROR([crossing compiling: use --with-yielding_select=yes|no|manual])
1610                                 fi
1611
1612                                 if test $ol_cv_pthread_select_yields = yes ; then
1613                                         ol_with_yielding_select=yes
1614                                 fi
1615                         fi
1616
1617                         dnl restore flags
1618                         CPPFLAGS="$save_CPPFLAGS"
1619                         LIBS="$save_LIBS"
1620                 else
1621                         AC_MSG_ERROR([could not locate usable POSIX Threads])
1622                 fi
1623         fi
1624
1625         if test $ol_with_threads = posix ; then
1626                 AC_MSG_ERROR([could not locate POSIX Threads])
1627         fi
1628 fi
1629
1630 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1631         -o $ol_with_threads = mach ; then
1632
1633         dnl check for Mach CThreads
1634         AC_CHECK_HEADERS(mach/cthreads.h cthreads.h)
1635         if test $ac_cv_header_mach_cthreads_h = yes ; then
1636                 ol_with_threads=found
1637
1638                 dnl check for cthreads support in current $LIBS
1639                 AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
1640
1641                 if test $ol_link_threads = no ; then
1642                         dnl try -all_load
1643                         dnl this test needs work
1644                         AC_CACHE_CHECK([for cthread_fork with -all_load],
1645                                 [ol_cv_cthread_all_load], [
1646                                 dnl save the flags
1647                                 save_LIBS="$LIBS"
1648                                 LIBS="-all_load $LIBS"
1649                                 AC_TRY_LINK([#include <mach/cthreads.h>],[
1650                                         cthread_fork((void *)0, (void *)0);
1651                                         ], ol_cv_cthread_all_load=yes, ol_cv_cthread_all_load=no)
1652                                 dnl restore the LIBS
1653                                 LIBS="$save_LIBS"
1654                         ])
1655
1656                         if test $ol_cv_cthread_all_load = yes ; then
1657                                 LTHREAD_LIBS="$LTHREAD_LIBS -all_load"
1658                                 ol_link_threads=mach
1659                                 ol_with_threads=found
1660                         fi
1661                 fi
1662
1663         elif test $ac_cv_header_cthreads_h = yes ; then
1664                 dnl Hurd variant of Mach Cthreads
1665                 dnl uses <cthreads.h> and -lthreads
1666
1667                 ol_with_threads=found
1668  
1669                 dnl save the flags
1670                 save_LIBS="$LIBS"
1671                 LIBS="$LIBS -lthreads"
1672                 AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
1673                 LIBS="$save_LIBS"
1674
1675                 if test $ol_link_threads = yes ; then
1676                         LTHREAD_LIBS="-lthreads"
1677                         ol_link_threads=mach
1678                         ol_with_threads=found
1679                 else
1680                         AC_MSG_ERROR([could not link with Mach CThreads])
1681                 fi
1682
1683         elif test $ol_with_threads = mach ; then
1684                 AC_MSG_ERROR([could not locate Mach CThreads])
1685         fi
1686
1687         if test $ol_link_threads = mach ; then
1688                 AC_DEFINE(HAVE_MACH_CTHREADS,1,
1689                         [define if you have Mach Cthreads])
1690         elif test $ol_with_threads = found ; then
1691                 AC_MSG_ERROR([could not link with Mach CThreads])
1692         fi
1693 fi
1694
1695 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1696         -o $ol_with_threads = pth ; then
1697
1698         AC_CHECK_HEADERS(pth.h)
1699
1700         if test $ac_cv_header_pth_h = yes ; then
1701                 AC_CHECK_LIB(pth, pth_version, [have_pth=yes], [have_pth=no])
1702
1703                 if test $have_pth = yes ; then
1704                         AC_DEFINE(HAVE_GNU_PTH,1,[if you have GNU Pth])
1705                         LTHREAD_LIBS="$LTHREAD_LIBS -lpth"
1706                         ol_link_threads=pth
1707                         ol_with_threads=found
1708
1709                         if test $ol_with_yielding_select = auto ; then
1710                                 ol_with_yielding_select=yes
1711                         fi
1712                 fi
1713         fi
1714 fi
1715
1716 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1717         -o $ol_with_threads = lwp ; then
1718
1719         dnl check for SunOS5 LWP
1720         AC_CHECK_HEADERS(thread.h synch.h)
1721         if test $ac_cv_header_thread_h = yes -a $ac_cv_header_synch_h = yes ; then
1722                 AC_CHECK_LIB(thread, thr_create, [have_thr=yes], [have_thr=no])
1723
1724                 if test $have_thr = yes ; then
1725                         AC_DEFINE(HAVE_THR,1,
1726                                 [if you have Solaris LWP (thr) package])
1727                         LTHREAD_LIBS="$LTHREAD_LIBS -lthread"
1728                         ol_link_threads=thr
1729
1730                         if test $ol_with_yielding_select = auto ; then
1731                                 ol_with_yielding_select=yes
1732                         fi
1733
1734                         dnl Check for setconcurreny functions
1735                         AC_CHECK_FUNCS( \
1736                                 thr_setconcurrency \
1737                                 thr_getconcurrency \
1738                         )
1739                 fi
1740         fi
1741
1742         dnl check for SunOS4 LWP
1743         AC_CHECK_HEADERS(lwp/lwp.h)
1744         if test $ac_cv_header_lwp_lwp_h = yes ; then
1745                 AC_CHECK_LIB(lwp, lwp_create, [have_lwp=yes], [have_lwp=no])
1746
1747                 if test $have_lwp = yes ; then
1748                         AC_DEFINE(HAVE_LWP,1,
1749                                 [if you have SunOS LWP package])
1750                         LTHREAD_LIBS="$LTHREAD_LIBS -llwp"
1751                         ol_link_threads=lwp
1752
1753                         if test $ol_with_yielding_select = auto ; then
1754                                 ol_with_yielding_select=no
1755                         fi
1756                 fi
1757         fi
1758 fi
1759
1760 if test $ol_with_yielding_select = yes ; then
1761         AC_DEFINE(HAVE_YIELDING_SELECT,1,
1762                 [define if select implicitly yields])
1763 fi
1764
1765 if test $ol_with_threads = manual ; then
1766         dnl User thinks he can manually configure threads.
1767         ol_link_threads=yes
1768
1769         AC_MSG_WARN([thread defines and link options must be set manually])
1770
1771         AC_CHECK_HEADERS(pthread.h sched.h)
1772         AC_CHECK_FUNCS(sched_yield pthread_yield)
1773         OL_HEADER_LINUX_THREADS
1774
1775         AC_CHECK_HEADERS(mach/cthreads.h)
1776         AC_CHECK_HEADERS(lwp/lwp.h)
1777         AC_CHECK_HEADERS(thread.h synch.h)
1778 fi
1779
1780 if test $ol_link_threads != no -a $ol_link_threads != nt ; then  
1781         dnl needed to get reentrant/threadsafe versions
1782         dnl
1783         AC_DEFINE(REENTRANT,1)
1784         AC_DEFINE(_REENTRANT,1)
1785         AC_DEFINE(THREAD_SAFE,1)
1786         AC_DEFINE(_THREAD_SAFE,1)
1787         AC_DEFINE(THREADSAFE,1)
1788         AC_DEFINE(_THREADSAFE,1)
1789         AC_DEFINE(_SGI_MP_SOURCE,1)
1790
1791         dnl The errno declaration may dependent upon _REENTRANT.
1792         dnl If it does, we must link with thread support.
1793         AC_CACHE_CHECK([for thread specific errno],
1794                 [ol_cv_errno_thread_specific], [
1795                 AC_TRY_LINK([#include <errno.h>], [errno = 0;],
1796                         [ol_cv_errno_thread_specific=yes],
1797                         [ol_cv_errno_thread_specific=no])
1798         ])
1799
1800         dnl The h_errno declaration may dependent upon _REENTRANT.
1801         dnl If it does, we must link with thread support.
1802         AC_CACHE_CHECK([for thread specific h_errno],
1803                 [ol_cv_h_errno_thread_specific], [
1804                 AC_TRY_LINK([#include <netdb.h>], [h_errno = 0;],
1805                         [ol_cv_h_errno_thread_specific=yes],
1806                         [ol_cv_h_errno_thread_specific=no])
1807         ])
1808
1809         if test $ol_cv_errno_thread_specific != yes \
1810                 -o $ol_cv_h_errno_thread_specific != yes ; then
1811                 LIBS="$LTHREAD_LIBS $LIBS"
1812                 LTHREAD_LIBS=""
1813         fi
1814
1815 dnl When in thread environment, use 
1816 dnl             #if defined( HAVE_REENTRANT_FUNCTIONS ) || defined( HAVE_FUNC_R )
1817 dnl                     func_r(...);
1818 dnl             #else
1819 dnl             #       if defined( HAVE_THREADS ) 
1820 dnl                             /* lock */
1821 dnl             #       endif
1822 dnl                             func(...);
1823 dnl             #       if defined( HAVE_THREADS ) 
1824 dnl                             /* unlock */
1825 dnl             #       endif
1826 dnl             #endif
1827 dnl
1828 dnl HAVE_REENTRANT_FUNCTIONS is derived from:
1829 dnl             _POSIX_REENTRANT_FUNCTIONS
1830 dnl             _POSIX_THREAD_SAFE_FUNCTIONS
1831 dnl             _POSIX_THREADSAFE_FUNCTIONS
1832 dnl
1833 dnl             and is currently defined in <ldap_pvt_thread.h>
1834 dnl
1835 dnl HAVE_THREADS is defined by <ldap_pvt_thread.h> iff -UNO_THREADS
1836 dnl 
1837 dnl libldap/*.c should only include <ldap_pvt_thread.h> iff
1838 dnl LDAP_R_COMPILE is defined.  ie:
1839 dnl             #ifdef LDAP_R_COMPILE
1840 dnl             #       include <ldap_pvt_thread.h>
1841 dnl             #endif
1842 dnl
1843 dnl LDAP_R_COMPILE is defined by libldap_r/Makefile.in
1844 dnl specifically for compiling the threadsafe version of
1845 dnl     the ldap library (-lldap_r).
1846 dnl             
1847 dnl     dnl check for reentrant/threadsafe functions
1848 dnl     dnl
1849 dnl     dnl note: these should only be used when linking
1850 dnl     dnl             with $LTHREAD_LIBS
1851 dnl     dnl
1852 dnl     save_CPPFLAGS="$CPPFLAGS"
1853 dnl     save_LIBS="$LIBS"
1854 dnl     LIBS="$LTHREAD_LIBS $LIBS"
1855 dnl     AC_CHECK_FUNCS( \
1856 dnl             gmtime_r \
1857 dnl             gethostbyaddr_r gethostbyname_r \
1858 dnl             feof_unlocked unlocked_feof \
1859 dnl             putc_unlocked unlocked_putc \
1860 dnl             flockfile ftrylockfile \
1861 dnl     )
1862 dnl     CPPFLAGS="$save_CPPFLAGS"
1863 dnl     LIBS="$save_LIBS"
1864 fi  
1865
1866 if test $ol_link_threads = no ; then
1867         if test $ol_with_threads = yes ; then
1868                 AC_MSG_ERROR([no suitable thread support])
1869         fi
1870
1871         if test $ol_with_threads = auto ; then
1872                 AC_MSG_WARN([no suitable thread support, disabling threads])
1873                 ol_with_threads=no
1874         fi
1875
1876         AC_DEFINE(NO_THREADS,1,
1877                 [define if you have (or want) no threads])
1878         LTHREAD_LIBS=""
1879 fi
1880
1881 if test $ol_link_threads != no ; then
1882         AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE,1)
1883 fi
1884
1885 dnl ----------------------------------------------------------------
1886 dnl Tests for reentrant functions necessary to build -lldap_r
1887 AC_CHECK_FUNCS(         \
1888         ctime_r                 \
1889         gethostbyname_r gethostbyaddr_r \
1890 )
1891
1892 if test "$ac_cv_func_ctime_r" = no ; then
1893         ol_cv_func_ctime_r_nargs=0
1894 else
1895         OL_FUNC_CTIME_R_NARGS
1896 dnl     OL_FUNC_CTIME_R_TYPE
1897 fi
1898
1899 if test "$ac_cv_func_gethostbyname_r" = yes ; then
1900         OL_FUNC_GETHOSTBYNAME_R_NARGS
1901 else
1902         ol_cv_func_gethostbyname_r_nargs=0
1903 fi
1904  
1905 if test "$ac_cv_func_gethostbyaddr_r" = yes ; then
1906         OL_FUNC_GETHOSTBYADDR_R_NARGS
1907 else
1908         ol_cv_func_gethostbyaddr_r_nargs=0
1909 fi
1910
1911 dnl ----------------------------------------------------------------
1912 ol_link_ldbm=no 
1913
1914 if test $ol_with_ldbm_api = auto \
1915         -o $ol_with_ldbm_api = berkeley \
1916         -o $ol_with_ldbm_api = bcompat ; then
1917
1918         if test $ol_with_ldbm_api = bcompat; then \
1919                 OL_BERKELEY_COMPAT_DB
1920         else
1921                 OL_BERKELEY_DB
1922         fi
1923
1924         if test $ol_cv_berkeley_db != no ; then
1925                 AC_DEFINE(HAVE_BERKELEY_DB,1,
1926                         [define this if Berkeley DB is available])
1927
1928                 ol_link_ldbm=berkeley
1929                 ol_with_ldbm_api=berkeley
1930
1931                 if test $ol_with_ldbm_type = hash ; then
1932                         AC_DEFINE(LDBM_USE_DBHASH,1,
1933                                 [define this to use DBHASH w/ LDBM backend])
1934                 else
1935                         AC_DEFINE(LDBM_USE_DBBTREE,1,
1936                                 [define this to use DBBTREE w/ LDBM backend])
1937                 fi
1938
1939                 dnl $ol_cv_lib_db should be yes or -ldb
1940                 dnl (it could be no, but that would be an error
1941                 if test $ol_cv_lib_db != yes ; then
1942                         LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db"
1943                 fi
1944         fi
1945 fi
1946
1947 if test $ol_enable_bdb = yes -a $ol_link_ldbm != berkeley ; then
1948         AC_MSG_ERROR(BDB: BerkeleyDB not available)
1949 elif test $ol_enable_bdb != no -a $ol_link_ldbm = berkeley ; then
1950         OL_BDB_COMPAT
1951
1952         if test $ol_cv_bdb_compat = yes ; then
1953                 ol_enable_bdb=yes
1954         elif test $ol_enable_bdb = yes ; then
1955                 AC_MSG_ERROR(BDB: BerkeleyDB version incompatible)
1956         else
1957                 ol_enable_bdb=no
1958         fi
1959 fi
1960
1961 if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
1962         AC_MSG_WARN(Could not find LDBM with BTREE support)
1963         ol_with_ldbm_api=none
1964 fi
1965
1966 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = mdbm ; then
1967         OL_MDBM
1968
1969         if test $ol_cv_mdbm = yes ; then
1970                 ol_link_ldbm=mdbm
1971                 ol_with_ldbm_api=mdbm
1972                 if test $ol_cv_lib_mdbm != yes ; then
1973                         LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_mdbm"
1974                 fi
1975         fi
1976 fi
1977
1978 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = gdbm ; then
1979         OL_GDBM
1980
1981         if test $ol_cv_gdbm = yes ; then
1982                 ol_link_ldbm=gdbm
1983                 ol_with_ldbm_api=gdbm
1984
1985                 if test $ol_cv_lib_gdbm != yes ; then
1986                         LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_gdbm"
1987                 fi
1988         fi
1989 fi
1990
1991 if test $ol_with_ldbm_api = ndbm ; then
1992         OL_NDBM
1993
1994         if test $ol_cv_ndbm = yes ; then
1995                 ol_link_ldbm=ndbm
1996                 ol_with_ldbm_api=ndbm
1997
1998                 if test $ol_cv_lib_ndbm != yes ; then
1999                         LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_ndbm"
2000                 fi
2001         fi
2002 fi
2003
2004 if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then
2005         AC_MSG_WARN(could not find suitable LDBM backend)
2006         if test $ol_enable_ldbm = yes ; then
2007                 AC_MSG_ERROR(select appropriate LDBM options or disable)
2008         fi
2009
2010         AC_MSG_WARN(disabling LDBM)
2011         ol_enable_ldbm=no
2012 fi
2013
2014 dnl ----------------------------------------------------------------
2015 if test $ol_enable_dynamic = yes -a $enable_shared = yes ; then
2016         BUILD_LIBS_DYNAMIC=shared
2017         AC_DEFINE(LDAP_LIBS_DYNAMIC, 1, [define if LDAP libs are dynamic])
2018 else
2019         BUILD_LIBS_DYNAMIC=static
2020 fi
2021
2022 dnl ----------------------------------------------------------------
2023 if test $ol_enable_wrappers != no ; then
2024         AC_CHECK_HEADERS(tcpd.h,[
2025                 AC_MSG_CHECKING([for TCP wrappers library])
2026                 save_LIBS="$LIBS"
2027                 LIBS="$LIBS -lwrap"
2028                 AC_TRY_LINK([
2029 #include <tcpd.h>
2030 int allow_severity = 0;
2031 int deny_severity  = 0;
2032
2033 struct request_info *req;
2034                 ],[
2035 hosts_access(req)
2036                 ],[AC_MSG_RESULT([-lwrap])
2037                 have_wrappers=yes
2038                 LIBS="$save_LIBS"],[
2039                 dnl try with -lnsl
2040                 LIBS="$LIBS -lnsl"
2041                 AC_TRY_LINK([
2042 #include <tcpd.h>
2043 int allow_severity = 0;
2044 int deny_severity  = 0;
2045
2046 struct request_info *req;
2047                 ],[
2048 hosts_access(req)
2049                 ],[AC_MSG_RESULT([-lwrap -lnsl])
2050                 have_wrappers=yes
2051                 LIBS="$save_LIBS -lnsl"],[
2052                 AC_MSG_RESULT(no)
2053                 have_wrappers=no
2054                 LIBS=$save_LIBS])],[
2055                 have_wrappers=no])],[have_wrappers=no])
2056
2057         if test $have_wrappers = yes ; then
2058                 AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
2059                 WRAP_LIBS="-lwrap"
2060         elif test $ol_enable_wrappers = yes ; then
2061                 AC_MSG_ERROR([could not find TCP wrappers, select apppropriate options ore disable])
2062         else
2063                 AC_MSG_WARN([could not find TCP wrappers, support disabled])
2064                 WRAP_LIBS=""
2065         fi
2066 fi
2067
2068 dnl ----------------------------------------------------------------
2069 if test $ol_enable_syslog != no ; then
2070         AC_CHECK_FUNC(openlog)
2071         if test $ac_cv_func_openlog = no -a $ol_enable_syslog = yes; then
2072                 AC_MSG_ERROR(could not find syslog, select appropriate options or disable)
2073         fi
2074         ol_enable_syslog=$ac_cv_func_openlog
2075 fi
2076
2077 dnl ----------------------------------------------------------------
2078 dnl dmalloc support (deprecated in favor of -DCSRIMALLOC support)
2079 dnl if test $ol_enable_dmalloc != no ; then
2080 dnl     AC_CHECK_HEADERS(dmalloc.h)
2081 dnl     AC_CHECK_LIB(dmalloc, dmalloc_shutdown)
2082 dnl fi
2083
2084 dnl ----------------------------------------------------------------
2085 dnl SQL
2086 ol_link_sql=no
2087 if test $ol_enable_sql != no ; then
2088         AC_CHECK_HEADERS(sql.h sqlext.h,[],[
2089                 AC_MSG_ERROR([could not locate SQL headers])
2090         ])
2091
2092         AC_CHECK_LIB(iodbc,SQLDriverConnect,[have_iodbc=yes],[have_iodbc=no])
2093         if test $have_iodbc = yes ; then
2094                 ol_link_sql="-liodbc"
2095         else
2096                 AC_CHECK_LIB(odbc,SQLDriverConnect,[have_odbc=yes],[have_odbc=no])
2097                 if test $have_odbc = yes ; then
2098                         ol_link_sql="-lodbc"
2099                 fi
2100         fi
2101
2102         if test $ol_link_sql != no ; then
2103                 SLAPD_SQL_LIBS="$ol_link_sql"
2104
2105         elif test $ol_enable_sql != auto ; then
2106                 AC_MSG_ERROR([could not locate suitable ODBC library])
2107         fi
2108 fi
2109
2110 dnl ----------------------------------------------------------------
2111 dnl TCL
2112 if test $ol_enable_tcl != no ; then
2113         AC_CHECK_HEADERS(tcl.h)
2114
2115         if test $ac_cv_header_tcl_h != yes ; then
2116                 have_tcl=no
2117         else
2118                 for lib in tcl tcl7.6 tcl8.0 tcl8.2 ; do
2119                         AC_CHECK_LIB($lib,main,
2120                           [have_tcl=yes
2121                            if test x"$ol_with_tcl_module" = "xstatic" ; then
2122                                         SLAPD_LIBS="$SLAPD_LIBS -l${lib}"
2123                            else
2124                                         MOD_TCL_LIB="-l${lib}"
2125                            fi;break],[have_tcl=no])
2126                 done
2127         fi
2128
2129         if test $have_tcl != yes ; then
2130                 AC_MSG_WARN([could not find -ltcl])
2131                 if test $ol_enable_tcl = yes ; then
2132                         AC_MSG_ERROR([could not find tcl, select appropriate options or disable])
2133                 fi
2134
2135                 ol_enable_tcl=no
2136         fi
2137 fi
2138
2139 dnl ----------------------------------------------------------------
2140 dnl ud needs termcap (should insert check here)
2141 ol_link_termcap=no
2142 AC_CHECK_HEADERS(termcap.h ncurses.h)
2143
2144 if test $ol_link_termcap = no ; then
2145         AC_CHECK_LIB(termcap, tputs, [have_termcap=yes], [have_termcap=no])
2146         if test $have_termcap = yes ; then
2147                 AC_DEFINE(HAVE_TERMCAP, 1, [define if you have -ltermcap])
2148                 ol_link_termcap=yes
2149                 TERMCAP_LIBS=-ltermcap
2150         fi
2151 fi
2152
2153 if test $ol_link_termcap = no ; then
2154         AC_CHECK_LIB(ncurses, initscr, [have_ncurses=yes], [have_ncurses=no])
2155         if test $have_ncurses = yes ; then
2156                 AC_DEFINE(HAVE_NCURSES, 1, [define if you have -lncurses])
2157                 ol_link_termcap=yes
2158                 TERMCAP_LIBS=-lncurses
2159         fi
2160 fi
2161
2162 if test $ol_link_termcap = no ; then
2163         AC_DEFINE(NO_TERMCAP,1, [define if you have no termcap support])
2164         TERMCAP_LIBS=
2165 fi
2166
2167 dnl ----------------------------------------------------------------
2168 dnl
2169 dnl Check for Cyrus SASL
2170 dnl
2171 ol_link_sasl=no
2172 ol_link_spasswd=no
2173 if test $ol_with_cyrus_sasl != no ; then
2174         AC_CHECK_HEADERS(sasl/sasl.h sasl.h)
2175
2176         if test $ac_cv_header_sasl_sasl_h = yes -o $ac_cv_header_sasl_h = yes; then
2177                 AC_CHECK_LIB(sasl2, sasl_client_init,
2178                         [ol_link_sasl="-lsasl2"],
2179                         [AC_CHECK_LIB(sasl, sasl_client_init,
2180                                 [ol_link_sasl="-lsasl"])])
2181         fi
2182
2183         if test $ol_link_sasl = no ; then
2184                 if test $ol_with_cyrus_sasl != auto ; then
2185                         AC_MSG_ERROR([Could not locate Cyrus SASL])
2186                 else
2187                         AC_MSG_WARN([Could not locate Cyrus SASL])
2188                         AC_MSG_WARN([SASL authentication not supported!])
2189                         if test $ol_link_tls = no ; then
2190                                 AC_MSG_WARN([Strong authentication not supported!])
2191                         fi
2192                 fi
2193         else
2194                 OL_SASL_COMPAT
2195                 if test $ol_cv_sasl_compat = no ; then
2196                         ol_link_sasl=no
2197                         AC_MSG_ERROR([Cyrus SASL library located but incompatible])
2198                 fi
2199
2200                 AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
2201                 SASL_LIBS="$ol_link_sasl"
2202                 if test $ol_enable_spasswd != no ; then
2203                         ol_link_spasswd=yes
2204                 fi
2205
2206                 ac_save_LIBS="$LIBS"
2207                 LIBS="$LIBS $ol_link_sasl"
2208                 AC_CHECK_FUNC(sasl_version, [AC_DEFINE(HAVE_SASL_VERSION,1,
2209                         [define if your SASL library has sasl_version()])])
2210                 LIBS="$ac_save_LIBS"
2211         fi
2212
2213 else
2214         AC_MSG_WARN([SASL authentication not supported!])
2215         if test $ol_link_tls = no ; then
2216                 AC_MSG_WARN([Strong authentication not supported!])
2217         fi
2218 fi
2219
2220 dnl ----------------------------------------------------------------
2221 dnl Check for entropy sources
2222 if test $cross_compiling != yes -a "$ac_cv_mingw32" != yes ; then
2223         dev=no
2224         if test -r /dev/urandom ; then
2225                 dev="/dev/urandom";
2226         elif test -r /idev/urandom ; then
2227                 dev="/idev/urandom";
2228         elif test -r /dev/srandom ; then
2229                 dev="/dev/srandom";
2230         elif test -r /dev/random ; then
2231                 dev="/dev/random";
2232         elif test -r /idev/random ; then
2233                 dev="/idev/random";
2234         fi
2235
2236         if test $dev != no ; then
2237                 AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device])
2238         fi
2239 fi
2240
2241 dnl ----------------------------------------------------------------
2242 dnl
2243 dnl Check for fetch URL support
2244 dnl             should be extended to support other fetch URL APIs
2245 dnl
2246 ol_link_fetch=no
2247 if test $ol_with_fetch != no ; then
2248         OL_LIB_FETCH
2249
2250         if test $ol_cv_lib_fetch != no ; then
2251                 LDIF_LIBS="$LDIF_LIBS $ol_link_fetch"
2252                 ol_link_fetch=freebsd
2253
2254         elif test $ol_with_fetch != auto ; then
2255                 AC_MSG_ERROR(no suitable API for --with-fetch=$ol_with_fetch)
2256         fi 
2257 fi
2258
2259 dnl ----------------------------------------------------------------
2260 dnl
2261 dnl Check for GNU readline
2262 dnl
2263 ol_link_readline=no
2264 if test $ol_with_readline != no ; then
2265         AC_CHECK_HEADERS(readline/readline.h readline/history.h)
2266
2267         if test $ac_cv_header_readline_readline_h = yes ; then
2268                 save_LIBS="$LIBS"
2269                 LIBS="$TERMCAP_LIBS $LIBS"
2270                 AC_CHECK_LIB(readline, readline, 
2271                         [have_readline=yes], [have_readline=no])
2272                 LIBS="$save_LIBS"
2273                         
2274                 if test $have_readline = yes ; then
2275                         ol_with_readline=found
2276                         ol_link_readline=yes
2277
2278                         READLINE_LIBS="-lreadline"
2279                 fi
2280         fi
2281 fi
2282
2283 if test $ol_link_readline = yes ; then
2284         AC_DEFINE(HAVE_READLINE, 1, [define if you have -lreadline])
2285 fi
2286
2287
2288 dnl ----------------------------------------------------------------
2289 dnl FreeBSD (and others) have crypt(3) in -lcrypt
2290 if test $ol_enable_crypt != no ; then
2291         save_LIBS="$LIBS"
2292         LIBS="$TLS_LIBS $LIBS"
2293
2294         AC_CHECK_FUNC(crypt, [have_crypt=yes], [
2295                 LIBS="$save_LIBS"
2296                 AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
2297                         have_crypt=yes], [have_crypt=no])])
2298
2299         LIBS="$save_LIBS"
2300
2301         if test $have_crypt = yes ; then
2302                 AC_DEFINE(HAVE_CRYPT,1, [define if crypt(3) is available])
2303         else
2304                 AC_MSG_WARN(could not find crypt)
2305                 if test $ol_enable_crypt = yes ; then
2306                         AC_MSG_ERROR(could not find crypt, select appropriate options or disable)
2307                 fi
2308
2309                 AC_MSG_WARN(disabling crypt support)
2310                 ol_enable_crypt=no
2311         fi
2312 fi
2313
2314 dnl ----------------------------------------------------------------
2315 dnl FreeBSD (and others) have setproctitle(3) in -lutil
2316 if test $ol_enable_proctitle != no ; then
2317         AC_CHECK_FUNC(setproctitle,     [have_setproctitle=yes], [
2318                 AC_CHECK_LIB(util, setproctitle,
2319                         [have_setproctitle=yes
2320                         LUTIL_LIBS="$LUTIL_LIBS -lutil"],
2321                         [have_setproctitle=no
2322                         LIBOBJS="$LIBOBJS setproctitle.o"
2323                         LIBSRCS="$LIBSRCS setproctitle.c"])])
2324
2325         if test $have_setproctitle = yes ; then
2326                 AC_DEFINE(HAVE_SETPROCTITLE,1,
2327                         [define if setproctitle(3) is available])
2328         fi
2329 fi
2330
2331 dnl ----------------------------------------------------------------
2332 dnl Check for SLPv2 Compliant API Library
2333 if test $ol_enable_slp != no ; then
2334         AC_CHECK_HEADERS( slp.h )
2335
2336         if test $ac_cv_header_slp_h = yes ; then
2337                 AC_CHECK_LIB(slp, SLPOpen, [have_slp=yes], [have_slp=no])
2338                 if test $have_slp = yes ; then
2339                         AC_DEFINE(HAVE_SLP, 1, [define if you have -lslp])
2340                         SLAPD_SLP_LIBS=-lslp
2341                 fi
2342
2343         elif test $ol_enable_slp = yes ; then
2344                 AC_MSG_ERROR([SLP not found])
2345         fi
2346 fi
2347
2348 dnl ----------------------------------------------------------------
2349 dnl Checks for typedefs, structures, and compiler characteristics.
2350 AC_TYPE_MODE_T
2351 AC_TYPE_OFF_T
2352 AC_TYPE_PID_T
2353 AM_TYPE_PTRDIFF_T
2354 AC_TYPE_SIGNAL
2355 AC_TYPE_SIZE_T
2356
2357 AC_CHECK_TYPE(ssize_t, [signed int])
2358 AC_CHECK_TYPE(caddr_t,  [char *])
2359
2360 OL_TYPE_SOCKLEN_T
2361 AC_STRUCT_ST_BLKSIZE
2362 AC_HEADER_TIME
2363 AC_STRUCT_TM
2364 AC_TYPE_UID_T
2365 OL_TYPE_SIG_ATOMIC_T
2366
2367 dnl AC_TYPE_GETGROUPS
2368
2369 OL_STRUCT_PASSWD_PW_GECOS
2370 OL_STRUCT_PASSWD_PW_PASSWD
2371
2372 OL_C_UPPER_LOWER
2373 AC_C_CONST
2374 OL_C_VOLATILE
2375
2376 if test $cross_compiling = yes ; then
2377         AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
2378 else
2379         AC_C_BIGENDIAN
2380 fi
2381
2382 AC_COMPILE_CHECK_SIZEOF(short) 
2383 AC_COMPILE_CHECK_SIZEOF(int) 
2384 AC_COMPILE_CHECK_SIZEOF(long)
2385
2386 if test "$ac_cv_sizeof_int" -lt 4 ; then
2387         AC_MSG_WARN([OpenLDAP requires 'int' to be 32 bits or greater.])
2388
2389         AC_DEFINE(LBER_INT_T,long)
2390 else
2391         AC_DEFINE(LBER_INT_T,int)
2392 fi
2393
2394 AC_DEFINE(LBER_LEN_T,long)
2395 AC_DEFINE(LBER_SOCKET_T,int)
2396 AC_DEFINE(LBER_TAG_T,long)
2397
2398 dnl ----------------------------------------------------------------
2399 dnl Checks for library functions.
2400 AC_FUNC_MEMCMP
2401 dnl AM_FUNC_MKTIME dnl checks for sys/time.h and unistd.h
2402 AC_FUNC_STRFTIME
2403 dnl AM_FUNC_STRTOD
2404
2405 OL_FUNC_INET_ATON
2406
2407 dnl Check for NT specific routines
2408 AC_CHECK_FUNC(_spawnlp, AC_DEFINE(HAVE_SPAWNLP,1,[if you have spawnlp()]))
2409
2410 AC_CHECK_FUNC(_snprintf, [ac_cv_func_snprintf=yes
2411         AC_DEFINE(snprintf, _snprintf, [define to snprintf routine])
2412 ])
2413
2414 AC_CHECK_FUNC(_vsnprintf, [ac_cv_func_vsnprintf=yes
2415         AC_DEFINE(vsnprintf, _vsnprintf, [define to vsnprintf routine])
2416 ])
2417
2418 AC_FUNC_VPRINTF
2419
2420 if test $ac_cv_func_vprintf = yes ; then
2421         dnl check for vsnprintf
2422         AC_CHECK_FUNCS(snprintf vsnprintf)
2423 fi
2424
2425 AC_CHECK_FUNCS(         \
2426         bcopy                   \
2427         closesocket             \
2428         chroot                  \
2429         endgrent                \
2430         endpwent                \
2431         fcntl                   \
2432         flock                   \
2433         fstat                   \
2434         getdtablesize   \
2435         getgrgid                \
2436         gethostname             \
2437         getpass                 \
2438         getpassphrase   \
2439         getpwuid                \
2440         getpwnam                \
2441         getspnam                \
2442         gettimeofday    \
2443         initgroups              \
2444         lockf                   \
2445         memcpy                  \
2446         memmove                 \
2447         mkstemp                 \
2448         mktemp                  \
2449         pipe                    \
2450         read                    \
2451         recv                    \
2452         recvfrom                \
2453         setpwfile               \
2454         setgid                  \
2455         setegid                 \
2456         setsid                  \
2457         setuid                  \
2458         seteuid                 \
2459         sigaction               \
2460         signal                  \
2461         sigset                  \
2462         strdup                  \
2463         strerror                \
2464         strpbrk                 \
2465         strrchr                 \
2466         strsep                  \
2467         strstr                  \
2468         strtol                  \
2469         strtoul                 \
2470         strspn                  \
2471         sysconf                 \
2472         usleep                  \
2473         waitpid                 \
2474         wait4                   \
2475         write                   \
2476         send                    \
2477         sendto                  \
2478 )
2479
2480 dnl We actually may need to replace more than this.
2481 AC_REPLACE_FUNCS(getopt)
2482
2483 if test "$ac_cv_func_getopt" != yes; then
2484         LIBSRCS="$LIBSRCS getopt.c"
2485 fi
2486 if test "$ac_cv_func_snprintf" != yes -o "$ac_cv_func_vsnprintf" != yes; then
2487         if test "$ac_cv_func_snprintf" != yes; then
2488                 AC_DEFINE(snprintf, ber_pvt_snprintf, [define to snprintf routine])
2489         fi
2490         if test "$ac_cv_func_vsnprintf" != yes; then
2491                 AC_DEFINE(vsnprintf, ber_pvt_vsnprintf, [define to snprintf routine])
2492         fi
2493 fi
2494
2495 dnl ----------------------------------------------------------------
2496 # Check Configuration
2497 OL_SYS_ERRLIST
2498
2499 dnl ----------------------------------------------------------------
2500 dnl Sort out defines
2501
2502 if test "$ol_enable_debug" != no ; then
2503         AC_DEFINE(LDAP_DEBUG,1,
2504                 [define this to add debugging code])
2505 fi
2506 if test "$ol_enable_syslog" = yes ; then
2507         AC_DEFINE(LDAP_SYSLOG,1,
2508                 [define this to add syslog code])
2509 fi
2510 if test "$ol_enable_cache" = no ; then
2511         AC_DEFINE(LDAP_NOCACHE,1,
2512                 [define this to remove -lldap cache support])
2513 fi
2514 if test "$ol_link_kbind" != no ; then
2515         AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND,LDAP_VENDOR_VERSION)
2516 fi
2517 if test "$ol_enable_proctitle" != no ; then
2518         AC_DEFINE(LDAP_PROCTITLE,1,
2519                 [define this for LDAP process title support])
2520 fi
2521 if test "$ol_enable_referrals" != no ; then
2522         AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS,LDAP_VENDOR_VERSION)
2523 fi
2524 if test "$ol_enable_local" != no; then
2525         AC_DEFINE(LDAP_PF_LOCAL,1,[define to support PF_LOCAL])
2526 fi
2527 if test "$ol_link_ipv6" != no; then
2528         AC_DEFINE(LDAP_PF_INET6,1,[define to support PF_INET6])
2529 fi
2530 if test "$ol_enable_cleartext" != no ; then
2531         AC_DEFINE(SLAPD_CLEARTEXT,1,[define to support cleartext passwords])
2532 fi
2533 if test "$ol_enable_crypt" != no ; then
2534         AC_DEFINE(SLAPD_CRYPT,1,[define to support crypt(3) passwords])
2535 fi
2536 if test "$ol_link_kpasswd" != no ; then
2537         AC_DEFINE(SLAPD_KPASSWD,1,[define to support Kerberos passwords])
2538 fi
2539 if test "$ol_link_spasswd" != no ; then
2540         AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords])
2541 fi
2542 if test "$ol_enable_multimaster" != no ; then
2543         AC_DEFINE(SLAPD_MULTIMASTER,1,[define to support multimaster replication])
2544 fi
2545 if test "$ol_enable_phonetic" != no ; then
2546         AC_DEFINE(SLAPD_PHONETIC,1,[define to support phonetic])
2547 fi
2548 if test "$ol_enable_rlookups" != no ; then
2549         AC_DEFINE(SLAPD_RLOOKUPS,1,[define to support reverse lookups])
2550 fi
2551 if test "$ol_enable_aci" != no ; then
2552         AC_DEFINE(SLAPD_ACI_ENABLED,1,[define to support per-object ACIs])
2553 fi
2554
2555 if test "$ol_link_modules" != no ; then
2556         AC_DEFINE(SLAPD_MODULES,1,[define to support modules])
2557         BUILD_SLAPD=yes
2558         SLAPD_MODULES_LDFLAGS="-dlopen self"
2559 fi
2560
2561 if test "$ol_enable_bdb" != no ; then
2562         AC_DEFINE(SLAPD_BDB,1,[define to support BDB backend])
2563         BUILD_SLAPD=yes
2564         BUILD_BDB=yes
2565         if test "$ol_with_bdb_module" != static ; then
2566                 AC_DEFINE(SLAPD_BDB_DYNAMIC,1,
2567                         [define to support dynamic BDB backend])
2568                 BUILD_BDB=mod
2569                 BUILD_BDB_DYNAMIC=shared
2570                 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-bdb"
2571         else
2572                 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-bdb"
2573         fi
2574 fi
2575
2576 if test "$ol_link_dnssrv" != no ; then
2577         AC_DEFINE(SLAPD_DNSSRV,1,[define to support DNS SRV backend])
2578         BUILD_SLAPD=yes
2579         BUILD_DNSSRV=yes
2580         if test "$ol_with_dnssrv_module" != static ; then
2581                 AC_DEFINE(SLAPD_DNSSRV_DYNAMIC,1,
2582                         [define to support dynamic DNS SRV backend])
2583                 BUILD_DNSSRV=mod
2584                 BUILD_DNSSRV_DYNAMIC=shared
2585                 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-dnssrv"
2586         else
2587                 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-dnssrv"
2588         fi
2589 fi
2590
2591 if test "$ol_enable_ldap" != no ; then
2592         AC_DEFINE(SLAPD_LDAP,1,[define to support LDAP backend])
2593         BUILD_SLAPD=yes
2594         BUILD_LDAP=yes
2595         if test "$ol_with_ldap_module" != static ; then
2596                 AC_DEFINE(SLAPD_LDAP_DYNAMIC,1,
2597                         [define to support dynamic LDAP backend])
2598                 BUILD_LDAP=mod
2599                 BUILD_LDAP_DYNAMIC=shared
2600                 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldap"
2601         else
2602                 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldap"
2603         fi
2604 fi
2605
2606 if test "$ol_link_ldbm" != no -a $ol_enable_ldbm != no; then
2607         AC_DEFINE(SLAPD_LDBM,1,[define to support LDBM backend])
2608         BUILD_SLAPD=yes
2609         BUILD_LDBM=yes
2610         if test "$ol_with_ldbm_module" != static ; then
2611                 AC_DEFINE(SLAPD_LDBM_DYNAMIC,1,
2612                         [define to support dynamic LDBM backend])
2613                 BUILD_LDBM=mod
2614                 BUILD_LDBM_DYNAMIC=shared
2615                 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldbm"
2616         else
2617                 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldbm"
2618         fi
2619 fi
2620
2621 if test "$ol_enable_meta" != no ; then
2622         if test "$ol_enable_ldap" = no ; then
2623                 AC_MSG_ERROR([need --enable-ldap to use --enable-meta])
2624         fi
2625         if test "$ol_enable_rewrite" = no ; then
2626                 AC_MSG_ERROR([need --enable-rewrite to use --enable-meta])
2627         fi
2628         AC_DEFINE(SLAPD_META,1,[define to support LDAP Metadirectory backend])
2629         BUILD_SLAPD=yes
2630         BUILD_META=yes
2631         BUILD_LDAP=yes
2632         BUILD_REWRITE=yes
2633         if test "$ol_with_meta_module" != static ; then
2634                 AC_DEFINE(SLAPD_META_DYNAMIC,1,
2635                         [define to support dynamic LDAP Metadirectory backend])
2636                 BUILD_META=mod
2637                 BUILD_META_DYNAMIC=shared
2638                 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-meta"
2639         else
2640                 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-meta"
2641         fi
2642 fi
2643
2644 if test "$ol_enable_monitor" != no ; then
2645         AC_DEFINE(SLAPD_MONITOR,1,[define to support cn=Monitor backend])
2646         BUILD_SLAPD=yes
2647         BUILD_MONITOR=yes
2648         if test "$ol_with_monitor_module" != static ; then
2649                 AC_DEFINE(SLAPD_MONITOR_DYNAMIC,1,
2650                         [define to support dynamic cn=Monitor backend])
2651                 BUILD_MONITOR=mod
2652                 BUILD_MONITOR_DYNAMIC=shared
2653                 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-monitor"
2654         else
2655                 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-monitor"
2656         fi
2657 fi
2658
2659 if test "$ol_enable_null" != no ; then
2660         AC_DEFINE(SLAPD_NULL,1,[define to support NULL backend])
2661         BUILD_SLAPD=yes
2662         BUILD_NULL=yes
2663         if test "$ol_with_null_module" != static ; then
2664                 AC_DEFINE(SLAPD_NULL_DYNAMIC,1,
2665                         [define to support dynamic NULL backend])
2666                 BUILD_NULL=mod
2667                 BUILD_NULL_DYNAMIC=shared
2668                 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-null"
2669         else
2670                 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-null"
2671         fi
2672 fi
2673
2674 if test "$ol_enable_passwd" != no ; then
2675         AC_DEFINE(SLAPD_PASSWD,1,[define to support PASSWD backend])
2676         BUILD_SLAPD=yes
2677         BUILD_PASSWD=yes
2678         if test "$ol_with_passwd_module" != static ; then
2679                 AC_DEFINE(SLAPD_PASSWD_DYNAMIC,1,
2680                         [define to support dynamic PASSWD backend])
2681                 BUILD_PASSWD=mod
2682                 BUILD_PASSWD_DYNAMIC=shared
2683                 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-passwd"
2684         else
2685                 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-passwd"
2686         fi
2687 fi
2688
2689 if test "$ol_link_perl" != no ; then
2690         AC_DEFINE(SLAPD_PERL,1,[define to support PERL backend])
2691         BUILD_SLAPD=yes
2692         BUILD_PERL=yes
2693         if test "$ol_with_perl_module" != static ; then
2694                 AC_DEFINE(SLAPD_PERL_DYNAMIC,1,
2695                         [define to support dynamic PERL backend])
2696                 BUILD_PERL=mod
2697                 BUILD_PERL_DYNAMIC=shared
2698                 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-perl"
2699         else
2700                 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-perl"
2701         fi
2702 fi
2703
2704 if test "$ol_enable_shell" != no ; then
2705         if test "$ol_link_thread" != no ; then
2706                 AC_MSG_WARN([Use of --without-threads is recommended with back-shell])
2707         fi
2708         AC_DEFINE(SLAPD_SHELL,1,[define to support SHELL backend])
2709         BUILD_SLAPD=yes
2710         BUILD_SHELL=yes
2711         if test "$ol_with_shell_module" != static ; then
2712                 AC_DEFINE(SLAPD_SHELL_DYNAMIC,1,
2713                         [define to support dynamic SHELL backend])
2714                 BUILD_SHELL=mod
2715                 BUILD_SHELL_DYNAMIC=shared
2716                 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-shell"
2717         else
2718                 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-shell"
2719         fi
2720 fi
2721
2722 if test "$ol_enable_tcl" != no ; then
2723         AC_DEFINE(SLAPD_TCL,1,[define to support TCL backend])
2724         BUILD_SLAPD=yes
2725         BUILD_TCL=yes
2726         if test "$ol_with_tcl_module" != static; then
2727                 AC_DEFINE(SLAPD_TCL_DYNAMIC,1,
2728                         [define to support dynamic TCL backend])
2729                 BUILD_TCL=mod
2730                 BUILD_TCL_DYNAMIC=shared
2731                 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-tcl"
2732         else
2733                 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-tcl"
2734         fi
2735 fi
2736
2737 if test "$ol_link_sql" != no ; then
2738         AC_DEFINE(SLAPD_SQL,1,[define to support SQL backend])
2739         BUILD_SLAPD=yes
2740         BUILD_SQL=yes
2741         if test "$ol_with_sql_module" != static; then
2742                 AC_DEFINE(SLAPD_SQL_DYNAMIC,1,
2743                         [define to support dynamic SQL backend])
2744                 BUILD_SQL=mod
2745                 BUILD_SQL_DYNAMIC=shared
2746                 SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sql"
2747         else
2748                 SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sql"
2749         fi
2750 fi
2751
2752 if test "$ol_enable_slurpd" != no -a "$ol_link_threads" != no -a \
2753         $BUILD_SLAPD = yes ; then
2754         BUILD_SLURPD=yes
2755 fi
2756
2757 if test "$ol_enable_rewrite" != no ; then
2758         AC_DEFINE(ENABLE_REWRITE,1,[define to enable rewriting in back-ldap and back-meta])
2759         BUILD_REWRITE=yes
2760 fi
2761
2762 dnl ----------------------------------------------------------------
2763
2764 dnl
2765 dnl For Windows build, we don't want to include -dlopen flags.
2766 dnl They hurt more than they help.
2767 dnl
2768
2769 if test "$ac_cv_mingw32" = yes ; then
2770         PLAT=NT
2771         SLAPD_MODULES_LDFLAGS=
2772 else
2773         PLAT=UNIX
2774 fi
2775
2776 if test -z "$SLAPD_STATIC_BACKENDS"; then
2777         SLAPD_NO_STATIC='#'
2778 else
2779         SLAPD_NO_STATIC=
2780 fi
2781
2782 AC_SUBST(LIBSRCS)
2783 AC_SUBST(PLAT)
2784 AC_SUBST(BUILD_LIBS_DYNAMIC)
2785
2786 AC_SUBST(BUILD_SLAPD)
2787   AC_SUBST(BUILD_BDB)
2788   AC_SUBST(BUILD_DNSSRV)
2789   AC_SUBST(BUILD_LDAP)
2790   AC_SUBST(BUILD_LDBM)
2791   AC_SUBST(BUILD_META)
2792   AC_SUBST(BUILD_MONITOR)
2793   AC_SUBST(BUILD_NULL)
2794   AC_SUBST(BUILD_PASSWD)
2795   AC_SUBST(BUILD_PERL)
2796   AC_SUBST(BUILD_SHELL)
2797   AC_SUBST(BUILD_SQL)
2798   AC_SUBST(BUILD_TCL)
2799   AC_SUBST(BUILD_BDB_DYNAMIC)
2800   AC_SUBST(BUILD_DNSSRV_DYNAMIC)
2801   AC_SUBST(BUILD_LDAP_DYNAMIC)
2802   AC_SUBST(BUILD_LDBM_DYNAMIC)
2803   AC_SUBST(BUILD_META_DYNAMIC)
2804   AC_SUBST(BUILD_MONITOR_DYNAMIC)
2805   AC_SUBST(BUILD_NULL_DYNAMIC)
2806   AC_SUBST(BUILD_PASSWD_DYNAMIC)
2807   AC_SUBST(BUILD_PERL_DYNAMIC)
2808   AC_SUBST(BUILD_SHELL_DYNAMIC)
2809   AC_SUBST(BUILD_SQL_DYNAMIC)
2810   AC_SUBST(BUILD_TCL_DYNAMIC)
2811 AC_SUBST(BUILD_SLURPD)
2812
2813 AC_SUBST(LDAP_LIBS)
2814 AC_SUBST(LDIF_LIBS)
2815 AC_SUBST(SLAPD_LIBS)
2816 AC_SUBST(SLURPD_LIBS)
2817 AC_SUBST(LDBM_LIBS)
2818 AC_SUBST(LTHREAD_LIBS)
2819 AC_SUBST(LUTIL_LIBS)
2820 AC_SUBST(WRAP_LIBS)
2821 AC_SUBST(MOD_TCL_LIB)
2822
2823 AC_SUBST(SLAPD_MODULES_CPPFLAGS)
2824 AC_SUBST(SLAPD_MODULES_LDFLAGS)
2825
2826 AC_SUBST(SLAPD_NO_STATIC)
2827 AC_SUBST(SLAPD_STATIC_BACKENDS)
2828 AC_SUBST(SLAPD_DYNAMIC_BACKENDS)
2829
2830 AC_SUBST(PERL_CPPFLAGS)
2831 AC_SUBST(SLAPD_PERL_LDFLAGS)
2832 AC_SUBST(MOD_PERL_LDFLAGS)
2833
2834 AC_SUBST(KRB4_LIBS)
2835 AC_SUBST(KRB5_LIBS)
2836 AC_SUBST(READLINE_LIBS)
2837 AC_SUBST(SASL_LIBS)
2838 AC_SUBST(TERMCAP_LIBS)
2839 AC_SUBST(TLS_LIBS)
2840 AC_SUBST(MODULES_LIBS)
2841 AC_SUBST(AUTH_LIBS)
2842
2843 AC_SUBST(SLAPD_SLP_LIBS)
2844
2845 AC_SUBST(SLAPD_SQL_LDFLAGS)
2846 AC_SUBST(SLAPD_SQL_LIBS)
2847 AC_SUBST(SLAPD_SQL_INCLUDES)
2848
2849 dnl ----------------------------------------------------------------
2850 dnl final help output
2851 AC_ARG_WITH(xxinstall,[
2852 See INSTALL file for further details.])
2853
2854 dnl ----------------------------------------------------------------
2855 dnl final output
2856 dnl
2857
2858 AC_OUTPUT( \
2859 Makefile:build/top.mk:Makefile.in:build/dir.mk \
2860 doc/Makefile:build/top.mk:doc/Makefile.in:build/dir.mk \
2861 doc/man/Makefile:build/top.mk:doc/man/Makefile.in:build/dir.mk \
2862 doc/man/man1/Makefile:build/top.mk:doc/man/man1/Makefile.in:build/man.mk \
2863 doc/man/man3/Makefile:build/top.mk:doc/man/man3/Makefile.in:build/man.mk \
2864 doc/man/man5/Makefile:build/top.mk:doc/man/man5/Makefile.in:build/man.mk \
2865 doc/man/man8/Makefile:build/top.mk:doc/man/man8/Makefile.in:build/man.mk \
2866 clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.mk \
2867 clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk \
2868 include/Makefile:build/top.mk:include/Makefile.in \
2869 libraries/Makefile:build/top.mk:libraries/Makefile.in:build/dir.mk      \
2870 libraries/libavl/Makefile:build/top.mk:libraries/libavl/Makefile.in:build/lib.mk:build/lib-static.mk    \
2871 libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk:build/lib-shared.mk  \
2872 libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk:build/lib-shared.mk  \
2873 libraries/libldap_r/Makefile:build/top.mk:libraries/libldap_r/Makefile.in:build/lib.mk:build/lib-shared.mk      \
2874 libraries/libldbm/Makefile:build/top.mk:libraries/libldbm/Makefile.in:build/lib.mk:build/lib-static.mk  \
2875 libraries/libldif/Makefile:build/top.mk:libraries/libldif/Makefile.in:build/lib.mk:build/lib-static.mk  \
2876 libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk  \
2877 libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk        \
2878 libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-static.mk \
2879 servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \
2880 servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
2881 servers/slapd/back-bdb/Makefile:build/top.mk:servers/slapd/back-bdb/Makefile.in:build/mod.mk \
2882 servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk \
2883 servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/mod.mk \
2884 servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/mod.mk \
2885 servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk \
2886 servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk \
2887 servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/Makefile.in:build/mod.mk \
2888 servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk \
2889 servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk \
2890 servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk \
2891 servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk \
2892 servers/slapd/back-tcl/Makefile:build/top.mk:servers/slapd/back-tcl/Makefile.in:build/mod.mk \
2893 servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk \
2894 servers/slapd/tools/Makefile:build/top.mk:servers/slapd/tools/Makefile.in \
2895 servers/slurpd/Makefile:build/top.mk:servers/slurpd/Makefile.in:build/srv.mk \
2896 tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk \
2897 tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \
2898 ,[
2899 date > stamp-h
2900 echo Please run \"make depend\" to build dependencies
2901 ])