2 dnl Copyright 1998,1999 The OpenLDAP Foundation. All Rights Reserved.
4 dnl Redistribution and use in source and binary forms are permitted only
5 dnl as authorized by the OpenLDAP Public License. A copy of this
6 dnl license is available at http://www.OpenLDAP.org/license.html or
7 dnl in file LICENSE in the top-level directory of the distribution.
10 dnl Configure.in for OpenLDAP
11 AC_INIT(include/ldap.h)dnl
12 AC_CONFIG_AUX_DIR(build)dnl
13 AM_INIT_AUTOMAKE(OpenLDAP,[2.0-devel], [no ac_define])dnl
15 dnl We use autoconf features new to 2.13.
16 dnl aclocal.m4 should be built using aclocal from automake 1.4
17 AC_PREREQ(2.13)dnl Required Autoconf version
19 AC_CONFIG_HEADER(include/portable.h include/ldap_features.h)dnl
23 AC_MSG_CHECKING(configure arguments)
24 AC_PREFIX_DEFAULT(/usr/local)
27 AC_SUBST(top_builddir)dnl
29 ldap_subdir="openldap"
31 AC_ARG_WITH(subdir, [ --with-subdir=DIR change default subdirectory used for installs], [
32 if test "$withval" = "no"; then
34 elif test "$withval" != "yes"; then
35 ldap_subdir="$withval"
39 AC_SUBST(ldap_subdir)dnl
41 OL_ARG_ENABLE(debug,[ --enable-debug enable debugging], yes)dnl
43 dnl OL_ARG_ENABLE(syslog,[ --enable-syslog enable syslog support], auto)dnl
44 OL_ARG_ENABLE(proctitle,[ --enable-proctitle enable proctitle support], yes)dnl
45 OL_ARG_ENABLE(cache,[ --enable-cache enable caching], yes)dnl
46 OL_ARG_ENABLE(dns,[ --enable-dns enable V2 DNS extension], no)dnl
47 OL_ARG_ENABLE(referrals,[ --enable-referrals enable V2 Referrals extension], yes)dnl
48 OL_ARG_ENABLE(cldap,[ --enable-cldap enable connectionless ldap], no)dnl
49 OL_ARG_ENABLE(x_compile,[ --enable-x-compile enable cross compiling],
52 dnl General "with" options
53 OL_ARG_ENABLE(dmalloc,[ --enable-dmalloc enable debug malloc support], no)dnl
55 OL_ARG_WITH(kerberos,[ --with-kerberos use Kerberos],
56 auto, [auto k5 k4 afs yes no])
57 OL_ARG_WITH(threads,[ --with-threads use threads],
58 auto, [auto posix mach lwp yes no manual] )
59 OL_ARG_WITH(yielding_select,[ --with-yielding-select with implicitly yielding select],
60 auto, [auto yes no manual] )
61 OL_ARG_WITH(tls,[ --with-tls with TLS/SSL support],
62 auto, [auto ssleay openssl yes no] )
67 AC_ARG_WITH(xxldapdoptions,[LDAPD Options:])
68 OL_ARG_ENABLE(ldapd,[ --enable-ldapd enable building ldapd], no)dnl
71 AC_ARG_WITH(xxslapdoptions,[SLAPD Options:])
72 OL_ARG_ENABLE(slapd,[ --enable-slapd enable building slapd], yes)dnl
73 OL_ARG_ENABLE(aclgroups,[ --enable-aclgroups enable ACL group support], auto)dnl
74 OL_ARG_ENABLE(cleartext,[ --enable-cleartext enable cleartext passwords], yes)dnl
75 OL_ARG_ENABLE(crypt,[ --enable-crypt enable crypt(3) passwords], auto)dnl
76 OL_ARG_ENABLE(wrappers,[ --enable-wrappers enable tcp wrapper support], no)dnl
77 OL_ARG_ENABLE(phonetic,[ --enable-phonetic enable phonetic/soundex], no)dnl
78 OL_ARG_ENABLE(rlookups,[ --enable-rlookups enable reverse lookups], auto)dnl
80 dnl SLAPD Backend options
81 OL_ARG_ENABLE(bdb2,[ --enable-bdb2 enable bdb2 backend], no)dnl
82 OL_ARG_ENABLE(ldbm,[ --enable-ldbm enable ldbm backend], yes)dnl
83 OL_ARG_WITH(ldbm_api,[ --with-ldbm-api use LDBM API], auto,
84 [auto db2 db gdbm ndbm manual])
85 OL_ARG_WITH(ldbm_type,[ --with-ldbm-type use LDBM type], auto,
88 OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend], no)dnl
89 OL_ARG_ENABLE(perl,[ --enable-perl enable perl backend], no)dnl
90 OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend], no)dnl
91 OL_ARG_ENABLE(tcl,[ --enable-tcl enable tcl backend], no)dnl
94 AC_ARG_WITH(xxslurpdoptions,[SLURPD Options:])
95 OL_ARG_ENABLE(slurpd,[ --enable-slurpd enable building slurpd], auto)dnl
97 AC_ARG_WITH(xxliboptions,[Library Generation & Linking Options])
102 dnl General "enable" options
104 if test $ol_enable_dns = yes ; then
105 if test $ol_enable_referrals = no ; then
106 AC_MSG_ERROR([DNS requires --enable-referrals])
108 if test $ol_enable_referrals = auto ; then
109 AC_MSG_WARN([DNS requires referrals, adding --enable-referrals])
110 ol_enable_referrals=yes
114 if test $ol_enable_slapd = no ; then
115 dnl SLAPD was specificallly disabled
116 if test $ol_enable_bdb2 = yes ; then
117 AC_MSG_WARN([slapd disabled, ignoring --enable_bdb2 argument])
119 if test $ol_enable_ldbm = yes ; then
120 AC_MSG_WARN([slapd disabled, ignoring --enable_ldbm argument])
122 if test $ol_enable_passwd = yes ; then
123 AC_MSG_WARN([slapd disabled, ignoring --enable_passwd argument])
125 if test $ol_enable_perl = yes ; then
126 AC_MSG_WARN([slapd disabled, ignoring --enable_perl argument])
128 if test $ol_enable_shell = yes ; then
129 AC_MSG_WARN([slapd disabled, ignoring --enable_shell argument])
131 if test $ol_enable_tcl = yes ; then
132 AC_MSG_WARN([slapd disabled, ignoring --enable_tcl argument])
134 if test $ol_enable_aclgroups = yes ; then
135 AC_MSG_WARN([slapd disabled, ignoring --enable_aclgroups argument])
137 if test $ol_enable_wrappers = yes ; then
138 AC_MSG_WARN([slapd disabled, ignoring --enable_wrappers argument])
140 if test $ol_enable_phonetic = yes ; then
141 AC_MSG_WARN([slapd disabled, ignoring --enable_phonetic argument])
143 if test $ol_enable_rlookups = yes ; then
144 AC_MSG_WARN([slapd disabled, ignoring --enable_rlookups argument])
146 if test $ol_with_ldbm_api != auto ; then
147 AC_MSG_WARN([slapd disabled, ignoring --with_ldbm_api argument])
149 if test $ol_with_ldbm_type != auto ; then
150 AC_MSG_WARN([slapd disabled, ignoring --with_ldbm_type argument])
152 if test $ol_enable_slurpd = yes ; then
153 AC_MSG_ERROR([slurpd requires slapd])
156 # force settings to no
163 ol_enable_aclgroups=no
164 ol_enable_wrappers=no
165 ol_enable_phonetic=no
166 ol_enable_rlookups=no
171 elif test $ol_enable_ldbm = no ; then
172 dnl SLAPD without LDBM
174 if test $ol_with_ldbm_api != auto ; then
175 AC_MSG_WARN([LDBM disabled, ignoring --with_ldbm_api argument])
178 if test $ol_with_ldbm_type != auto ; then
179 AC_MSG_WARN([LDBM disabled, ignoring --with_ldbm_type argument])
182 if test $ol_enable_bdb2 = yes ; then
183 AC_MSG_ERROR([BDB2 requires --enable-ldbm])
186 if test $ol_enable_passwd = no -a \
187 $ol_enable_perl = no -a \
188 $ol_enable_shell = no -a \
189 $ol_enable_tcl = no ; then
190 AC_MSG_ERROR([slapd requires a backend])
196 elif test $ol_enable_bdb2 = yes ; then
199 if test $ol_with_ldbm_api != auto -a \
200 $ol_with_ldbm_api != db2 ; then
201 AC_MSG_ERROR([BDB2 requires LDBM API DB2])
209 if test $ol_enable_bdb2 != no ; then
210 if test $ol_with_ldbm_api != auto -a \
211 $ol_with_ldbm_api != db2 ; then
212 AC_MSG_WARN([BDB2 requires LDBM api db2 or auto])
217 if test $ol_with_ldbm_api = gdbm -a \
218 $ol_with_ldbm_type = btree ; then
219 AC_MSG_ERROR([GDBM only supports LDBM type hash])
221 if test $ol_with_ldbm_api = ndbm -a \
222 $ol_with_ldbm_type = btree ; then
223 AC_MSG_ERROR([NDBM only supports LDBM type hash])
227 if test $ol_enable_slurpd = yes ; then
228 dnl SLURPD was specifically enabled
229 if test $ol_with_threads = no ; then
230 AC_MSG_ERROR([slurpd requires threads])
267 dnl ----------------------------------------------------------------
268 dnl Checks for programs
273 dnl We probably should use the vendor 'cc' by default
275 dnl The default compiler is cc (NOT gcc)
277 dnl The default CFLAGS is empty NOT whatever AC_PROG_CC sets.
278 dnl CFLAGS=${CFLAGS-""}
286 AC_PATH_PROG(SENDMAIL, sendmail, /usr/lib/sendmail,
287 $PATH:/usr/libexec:/usr/lib:/usr/sbin:/usr/etc:/etc)
288 AC_PATH_PROG(EDITOR, vi, /usr/ucb/vi, $PATH:/usr/ucb)
289 AC_PATH_PROG(FINGER, finger, /usr/ucb/finger, $PATH:/usr/ucb)
291 if test $ol_enable_perl = yes ; then
292 AC_PATH_PROG(PERLBIN, perl, /usr/bin/perl)
294 if test "no$PERLBIN" = "no" ; then
298 SLAPD_PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e s/-lc//`"
299 SLAPD_PERL_CPPFLAGS="`$PERLBIN -MExtUtils::Embed -e perl_inc`"
304 if test $cross_compiling = yes -a $ol_enable_x_compile = yes; then
305 AC_MSG_WARN([cross compiling.... some functionality will be removed.])
307 elif test $cross_compiling = no -a $ol_enable_x_compile = yes; then
308 AC_MSG_WARN([programs compiled here do run here...])
309 AC_MSG_ERROR([ if not cross compiling, use --disable-x-compile.])
311 elif test $cross_compiling = yes -a $ol_enable_x_compile = no; then
312 AC_MSG_WARN([programs compiled here do not run here...])
313 AC_MSG_ERROR([ if cross compiling, add --enable-x-compile.])
316 dnl Checks for UNIX Variants
321 dnl Checks for system services
327 dnl OpenLDAP requires STDC features
329 if test "X${am_cv_prog_cc_stdc}" = "Xno" ; then
330 AC_MSG_ERROR([OpenLDAP requires compiler to support STDC prototypes.])
335 dnl Checks for libraries
338 dnl Likely combinations:
339 dnl -lsocket [ -lnsl_s | -lnsl ]
342 AC_CHECK_FUNC(socket, [have_socket=yes], [
344 dnl hopefully we won't include too many libraries
346 AC_CHECK_LIB(socket, main)
347 AC_CHECK_LIB(net, main)
348 AC_CHECK_LIB(nsl_s, main)
349 AC_CHECK_LIB(nsl, main)
350 AC_CHECK_LIB(inet, socket)
351 AC_CHECK_LIB(gen, main)
354 dnl Check for resolver routines
355 AC_CHECK_FUNCS(res_search)
356 if test $ac_cv_func_res_search = "no" ; then
357 AC_CHECK_LIB(bind, res_search)
358 if test "$ac_cv_lib_bind_res_search" = "yes" ; then
359 AC_DEFINE(HAVE_RES_SEARCH,1)
361 AC_CHECK_LIB(resolv, res_search)
362 if test "$ac_cv_lib_resolv_res_search" = "yes" ; then
363 AC_DEFINE(HAVE_RES_SEARCH,1)
368 dnl HP-UX requires -lV3
369 AC_CHECK_LIB(V3, sigset)
373 if test $ol_enable_ldapd != no ; then
374 dnl look for ISODE libraries
375 AC_CHECK_LIB(xtpp, main, [
377 AC_DEFINE(HAVE_XTPP,1, [define if you have -lxttp])
378 LDAPD_LIBS="$LDAPD_LIBS -lxtpp -lxtdsap -lxtisode -losi"
379 ],:,[-lxtdsap -lxtisode -losi])
380 AC_CHECK_LIB(dsap, main, [
382 AC_DEFINE(HAVE_DSAP,1, [define if you have -ldsap])
383 LDAPD_LIBS="$LDAPD_LIBS -ldsap"
385 AC_CHECK_LIB(isode, main, [
387 AC_DEFINE(HAVE_ISODE,1, [define if you have -lisode])
388 LDAPD_LIBS="$LDAPD_LIBS -lisode"
392 if test $ol_link_isode != no; then
393 AC_CHECK_LIB(pp, main, [
394 AC_DEFINE(HAVE_PP,1, [define if you have -lpp])
395 LDAPD_LIBS="-lpp $LDAPD_LIBS"
398 AC_PATH_PROG(PEPSY, pepsy)
402 dnl check for kerberos
406 if test $ol_with_kerberos = auto -o $ol_with_kerberos = k5 ; then
407 AC_CHECK_HEADERS(kerberosIV/krb.h kerberosIV/des.h)
409 if test $ac_cv_header_kerberosIV_krb_h = yes ; then
410 AC_CHECK_LIB(krb4, main, [have_k5=yes], [have_k5=no],
413 if test $have_k5 = yes ; then
414 ol_with_kerberos=found
417 KRB_LIBS="-lkrb4 -lkrb5 -ldes425"
419 LIBS="$KRB_LIBS $LIBS"
421 AC_CACHE_CHECK([for des_debug in Kerberos libraries],
422 [ol_cv_var_des_debug], [
425 LIBS="$KRB_LIBS $LIBS"
427 #include <kerberosIV/krb.h>
428 #include <kerberosIV/des.h>
429 extern int des_debug;
432 ], ol_cv_var_des_debug=yes, ol_cv_var_des_debug=no)
437 if test $ol_cv_var_des_debug= yes ; then
438 AC_DEFINE(HAVE_DES_DEBUG,1,
439 [define if you have Kerberos des_debug])
447 if test $ol_with_kerberos = auto -o $ol_with_kerberos = k4 ; then
448 AC_CHECK_HEADERS(krb.h des.h)
450 if test $ac_cv_header_krb_h = yes ; then
451 AC_CHECK_LIB(krb, main, [have_k4=yes], [have_k4=no], [-ldes])
453 if test $have_k4 = yes ; then
454 ol_with_kerberos=found
457 KRB_LIBS="-lkrb -ldes"
462 if test $ol_link_kerberos = yes ; then
463 AC_DEFINE(HAVE_KERBEROS, 1, [define if you have Kerberos])
467 dnl Check for SSL/TLS
470 if test $ol_with_tls != no ; then
472 AC_CHECK_HEADERS(ssl.h)
474 if test $ac_cv_header_ssl_h = yes ; then
475 AC_CHECK_LIB(ssl, SSLeay_add_ssl_algorithms,
481 if test $have_ssleay = no ; then
482 AC_CHECK_LIB(ssl, ssl3_accept,
484 need_rsaref=yes], [have_ssleay=no],
485 [-lcrypto -lRSAglue -lrsaref])
488 if test $have_ssleay = yes ; then
492 AC_DEFINE(HAVE_SSLEAY, 1,
493 [define if you have SSLeay or OpenSSL])
495 if test $need_rsaref = yes; then
496 TLS_LIBS="-lssl -lcrypto -lRSAglue -lrsaref"
498 TLS_LIBS="-lssl -lcrypto"
504 if test $ol_link_tls = yes ; then
505 AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
509 if test $ol_with_threads = auto -o $ol_with_threads = yes \
510 -o $ol_with_threads = posix ; then
512 AC_CHECK_HEADERS(pthread.h sched.h)
514 if test $ac_cv_header_pthread_h = yes ; then
515 OL_POSIX_THREAD_VERSION
517 if test $ol_cv_pthread_version = final ; then
518 AC_DEFINE(HAVE_PTHREADS_FINAL,1,
519 [define if pthreads API compatible with final spec])
520 elif test $ol_cv_pthread_version = draft4 ; then
521 AC_DEFINE(HAVE_PTHREADS_D4,1,
522 [define if pthreads API compatible with draft4 spec])
524 AC_MSG_ERROR([unknown pthread version])
527 # consider threads found
528 ol_with_threads=found
532 if test $ol_cv_linux_threads = yes ; then
533 AC_DEFINE(HAVE_LINUX_THREADS,1,
534 [define if you have LinuxThreads])
537 dnl Now the hard part, how to link?
539 dnl currently supported checks:
541 dnl Check for no flags
542 dnl pthread_create() in $LIBS
544 dnl Check special pthread (final) flags
545 dnl pthread_create() with -kthread (FreeBSD)
546 dnl pthread_create() with -pthread (FreeBSD/Digital Unix)
547 dnl pthread_create() with -pthreads (?)
548 dnl pthread_create() with -thread (?)
549 dnl pthread_create() with -mt (Solaris)
551 dnl Check pthread (final) libraries
552 dnl pthread_mutex_unlock() in -lpthread -lmach -lexc -lc_r (OSF/1)
553 dnl pthread_mutex_lock() in -lpthread -lmach -lexc (OSF/1)
554 dnl pthread_mutex_trylock() in -lpthread -lexc (OSF/1)
555 dnl pthread_create() in -lpthread (many)
556 dnl pthread_create() in -lc_r (FreeBSD)
557 dnl pthread_create() in -lpthreads (many)
558 dnl pthread_join() -Wl,-woff,85 -lpthreads (IRIX)
560 dnl Check pthread (draft4) flags (depreciated)
561 dnl pthread_create() with -threads (OSF/1)
563 dnl Check pthread (final) libraries (depreciated)
564 dnl pthread_mutex_unlock() in -lpthreads -lmach -lexc -lc_r (OSF/1)
565 dnl pthread_mutex_lock() in -lpthreads -lmach -lexc (OSF/1)
566 dnl pthread_mutex_trylock() in -lpthreads -lexc (OSF/1)
569 dnl pthread_create in $LIBS
570 AC_CHECK_FUNC(pthread_create,[ol_link_threads=yes])
572 if test $ol_link_threads = no ; then
574 AC_CACHE_CHECK([for pthread_create with -kthread],
575 [ol_cv_kthread_flag], [
578 LIBS="-kthread $LIBS"
579 AC_TRY_LINK([#include <pthread.h>],[
581 pthread_create(NULL,pthread_attr_default,NULL,NULL);
583 pthread_create(NULL,NULL,NULL,NULL);
586 [ol_cv_kthread_flag=yes], [ol_cv_kthread_flag=no])
591 if test $ol_cv_kthread_flag = yes ; then
592 LTHREAD_LIBS="$LTHREAD_LIBS -kthread"
593 ol_link_threads=posix
597 if test $ol_link_threads = no ; then
599 AC_CACHE_CHECK([for pthread_create with -pthread],
600 [ol_cv_pthread_flag], [
603 LIBS="-pthread $LIBS"
604 AC_TRY_LINK([#include <pthread.h>],[
606 pthread_create(NULL,pthread_attr_default,NULL,NULL);
608 pthread_create(NULL,NULL,NULL,NULL);
611 [ol_cv_pthread_flag=yes], [ol_cv_pthread_flag=no])
616 if test $ol_cv_pthread_flag = yes ; then
617 LTHREAD_LIBS="$LTHREAD_LIBS -pthread"
618 ol_link_threads=posix
622 if test $ol_link_threads = no ; then
624 AC_CACHE_CHECK([for pthread_create with -pthreads],
625 [ol_cv_pthreads_flag], [
628 LIBS="-pthreads $LIBS"
629 AC_TRY_LINK([#include <pthread.h>],[
631 pthread_create(NULL,pthread_attr_default,NULL,NULL);
633 pthread_create(NULL,NULL,NULL,NULL);
636 [ol_cv_pthreads_flag=yes], [ol_cv_pthreads_flag=no])
641 if test $ol_cv_pthreads_flag = yes ; then
642 LTHREAD_LIBS="$LTHREAD_LIBS -pthreads"
643 ol_link_threads=posix
647 if test $ol_link_threads = no ; then
649 AC_CACHE_CHECK([for pthread_create with -thread],
650 [ol_cv_thread_flag], [
654 AC_TRY_LINK([char pthread_create();],
656 [ol_cv_thread_flag=yes], [ol_cv_thread_flag=no])
661 if test $ol_cv_thread_flag = yes ; then
662 LTHREAD_LIBS="$LTHREAD_LIBS -thread"
663 ol_link_threads=posix
667 if test $ol_link_threads = no ; then
669 AC_CACHE_CHECK([for pthread_create with -mt],
670 [ol_cv_thread_flag], [
674 AC_TRY_LINK([char pthread_create();],
676 [ol_cv_thread_flag=yes], [ol_cv_thread_flag=no])
681 if test $ol_cv_thread_flag = yes ; then
682 LTHREAD_LIBS="$LTHREAD_LIBS -mt"
683 ol_link_threads=posix
687 if test $ol_link_threads = no ; then
688 dnl try DEC Threads -lpthread -lmach -lexc -lc_r
690 AC_CHECK_LIB(pthread, pthread_mutex_unlock, [
691 ol_link_threads=posix
692 LTHREAD_LIBS="$LTHREAD_LIBS -lpthread -lmach -lexc -lc_r"
693 if test $ol_with_yielding_select = auto ; then
694 ol_with_yielding_select=yes
696 ],:,[-lmach -lexc -lc_r])
700 if test $ol_link_threads = no ; then
701 dnl try DEC Threads -lpthread -lmach -lexc
703 AC_CHECK_LIB(pthread, pthread_mutex_lock, [
704 ol_link_threads=posix
705 LTHREAD_LIBS="$LTHREAD_LIBS -lpthread -lmach -lexc"
706 if test $ol_with_yielding_select = auto ; then
707 ol_with_yielding_select=yes
713 if test $ol_link_threads = no ; then
714 dnl try DEC Threads -lpthread -lexc
716 AC_CHECK_LIB(pthread, pthread_mutex_trylock, [
717 ol_link_threads=posix
718 LTHREAD_LIBS="$LTHREAD_LIBS -lpthread -lexc"
719 if test $ol_with_yielding_select = auto ; then
720 ol_with_yielding_select=yes
726 if test $ol_link_threads = no ; then
729 AC_CHECK_LIB(pthread, pthread_create, [
730 ol_link_threads=posix
731 LTHREAD_LIBS="$LTHREAD_LIBS -lpthread"],:)
735 if test $ol_link_threads = no ; then
738 AC_CHECK_LIB(c_r, pthread_create, [
739 ol_link_threads=posix
740 LTHREAD_LIBS="$LTHREAD_LIBS -lc_r"],:)
744 if test $ol_link_threads = no ; then
747 AC_CHECK_LIB(pthreads, pthread_create, [
748 ol_link_threads=posix
749 LTHREAD_LIBS="$LTHREAD_LIBS -lpthreads"],:)
753 dnl IRIX Pthread check
754 if test $ol_link_threads = no ; then
755 dnl try IRIX Pthreads -Wl,-woff,85 -lpthreads
757 AC_CHECK_LIB(pthreads, pthread_join, [
758 ol_link_threads=posix
759 LTHREAD_LIBS="$LTHREAD_LIBS -lpthreads"
764 if test $ol_link_threads = no ; then
766 AC_CACHE_CHECK([for pthread_create with -threads],
767 [ol_cv_thread_flag], [
770 LIBS="-threads $LIBS"
771 AC_TRY_LINK([char pthread_create();],[
773 ], ol_cv_thread_flag=yes, ol_cv_thread_flag=no)
778 if test $ol_cv_thread_flag = yes ; then
779 LTHREAD_LIBS="$LTHREAD_LIBS -threads"
780 ol_link_threads=posix
784 if test $ol_link_threads = no ; then
785 dnl try DEC Threads -lpthreads -lmach -lexc -lc_r
787 AC_CHECK_LIB(pthreads, pthread_mutex_unlock, [
788 ol_link_threads=posix
789 LTHREAD_LIBS="$LTHREAD_LIBS -lpthreads -lmach -lexc -lc_r"
790 if test $ol_with_yielding_select = auto ; then
791 ol_with_yielding_select=yes
793 ],:,[-lmach -lexc -lc_r])
797 if test $ol_link_threads = no ; then
798 dnl try DEC Threads -lpthreads -lmach -lexc
800 AC_CHECK_LIB(pthreads, pthread_mutex_lock, [
801 ol_link_threads=posix
802 LTHREAD_LIBS="$LTHREAD_LIBS -lpthreads -lmach -lexc"
803 if test $ol_with_yielding_select = auto ; then
804 ol_with_yielding_select=yes
810 if test $ol_link_threads = no ; then
811 dnl try DEC Threads -lpthreads -lexc
813 AC_CHECK_LIB(pthreads, pthread_mutex_trylock, [
814 ol_link_threads=posix
815 LTHREAD_LIBS="$LTHREAD_LIBS -lpthreads -lexc"
816 if test $ol_with_yielding_select = auto ; then
817 ol_with_yielding_select=yes
823 if test $ol_link_threads != no ; then
824 AC_DEFINE(HAVE_PTHREADS,1,
825 [define if you have POSIX Threads])
828 save_CPPFLAGS="$CPPFLAGS"
830 LIBS="$LTHREAD_LIBS $LIBS"
832 dnl All POSIX Thread (final) implementations should have
833 dnl sched_yield instead of pthread yield.
835 AC_CHECK_FUNCS(sched_yield pthread_yield)
837 if test $ac_cv_func_sched_yield = no -a \
838 $ac_cv_func_pthread_yield = no ; then
839 dnl Digital UNIX has sched_yield() in -lrt
840 AC_CHECK_LIB(rt, sched_yield,
841 [LTHREAD_LIBS="$LTHREAD_LIBS -lrt"
842 AC_DEFINE(HAVE_SCHED_YIELD,1)
843 ac_cv_func_sched_yield=yes],
844 [ac_cv_func_sched_yield=no])
846 if test $ac_cv_func_sched_yield = no -a \
847 $ac_cv_func_pthread_yield = no ; then
848 dnl Solaris has sched_yield() in -lposix4
849 dnl but we'll use thr_yield instead.
850 AC_CHECK_FUNCS(thr_yield)
852 if test $ac_cv_func_sched_yield = no -a \
853 $ac_cv_func_pthread_yield = no -a \
854 "$ac_cv_func_thr_yield" = no ; then
855 AC_MSG_WARN([could not locate sched_yield() or pthread_yield()])
858 dnl Check functions for compatibility
859 AC_CHECK_FUNCS(pthread_kill)
861 dnl Check for pthread_detach with <pthread.h> inclusion
862 dnl as it's symbol may have been mangled.
863 AC_CACHE_CHECK([for pthread_detach with <pthread.h>],
864 [ol_cv_func_pthread_detach], [
866 AC_TRY_LINK([#include <pthread.h>],
867 [pthread_detach(NULL);],
868 [ol_cv_func_pthread_detach=yes],
869 [ol_cv_func_pthread_detach=no])
872 if test $ol_cv_func_pthread_detach = no ; then
873 AC_MSG_ERROR([could not locate pthread_detach()])
876 AC_DEFINE(HAVE_PTHREAD_DETACH,1,
877 [define if you have pthread_detach function])
879 dnl Check for setconcurreny functions
881 pthread_setconcurrency \
882 pthread_getconcurrency \
887 AC_MSG_CHECKING([if pthread_create() works])
888 AC_CACHE_VAL(ol_cv_pthread_create_works,[
892 #define NULL (void*)0
898 return (void *) (p == NULL);
907 exit(pthread_create(&t, pthread_attr_default, task, NULL));
909 exit(pthread_create(&t, NULL, task, NULL));
913 [ol_cv_pthread_create_works=yes],
914 [ol_cv_pthread_create_works=no],
916 ol_cv_pthread_create_works=yes])])
917 AC_MSG_RESULT($ol_cv_pthread_create_works)
919 if test $ol_cv_pthread_create_works = no ; then
920 AC_MSG_ERROR([pthread.h and pthread_create are not compatible])
923 dnl Check if select causes an yield
924 if test $ol_with_yielding_select = auto ; then
925 AC_MSG_CHECKING([if select yields when using pthreads])
926 AC_CACHE_VAL(ol_cv_pthread_select_yields,[
928 #include <sys/types.h>
929 #include <sys/time.h>
933 #define NULL (void*) 0
936 static int fildes[2];
950 FD_SET(fildes[0], &rfds);
952 /* we're not interested in any fds */
953 i = select(FD_SETSIZE, &rfds, NULL, NULL, &tv);
960 exit(0); /* if we exit here, the select blocked the whole process */
969 /* create a pipe to select */
970 if(pipe(&fildes[0])) {
975 #ifdef HAVE_PTHREAD_SETCONCURRENCY
976 (void) pthread_setconcurrency(2);
978 #ifdef HAVE_THR_SETCONCURRENCY
979 /* Set Solaris LWP concurrency to 2 */
980 thr_setconcurrency(2);
985 pthread_create(&t, pthread_attr_default, task, NULL);
987 pthread_create(&t, NULL, task, NULL);
991 sched_yield(); /* make sure task runs first */
993 #ifdef HAVE_PTHREAD_YIELD
994 pthread_yield(); /* make sure task runs first */
1000 [ol_cv_pthread_select_yields=no],
1001 [ol_cv_pthread_select_yields=yes], [
1002 AC_MSG_ERROR([crossing compiling: use --with-yielding_select=yes|no|manual])])])
1003 AC_MSG_RESULT($ol_cv_pthread_select_yields)
1005 if test $ol_cv_pthread_select_yields = yes ; then
1006 ol_with_yielding_select=yes
1011 CPPFLAGS="$save_CPPFLAGS"
1014 AC_MSG_ERROR([could not link with POSIX Threads])
1018 if test $ol_with_threads = posix ; then
1019 AC_MSG_ERROR([could not locate POSIX Threads])
1023 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1024 -o $ol_with_threads = mach ; then
1026 dnl check for Mach CThreads
1027 AC_CHECK_HEADERS(mach/cthreads.h)
1028 if test $ac_cv_header_mach_cthreads_h = yes ; then
1029 ol_with_threads=found
1031 dnl check for cthread support in current $LIBS
1032 AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
1034 if test $ol_link_threads = no ; then
1036 dnl this test needs work
1037 AC_CACHE_CHECK([for cthread_fork with -all_load],
1038 [ol_cv_cthread_all_load], [
1041 LIBS="-all_load $LIBS"
1042 AC_TRY_LINK([#include <mach/cthreads.h>],[
1043 cthread_fork((void *)0, (void *)0);
1044 ], ol_cv_cthread_all_load=yes, ol_cv_cthread_all_load=no)
1045 dnl restore the LIBS
1049 if test $ol_cv_cthread_all_load = yes ; then
1050 LTHREAD_LIBS="$LTHREAD_LIBS -all_load"
1051 ol_link_threads=mach
1055 if test $ol_link_threads != no ; then
1056 : check for cthread specific functionality here
1057 AC_DEFINE(HAVE_MACH_CTHREADS,1,
1058 [define if you have Mach Cthreads])
1060 AC_MSG_ERROR([could not link with Mach CThreads])
1064 if test $ol_with_threads = mach ; then
1065 AC_MSG_ERROR([could not locate Mach CThreads])
1069 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1070 -o $ol_with_threads = lwp ; then
1072 dnl check for SunOS5 LWP
1073 AC_CHECK_HEADERS(thread.h synch.h)
1074 if test $ac_cv_header_thread_h = yes -a $ac_cv_header_synch_h = yes ; then
1075 AC_CHECK_LIB(thread, thr_create, [have_thr=yes], [have_thr=no])
1077 if test $have_thr = yes ; then
1078 AC_DEFINE(HAVE_THR,1,
1079 [if you have Solaris LWP (thr) package])
1080 LTHREAD_LIBS="$LTHREAD_LIBS -lthread"
1083 if test $ol_with_yielding_select = auto ; then
1084 ol_with_yielding_select=yes
1087 dnl Check for setconcurreny functions
1089 thr_setconcurrency \
1090 thr_getconcurrency \
1095 dnl check for SunOS4 LWP
1096 AC_CHECK_HEADERS(lwp/lwp.h)
1097 if test $ac_cv_header_lwp_lwp_h = yes ; then
1098 AC_CHECK_LIB(lwp, lwp_create, [have_lwp=yes], [have_lwp=no])
1100 if test $have_lwp = yes ; then
1101 AC_DEFINE(HAVE_LWP,1,
1102 [if you have SunOS LWP package])
1103 LTHREAD_LIBS="$LTHREAD_LIBS -llwp"
1106 if test $ol_with_yielding_select = auto ; then
1107 ol_with_yielding_select=no
1113 if test $ol_with_yielding_select = yes ; then
1114 AC_DEFINE(HAVE_YIELDING_SELECT,1,
1115 [define if select implicitly yields])
1118 if test $ol_with_threads = manual ; then
1119 dnl User thinks he can manually configure threads.
1122 AC_MSG_WARN([thread defines and link options must be set manually])
1124 AC_CHECK_HEADERS(pthread.h sched.h)
1125 AC_CHECK_FUNCS(sched_yield pthread_yield)
1128 AC_CHECK_HEADERS(mach/cthreads.h)
1129 AC_CHECK_HEADERS(lwp/lwp.h)
1130 AC_CHECK_HEADERS(thread.h synch.h)
1133 if test $ol_link_threads != no ; then
1134 dnl needed to get reentrant/threadsafe versions
1136 AC_DEFINE(REENTRANT,1)
1137 AC_DEFINE(_REENTRANT,1)
1138 AC_DEFINE(THREAD_SAFE,1)
1139 AC_DEFINE(_THREAD_SAFE,1)
1140 AC_DEFINE(THREADSAFE,1)
1141 AC_DEFINE(_THREADSAFE,1)
1143 dnl this might cause the errno symbol to be
1144 dnl replaced with a function to get a thread specific errno.
1145 dnl check to see if everything needs to be compiled
1146 dnl with the thread libraries
1147 AC_CACHE_CHECK([for thread specific errno],
1148 [ol_cv_errno_thread_specific], [
1149 AC_TRY_LINK([#include <errno.h>], [int x = errno;],
1150 [ol_cv_errno_thread_specific=yes],
1151 [ol_cv_errno_thread_specific=no])
1154 if test $ol_cv_errno_thread_specific != yes ; then
1155 LIBS="$LTHREAD_LIBS $LIBS"
1159 dnl When in thread environment, use
1160 dnl #if defined( HAVE_REENTRANT_FUNCTIONS ) \
1161 dnl || defined( HAVE_FUNC_R )
1164 dnl # if defined( HAVE_THREADS )
1168 dnl # if defined( HAVE_THREADS )
1173 dnl HAVE_REENTRANT_FUNCTIONS is derived from:
1174 dnl _POSIX_REENTRANT_FUNCTIONS
1175 dnl _POSIX_THREAD_SAFE_FUNCTIONS
1176 dnl _POSIX_THREADSAFE_FUNCTIONS
1178 dnl and is currently defined in lthread.h
1180 dnl HAVE_THREADS is defined by lthread.h iff -UNO_THREADS
1182 dnl libldap/*.c should only include <lthread.h> iff
1183 dnl LDAP_R_COMPILE is defined. ie:
1184 dnl #ifdef LDAP_R_COMPILE
1185 dnl # include LDAP_R_COMPILE
1188 dnl LDAP_R_COMIPLE is defined by libldap_r/Makefile.in
1189 dnl specifically for compiling the threadsafe version of
1190 dnl the ldap library (-lldap_r).
1192 dnl dnl check for reentrant/threadsafe functions
1194 dnl dnl note: these should only be used when linking
1195 dnl dnl with $LTHREAD_LIBS
1197 dnl save_CPPFLAGS="$CPPFLAGS"
1198 dnl save_LIBS="$LIBS"
1199 dnl LIBS="$LTHREAD_LIBS $LIBS"
1200 dnl AC_CHECK_FUNCS( \
1202 dnl gethostbyaddr_r gethostbyname_r \
1203 dnl feof_unlocked unlocked_feof \
1204 dnl putc_unlocked unlocked_putc \
1205 dnl flockfile ftrylockfile \
1207 dnl CPPFLAGS="$save_CPPFLAGS"
1208 dnl LIBS="$save_LIBS"
1211 dnl ----------------------------------------------------------------
1213 if test $ol_link_threads = no ; then
1214 if test $ol_with_threads = yes ; then
1215 AC_MSG_ERROR([no suitable thread support])
1218 if test $ol_with_threads = auto ; then
1219 AC_MSG_WARN([no suitable thread support, disabling threads])
1223 AC_DEFINE(NO_THREADS,1,
1224 [define if you have (or want) no threads])
1229 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = db2 ; then
1232 if test $ol_cv_berkeley_db2 = yes ; then
1234 ol_with_ldbm_api=db2
1236 if test $ol_with_ldbm_type = hash ; then
1237 AC_DEFINE(LDBM_USE_DBHASH,1)
1239 AC_DEFINE(LDBM_USE_DBBTREE,1)
1242 dnl $ol_cv_lib_db2 should be yes or -ldb
1243 dnl (it could be no, but that would be an error
1244 if test $ol_cv_lib_db2 != yes ; then
1245 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db2"
1251 if test $ol_link_ldbm = db2 -a $ol_enable_bdb2 != no ; then
1255 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = db ; then
1258 if test $ol_cv_berkeley_db = yes ; then
1262 if test $ol_with_ldbm_type = hash ; then
1263 AC_DEFINE(LDBM_USE_DBHASH,1)
1265 AC_DEFINE(LDBM_USE_DBBTREE,1)
1268 dnl $ol_cv_lib_db should be yes or -ldb
1269 dnl (it could be no, but that would be an error
1270 if test $ol_cv_lib_db != yes ; then
1271 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db"
1276 if test $ol_with_ldbm_api = manual ; then
1277 dnl User thinks he can manually configure LDBM api.
1280 AC_MSG_WARN([LDBM defines and link options must be set manually])
1282 AC_CHECK_HEADERS(db.h db_185.h gdbm.h ndbm.h)
1285 if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
1286 AC_MSG_WARN(Could not find LDBM with BTREE support)
1287 ol_with_ldbm_api=none
1290 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = gdbm ; then
1293 if test $ol_cv_gdbm = yes ; then
1295 ol_with_ldbm_api=gdbm
1297 if test $ol_cv_lib_gdbm != yes ; then
1298 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_gdbm"
1303 if test $ol_with_ldbm_api = auto ; then
1304 AC_MSG_WARN([skipping automatic checking for NDBM, must be manually enabled.])
1305 elif test $ol_with_ldbm_api = ndbm ; then
1308 if test $ol_cv_ndbm = yes ; then
1310 ol_with_ldbm_api=ndbm
1312 if test $ol_cv_lib_ndbm != yes ; then
1313 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_ndbm"
1318 if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then
1319 AC_MSG_WARN(could not find suitable LDBM backend)
1320 if test $ol_enable_ldbm = yes ; then
1321 AC_MSG_ERROR(select appropriate LDBM options or disable)
1324 AC_MSG_WARN(disabling LDBM)
1328 if test $ol_enable_wrappers != no ; then
1329 AC_CHECK_HEADERS(tcpd.h)
1331 if test $ac_cv_header_tcpd_h != yes ; then
1334 AC_CHECK_LIB(wrap, main,
1335 [have_wrappers=yes], [have_wrappers=no])
1338 if test $have_wrappers = yes ; then
1339 AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
1340 SLAPD_LIBS="$SLAPD_LIBS -lwrap"
1342 AC_MSG_WARN(could not find -lwrap)
1343 if test $ol_enable_wrappers = yes ; then
1344 AC_MSG_ERROR(could not find wrappers, select appropriate options or disable)
1347 AC_MSG_WARN(disabling wrappers support)
1348 ol_enable_wrappers=no
1352 if test $ol_enable_syslog != no ; then
1353 AC_CHECK_FUNC(openlog)
1354 if test $ac_cv_func_openlog = no -a $ol_enable_syslog = yes; then
1355 AC_MSG_ERROR(could not find syslog, select appropriate options or disable)
1357 ol_enable_syslog=$ac_cv_func_openlog
1360 if test $ol_enable_dmalloc != no ; then
1361 AC_CHECK_HEADERS(dmalloc.h)
1362 AC_CHECK_LIB(dmalloc, dmalloc_shutdown)
1365 if test $ol_enable_tcl != no ; then
1366 AC_CHECK_HEADERS(tcl.h)
1368 if test $ac_cv_header_tcl_h != yes ; then
1371 AC_CHECK_LIB(tcl,main,
1372 [have_tcl=yes; SLAPD_LIBS="$SLAPD_LIBS -ltcl"],
1375 if test $have_tcl != yes; then
1376 AC_CHECK_LIB(tcl7.6,main,
1377 [have_tcl=yes; SLAPD_LIBS="$SLAPD_LIBS -ltcl7.6"],
1381 if test $have_tcl != yes; then
1382 AC_CHECK_LIB(tcl8.0,main,
1383 [have_tcl=yes; SLAPD_LIBS="$SLAPD_LIBS -ltcl8.0"],
1388 if test $have_tcl != yes ; then
1389 AC_MSG_WARN([could not find -ltcl])
1390 if test $ol_enable_tcl = yes ; then
1391 AC_MSG_ERROR([could not find tcl, select appropriate options or disable])
1398 # ud needs termcap (should insert check here)
1400 AC_CHECK_HEADERS(termcap.h ncurses.h)
1402 if test $ol_link_termcap = no ; then
1403 AC_CHECK_LIB(termcap, tputs, [have_termcap=yes], [have_termcap=no])
1404 if test $have_termcap = yes ; then
1405 AC_DEFINE(HAVE_TERMCAP, 1, [define if you have -ltermcap])
1407 TERMCAP_LIBS=-ltermcap
1411 if test $ol_link_termcap = no ; then
1412 AC_CHECK_LIB(ncurses, initscr, [have_ncurses=yes], [have_ncurses=no])
1413 if test $have_ncurses = yes ; then
1414 AC_DEFINE(HAVE_NCURSES, 1, [define if you have -lncurses])
1416 TERMCAP_LIBS=-lncurses
1420 if test $ol_link_termcap = no ; then
1421 AC_DEFINE(NO_TERMCAP,1, [define if you have no termcap support])
1425 # FreeBSD (and others) have crypt(3) in -lcrypt
1426 if test $ol_enable_crypt != no ; then
1427 AC_CHECK_FUNC(crypt, [have_crypt=yes], [
1428 AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
1429 have_crypt=yes], [have_crypt=no])])
1431 if test $have_crypt = yes ; then
1432 AC_DEFINE(HAVE_CRYPT,1)
1434 AC_MSG_WARN(could not find crypt)
1435 if test $ol_enable_crypt = yes ; then
1436 AC_MSG_ERROR(could not find crypt, select appropriate options or disable)
1439 AC_MSG_WARN(disabling crypt support)
1444 # FreeBSD (and others) have setproctitle(3) in -lutil
1445 if test $ol_enable_proctitle != no ; then
1446 AC_CHECK_FUNC(setproctitle, [have_setproctitle=yes], [
1447 AC_CHECK_LIB(util, setproctitle,
1448 [have_setproctitle=yes
1449 LUTIL_LIBS="$LUTIL_LIBS -lutil"],
1450 [have_setproctitle=no
1451 LIBOBJS="$LIBOBJS setproctitle.o"])])
1453 if test $have_setproctitle = yes ; then
1454 AC_DEFINE(HAVE_SETPROCTITLE,1)
1458 dnl ----------------------------------------------------------------
1459 dnl Checks for header files.
1462 if test $ac_cv_header_stdc != yes; then
1463 AC_MSG_WARN([could not Standard C compliant headers])
1468 AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
1469 if test $am_cv_sys_posix_termios = yes ; then
1470 AC_DEFINE(HAVE_POSIX_TERMIOS,1,
1471 [define if you have POSIX termios])
1511 dnl ----------------------------------------------------------------
1512 dnl Checks for typedefs, structures, and compiler characteristics.
1513 AC_TYPE_GETGROUPS dnl requires AC_TYPE_UID_T
1519 OL_TYPE_SIG_ATOMIC_T
1521 AC_STRUCT_ST_BLKSIZE
1529 if test $cross_compiling = yes ; then
1530 AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
1533 AC_CHECK_SIZEOF(short)
1534 AC_CHECK_SIZEOF(int)
1535 AC_CHECK_SIZEOF(long)
1538 dnl ----------------------------------------------------------------
1539 dnl Checks for library functions.
1541 dnl AM_FUNC_MKTIME dnl checks for sys/time.h and unistd.h
1546 if test $ac_cv_func_vprintf = yes ; then
1547 dnl check for vsnprintf
1548 AC_CHECK_FUNCS(vsnprintf vsprintf)
1582 # these functions are required to build a thread_safe -lldap
1589 if test "$ac_cv_func_ctime_r" = yes ; then
1590 OL_FUNC_CTIME_R_NARGS
1591 OL_FUNC_CTIME_R_TYPE
1593 ol_cv_func_ctime_r_nargs=0
1596 if test "$ac_cv_func_gethostbyname_r" = yes ; then
1597 OL_FUNC_GETHOSTBYNAME_R_NARGS
1599 ol_cv_func_gethostbyname_r_nargs=0
1602 if test "$ac_cv_func_gethostbyaddr_r" = yes ; then
1603 OL_FUNC_GETHOSTBYADDR_R_NARGS
1605 ol_cv_func_gethostbyaddr_r_nargs=0
1608 if test "$ac_cv_func_ctime_r" = yes \
1609 -a "$ol_cv_func_ctime_r_nargs" -ge 2 -a "$ol_cv_func_ctime_r_nargs" -le 3 \
1610 -a "$ol_cv_func_gethostbyname_r_nargs" -ge 5 -a "$ol_cv_func_gethostbyname_r_nargs" -le 6 \
1611 -a "$ol_cv_func_gethostbyaddr_r_nargs" -ge 5 -a "$ol_cv_func_gethostbyaddr_r_nargs" -le 6 \
1612 -a "$ac_cv_func_gethostbyaddr_r" = yes \
1613 -a "$ac_cv_func_gethostbyname_r" = yes \
1616 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_REENTRANT, 1)
1619 if test $ol_link_threads != no ; then
1620 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE, 1)
1623 dnl We actually may need to replace more than this.
1624 AC_REPLACE_FUNCS(getopt tempnam)
1626 dnl ----------------------------------------------------------------
1627 # Check Configuration
1630 dnl ----------------------------------------------------------------
1631 dnl Sort out defines
1633 if test "$ol_enable_debug" != no ; then
1634 AC_DEFINE(LDAP_DEBUG,1)
1636 if test "$ol_enable_syslog" = yes ; then
1637 AC_DEFINE(LDAP_SYSLOG,1)
1639 if test "$ol_enable_libui" = yes ; then
1640 AC_DEFINE(LDAP_LIBUI,1)
1642 if test "$ol_enable_cache" = no ; then
1643 AC_DEFINE(LDAP_NOCACHE,1)
1645 if test "$ol_enable_dns" != no ; then
1646 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_DNS,LDAP_VENDOR_VERSION)
1648 if test "$ol_enable_proctitle" != no ; then
1649 AC_DEFINE(LDAP_PROCTITLE,1)
1651 if test "$ol_enable_referrals" != no ; then
1652 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS,LDAP_VENDOR_VERSION)
1654 if test "$ol_enable_cldap" != no ; then
1655 AC_DEFINE(LDAP_CONNECTIONLESS,1)
1658 if test "$ol_enable_aclgroups" != no ; then
1659 AC_DEFINE(SLAPD_ACLGROUPS,1)
1661 if test "$ol_enable_crypt" != no ; then
1662 AC_DEFINE(SLAPD_CRYPT,1)
1664 if test "$ol_enable_cleartext" != no ; then
1665 AC_DEFINE(SLAPD_CLEARTEXT,1)
1667 if test "$ol_enable_phonetic" != no ; then
1668 AC_DEFINE(SLAPD_PHONETIC,1)
1670 if test "$ol_enable_rlookups" != no ; then
1671 AC_DEFINE(SLAPD_RLOOKUPS,1)
1674 if test "$ol_link_bdb2" != no ; then
1675 AC_DEFINE(SLAPD_BDB2,1)
1680 if test "$ol_link_ldbm" != no ; then
1681 AC_DEFINE(SLAPD_LDBM,1)
1686 if test "$ol_enable_passwd" != no ; then
1687 AC_DEFINE(SLAPD_PASSWD,1)
1692 if test "$ol_enable_perl" != no ; then
1693 AC_DEFINE(SLAPD_PERL,1)
1698 if test "$ol_enable_shell" != no ; then
1699 AC_DEFINE(SLAPD_SHELL,1)
1704 if test "$ol_enable_tcl" != no ; then
1705 AC_DEFINE(SLAPD_TCL,1)
1710 if test "$ol_enable_slurpd" != no -a "$ol_link_threads" != no -a \
1711 $BUILD_SLAPD = yes ; then
1715 if test "$ol_link_isode" != no ; then
1719 dnl ----------------------------------------------------------------
1721 AC_SUBST(BUILD_LDAPD)
1722 AC_SUBST(BUILD_SLAPD)
1723 AC_SUBST(BUILD_BDB2)
1724 AC_SUBST(BUILD_LDBM)
1725 AC_SUBST(BUILD_PASSWD)
1726 AC_SUBST(BUILD_PERL)
1727 AC_SUBST(BUILD_SHELL)
1729 AC_SUBST(BUILD_SLURPD)
1732 AC_SUBST(LDAPD_LIBS)
1733 AC_SUBST(SLAPD_LIBS)
1734 AC_SUBST(SLURPD_LIBS)
1736 AC_SUBST(LTHREAD_LIBS)
1737 AC_SUBST(LUTIL_LIBS)
1739 AC_SUBST(SLAPD_PERL_CPPFLAGS)
1740 AC_SUBST(SLAPD_PERL_LDFLAGS)
1743 AC_SUBST(TERMCAP_LIBS)
1746 dnl ----------------------------------------------------------------
1751 Makefile:build/top.mk:Makefile.in:build/dir.mk \
1752 doc/Makefile:build/top.mk:doc/Makefile.in:build/dir.mk \
1753 doc/man/Makefile:build/top.mk:doc/man/Makefile.in:build/dir.mk \
1754 doc/man/man1/Makefile:build/top.mk:doc/man/man1/Makefile.in:build/man.mk \
1755 doc/man/man3/Makefile:build/top.mk:doc/man/man3/Makefile.in:build/man.mk \
1756 doc/man/man5/Makefile:build/top.mk:doc/man/man5/Makefile.in:build/man.mk \
1757 doc/man/man8/Makefile:build/top.mk:doc/man/man8/Makefile.in:build/man.mk \
1758 clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.mk \
1759 clients/finger/Makefile:build/top.mk:clients/finger/Makefile.in:build/rules.mk \
1760 clients/fax500/Makefile:build/top.mk:clients/fax500/Makefile.in:build/rules.mk \
1761 clients/gopher/Makefile:build/top.mk:clients/gopher/Makefile.in:build/rules.mk \
1762 clients/mail500/Makefile:build/top.mk:clients/mail500/Makefile.in:build/rules.mk \
1763 clients/rcpt500/Makefile:build/top.mk:clients/rcpt500/Makefile.in:build/rules.mk \
1764 clients/ud/Makefile:build/top.mk:clients/ud/Makefile.in:build/rules.mk \
1765 clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk \
1766 include/Makefile:build/top.mk:include/Makefile.in \
1767 libraries/Makefile:build/top.mk:libraries/Makefile.in:build/dir.mk \
1768 libraries/libavl/Makefile:build/top.mk:libraries/libavl/Makefile.in:build/lib.mk:build/lib-static.mk \
1769 libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk:build/lib-shared.mk \
1770 libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk:build/lib-shared.mk \
1771 libraries/libldap_r/Makefile:build/top.mk:libraries/libldap_r/Makefile.in:build/lib.mk:build/lib-shared.mk \
1772 libraries/libldbm/Makefile:build/top.mk:libraries/libldbm/Makefile.in:build/lib.mk:build/lib-static.mk \
1773 libraries/libldif/Makefile:build/top.mk:libraries/libldif/Makefile.in:build/lib.mk:build/lib-static.mk \
1774 libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk \
1775 servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \
1776 servers/ldapd/Makefile:build/top.mk:servers/ldapd/Makefile.in:build/srv.mk \
1777 servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
1778 servers/slapd/back-bdb2/Makefile:build/top.mk:servers/slapd/back-bdb2/Makefile.in:build/srv.mk \
1779 servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/srv.mk \
1780 servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/srv.mk \
1781 servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/srv.mk \
1782 servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/srv.mk \
1783 servers/slapd/back-tcl/Makefile:build/top.mk:servers/slapd/back-tcl/Makefile.in:build/srv.mk \
1784 servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk \
1785 servers/slapd/tools/Makefile:build/top.mk:servers/slapd/tools/Makefile.in \
1786 servers/slurpd/Makefile:build/top.mk:servers/slurpd/Makefile.in:build/srv.mk \
1787 tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk \
1788 tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \
1791 echo Please \"make depend\" to build dependencies