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 dnl Tests for reentrant functions necessary to build a
510 dnl thread_safe -lldap.
518 if test "$ac_cv_func_ctime_r" = yes ; then
519 OL_FUNC_CTIME_R_NARGS
520 dnl OL_FUNC_CTIME_R_TYPE
522 ol_cv_func_ctime_r_nargs=0
525 if test "$ac_cv_func_gethostbyname_r" = yes ; then
526 OL_FUNC_GETHOSTBYNAME_R_NARGS
528 ol_cv_func_gethostbyname_r_nargs=0
531 if test "$ac_cv_func_gethostbyaddr_r" = yes ; then
532 OL_FUNC_GETHOSTBYADDR_R_NARGS
534 ol_cv_func_gethostbyaddr_r_nargs=0
537 if test "$ac_cv_func_ctime_r" = yes \
538 -a "$ol_cv_func_ctime_r_nargs" -ge 2 -a "$ol_cv_func_ctime_r_nargs" -le 3 \
539 -a "$ol_cv_func_gethostbyname_r_nargs" -ge 5 -a "$ol_cv_func_gethostbyname_r_nargs" -le 6 \
540 -a "$ol_cv_func_gethostbyaddr_r_nargs" -ge 5 -a "$ol_cv_func_gethostbyaddr_r_nargs" -le 6 \
541 -a "$ac_cv_func_gethostbyaddr_r" = yes \
542 -a "$ac_cv_func_gethostbyname_r" = yes \
545 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_REENTRANT, 1)
548 if test $ol_link_threads != no ; then
549 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE, 1)
554 if test $ol_with_threads = auto -o $ol_with_threads = yes \
555 -o $ol_with_threads = posix ; then
557 AC_CHECK_HEADERS(pthread.h sched.h)
559 if test $ac_cv_header_pthread_h = yes ; then
560 OL_POSIX_THREAD_VERSION
562 if test $ol_cv_pthread_version = final ; then
563 AC_DEFINE(HAVE_PTHREADS_FINAL,1,
564 [define if pthreads API compatible with final spec])
565 elif test $ol_cv_pthread_version = draft4 ; then
566 AC_DEFINE(HAVE_PTHREADS_D4,1,
567 [define if pthreads API compatible with draft4 spec])
569 AC_MSG_ERROR([unknown pthread version])
572 # consider threads found
573 ol_with_threads=found
577 if test $ol_cv_linux_threads = yes ; then
578 AC_DEFINE(HAVE_LINUX_THREADS,1,
579 [define if you have LinuxThreads])
582 dnl Now the hard part, how to link?
584 dnl currently supported checks:
586 dnl Check for no flags
587 dnl pthread_create() in $LIBS
589 dnl Check special pthread (final) flags
590 dnl pthread_create() with -kthread (FreeBSD)
591 dnl pthread_create() with -pthread (FreeBSD/Digital Unix)
592 dnl pthread_create() with -pthreads (?)
593 dnl pthread_create() with -thread (?)
594 dnl pthread_create() with -mt (Solaris)
596 dnl Check pthread (final) libraries
597 dnl pthread_mutex_unlock() in -lpthread -lmach -lexc -lc_r (OSF/1)
598 dnl pthread_mutex_lock() in -lpthread -lmach -lexc (OSF/1)
599 dnl pthread_mutex_trylock() in -lpthread -lexc (OSF/1)
600 dnl pthread_create() in -lpthread (many)
601 dnl pthread_create() in -lc_r (FreeBSD)
602 dnl pthread_create() in -lpthreads (many)
603 dnl pthread_join() -Wl,-woff,85 -lpthreads (IRIX)
605 dnl Check pthread (draft4) flags (depreciated)
606 dnl pthread_create() with -threads (OSF/1)
608 dnl Check pthread (final) libraries (depreciated)
609 dnl pthread_mutex_unlock() in -lpthreads -lmach -lexc -lc_r (OSF/1)
610 dnl pthread_mutex_lock() in -lpthreads -lmach -lexc (OSF/1)
611 dnl pthread_mutex_trylock() in -lpthreads -lexc (OSF/1)
614 dnl pthread_create in $LIBS
615 AC_CHECK_FUNC(pthread_create,[ol_link_threads=yes])
617 if test $ol_link_threads = no ; then
619 AC_CACHE_CHECK([for pthread_create with -kthread],
620 [ol_cv_kthread_flag], [
623 LIBS="-kthread $LIBS"
624 AC_TRY_LINK([#include <pthread.h>],[
626 pthread_create(NULL,pthread_attr_default,NULL,NULL);
628 pthread_create(NULL,NULL,NULL,NULL);
631 [ol_cv_kthread_flag=yes], [ol_cv_kthread_flag=no])
636 if test $ol_cv_kthread_flag = yes ; then
637 LTHREAD_LIBS="$LTHREAD_LIBS -kthread"
638 ol_link_threads=posix
642 if test $ol_link_threads = no ; then
644 AC_CACHE_CHECK([for pthread_create with -pthread],
645 [ol_cv_pthread_flag], [
648 LIBS="-pthread $LIBS"
649 AC_TRY_LINK([#include <pthread.h>],[
651 pthread_create(NULL,pthread_attr_default,NULL,NULL);
653 pthread_create(NULL,NULL,NULL,NULL);
656 [ol_cv_pthread_flag=yes], [ol_cv_pthread_flag=no])
661 if test $ol_cv_pthread_flag = yes ; then
662 LTHREAD_LIBS="$LTHREAD_LIBS -pthread"
663 ol_link_threads=posix
667 if test $ol_link_threads = no ; then
669 AC_CACHE_CHECK([for pthread_create with -pthreads],
670 [ol_cv_pthreads_flag], [
673 LIBS="-pthreads $LIBS"
674 AC_TRY_LINK([#include <pthread.h>],[
676 pthread_create(NULL,pthread_attr_default,NULL,NULL);
678 pthread_create(NULL,NULL,NULL,NULL);
681 [ol_cv_pthreads_flag=yes], [ol_cv_pthreads_flag=no])
686 if test $ol_cv_pthreads_flag = yes ; then
687 LTHREAD_LIBS="$LTHREAD_LIBS -pthreads"
688 ol_link_threads=posix
692 if test $ol_link_threads = no ; then
694 AC_CACHE_CHECK([for pthread_create with -thread],
695 [ol_cv_thread_flag], [
699 AC_TRY_LINK([char pthread_create();],
701 [ol_cv_thread_flag=yes], [ol_cv_thread_flag=no])
706 if test $ol_cv_thread_flag = yes ; then
707 LTHREAD_LIBS="$LTHREAD_LIBS -thread"
708 ol_link_threads=posix
712 if test $ol_link_threads = no ; then
714 AC_CACHE_CHECK([for pthread_create with -mt],
715 [ol_cv_thread_flag], [
719 AC_TRY_LINK([char pthread_create();],
721 [ol_cv_thread_flag=yes], [ol_cv_thread_flag=no])
726 if test $ol_cv_thread_flag = yes ; then
727 LTHREAD_LIBS="$LTHREAD_LIBS -mt"
728 ol_link_threads=posix
732 if test $ol_link_threads = no ; then
733 dnl try DEC Threads -lpthread -lmach -lexc -lc_r
735 AC_CHECK_LIB(pthread, pthread_mutex_unlock, [
736 ol_link_threads=posix
737 LTHREAD_LIBS="$LTHREAD_LIBS -lpthread -lmach -lexc -lc_r"
738 if test $ol_with_yielding_select = auto ; then
739 ol_with_yielding_select=yes
741 ],:,[-lmach -lexc -lc_r])
745 if test $ol_link_threads = no ; then
746 dnl try DEC Threads -lpthread -lmach -lexc
748 AC_CHECK_LIB(pthread, pthread_mutex_lock, [
749 ol_link_threads=posix
750 LTHREAD_LIBS="$LTHREAD_LIBS -lpthread -lmach -lexc"
751 if test $ol_with_yielding_select = auto ; then
752 ol_with_yielding_select=yes
758 if test $ol_link_threads = no ; then
759 dnl try DEC Threads -lpthread -lexc
761 AC_CHECK_LIB(pthread, pthread_mutex_trylock, [
762 ol_link_threads=posix
763 LTHREAD_LIBS="$LTHREAD_LIBS -lpthread -lexc"
764 if test $ol_with_yielding_select = auto ; then
765 ol_with_yielding_select=yes
771 if test $ol_link_threads = no ; then
774 AC_CHECK_LIB(pthread, pthread_create, [
775 ol_link_threads=posix
776 LTHREAD_LIBS="$LTHREAD_LIBS -lpthread"],:)
780 if test $ol_link_threads = no ; then
783 AC_CHECK_LIB(c_r, pthread_create, [
784 ol_link_threads=posix
785 LTHREAD_LIBS="$LTHREAD_LIBS -lc_r"],:)
789 if test $ol_link_threads = no ; then
792 AC_CHECK_LIB(pthreads, pthread_create, [
793 ol_link_threads=posix
794 LTHREAD_LIBS="$LTHREAD_LIBS -lpthreads"],:)
798 dnl IRIX Pthread check
799 if test $ol_link_threads = no ; then
800 dnl try IRIX Pthreads -Wl,-woff,85 -lpthreads
802 AC_CHECK_LIB(pthreads, pthread_join, [
803 ol_link_threads=posix
804 LTHREAD_LIBS="$LTHREAD_LIBS -lpthreads"
809 if test $ol_link_threads = no ; then
811 AC_CACHE_CHECK([for pthread_create with -threads],
812 [ol_cv_thread_flag], [
815 LIBS="-threads $LIBS"
816 AC_TRY_LINK([char pthread_create();],[
818 ], ol_cv_thread_flag=yes, ol_cv_thread_flag=no)
823 if test $ol_cv_thread_flag = yes ; then
824 LTHREAD_LIBS="$LTHREAD_LIBS -threads"
825 ol_link_threads=posix
829 if test $ol_link_threads = no ; then
830 dnl try DEC Threads -lpthreads -lmach -lexc -lc_r
832 AC_CHECK_LIB(pthreads, pthread_mutex_unlock, [
833 ol_link_threads=posix
834 LTHREAD_LIBS="$LTHREAD_LIBS -lpthreads -lmach -lexc -lc_r"
835 if test $ol_with_yielding_select = auto ; then
836 ol_with_yielding_select=yes
838 ],:,[-lmach -lexc -lc_r])
842 if test $ol_link_threads = no ; then
843 dnl try DEC Threads -lpthreads -lmach -lexc
845 AC_CHECK_LIB(pthreads, pthread_mutex_lock, [
846 ol_link_threads=posix
847 LTHREAD_LIBS="$LTHREAD_LIBS -lpthreads -lmach -lexc"
848 if test $ol_with_yielding_select = auto ; then
849 ol_with_yielding_select=yes
855 if test $ol_link_threads = no ; then
856 dnl try DEC Threads -lpthreads -lexc
858 AC_CHECK_LIB(pthreads, pthread_mutex_trylock, [
859 ol_link_threads=posix
860 LTHREAD_LIBS="$LTHREAD_LIBS -lpthreads -lexc"
861 if test $ol_with_yielding_select = auto ; then
862 ol_with_yielding_select=yes
868 if test $ol_link_threads != no ; then
869 AC_DEFINE(HAVE_PTHREADS,1,
870 [define if you have POSIX Threads])
873 save_CPPFLAGS="$CPPFLAGS"
875 LIBS="$LTHREAD_LIBS $LIBS"
877 dnl All POSIX Thread (final) implementations should have
878 dnl sched_yield instead of pthread yield.
880 AC_CHECK_FUNCS(sched_yield pthread_yield)
882 if test $ac_cv_func_sched_yield = no -a \
883 $ac_cv_func_pthread_yield = no ; then
884 dnl Digital UNIX has sched_yield() in -lrt
885 AC_CHECK_LIB(rt, sched_yield,
886 [LTHREAD_LIBS="$LTHREAD_LIBS -lrt"
887 AC_DEFINE(HAVE_SCHED_YIELD,1)
888 ac_cv_func_sched_yield=yes],
889 [ac_cv_func_sched_yield=no])
891 if test $ac_cv_func_sched_yield = no -a \
892 $ac_cv_func_pthread_yield = no ; then
893 dnl Solaris has sched_yield() in -lposix4
894 dnl but we'll use thr_yield instead.
895 AC_CHECK_FUNCS(thr_yield)
897 if test $ac_cv_func_sched_yield = no -a \
898 $ac_cv_func_pthread_yield = no -a \
899 "$ac_cv_func_thr_yield" = no ; then
900 AC_MSG_WARN([could not locate sched_yield() or pthread_yield()])
903 dnl Check functions for compatibility
904 AC_CHECK_FUNCS(pthread_kill)
906 dnl Check for pthread_detach with <pthread.h> inclusion
907 dnl as it's symbol may have been mangled.
908 AC_CACHE_CHECK([for pthread_detach with <pthread.h>],
909 [ol_cv_func_pthread_detach], [
911 AC_TRY_LINK([#include <pthread.h>],
912 [pthread_detach(NULL);],
913 [ol_cv_func_pthread_detach=yes],
914 [ol_cv_func_pthread_detach=no])
917 if test $ol_cv_func_pthread_detach = no ; then
918 AC_MSG_ERROR([could not locate pthread_detach()])
921 AC_DEFINE(HAVE_PTHREAD_DETACH,1,
922 [define if you have pthread_detach function])
924 dnl Check for setconcurreny functions
926 pthread_setconcurrency \
927 pthread_getconcurrency \
932 AC_MSG_CHECKING([if pthread_create() works])
933 AC_CACHE_VAL(ol_cv_pthread_create_works,[
937 #define NULL (void*)0
943 return (void *) (p == NULL);
952 exit(pthread_create(&t, pthread_attr_default, task, NULL));
954 exit(pthread_create(&t, NULL, task, NULL));
958 [ol_cv_pthread_create_works=yes],
959 [ol_cv_pthread_create_works=no],
961 ol_cv_pthread_create_works=yes])])
962 AC_MSG_RESULT($ol_cv_pthread_create_works)
964 if test $ol_cv_pthread_create_works = no ; then
965 AC_MSG_ERROR([pthread_create is not usable, check environment settings])
968 dnl Check if select causes an yield
969 if test $ol_with_yielding_select = auto ; then
970 AC_MSG_CHECKING([if select yields when using pthreads])
971 AC_CACHE_VAL(ol_cv_pthread_select_yields,[
973 #include <sys/types.h>
974 #include <sys/time.h>
978 #define NULL (void*) 0
981 static int fildes[2];
995 FD_SET(fildes[0], &rfds);
997 /* we're not interested in any fds */
998 i = select(FD_SETSIZE, &rfds, NULL, NULL, &tv);
1005 exit(0); /* if we exit here, the select blocked the whole process */
1008 int main(argc, argv)
1014 /* create a pipe to select */
1015 if(pipe(&fildes[0])) {
1020 #ifdef HAVE_PTHREAD_SETCONCURRENCY
1021 (void) pthread_setconcurrency(2);
1023 #ifdef HAVE_THR_SETCONCURRENCY
1024 /* Set Solaris LWP concurrency to 2 */
1025 thr_setconcurrency(2);
1029 #if HAVE_PTHREADS_D4
1030 pthread_create(&t, pthread_attr_default, task, NULL);
1032 pthread_create(&t, NULL, task, NULL);
1035 #if HAVE_SCHED_YIELD
1036 sched_yield(); /* make sure task runs first */
1038 #ifdef HAVE_PTHREAD_YIELD
1039 pthread_yield(); /* make sure task runs first */
1045 [ol_cv_pthread_select_yields=no],
1046 [ol_cv_pthread_select_yields=yes], [
1047 AC_MSG_ERROR([crossing compiling: use --with-yielding_select=yes|no|manual])])])
1048 AC_MSG_RESULT($ol_cv_pthread_select_yields)
1050 if test $ol_cv_pthread_select_yields = yes ; then
1051 ol_with_yielding_select=yes
1056 CPPFLAGS="$save_CPPFLAGS"
1059 AC_MSG_ERROR([could not link with POSIX Threads])
1063 if test $ol_with_threads = posix ; then
1064 AC_MSG_ERROR([could not locate POSIX Threads])
1068 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1069 -o $ol_with_threads = mach ; then
1071 dnl check for Mach CThreads
1072 AC_CHECK_HEADERS(mach/cthreads.h)
1073 if test $ac_cv_header_mach_cthreads_h = yes ; then
1074 ol_with_threads=found
1076 dnl check for cthread support in current $LIBS
1077 AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
1079 if test $ol_link_threads = no ; then
1081 dnl this test needs work
1082 AC_CACHE_CHECK([for cthread_fork with -all_load],
1083 [ol_cv_cthread_all_load], [
1086 LIBS="-all_load $LIBS"
1087 AC_TRY_LINK([#include <mach/cthreads.h>],[
1088 cthread_fork((void *)0, (void *)0);
1089 ], ol_cv_cthread_all_load=yes, ol_cv_cthread_all_load=no)
1090 dnl restore the LIBS
1094 if test $ol_cv_cthread_all_load = yes ; then
1095 LTHREAD_LIBS="$LTHREAD_LIBS -all_load"
1096 ol_link_threads=mach
1100 if test $ol_link_threads != no ; then
1101 : check for cthread specific functionality here
1102 AC_DEFINE(HAVE_MACH_CTHREADS,1,
1103 [define if you have Mach Cthreads])
1105 AC_MSG_ERROR([could not link with Mach CThreads])
1109 if test $ol_with_threads = mach ; then
1110 AC_MSG_ERROR([could not locate Mach CThreads])
1114 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1115 -o $ol_with_threads = lwp ; then
1117 dnl check for SunOS5 LWP
1118 AC_CHECK_HEADERS(thread.h synch.h)
1119 if test $ac_cv_header_thread_h = yes -a $ac_cv_header_synch_h = yes ; then
1120 AC_CHECK_LIB(thread, thr_create, [have_thr=yes], [have_thr=no])
1122 if test $have_thr = yes ; then
1123 AC_DEFINE(HAVE_THR,1,
1124 [if you have Solaris LWP (thr) package])
1125 LTHREAD_LIBS="$LTHREAD_LIBS -lthread"
1128 if test $ol_with_yielding_select = auto ; then
1129 ol_with_yielding_select=yes
1132 dnl Check for setconcurreny functions
1134 thr_setconcurrency \
1135 thr_getconcurrency \
1140 dnl check for SunOS4 LWP
1141 AC_CHECK_HEADERS(lwp/lwp.h)
1142 if test $ac_cv_header_lwp_lwp_h = yes ; then
1143 AC_CHECK_LIB(lwp, lwp_create, [have_lwp=yes], [have_lwp=no])
1145 if test $have_lwp = yes ; then
1146 AC_DEFINE(HAVE_LWP,1,
1147 [if you have SunOS LWP package])
1148 LTHREAD_LIBS="$LTHREAD_LIBS -llwp"
1151 if test $ol_with_yielding_select = auto ; then
1152 ol_with_yielding_select=no
1158 if test $ol_with_yielding_select = yes ; then
1159 AC_DEFINE(HAVE_YIELDING_SELECT,1,
1160 [define if select implicitly yields])
1163 if test $ol_with_threads = manual ; then
1164 dnl User thinks he can manually configure threads.
1167 AC_MSG_WARN([thread defines and link options must be set manually])
1169 AC_CHECK_HEADERS(pthread.h sched.h)
1170 AC_CHECK_FUNCS(sched_yield pthread_yield)
1173 AC_CHECK_HEADERS(mach/cthreads.h)
1174 AC_CHECK_HEADERS(lwp/lwp.h)
1175 AC_CHECK_HEADERS(thread.h synch.h)
1178 if test $ol_link_threads != no ; then
1179 dnl needed to get reentrant/threadsafe versions
1181 AC_DEFINE(REENTRANT,1)
1182 AC_DEFINE(_REENTRANT,1)
1183 AC_DEFINE(THREAD_SAFE,1)
1184 AC_DEFINE(_THREAD_SAFE,1)
1185 AC_DEFINE(THREADSAFE,1)
1186 AC_DEFINE(_THREADSAFE,1)
1188 dnl this might cause the errno symbol to be
1189 dnl replaced with a function to get a thread specific errno.
1190 dnl check to see if everything needs to be compiled
1191 dnl with the thread libraries
1192 AC_CACHE_CHECK([for thread specific errno],
1193 [ol_cv_errno_thread_specific], [
1194 AC_TRY_LINK([#include <errno.h>], [int x = errno;],
1195 [ol_cv_errno_thread_specific=yes],
1196 [ol_cv_errno_thread_specific=no])
1199 if test $ol_cv_errno_thread_specific != yes ; then
1200 LIBS="$LTHREAD_LIBS $LIBS"
1204 dnl When in thread environment, use
1205 dnl #if defined( HAVE_REENTRANT_FUNCTIONS ) \
1206 dnl || defined( HAVE_FUNC_R )
1209 dnl # if defined( HAVE_THREADS )
1213 dnl # if defined( HAVE_THREADS )
1218 dnl HAVE_REENTRANT_FUNCTIONS is derived from:
1219 dnl _POSIX_REENTRANT_FUNCTIONS
1220 dnl _POSIX_THREAD_SAFE_FUNCTIONS
1221 dnl _POSIX_THREADSAFE_FUNCTIONS
1223 dnl and is currently defined in lthread.h
1225 dnl HAVE_THREADS is defined by lthread.h iff -UNO_THREADS
1227 dnl libldap/*.c should only include <lthread.h> iff
1228 dnl LDAP_R_COMPILE is defined. ie:
1229 dnl #ifdef LDAP_R_COMPILE
1230 dnl # include LDAP_R_COMPILE
1233 dnl LDAP_R_COMIPLE is defined by libldap_r/Makefile.in
1234 dnl specifically for compiling the threadsafe version of
1235 dnl the ldap library (-lldap_r).
1237 dnl dnl check for reentrant/threadsafe functions
1239 dnl dnl note: these should only be used when linking
1240 dnl dnl with $LTHREAD_LIBS
1242 dnl save_CPPFLAGS="$CPPFLAGS"
1243 dnl save_LIBS="$LIBS"
1244 dnl LIBS="$LTHREAD_LIBS $LIBS"
1245 dnl AC_CHECK_FUNCS( \
1247 dnl gethostbyaddr_r gethostbyname_r \
1248 dnl feof_unlocked unlocked_feof \
1249 dnl putc_unlocked unlocked_putc \
1250 dnl flockfile ftrylockfile \
1252 dnl CPPFLAGS="$save_CPPFLAGS"
1253 dnl LIBS="$save_LIBS"
1256 dnl ----------------------------------------------------------------
1258 if test $ol_link_threads = no ; then
1259 if test $ol_with_threads = yes ; then
1260 AC_MSG_ERROR([no suitable thread support])
1263 if test $ol_with_threads = auto ; then
1264 AC_MSG_WARN([no suitable thread support, disabling threads])
1268 AC_DEFINE(NO_THREADS,1,
1269 [define if you have (or want) no threads])
1274 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = db2 ; then
1277 if test $ol_cv_berkeley_db2 = yes ; then
1279 ol_with_ldbm_api=db2
1281 if test $ol_with_ldbm_type = hash ; then
1282 AC_DEFINE(LDBM_USE_DBHASH,1)
1284 AC_DEFINE(LDBM_USE_DBBTREE,1)
1287 dnl $ol_cv_lib_db2 should be yes or -ldb
1288 dnl (it could be no, but that would be an error
1289 if test $ol_cv_lib_db2 != yes ; then
1290 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db2"
1296 if test $ol_link_ldbm = db2 -a $ol_enable_bdb2 != no ; then
1300 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = db ; then
1303 if test $ol_cv_berkeley_db = yes ; then
1307 if test $ol_with_ldbm_type = hash ; then
1308 AC_DEFINE(LDBM_USE_DBHASH,1)
1310 AC_DEFINE(LDBM_USE_DBBTREE,1)
1313 dnl $ol_cv_lib_db should be yes or -ldb
1314 dnl (it could be no, but that would be an error
1315 if test $ol_cv_lib_db != yes ; then
1316 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db"
1321 if test $ol_with_ldbm_api = manual ; then
1322 dnl User thinks he can manually configure LDBM api.
1325 AC_MSG_WARN([LDBM defines and link options must be set manually])
1327 AC_CHECK_HEADERS(db.h db_185.h gdbm.h ndbm.h)
1330 if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
1331 AC_MSG_WARN(Could not find LDBM with BTREE support)
1332 ol_with_ldbm_api=none
1335 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = gdbm ; then
1338 if test $ol_cv_gdbm = yes ; then
1340 ol_with_ldbm_api=gdbm
1342 if test $ol_cv_lib_gdbm != yes ; then
1343 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_gdbm"
1348 if test $ol_with_ldbm_api = auto ; then
1349 AC_MSG_WARN([skipping automatic checking for NDBM, must be manually enabled.])
1350 elif test $ol_with_ldbm_api = ndbm ; then
1353 if test $ol_cv_ndbm = yes ; then
1355 ol_with_ldbm_api=ndbm
1357 if test $ol_cv_lib_ndbm != yes ; then
1358 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_ndbm"
1363 if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then
1364 AC_MSG_WARN(could not find suitable LDBM backend)
1365 if test $ol_enable_ldbm = yes ; then
1366 AC_MSG_ERROR(select appropriate LDBM options or disable)
1369 AC_MSG_WARN(disabling LDBM)
1373 if test $ol_enable_wrappers != no ; then
1374 AC_CHECK_HEADERS(tcpd.h)
1376 if test $ac_cv_header_tcpd_h != yes ; then
1379 AC_CHECK_LIB(wrap, main,
1380 [have_wrappers=yes], [have_wrappers=no])
1383 if test $have_wrappers = yes ; then
1384 AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
1385 SLAPD_LIBS="$SLAPD_LIBS -lwrap"
1387 AC_MSG_WARN(could not find -lwrap)
1388 if test $ol_enable_wrappers = yes ; then
1389 AC_MSG_ERROR(could not find wrappers, select appropriate options or disable)
1392 AC_MSG_WARN(disabling wrappers support)
1393 ol_enable_wrappers=no
1397 if test $ol_enable_syslog != no ; then
1398 AC_CHECK_FUNC(openlog)
1399 if test $ac_cv_func_openlog = no -a $ol_enable_syslog = yes; then
1400 AC_MSG_ERROR(could not find syslog, select appropriate options or disable)
1402 ol_enable_syslog=$ac_cv_func_openlog
1405 if test $ol_enable_dmalloc != no ; then
1406 AC_CHECK_HEADERS(dmalloc.h)
1407 AC_CHECK_LIB(dmalloc, dmalloc_shutdown)
1410 if test $ol_enable_tcl != no ; then
1411 AC_CHECK_HEADERS(tcl.h)
1413 if test $ac_cv_header_tcl_h != yes ; then
1416 AC_CHECK_LIB(tcl,main,
1417 [have_tcl=yes; SLAPD_LIBS="$SLAPD_LIBS -ltcl"],
1420 if test $have_tcl != yes; then
1421 AC_CHECK_LIB(tcl7.6,main,
1422 [have_tcl=yes; SLAPD_LIBS="$SLAPD_LIBS -ltcl7.6"],
1426 if test $have_tcl != yes; then
1427 AC_CHECK_LIB(tcl8.0,main,
1428 [have_tcl=yes; SLAPD_LIBS="$SLAPD_LIBS -ltcl8.0"],
1433 if test $have_tcl != yes ; then
1434 AC_MSG_WARN([could not find -ltcl])
1435 if test $ol_enable_tcl = yes ; then
1436 AC_MSG_ERROR([could not find tcl, select appropriate options or disable])
1443 # ud needs termcap (should insert check here)
1445 AC_CHECK_HEADERS(termcap.h ncurses.h)
1447 if test $ol_link_termcap = no ; then
1448 AC_CHECK_LIB(termcap, tputs, [have_termcap=yes], [have_termcap=no])
1449 if test $have_termcap = yes ; then
1450 AC_DEFINE(HAVE_TERMCAP, 1, [define if you have -ltermcap])
1452 TERMCAP_LIBS=-ltermcap
1456 if test $ol_link_termcap = no ; then
1457 AC_CHECK_LIB(ncurses, initscr, [have_ncurses=yes], [have_ncurses=no])
1458 if test $have_ncurses = yes ; then
1459 AC_DEFINE(HAVE_NCURSES, 1, [define if you have -lncurses])
1461 TERMCAP_LIBS=-lncurses
1465 if test $ol_link_termcap = no ; then
1466 AC_DEFINE(NO_TERMCAP,1, [define if you have no termcap support])
1470 # FreeBSD (and others) have crypt(3) in -lcrypt
1471 if test $ol_enable_crypt != no ; then
1472 AC_CHECK_FUNC(crypt, [have_crypt=yes], [
1473 AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
1474 have_crypt=yes], [have_crypt=no])])
1476 if test $have_crypt = yes ; then
1477 AC_DEFINE(HAVE_CRYPT,1)
1479 AC_MSG_WARN(could not find crypt)
1480 if test $ol_enable_crypt = yes ; then
1481 AC_MSG_ERROR(could not find crypt, select appropriate options or disable)
1484 AC_MSG_WARN(disabling crypt support)
1489 # FreeBSD (and others) have setproctitle(3) in -lutil
1490 if test $ol_enable_proctitle != no ; then
1491 AC_CHECK_FUNC(setproctitle, [have_setproctitle=yes], [
1492 AC_CHECK_LIB(util, setproctitle,
1493 [have_setproctitle=yes
1494 LUTIL_LIBS="$LUTIL_LIBS -lutil"],
1495 [have_setproctitle=no
1496 LIBOBJS="$LIBOBJS setproctitle.o"])])
1498 if test $have_setproctitle = yes ; then
1499 AC_DEFINE(HAVE_SETPROCTITLE,1)
1503 dnl ----------------------------------------------------------------
1504 dnl Checks for header files.
1507 if test $ac_cv_header_stdc != yes; then
1508 AC_MSG_WARN([could not Standard C compliant headers])
1513 AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
1514 if test $am_cv_sys_posix_termios = yes ; then
1515 AC_DEFINE(HAVE_POSIX_TERMIOS,1,
1516 [define if you have POSIX termios])
1556 dnl ----------------------------------------------------------------
1557 dnl Checks for typedefs, structures, and compiler characteristics.
1558 AC_TYPE_GETGROUPS dnl requires AC_TYPE_UID_T
1564 OL_TYPE_SIG_ATOMIC_T
1566 AC_STRUCT_ST_BLKSIZE
1574 if test $cross_compiling = yes ; then
1575 AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
1578 AC_CHECK_SIZEOF(short)
1579 AC_CHECK_SIZEOF(int)
1580 AC_CHECK_SIZEOF(long)
1583 dnl ----------------------------------------------------------------
1584 dnl Checks for library functions.
1586 dnl AM_FUNC_MKTIME dnl checks for sys/time.h and unistd.h
1591 if test $ac_cv_func_vprintf = yes ; then
1592 dnl check for vsnprintf
1593 AC_CHECK_FUNCS(vsnprintf vsprintf)
1627 dnl We actually may need to replace more than this.
1628 AC_REPLACE_FUNCS(getopt tempnam)
1630 dnl ----------------------------------------------------------------
1631 # Check Configuration
1634 dnl ----------------------------------------------------------------
1635 dnl Sort out defines
1637 if test "$ol_enable_debug" != no ; then
1638 AC_DEFINE(LDAP_DEBUG,1)
1640 if test "$ol_enable_syslog" = yes ; then
1641 AC_DEFINE(LDAP_SYSLOG,1)
1643 if test "$ol_enable_libui" = yes ; then
1644 AC_DEFINE(LDAP_LIBUI,1)
1646 if test "$ol_enable_cache" = no ; then
1647 AC_DEFINE(LDAP_NOCACHE,1)
1649 if test "$ol_enable_dns" != no ; then
1650 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_DNS,LDAP_VENDOR_VERSION)
1652 if test "$ol_enable_proctitle" != no ; then
1653 AC_DEFINE(LDAP_PROCTITLE,1)
1655 if test "$ol_enable_referrals" != no ; then
1656 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS,LDAP_VENDOR_VERSION)
1658 if test "$ol_enable_cldap" != no ; then
1659 AC_DEFINE(LDAP_CONNECTIONLESS,1)
1662 if test "$ol_enable_aclgroups" != no ; then
1663 AC_DEFINE(SLAPD_ACLGROUPS,1)
1665 if test "$ol_enable_crypt" != no ; then
1666 AC_DEFINE(SLAPD_CRYPT,1)
1668 if test "$ol_enable_cleartext" != no ; then
1669 AC_DEFINE(SLAPD_CLEARTEXT,1)
1671 if test "$ol_enable_phonetic" != no ; then
1672 AC_DEFINE(SLAPD_PHONETIC,1)
1674 if test "$ol_enable_rlookups" != no ; then
1675 AC_DEFINE(SLAPD_RLOOKUPS,1)
1678 if test "$ol_link_bdb2" != no ; then
1679 AC_DEFINE(SLAPD_BDB2,1)
1684 if test "$ol_link_ldbm" != no ; then
1685 AC_DEFINE(SLAPD_LDBM,1)
1690 if test "$ol_enable_passwd" != no ; then
1691 AC_DEFINE(SLAPD_PASSWD,1)
1696 if test "$ol_enable_perl" != no ; then
1697 AC_DEFINE(SLAPD_PERL,1)
1702 if test "$ol_enable_shell" != no ; then
1703 AC_DEFINE(SLAPD_SHELL,1)
1708 if test "$ol_enable_tcl" != no ; then
1709 AC_DEFINE(SLAPD_TCL,1)
1714 if test "$ol_enable_slurpd" != no -a "$ol_link_threads" != no -a \
1715 $BUILD_SLAPD = yes ; then
1719 if test "$ol_link_isode" != no ; then
1723 dnl ----------------------------------------------------------------
1725 AC_SUBST(BUILD_LDAPD)
1726 AC_SUBST(BUILD_SLAPD)
1727 AC_SUBST(BUILD_BDB2)
1728 AC_SUBST(BUILD_LDBM)
1729 AC_SUBST(BUILD_PASSWD)
1730 AC_SUBST(BUILD_PERL)
1731 AC_SUBST(BUILD_SHELL)
1733 AC_SUBST(BUILD_SLURPD)
1736 AC_SUBST(LDAPD_LIBS)
1737 AC_SUBST(SLAPD_LIBS)
1738 AC_SUBST(SLURPD_LIBS)
1740 AC_SUBST(LTHREAD_LIBS)
1741 AC_SUBST(LUTIL_LIBS)
1743 AC_SUBST(SLAPD_PERL_CPPFLAGS)
1744 AC_SUBST(SLAPD_PERL_LDFLAGS)
1747 AC_SUBST(TERMCAP_LIBS)
1750 dnl ----------------------------------------------------------------
1755 Makefile:build/top.mk:Makefile.in:build/dir.mk \
1756 doc/Makefile:build/top.mk:doc/Makefile.in:build/dir.mk \
1757 doc/man/Makefile:build/top.mk:doc/man/Makefile.in:build/dir.mk \
1758 doc/man/man1/Makefile:build/top.mk:doc/man/man1/Makefile.in:build/man.mk \
1759 doc/man/man3/Makefile:build/top.mk:doc/man/man3/Makefile.in:build/man.mk \
1760 doc/man/man5/Makefile:build/top.mk:doc/man/man5/Makefile.in:build/man.mk \
1761 doc/man/man8/Makefile:build/top.mk:doc/man/man8/Makefile.in:build/man.mk \
1762 clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.mk \
1763 clients/finger/Makefile:build/top.mk:clients/finger/Makefile.in:build/rules.mk \
1764 clients/fax500/Makefile:build/top.mk:clients/fax500/Makefile.in:build/rules.mk \
1765 clients/gopher/Makefile:build/top.mk:clients/gopher/Makefile.in:build/rules.mk \
1766 clients/mail500/Makefile:build/top.mk:clients/mail500/Makefile.in:build/rules.mk \
1767 clients/rcpt500/Makefile:build/top.mk:clients/rcpt500/Makefile.in:build/rules.mk \
1768 clients/ud/Makefile:build/top.mk:clients/ud/Makefile.in:build/rules.mk \
1769 clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk \
1770 include/Makefile:build/top.mk:include/Makefile.in \
1771 libraries/Makefile:build/top.mk:libraries/Makefile.in:build/dir.mk \
1772 libraries/libavl/Makefile:build/top.mk:libraries/libavl/Makefile.in:build/lib.mk:build/lib-static.mk \
1773 libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk:build/lib-shared.mk \
1774 libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk:build/lib-shared.mk \
1775 libraries/libldap_r/Makefile:build/top.mk:libraries/libldap_r/Makefile.in:build/lib.mk:build/lib-shared.mk \
1776 libraries/libldbm/Makefile:build/top.mk:libraries/libldbm/Makefile.in:build/lib.mk:build/lib-static.mk \
1777 libraries/libldif/Makefile:build/top.mk:libraries/libldif/Makefile.in:build/lib.mk:build/lib-static.mk \
1778 libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk \
1779 servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \
1780 servers/ldapd/Makefile:build/top.mk:servers/ldapd/Makefile.in:build/srv.mk \
1781 servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
1782 servers/slapd/back-bdb2/Makefile:build/top.mk:servers/slapd/back-bdb2/Makefile.in:build/srv.mk \
1783 servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/srv.mk \
1784 servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/srv.mk \
1785 servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/srv.mk \
1786 servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/srv.mk \
1787 servers/slapd/back-tcl/Makefile:build/top.mk:servers/slapd/back-tcl/Makefile.in:build/srv.mk \
1788 servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk \
1789 servers/slapd/tools/Makefile:build/top.mk:servers/slapd/tools/Makefile.in \
1790 servers/slurpd/Makefile:build/top.mk:servers/slurpd/Makefile.in:build/srv.mk \
1791 tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk \
1792 tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \
1795 echo Please \"make depend\" to build dependencies