]> git.sur5r.net Git - openldap/blob - configure.in
0c1938fa64ab0ccab2dcb48c08c5390cea53f115
[openldap] / configure.in
1 dnl Copyright 1998 The OpenLDAP Foundation.  All Rights Reserved.
2 dnl 
3 dnl Redistribution and use in source and binary forms are permitted only
4 dnl as authorized by the OpenLDAP Public License.  A copy of this
5 dnl license is available at http://www.OpenLDAP.org/license.html or
6 dnl in file LICENSE in the top-level directory of the distribution.
7 dnl ----
8 dnl Configure.in for OpenLDAP
9 dnl
10 AC_INIT(include/ldap.h)
11 dnl
12 dnl
13 AC_PREREQ(2.10)dnl Required Autoconf version
14 dnl Do not use AutoConf 2.12; it produces a configuration script
15 dnl that causes an "internal 2K buffer" error on HPUX when run
16 dnl with /bin/sh.  Autoconf 2.10 seems to be okay.
17 AC_CONFIG_AUX_DIR(build)
18 AC_CONFIG_HEADER(include/portable.h)dnl
19 dnl
20 dnl Start Args
21 AC_MSG_CHECKING(configure arguments)
22 AC_PREFIX_DEFAULT(/usr/local)
23
24 dnl General "enable" options
25 OL_ARG_ENABLE(debug,[  --enable-debug   enable debugging], yes)dnl
26 dnl OL_ARG_ENABLE(syslog,[  --enable-syslog     enable syslog support], auto)dnl
27 OL_ARG_ENABLE(libui,[  --enable-libui   enable library user interface], yes)dnl
28 OL_ARG_ENABLE(cache,[  --enable-cache   enable caching], yes)dnl
29 OL_ARG_ENABLE(dns,[  --enable-dns       enable dns support], no)dnl
30 OL_ARG_ENABLE(referrals,[  --enable-referrals   enable referrals], yes)dnl
31 OL_ARG_ENABLE(cldap,[  --enable-clapd   enable connectionless ldap], no)dnl
32
33 dnl General "with" options
34 OL_ARG_WITH(kerberos,[  --with-kerberos use Kerberos],
35         auto, [auto k5 k4 afs yes no])
36 OL_ARG_WITH(threads,[  --with-threads   use threads],
37         auto, [auto posix dce mach yes no manual] )
38
39 dnl Server options
40
41 dnl LDAPD OPTIONS
42 OL_ARG_ENABLE(ldapd,[  --enable-ldapd   enable building ldapd], no)dnl
43
44 dnl SLAPD OPTIONS
45 OL_ARG_ENABLE(slapd,[  --enable-slapd   enable building slapd], yes)dnl
46 OL_ARG_ENABLE(aclgroup,[    --enable-aclgroup   enable ACL group support], auto)dnl
47 OL_ARG_ENABLE(crypt,[    --enable-crypt enable crypt(3) passwords], auto)dnl
48 OL_ARG_ENABLE(md5,[    --enable-md5     enable MD5 passwords], auto)dnl
49 OL_ARG_ENABLE(sha1,[    --enable-sha1   enable SHA1 passwords], auto)dnl
50 OL_ARG_ENABLE(wrappers,[    --enable-wrappers   enable tcp wrapper support], no)dnl
51 OL_ARG_ENABLE(phonetic,[    --enable-phonetic   enable phonetic/soundex], no)dnl
52 OL_ARG_ENABLE(rlookups,[    --enable-rlookups   enable reverse lookups], auto)dnl
53
54 dnl SLAPD Backend options
55 OL_ARG_ENABLE(ldbm,[    --enable-ldbm   enable ldbm backend], yes)dnl
56 OL_ARG_WITH(ldbm_api,[      --with-ldbm-api     use LDBM API], auto,
57         [auto db2 db gdbm ndbm manual])
58 OL_ARG_WITH(ldbm_type,[      --with-ldbm-type   use LDBM type], auto,
59         [auto btree hash])
60
61 OL_ARG_ENABLE(passwd,[    --enable-passwd       enable passwd backend], no)dnl
62 OL_ARG_ENABLE(shell,[    --enable-shell enable shell backend], no)dnl
63
64 dnl SLURPD OPTIONS
65 OL_ARG_ENABLE(slurpd,[  --enable-slurpd enable building slurpd], auto)dnl
66
67 if test $ol_enable_slapd = no ; then
68         dnl SLAPD was specificallly disabled
69         if test $ol_enable_ldbm = yes ; then
70                 AC_MSG_WARN([slapd disabled, ignoring --enable_ldbm argument]);
71         fi
72         if test $ol_enable_passwd = yes ; then
73                 AC_MSG_WARN([slapd disabled, ignoring --enable_passwd argument]);
74         fi
75         if test $ol_enable_shell = yes ; then
76                 AC_MSG_WARN([slapd disabled, ignoring --enable_shell argument]);
77         fi
78         if test $ol_enable_aclgroup = yes ; then
79                 AC_MSG_WARN([slapd disabled, ignoring --enable_aclgroup argument]);
80         fi
81         if test $ol_enable_crypt = yes ; then
82                 AC_MSG_WARN([slapd disabled, ignoring --enable_crypt argument]);
83         fi
84         if test $ol_enable_md5 = yes ; then
85                 AC_MSG_WARN([slapd disabled, ignoring --enable_md5 argument]);
86         fi
87         if test $ol_enable_sha1 = yes ; then
88                 AC_MSG_WARN([slapd disabled, ignoring --enable_sha1 argument]);
89         fi
90         if test $ol_enable_wrappers = yes ; then
91                 AC_MSG_WARN([slapd disabled, ignoring --enable_wrappers argument]);
92         fi
93         if test $ol_enable_phonetic = yes ; then
94                 AC_MSG_WARN([slapd disabled, ignoring --enable_phonetic argument]);
95         fi
96         if test $ol_enable_rlookups = yes ; then
97                 AC_MSG_WARN([slapd disabled, ignoring --enable_rlookups argument]);
98         fi
99         if test $ol_with_ldbm_api != auto ; then
100                 AC_MSG_WARN([slapd disabled, ignoring --with_ldbm_api argument]);
101         fi
102         if test $ol_with_ldbm_type != auto ; then
103                 AC_MSG_WARN([slapd disabled, ignoring --with_ldbm_type argument]);
104         fi
105         if test $ol_enable_slurpd = yes ; then
106                 AC_MSG_ERROR([slurpd requires slapd]);
107         fi
108
109         # force settings to no
110         ol_enable_ldbm=no
111         ol_enable_shell=no
112         ol_enable_passwd=no
113         ol_enable_aclgroup=no
114         ol_enable_crypt=no
115         ol_enable_md5=no
116         ol_enable_sha1=no
117         ol_enable_wrappers=no
118         ol_enable_phonetic=no
119         ol_enable_rlookups=no
120         ol_with_ldbm_api=no
121         ol_with_ldbm_type=no
122         ol_enable_slurpd=no
123
124 elif test $ol_enable_ldbm = no ; then
125         dnl SLAPD without LDBM
126
127         if test $ol_with_ldbm_api != auto ; then
128                 AC_MSG_WARN([LDBM disabled, ignoring --with_ldbm_api argument]);
129         fi
130
131         if test $ol_with_ldbm_type != auto ; then
132                 AC_MSG_WARN([LDBM disabled, ignoring --with_ldbm_type argument]);
133         fi
134
135         if test $ol_enable_passwd = no -a $ol_enable_shell = no ; then
136                 AC_MSG_ERROR([slapd requires a backend]);
137         fi
138
139         ol_with_ldbm_api=no
140         ol_with_ldbm_type=no
141
142 else
143         dnl SLAPD with LDBM
144
145         if test $ol_with_ldbm_api = gdbm -a \
146                 $ol_with_ldbm_type = btree ; then
147                 AC_MSG_ERROR([GDBM only supports LDBM type hash]);
148         fi
149         if test $ol_with_ldbm_api = ndbm -a \
150                 $ol_with_ldbm_type = btree ; then
151                 AC_MSG_ERROR([NDBM only supports LDBM type hash]);
152         fi
153 fi
154
155 if test $ol_enable_slurpd = yes ; then
156         dnl SLURPD was specifically enabled
157         if test $ol_with_threads = no ; then
158                 AC_MSG_ERROR([slurpd requires threads]);
159         fi
160 fi
161
162 AC_MSG_RESULT(done)
163
164 ## Initialize vars
165 LDAP_DEFS=
166 LDAP_LIBS=
167 LDBM_DEFS=
168 LDBM_LIBS=
169 LTHREAD_DEFS=
170 LTHREAD_LIBS=
171 LUTIL_DEFS=
172 LUTIL_LIBS=
173
174 LDAPD_DEFS=
175 LDAPD_LIBS=
176 SLAPD_DEFS=
177 SLAPD_LIBS=
178 SLURPD_DEFS=
179 SLURPD_LIBS=
180
181 BUILD_LDAPD=no
182 BUILD_SLAPD=no
183 BUILD_SLURPD=no
184
185 BUILD_LDBM=no
186 BUILD_PASSWD=no
187 BUILD_SHELL=no
188
189 dnl ----------------------------------------------------------------
190 dnl Checks for programs
191
192 AC_PROG_CC
193 AC_PROG_GCC_TRADITIONAL
194
195 AC_PROG_LN_S
196 AC_PROG_INSTALL
197 AC_PROG_RANLIB
198 AC_PROG_MAKE_SET
199
200 AC_PATH_PROG(SENDMAIL, sendmail, /usr/lib/sendmail,
201         $PATH:/usr/libexec:/usr/lib:/usr/sbin:/usr/etc:/etc)
202 AC_PATH_PROG(EDITOR, vi, /usr/ucb/vi, $PATH:/usr/ucb)
203 AC_PATH_PROG(FINGER, finger, /usr/ucb/finger, $PATH:/usr/ucb)
204
205 dnl ----------------------------------------------------------------
206 dnl Checks for libraries
207
208 AC_CHECK_FUNC(socket, :,  
209 [       AC_CHECK_LIB(nsl, gethostname)
210         AC_CHECK_LIB(socket, socket)
211         AC_CHECK_LIB(inet, socket)
212 ])
213
214 ol_link_threads=no
215 if test $ol_with_threads = auto -o $ol_with_threads = posix ; then
216         AC_CHECK_HEADERS(pthread.h sched.h)
217
218         if test "$ac_cv_header_pthread_h" = yes ; then
219                 OL_POSIX_THREAD_VERSION
220
221                 if test $ol_cv_pthread_version = final ; then
222                         LTHREAD_DEFS="$LTHREAD_DEFS -DPOSIX_THREADS"
223                 elif test $ol_cv_pthread_version = draft4 ; then
224                         LTHREAD_DEFS="$LTHREAD_DEFS -DTHREAD_MIT_PTHREADS"
225                 else
226                         AC_MSG_ERROR([unknown pthread version])
227                 fi
228
229                 # consider threads found
230                 ol_with_threads=found
231
232                 OL_LINUX_THREADS
233
234                 if test $ol_cv_linux_threads = yes ; then
235 dnl                     AC_DEFINE(HAVE_LINUX_THREADS,1)
236                         LTHREAD_DEFS="$LTHREAD_DEFS -DHAVE_LINUX_THREADS"
237                 fi
238
239                 dnl Now the hard part, how to link
240
241                 dnl A few platforms have pthread support in standard libraries
242                 AC_CHECK_FUNC(pthread_create,[ol_link_threads=yes])
243
244                 if test $ol_link_threads = no ; then
245                         dnl try -pthread
246                         AC_CACHE_CHECK([for pthread_create with -pthread],
247                                 [ol_cv_pthread_flag], [
248                                 dnl save the CPPFLAGS
249                                 save_LIBS="$LIBS"
250                                 LIBS="-pthread $LIBS"
251                                 AC_TRY_LINK([#include <pthread.h>],[
252                                         pthread_create((pthread_t*) 0,
253                                                 (pthread_attr_t*) 0, 0, 0);
254                                         ], ol_cv_pthread_flag=yes, ol_cv_pthread_flag=no)
255                                 dnl restore the LIBS
256                                 LIBS="$save_LIBS"
257                         ])
258
259                         if test $ol_cv_pthread_flag = yes ; then
260                                 LTHREAD_LIBS="$LTHREAD_LIBS -pthread"
261                                 ol_link_threads=posix
262                         fi
263                 fi
264
265                 if test $ol_link_threads = no ; then
266                         dnl try -lpthread
267                         save_LIBS="$LIBS"
268                         AC_CHECK_LIB(pthread, pthread_create, [
269                                 ol_link_threads=posix
270                                 LTHREAD_LIBS="$LTHREAD_LIBS -lpthread"])
271                         LIBS="$save_LIBS"
272                 fi
273
274                 if test $ol_link_threads = no ; then
275                         dnl try -lc_r
276                         save_LIBS="$LIBS"
277                         AC_CHECK_LIB(c_r, pthread_create, [
278                                 ol_link_threads=posix
279                                 LTHREAD_LIBS="$LTHREAD_LIBS -lc_r"])
280                         LIBS="$save_LIBS"
281                 fi
282
283                 if test $ol_link_threads = no ; then
284                         dnl try DEC Threads
285                         save_LIBS="$LIBS"
286                         AC_CHECK_LIB(pthread, pthread_create, [
287                                 ol_link_threads=posix
288                                 LTHREAD_DEFS="$LTHREAD_DEFS -DDEC_THREADS"
289                                 LTHREAD_LIBS="$LTHREAD_LIBS -lpthread -lmach -lexc -lc"],,
290                                 [-lmach -lexc -lc])
291                         LIBS="$save_LIBS"
292                 fi
293
294                 if test $ol_link_threads != no ; then
295                         dnl All POSIX Thread (final) implementations should have sched_yield
296                         AC_CHECK_FUNC(sched_yield)
297                 else
298                         AC_MSG_ERROR([could not link with POSIX Threads])
299                 fi
300         fi
301
302         if test $ol_with_threads = posix ; then
303                 AC_MSG_ERROR([could not locate POSIX Threads])
304         fi
305 fi
306
307 if test $ol_with_threads = manual ; then
308         dnl User thinks he can manually configure threads.
309         $ol_link_threads=yes
310
311         AC_MSG_WARN([thread defines and link options must be set manually])
312
313         AC_CHECK_HEADERS(pthread.h sched.h)
314         AC_CHECK_FUNC(sched_yield)
315         OL_LINUX_THREADS
316 fi
317
318 if test $ol_link_threads = no ; then
319         if test $ol_with_threads = yes ; then
320                 AC_MSG_ERROR([no suitable thread support])
321         fi
322
323         if test $ol_with_threads = auto ; then
324                 AC_MSG_WARN([no suitable thread support, disabling threads])
325                 $ol_with_threads = no
326         fi
327
328         LTHREAD_DEFS="-DNO_THREADS"
329         LTHREAD_LIBS=""
330 fi
331
332 ol_link_ldbm=no 
333 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = db2 ; then
334         OL_BERKELEY_DB2
335
336         if test $ol_cv_berkeley_db2 = yes ; then
337                 ol_link_ldbm=db2
338                 ol_with_ldbm_api=db2
339
340                 LDBM_DEFS="$LDBM_DEFS -DLDBM_USE_DB2"
341
342                 if test $ol_with_ldbm_type = hash ; then
343                         LDBM_DEFS="$LDBM_DEFS -DLDBM_USE_DBHASH"
344                 else
345                         LDBM_DEFS="$LDBM_DEFS -DLDBM_USE_DBBTREE"
346                 fi
347
348                 dnl $ol_cv_lib_db2 should be yes or -ldb
349                 dnl (it could be no, but that would be an error
350                 if test $ol_cv_lib_db2 != yes ; then
351                         LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db2"
352                 fi
353         fi
354 fi
355
356 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = db ; then
357         OL_BERKELEY_DB
358
359         if test $ol_cv_berkeley_db = yes ; then
360                 ol_link_ldbm=db
361                 ol_with_ldbm_api=db
362
363                 if test $ac_cv_header_db_185_h = yes ; then
364                         LDBM_DEFS="$LDBM_DEFS -DLDBM_USE_DB2_COMPAT185"
365                 fi
366
367                 if test $ol_with_ldbm_type = hash ; then
368                         LDBM_DEFS="$LDBM_DEFS -DLDBM_USE_DBHASH"
369                 else
370                         LDBM_DEFS="$LDBM_DEFS -DLDBM_USE_DBBTREE"
371                 fi
372
373                 dnl $ol_cv_lib_db should be yes or -ldb
374                 dnl (it could be no, but that would be an error
375                 if test $ol_cv_lib_db != yes ; then
376                         LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db"
377                 fi
378         fi
379 fi
380
381 if test $ol_with_ldbm_api = manual ; then
382         dnl User thinks he can manually configure LDBM api.
383         $ol_link_ldbm=yes
384
385         AC_MSG_WARN([LDBM defines and link options must be set manually])
386
387         AC_CHECK_HEADERS(db.h db_185.h gdbm.h ndbm.h)
388 fi
389
390 if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
391         AC_MSG_WARN(Could not find LDBM with BTREE support);
392         $ol_with_ldbm_api=none
393 fi
394
395 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = gdbm ; then
396         OL_GDBM
397
398         if test $ol_cv_gdbm = yes ; then
399                 ol_link_ldbm=gdbm
400                 ol_with_ldbm_api=gdbm
401
402                 LDBM_DEFS="$LDBM_DEFS -DLDBM_USE_GDBM"
403
404                 if test $ol_cv_lib_gdbm != yes ; then
405                         LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_gdbm"
406                 fi
407         fi
408 fi
409
410 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = ndbm ; then
411         OL_NDBM
412
413         if test $ol_cv_ndbm = yes ; then
414                 ol_link_ldbm=ndbm
415                 ol_with_ldbm_api=ndbm
416
417                 if test $ol_with_ldbm_api = ndbm ; then
418                         AC_WARN([Attempting to use NDBM.  Functionality will be limited.])
419                 fi
420
421                 LDBM_DEFS="$LDBM_DEFS -DLDBM_USE_NDBM"
422
423                 if test $ol_cv_lib_ndbm != yes ; then
424                         LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_ndbm"
425                 fi
426         fi
427 fi
428
429 if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then
430         AC_MSG_WARN(could not find suitable LDBM backend)
431         if test $ol_enable_ldbm = yes ; then
432                 AC_MSG_ERROR(select appropriate LDBM options or disable)
433         fi
434
435         AC_MSG_WARN(disabling LDBM)
436         $ol_enable_ldbm=no
437 fi
438
439 if test $ol_enable_wrappers = yes ; then
440         AC_CHECK_LIB(wrap, hosts_access,
441                 [have_wrappers=yes], [have_wrappers=no])
442
443         if test $have_wrappers = yes ; then
444 dnl             LIBTCPD="-lwrap"
445 dnl             AC_DEFINE(HAVE_TCPD)
446                 SLAPD_DEFS="$SLAPD_DEFS -DTCP_WRAPPERS"
447                 SLAPD_LIBS="$SLAPD_LIBS -lwrap"
448         else
449                 AC_MSG_WARN(could not find -lwrap)
450                 if test $ol_enable_wrappers = yes ; then
451                         AC_MSG_ERROR(could not find wrappers, select appropriate options or disable)
452                 fi
453
454                 AC_MSG_WARN(disabling wrappers support)
455                 ol_enable_wrappers=no
456         fi
457
458 fi
459
460 # ud needs termcap (should insert check here)
461 ol_link_termcap=no
462
463 TERMCAP_DEFS=
464 TERMCAP_LIBS=
465
466 AC_CHECK_HEADERS(termcap.h ncurses.h)
467
468 if test $ol_link_termcap = no ; then
469         AC_CHECK_LIB(termcap, tputs, [have_termcap=yes], [have_termcap=no])
470         if test $have_termcap = yes ; then
471                 ol_link_termcap=yes
472                 TERMCAP_LIBS=-ltermcap
473         fi
474 fi
475
476 if test $ol_link_termcap = no ; then
477         AC_CHECK_LIB(ncurses, initscr, [have_ncurses=yes], [have_ncurses=no])
478         if test $have_ncurses = yes ; then
479                 ol_link_termcap=yes
480                 TERMCAP_LIBS=-lncurses
481         fi
482 fi
483
484 if test $ol_link_termcap = no ; then
485         TERMCAP_DEFS="-DNOTERMCAP"
486         TERMCAP_LIBS=
487 fi
488
489 AC_SUBST(TERMCAP_DEFS)
490 AC_SUBST(TERMCAP_LIBS)
491
492 # FreeBSD (and others) have crypt(3) in -lcrypt
493 if test $ol_enable_crypt != no ; then
494         AC_CHECK_FUNC(crypt, [have_crypt=yes], [
495                 AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
496                         have_crypt=yes], [have_crypt=no])])
497
498         if test $have_crypt = yes ; then
499 dnl             AC_DEFINE(SLAPD_CRYPT,1)
500                 LUTIL_DEFS="$LUTIL_DEFS -DLDAP_CRYPT"
501         else
502                 AC_MSG_WARN(could not find crypt)
503                 if test $ol_enable_crypt = yes ; then
504                         AC_MSG_ERROR(could not find crypt, select appropriate options or disable)
505                 fi
506
507                 AC_MSG_WARN(disabling crypt support)
508                 ol_enable_crypt=no
509         fi
510 fi
511
512 dnl ----------------------------------------------------------------
513 dnl Checks for header files.
514 AC_HEADER_STDC
515 AC_HEADER_DIRENT
516 AC_HEADER_SYS_WAIT
517 AC_CHECK_HEADERS( \
518         stddef.h        \
519         fcntl.h         \
520         limits.h        \
521         malloc.h        \
522         sgtty.h         \
523         sys/file.h      \
524         sys/ioctl.h     \
525         sys/time.h      \
526         syslog.h        \
527         termio.h        \
528         unistd.h        \
529 )
530
531 dnl ----------------------------------------------------------------
532 dnl Checks for typedefs, structures, and compiler characteristics.
533 AC_TYPE_GETGROUPS
534 AC_TYPE_MODE_T
535 AC_TYPE_OFF_T
536 AC_TYPE_PID_T
537 AC_TYPE_SIGNAL
538 AC_TYPE_SIZE_T
539 AC_TYPE_UID_T
540 AC_STRUCT_ST_BLKSIZE
541 AC_HEADER_TIME
542 AC_STRUCT_TM
543
544 dnl AC_C_BIGENDIAN
545 AC_C_CONST
546
547 dnl ----------------------------------------------------------------
548 dnl Checks for library functions.
549 AC_FUNC_MEMCMP
550 AC_TYPE_SIGNAL
551 AC_FUNC_STRFTIME
552 AC_FUNC_VPRINTF
553 AC_FUNC_WAIT3
554
555 AC_CHECK_FUNCS(         \
556         gethostname             \
557         gettimeofday    \
558         mktime                  \
559         select                  \
560         socket                  \
561         strerror                \
562         strstr                  \
563         strrchr                 \
564         strtod                  \
565         strtol                  \
566         strtoul                 \
567         strsep                  \
568         memcpy                  \
569 )
570
571 AC_REPLACE_FUNCS(strdup)
572
573 dnl ----------------------------------------------------------------
574 # Check Configuration
575 OL_SYS_ERRLIST
576
577 dnl ----------------------------------------------------------------
578 dnl Sort out defines
579
580 if test $ol_enable_debug != no ; then
581         LDAP_DEFS="$LDAP_DEFS -DLDAP_DEBUG"
582 fi
583 dnl     if test $ol_enable_syslog != no ; then
584 dnl             LDAP_DEFS="$LDAP_DEFS -DLDAP_SYSLOG"
585 dnl     fi
586 if test $ol_enable_libui = no ; then
587         LDAP_DEFS="$LDAP_DEFS -DNO_USERINTERFACE"
588 fi
589 if test $ol_enable_cache = no ; then
590         LDAP_DEFS="$LDAP_DEFS -DNO_CACHE"
591 fi
592 if test $ol_enable_dns != no ; then
593         LDAP_DEFS="$LDAP_DEFS -DLDAP_DNS"
594 fi
595 if test $ol_enable_referrals != no ; then
596         LDAP_DEFS="$LDAP_DEFS -DLDAP_REFERRALS"
597 fi
598 if test $ol_enable_cldap != no ; then
599         LDAP_DEFS="$LDAP_DEFS -DCLDAP"
600 fi
601
602 if test $ol_enable_aclgroup != no ; then
603         AC_DEFINE(SLAPD_ACLGROUP,1)
604         SLAPD_DEFS="$SLAPD_DEFS -DACLGROUP"
605 fi
606
607 if test $ol_enable_md5 != no ; then
608 dnl     AC_DEFINE(SLAPD_MD5,1)
609         LUTIL_DEFS="$LUTIL_DEFS -DLDAP_MD5"
610 fi
611
612 if test $ol_enable_sha1 != no ; then
613 dnl     AC_DEFINE(SLAPD_SHA1,1)
614         LUTIL_DEFS="$LUTIL_DEFS -DLDAP_SHA1"
615 fi
616
617 if test $ol_enable_phonetic != no ; then
618         AC_DEFINE(SLAPD_PHONETIC,1)
619         SLAPD_DEFS="$SLAPD_DEFS -DSOUNDEX"
620 fi
621
622 if test $ol_enable_rlookups != no ; then
623         AC_DEFINE(SLAPD_RLOOKUPS,1)
624         SLAPD_DEFS="$SLAPD_DEFS -DREVERSE_LOOKUPS"
625 fi
626
627 if test $ol_link_ldbm != no ; then
628 dnl     AC_DEFINE(SLAPD_LDBM,1)
629         BUILD_SLAPD=yes
630         BUILD_LDBM=yes
631         LDBM_DEFS="-DLDAP_LDBM $LDBM_DEFS"
632 fi
633
634 if test $ol_enable_passwd != no ; then
635 dnl     AC_DEFINE(SLAPD_PASSWD,1)
636         BUILD_SLAPD=yes
637         BUILD_PASSWD=yes
638         SLAPD_DEFS="-DLDAP_PASSWD $SLAPD_DEFS"
639 fi
640
641 if test $ol_enable_shell != no ; then
642 dnl     AC_DEFINE(SLAPD_SHELL,1)
643         BUILD_SLAPD=yes
644         BUILD_SHELL=yes
645         SLAPD_DEFS="-DLDAP_SHELL $SLAPD_DEFS"
646 fi
647
648 if test $ol_enable_slurpd != no -a $ol_link_threads != no -a \
649         $BUILD_SLAPD = yes ; then
650         BUILD_SLURPD=yes
651 fi
652
653 dnl ----------------------------------------------------------------
654
655 AC_SUBST(BUILD_LDAPD)
656 AC_SUBST(BUILD_SLAPD)
657   AC_SUBST(BUILD_LDBM)
658   AC_SUBST(BUILD_PASSWD)
659   AC_SUBST(BUILD_SHELL)
660 AC_SUBST(BUILD_SLURPD)
661
662
663 AC_SUBST(LDAP_DEFS)
664 AC_SUBST(LDAP_LIBS)
665 AC_SUBST(LDAPD_DEFS)
666 AC_SUBST(LDAPD_LIBS)
667 AC_SUBST(SLAPD_DEFS)
668 AC_SUBST(SLAPD_LIBS)
669 AC_SUBST(SLURPD_DEFS)
670 AC_SUBST(SLURPD_LIBS)
671 AC_SUBST(LDBM_DEFS)
672 AC_SUBST(LDBM_LIBS)
673 AC_SUBST(LTHREAD_DEFS)
674 AC_SUBST(LTHREAD_LIBS)
675 AC_SUBST(LUTIL_DEFS)
676 AC_SUBST(LUTIL_LIBS)
677
678 dnl ----------------------------------------------------------------
679 dnl final output
680 dnl
681
682 dnl AC_OUTPUT( \
683 dnl contrib/Makefile:build/top.mk:contrib/Makefile.in:build/dir.mk \
684 dnl contrib/saucer/Makefile:build/top.mk:contrib/saucer/Makefile.in:build/rules.mk \
685 dnl contrib/whois++/Makefile:build/top.mk:contrib/whois++/Makefile.in:build/rules.mk \
686 dnl [date > stamp-h])
687
688 AC_OUTPUT( \
689 Makefile:build/top.mk:Makefile.in:build/dir.mk \
690 doc/Makefile:build/top.mk:doc/Makefile.in:build/dir.mk \
691 doc/man/Makefile:build/top.mk:doc/man/Makefile.in:build/dir.mk \
692 doc/man/man1/Makefile:build/top.mk:doc/man/man1/Makefile.in:build/man.mk \
693 doc/man/man3/Makefile:build/top.mk:doc/man/man3/Makefile.in:build/man.mk \
694 doc/man/man5/Makefile:build/top.mk:doc/man/man5/Makefile.in:build/man.mk \
695 doc/man/man8/Makefile:build/top.mk:doc/man/man8/Makefile.in:build/man.mk \
696 clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.mk \
697 clients/finger/Makefile:build/top.mk:clients/finger/Makefile.in:build/rules.mk \
698 clients/fax500/Makefile:build/top.mk:clients/fax500/Makefile.in:build/rules.mk \
699 clients/gopher/Makefile:build/top.mk:clients/gopher/Makefile.in:build/rules.mk \
700 clients/mail500/Makefile:build/top.mk:clients/mail500/Makefile.in:build/rules.mk \
701 clients/rcpt500/Makefile:build/top.mk:clients/rcpt500/Makefile.in:build/rules.mk \
702 clients/ud/Makefile:build/top.mk:clients/ud/Makefile.in:build/rules.mk \
703 clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk \
704 include/Makefile:build/top.mk:include/Makefile.in \
705 libraries/Makefile:build/top.mk:libraries/Makefile.in:build/dir.mk      \
706 libraries/libavl/Makefile:build/top.mk:libraries/libavl/Makefile.in:build/lib.mk \
707 libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk \
708 libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk \
709 libraries/libldbm/Makefile:build/top.mk:libraries/libldbm/Makefile.in:build/lib.mk \
710 libraries/libldif/Makefile:build/top.mk:libraries/libldif/Makefile.in:build/lib.mk \
711 libraries/liblthread/Makefile:build/top.mk:libraries/liblthread/Makefile.in:build/lib.mk \
712 libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk \
713 servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \
714 servers/ldapd/Makefile:build/top.mk:servers/ldapd/Makefile.in:build/srv.mk \
715 servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
716 servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/srv.mk \
717 servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/srv.mk \
718 servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/srv.mk \
719 servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk \
720 servers/slapd/tools/Makefile:build/top.mk:servers/slapd/tools/Makefile.in \
721 servers/slurpd/Makefile:build/top.mk:servers/slurpd/Makefile.in:build/srv.mk \
722 tests/Makefile:build/top.mk:tests/Makefile.in \
723 ,[date > stamp-h])