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 Disable config.cache!
11 define([AC_CACHE_LOAD], )dnl
12 define([AC_CACHE_SAVE], )dnl
14 dnl Configure.in for OpenLDAP
15 AC_INIT(build/version)dnl
16 AC_CONFIG_AUX_DIR(build)dnl
18 OL_VERSION=`cat $ac_aux_dir/version`
19 if test -z "$OL_VERSION"; then
20 AC_MSG_ERROR([could not determine version])
23 AM_INIT_AUTOMAKE(OpenLDAP,[$OL_VERSION], [no defines])dnl
26 AC_DEFINE_UNQUOTED(OPENLDAP_PACKAGE,"$PACKAGE",Package)
27 AC_DEFINE_UNQUOTED(OPENLDAP_VERSION,"$VERSION",Version)
29 dnl We use autoconf features new to 2.13.
30 dnl aclocal.m4 should be built using aclocal from automake 1.4
31 AC_PREREQ(2.13)dnl Required Autoconf version
33 AC_CONFIG_HEADER(include/portable.h include/ldap_features.h)dnl
37 AC_MSG_CHECKING(configure arguments)
38 AC_PREFIX_DEFAULT(/usr/local)
41 AC_SUBST(top_builddir)dnl
43 AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion])
45 ldap_subdir="openldap"
47 AC_ARG_WITH(subdir, [ --with-subdir=DIR change default subdirectory used for installs], [
48 if test "$withval" = "no"; then
50 elif test "$withval" != "yes"; then
51 ldap_subdir="$withval"
55 AC_SUBST(ldap_subdir)dnl
57 OL_ARG_ENABLE(debug,[ --enable-debug enable debugging], yes)dnl
58 dnl ol_enable_syslog=no
59 OL_ARG_ENABLE(syslog,[ --enable-syslog enable syslog support], auto)dnl
60 OL_ARG_ENABLE(proctitle,[ --enable-proctitle enable proctitle support], yes)dnl
61 OL_ARG_ENABLE(cache,[ --enable-cache enable caching], yes)dnl
62 OL_ARG_ENABLE(dns,[ --enable-dns enable V2 DNS extension], no)dnl
63 OL_ARG_ENABLE(referrals,[ --enable-referrals enable V2 Referrals extension], yes)dnl
64 OL_ARG_ENABLE(cldap,[ --enable-cldap enable connectionless ldap], no)dnl
65 OL_ARG_ENABLE(x_compile,[ --enable-x-compile enable cross compiling],
68 dnl General "with" options
69 OL_ARG_ENABLE(dmalloc,[ --enable-dmalloc enable debug malloc support], no)dnl
71 OL_ARG_WITH(kerberos,[ --with-kerberos with Kerberos support],
72 auto, [auto k5 k4 afs yes no])
73 OL_ARG_WITH(readline,[ --with-readline with readline support],
75 OL_ARG_WITH(threads,[ --with-threads use threads],
76 auto, [auto posix mach lwp yes no manual] )
77 OL_ARG_WITH(tls,[ --with-tls with TLS/SSL support],
78 auto, [auto ssleay openssl yes no] )
79 OL_ARG_WITH(yielding_select,[ --with-yielding-select with implicitly yielding select],
80 auto, [auto yes no manual] )
85 AC_ARG_WITH(xxldapdoptions,[LDAPD Options:])
86 OL_ARG_ENABLE(ldapd,[ --enable-ldapd enable building ldapd], no)dnl
89 AC_ARG_WITH(xxslapdoptions,[SLAPD Options:])
90 OL_ARG_ENABLE(slapd,[ --enable-slapd enable building slapd], yes)dnl
91 OL_ARG_ENABLE(aclgroups,[ --enable-aclgroups enable ACL group support], auto)dnl
92 OL_ARG_ENABLE(cleartext,[ --enable-cleartext enable cleartext passwords], yes)dnl
93 OL_ARG_ENABLE(crypt,[ --enable-crypt enable crypt(3) passwords], auto)dnl
94 OL_ARG_ENABLE(modules,[ --enable-modules enable dynamic module support], no)dnl
95 OL_ARG_ENABLE(phonetic,[ --enable-phonetic enable phonetic/soundex], no)dnl
96 OL_ARG_ENABLE(rlookups,[ --enable-rlookups enable reverse lookups], auto)dnl
97 OL_ARG_ENABLE(wrappers,[ --enable-wrappers enable tcp wrapper support], no)dnl
99 dnl SLAPD Backend options
100 OL_ARG_ENABLE(bdb2,[ --enable-bdb2 enable bdb2 backend], no)dnl
101 OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend], no)dnl
102 OL_ARG_ENABLE(ldbm,[ --enable-ldbm enable ldbm backend], yes)dnl
103 OL_ARG_WITH(ldbm_api,[ --with-ldbm-api use LDBM API], auto,
104 [auto db2 db mdbm gdbm ndbm manual])
105 OL_ARG_WITH(ldbm_type,[ --with-ldbm-type use LDBM type], auto,
108 OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend], no)dnl
109 OL_ARG_ENABLE(perl,[ --enable-perl enable perl backend], no)dnl
110 OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend], no)dnl
111 OL_ARG_ENABLE(tcl,[ --enable-tcl enable tcl backend], no)dnl
114 AC_ARG_WITH(xxslurpdoptions,[SLURPD Options:])
115 OL_ARG_ENABLE(slurpd,[ --enable-slurpd enable building slurpd], auto)dnl
117 AC_ARG_WITH(xxliboptions,[Library Generation & Linking Options])
119 dnl AM_DISABLE_SHARED
122 dnl General "enable" options
124 if test $ol_enable_dns = yes ; then
125 if test $ol_enable_referrals = no ; then
126 AC_MSG_ERROR([DNS requires --enable-referrals])
128 if test $ol_enable_referrals = auto ; then
129 AC_MSG_WARN([DNS requires referrals, adding --enable-referrals])
130 ol_enable_referrals=yes
134 if test $ol_enable_slapd = no ; then
135 dnl SLAPD was specificallly disabled
136 if test $ol_enable_bdb2 = yes ; then
137 AC_MSG_WARN([slapd disabled, ignoring --enable-bdb2 argument])
139 if test $ol_enable_ldap = yes ; then
140 AC_MSG_WARN([slapd disabled, ignoring --enable-ldap argument])
142 if test $ol_enable_ldbm = yes ; then
143 AC_MSG_WARN([slapd disabled, ignoring --enable-ldbm argument])
145 if test $ol_enable_passwd = yes ; then
146 AC_MSG_WARN([slapd disabled, ignoring --enable-passwd argument])
148 if test $ol_enable_perl = yes ; then
149 AC_MSG_WARN([slapd disabled, ignoring --enable-perl argument])
151 if test $ol_enable_shell = yes ; then
152 AC_MSG_WARN([slapd disabled, ignoring --enable-shell argument])
154 if test $ol_enable_tcl = yes ; then
155 AC_MSG_WARN([slapd disabled, ignoring --enable-tcl argument])
157 if test $ol_enable_aclgroups = yes ; then
158 AC_MSG_WARN([slapd disabled, ignoring --enable-aclgroups argument])
160 if test $ol_enable_modules = yes ; then
161 AC_MSG_WARN([slapd disabled, ignoring --enable-modules argument])
163 if test $ol_enable_wrappers = yes ; then
164 AC_MSG_WARN([slapd disabled, ignoring --enable-wrappers argument])
166 if test $ol_enable_phonetic = yes ; then
167 AC_MSG_WARN([slapd disabled, ignoring --enable-phonetic argument])
169 if test $ol_enable_rlookups = yes ; then
170 AC_MSG_WARN([slapd disabled, ignoring --enable-rlookups argument])
172 if test $ol_with_ldbm_api != auto ; then
173 AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-api argument])
175 if test $ol_with_ldbm_type != auto ; then
176 AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-type argument])
178 if test $ol_enable_slurpd = yes ; then
179 AC_MSG_ERROR([slurpd requires slapd])
182 # force settings to no
191 ol_enable_aclgroups=no
193 ol_enable_phonetic=no
194 ol_enable_rlookups=no
195 ol_enable_wrappers=no
202 elif test $ol_enable_ldbm = no ; then
203 dnl SLAPD without LDBM
205 if test $ol_with_ldbm_api != auto ; then
206 AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-api argument])
209 if test $ol_with_ldbm_type != auto ; then
210 AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-type argument])
213 if test $ol_enable_bdb2 = yes ; then
214 AC_MSG_ERROR([BDB2 requires --enable-ldbm])
217 if test $ol_enable_modules != yes -a \
218 $ol_enable_ldap = no -a \
219 $ol_enable_passwd = no -a \
220 $ol_enable_perl = no -a \
221 $ol_enable_shell = no -a \
222 $ol_enable_tcl = no ; then
223 AC_MSG_ERROR([slapd requires a backend])
229 elif test $ol_enable_bdb2 = yes ; then
232 if test $ol_with_ldbm_api != auto -a \
233 $ol_with_ldbm_api != db2 ; then
234 AC_MSG_ERROR([BDB2 requires LDBM API DB2])
242 if test $ol_enable_bdb2 != no ; then
243 if test $ol_with_ldbm_api != auto -a \
244 $ol_with_ldbm_api != db2 ; then
245 AC_MSG_WARN([BDB2 requires LDBM api db2 or auto])
250 if test $ol_with_ldbm_api = gdbm -a \
251 $ol_with_ldbm_type = btree ; then
252 AC_MSG_ERROR([GDBM only supports LDBM type hash])
254 if test $ol_with_ldbm_api = mdbm -a \
255 $ol_with_ldbm_type = btree ; then
256 AC_MSG_ERROR([MDBM only supports LDBM type hash])
258 if test $ol_with_ldbm_api = ndbm -a \
259 $ol_with_ldbm_type = btree ; then
260 AC_MSG_ERROR([NDBM only supports LDBM type hash])
264 if test $ol_enable_slurpd = yes ; then
265 dnl SLURPD was specifically enabled
266 if test $ol_with_threads = no ; then
267 AC_MSG_ERROR([slurpd requires threads])
296 SLAPD_MODULES_LDFLAGS=
297 SLAPD_MODULES_CPPFLAGS=
307 dnl ----------------------------------------------------------------
308 dnl Checks for programs
312 dnl The default compiler is cc (NOT gcc)
313 dnl (should check to see if 'cc' exists)
316 dnl The default CFLAGS is empty NOT whatever AC_PROG_CC sets.
317 dnl CFLAGS=${CFLAGS-""}
326 if test "$LN_H" = "cp" -a "$LN_S" = "ln"; then
330 AC_PATH_PROG(SENDMAIL, sendmail, /usr/lib/sendmail,
331 $PATH:/usr/libexec:/usr/lib:/usr/sbin:/usr/etc:/etc)
332 AC_PATH_PROG(EDITOR, vi, /usr/ucb/vi, $PATH:/usr/ucb)
333 AC_PATH_PROG(FINGER, finger, /usr/ucb/finger, $PATH:/usr/ucb)
336 if test $ol_enable_modules != no ; then
337 AC_PATH_PROG(GLIBCONFIG, glib-config)
339 if test "no$GLIBCONFIG" = "no" ; then
340 if test $ol_enable_modules = yes ; then
341 AC_MSG_ERROR([could not locate glib-config])
345 SLAPD_MODULES_VERSION="`$GLIBCONFIG --version gmodule`"
346 SLAPD_MODULES_CPPFLAGS="`$GLIBCONFIG --cflags gmodule`"
347 SLAPD_MODULES_LDFLAGS="`$GLIBCONFIG --libs gmodule`"
349 dnl should check glib version
355 if test $ol_enable_perl != no ; then
356 AC_PATH_PROG(PERLBIN, perl, /usr/bin/perl)
358 if test "no$PERLBIN" = "no" ; then
359 if test $ol_enable_perl = yes ; then
360 AC_MSG_ERROR([could not locate perl])
364 SLAPD_PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e s/-lc//`"
365 SLAPD_PERL_CPPFLAGS="`$PERLBIN -MExtUtils::Embed -e ccopts`"
367 dnl should check perl version
374 if test $cross_compiling = yes -a $ol_enable_x_compile = yes; then
375 AC_MSG_WARN([cross compiling.... some functionality will be removed.])
377 elif test $cross_compiling = no -a $ol_enable_x_compile = yes; then
378 AC_MSG_WARN([programs compiled here do run here...])
379 AC_MSG_ERROR([ if not cross compiling, use --disable-x-compile.])
381 elif test $cross_compiling = yes -a $ol_enable_x_compile = no; then
382 AC_MSG_WARN([programs compiled here do not run here...])
383 AC_MSG_ERROR([ if cross compiling, add --enable-x-compile.])
386 dnl Checks for UNIX Variants
391 dnl BeOS requires -lbe -lroot -lnet
392 AC_CHECK_LIB(be, be_app, [LIBS="$LIBS -lbe -lroot -lnet"], :, [-lroot -lnet])
394 dnl Checks for system services
400 AC_DEFINE_UNQUOTED( EXEEXT, "${EXEEXT}", [defined to be the EXE extension])
402 dnl OpenLDAP requires STDC features
404 if test "X${am_cv_prog_cc_stdc}" = "Xno" ; then
405 AC_MSG_ERROR([OpenLDAP requires compiler to support STDC prototypes.])
410 dnl Checks for libraries
413 dnl Likely combinations:
414 dnl -lsocket [ -lnsl_s | -lnsl ]
417 AC_CHECK_FUNC(socket, :, [
419 dnl hopefully we won't include too many libraries
421 AC_CHECK_LIB(socket, main)
422 AC_CHECK_LIB(net, main)
423 AC_CHECK_LIB(net, socket)
424 AC_CHECK_LIB(nsl_s, main)
425 AC_CHECK_LIB(nsl, main)
426 AC_CHECK_LIB(inet, socket)
427 AC_CHECK_LIB(gen, main)
430 dnl Check for resolver routines
431 AC_CHECK_FUNCS(res_search)
432 if test $ac_cv_func_res_search = "no" ; then
433 AC_CHECK_LIB(bind, res_search)
434 if test "$ac_cv_lib_bind_res_search" = "yes" ; then
435 AC_DEFINE(HAVE_RES_SEARCH,1)
437 AC_CHECK_LIB(resolv, res_search)
438 if test "$ac_cv_lib_resolv_res_search" = "yes" ; then
439 AC_DEFINE(HAVE_RES_SEARCH,1)
444 dnl HP-UX requires -lV3
445 AC_CHECK_LIB(V3, sigset)
447 AC_CHECK_HEADERS( regex.h )
448 if test "$ac_cv_header_regex_h" != yes ; then
449 AC_MSG_ERROR([POSIX regex.h required.])
451 AC_CHECK_FUNC(regfree, :, AC_MSG_ERROR([POSIX regex required.]))
453 AC_CHECK_FUNC(select, :, AC_MSG_ERROR([select() required.]))
456 dnl (if this detection becomes permenent, it and the select() detection
457 dnl should be done before the yielding select test)
458 AC_FUNC_SELECT_ARGTYPES
462 if test $ol_enable_ldapd != no ; then
463 AC_MSG_WARN([ldapd support deprecated. Manual intervention required.])
465 dnl look for ISODE libraries
466 AC_CHECK_LIB(xtpp, main, [
468 AC_DEFINE(HAVE_XTPP,1, [define if you have -lxttp])
469 LDAPD_LIBS="$LDAPD_LIBS -lxtpp -lxtdsap -lxtisode -losi"
470 ],:,[-lxtdsap -lxtisode -losi])
471 AC_CHECK_LIB(dsap, main, [
473 AC_DEFINE(HAVE_DSAP,1, [define if you have -ldsap])
474 LDAPD_LIBS="$LDAPD_LIBS -ldsap"
476 AC_CHECK_LIB(isode, main, [
478 AC_DEFINE(HAVE_ISODE,1, [define if you have -lisode])
479 LDAPD_LIBS="$LDAPD_LIBS -lisode"
483 if test $ol_link_isode != no; then
484 AC_CHECK_LIB(pp, main, [
485 AC_DEFINE(HAVE_PP,1, [define if you have -lpp])
486 LDAPD_LIBS="-lpp $LDAPD_LIBS"
489 AC_PATH_PROG(PEPSY, pepsy)
493 dnl check for kerberos
497 if test $ol_with_kerberos = auto -o $ol_with_kerberos = k5 ; then
498 AC_CHECK_HEADERS(kerberosIV/krb.h kerberosIV/des.h)
500 if test $ac_cv_header_kerberosIV_krb_h = yes ; then
501 AC_CHECK_LIB(krb4, main, [have_k5=yes], [have_k5=no],
504 if test $have_k5 = yes ; then
505 ol_with_kerberos=found
508 KRB_LIBS="-lkrb4 -lkrb5 -ldes425"
510 LIBS="$KRB_LIBS $LIBS"
512 AC_CACHE_CHECK([for des_debug in Kerberos libraries],
513 [ol_cv_var_des_debug], [
516 LIBS="$KRB_LIBS $LIBS"
518 #include <kerberosIV/krb.h>
519 #include <kerberosIV/des.h>
520 extern int des_debug;
523 ], ol_cv_var_des_debug=yes, ol_cv_var_des_debug=no)
528 if test $ol_cv_var_des_debug = yes ; then
529 AC_DEFINE(HAVE_DES_DEBUG,1,
530 [define if you have Kerberos des_debug])
538 if test $ol_with_kerberos = auto -o $ol_with_kerberos = k4 ; then
539 AC_CHECK_HEADERS(krb.h des.h)
541 if test $ac_cv_header_krb_h = yes ; then
542 AC_CHECK_LIB(krb, main, [have_k4=yes], [have_k4=no], [-ldes])
544 if test $have_k4 = yes ; then
545 ol_with_kerberos=found
548 KRB_LIBS="-lkrb -ldes"
553 if test $ol_link_kerberos = yes ; then
554 AC_DEFINE(HAVE_KERBEROS, 1, [define if you have Kerberos])
558 dnl Check for SSL/TLS
561 if test $ol_with_tls != no ; then
563 AC_CHECK_HEADERS(ssl.h)
565 if test $ac_cv_header_ssl_h = yes ; then
566 AC_CHECK_LIB(ssl, SSLeay_add_ssl_algorithms,
572 if test $have_ssleay = no ; then
573 AC_CHECK_LIB(ssl, ssl3_accept,
575 need_rsaref=yes], [have_ssleay=no],
576 [-lcrypto -lRSAglue -lrsaref])
579 if test $have_ssleay = yes ; then
583 AC_DEFINE(HAVE_SSLEAY, 1,
584 [define if you have SSLeay or OpenSSL])
586 if test $need_rsaref = yes; then
587 AC_DEFINE(HAVE_RSAREF, 1,
588 [define if you have RSAref])
590 TLS_LIBS="-lssl -lcrypto -lRSAglue -lrsaref"
592 TLS_LIBS="-lssl -lcrypto"
598 if test $ol_link_tls = yes ; then
599 AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
602 dnl Tests for reentrant functions necessary to build a
603 dnl thread_safe -lldap.
606 gethostbyname_r gethostbyaddr_r \
609 if test "$ac_cv_func_ctime_r" = no ; then
610 ol_cv_func_ctime_r_nargs=0
612 OL_FUNC_CTIME_R_NARGS
613 dnl OL_FUNC_CTIME_R_TYPE
616 if test "$ac_cv_func_gethostbyname_r" = yes ; then
617 OL_FUNC_GETHOSTBYNAME_R_NARGS
619 ol_cv_func_gethostbyname_r_nargs=0
622 if test "$ac_cv_func_gethostbyaddr_r" = yes ; then
623 OL_FUNC_GETHOSTBYADDR_R_NARGS
625 ol_cv_func_gethostbyaddr_r_nargs=0
628 if test "$ac_cv_func_ctime_r" = yes \
629 -a "$ol_cv_func_ctime_r_nargs" -ge 2 \
630 -a "$ol_cv_func_ctime_r_nargs" -le 3 \
631 -a "$ac_cv_func_gethostbyname_r" = yes \
632 -a "$ol_cv_func_gethostbyname_r_nargs" -ge 5 \
633 -a "$ol_cv_func_gethostbyname_r_nargs" -le 6 \
634 -a "$ac_cv_func_gethostbyaddr_r" = yes \
635 -a "$ol_cv_func_gethostbyaddr_r_nargs" -ge 5 \
636 -a "$ol_cv_func_gethostbyaddr_r_nargs" -le 6 \
639 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_REENTRANT,1)
643 if test $ol_with_threads = auto -o $ol_with_threads = yes \
644 -o $ol_with_threads = posix ; then
646 AC_CHECK_HEADERS(pthread.h sched.h)
648 if test $ac_cv_header_pthread_h = yes ; then
649 OL_POSIX_THREAD_VERSION
651 if test $ol_cv_pthread_version = final ; then
652 AC_DEFINE(HAVE_PTHREADS_FINAL,1,
653 [define if pthreads API compatible with final spec])
654 elif test $ol_cv_pthread_version = draft4 ; then
655 AC_DEFINE(HAVE_PTHREADS_D4,1,
656 [define if pthreads API compatible with draft4 spec])
658 AC_MSG_ERROR([unknown pthread version])
661 # consider threads found
662 ol_with_threads=found
664 OL_HEADER_LINUX_THREADS
666 dnl Now the hard part, how to link?
668 dnl currently supported checks:
670 dnl Check for no flags
671 dnl pthread_create() in $LIBS
673 dnl Check special pthread (final) flags
674 dnl pthread_create() with -mt (Solaris)
675 dnl pthread_create() with -kthread (FreeBSD)
676 dnl pthread_create() with -pthread (FreeBSD/Digital Unix)
677 dnl pthread_create() with -pthreads (?)
678 dnl pthread_create() with -thread (?)
680 dnl Check pthread (final) libraries
681 dnl pthread_mutex_unlock() in -lpthread -lmach -lexc -lc_r (OSF/1)
682 dnl pthread_mutex_lock() in -lpthread -lmach -lexc (OSF/1)
683 dnl (skipped) pthread_mutex_trylock() in -lpthread -lexc (OSF/1)
684 dnl pthread_join() -Wl,-woff,85 -lpthread (IRIX)
685 dnl pthread_create() in -lpthread (many)
686 dnl pthread_create() in -lc_r (FreeBSD)
688 dnl Check pthread (draft4) flags (depreciated)
689 dnl pthread_create() with -threads (OSF/1)
691 dnl Check pthread (draft4) libraries (depreciated)
692 dnl pthread_mutex_unlock() in -lpthreads -lmach -lexc -lc_r (OSF/1)
693 dnl pthread_mutex_lock() in -lpthreads -lmach -lexc (OSF/1)
694 dnl pthread_mutex_trylock() in -lpthreads -lexc (OSF/1)
695 dnl pthread_create() in -lpthreads (many)
698 dnl pthread_create in $LIBS
699 AC_MSG_CHECKING([for pthread_create in default libraries])
700 AC_CACHE_VAL(ol_cv_pthread_create,[
704 #define NULL (void*)0
710 return (void *) (p == NULL);
720 /* make sure pthread_create() isn't just a stub */
722 status = pthread_create(&t, pthread_attr_default, task, NULL);
724 status = pthread_create(&t, NULL, task, NULL);
727 if( status ) return status;
729 /* make sure pthread_detach() isn't just a stub */
731 status = pthread_detach( &t );
733 status = pthread_detach( t );
736 if( status ) return status;
741 [ol_cv_pthread_create=yes],
742 [ol_cv_pthread_create=no],
744 ol_cv_pthread_create=yes])])
745 AC_MSG_RESULT($ol_cv_pthread_create)
747 if test $ol_cv_pthread_create != no ; then
748 ol_link_threads=posix
752 OL_PTHREAD_TRY_LINK([-mt], [ol_cv_pthread_mt])
753 OL_PTHREAD_TRY_LINK([-kthread], [ol_cv_pthread_kthread])
754 OL_PTHREAD_TRY_LINK([-pthread], [ol_cv_pthread_pthread])
755 OL_PTHREAD_TRY_LINK([-pthreads],[ol_cv_pthread_pthreads])
756 OL_PTHREAD_TRY_LINK([-thread], [ol_cv_pthread_thread])
758 OL_PTHREAD_TRY_LINK([-lpthread -lmach -lexc -lc_r],
759 [ol_cv_pthread_lpthread_lmach_lexc_lc_r])
760 OL_PTHREAD_TRY_LINK([-lpthread -lmach -lexc],
761 [ol_cv_pthread_lpthread_lmach_lexc])
762 dnl OL_PTHREAD_TRY_LINK([-lpthread -lexc],
763 dnl [ol_cv_pthread_lpthread_lexc])
765 OL_PTHREAD_TRY_LINK([-lpthread -Wl,-woff,85],
766 [ol_cv_pthread_lib_lpthread_woff])
768 OL_PTHREAD_TRY_LINK([-lpthread],[ol_cv_pthread_lpthread])
769 OL_PTHREAD_TRY_LINK([-lc_r], [ol_cv_pthread_lc_r])
771 OL_PTHREAD_TRY_LINK([-threads], [ol_cv_pthread_threads])
773 OL_PTHREAD_TRY_LINK([-lpthreads -lmach -lexc -lc_r],
774 [ol_cv_pthread_lpthreads_lmach_lexc_lc_r])
775 OL_PTHREAD_TRY_LINK([-lpthreads -lmach -lexc],
776 [ol_cv_pthread_lpthreads_lmach_lexc])
777 OL_PTHREAD_TRY_LINK([-lpthreads -lexc],
778 [ol_cv_pthread_lpthreads_lexc])
780 OL_PTHREAD_TRY_LINK([-lpthreads], [ol_cv_pthread_lib_lpthreads])
782 if test $ol_link_threads != no ; then
783 AC_DEFINE(HAVE_PTHREADS,1,
784 [define if you have POSIX Threads])
786 LTHREAD_LIBS="$LTHREAD_LIBS $ol_link_pthreads"
789 save_CPPFLAGS="$CPPFLAGS"
791 LIBS="$LTHREAD_LIBS $LIBS"
793 dnl All POSIX Thread (final) implementations should have
794 dnl sched_yield instead of pthread yield.
796 AC_CHECK_FUNCS(sched_yield pthread_yield)
798 if test $ac_cv_func_sched_yield = no -a \
799 $ac_cv_func_pthread_yield = no ; then
800 dnl Digital UNIX has sched_yield() in -lrt
801 AC_CHECK_LIB(rt, sched_yield,
802 [LTHREAD_LIBS="$LTHREAD_LIBS -lrt"
803 AC_DEFINE(HAVE_SCHED_YIELD,1)
804 ac_cv_func_sched_yield=yes],
805 [ac_cv_func_sched_yield=no])
807 if test $ac_cv_func_sched_yield = no -a \
808 $ac_cv_func_pthread_yield = no ; then
809 dnl Solaris has sched_yield() stub in -lposix4
810 dnl but we'll use thr_yield instead.
811 AC_CHECK_FUNCS(thr_yield)
813 if test $ac_cv_func_sched_yield = no -a \
814 $ac_cv_func_pthread_yield = no -a \
815 "$ac_cv_func_thr_yield" = no ; then
816 AC_MSG_WARN([could not locate sched_yield() or pthread_yield()])
819 dnl Check functions for compatibility
820 AC_CHECK_FUNCS(pthread_kill)
822 dnl Check for pthread_detach with <pthread.h> inclusion
823 dnl as it's symbol may have been mangled.
824 AC_CACHE_CHECK([for pthread_detach with <pthread.h>],
825 [ol_cv_func_pthread_detach], [
830 #define NULL (void*)0
833 [pthread_detach(NULL);],
834 [ol_cv_func_pthread_detach=yes],
835 [ol_cv_func_pthread_detach=no])
838 if test $ol_cv_func_pthread_detach = no ; then
839 AC_MSG_ERROR([could not locate pthread_detach()])
842 AC_DEFINE(HAVE_PTHREAD_DETACH,1,
843 [define if you have pthread_detach function])
845 dnl Check for setconcurreny functions
847 pthread_setconcurrency \
848 pthread_getconcurrency \
856 if test $ol_cv_linux_threads = error; then
857 AC_MSG_ERROR([LinuxThreads header/library mismatch]);
860 AC_MSG_CHECKING([if pthread_create() works])
861 AC_CACHE_VAL(ol_cv_pthread_create_works,[
865 #define NULL (void*)0
871 return (void *) (p == NULL);
880 exit(pthread_create(&t, pthread_attr_default, task, NULL));
882 exit(pthread_create(&t, NULL, task, NULL));
886 [ol_cv_pthread_create_works=yes],
887 [ol_cv_pthread_create_works=no],
889 ol_cv_pthread_create_works=yes])])
890 AC_MSG_RESULT($ol_cv_pthread_create_works)
892 if test $ol_cv_pthread_create_works = no ; then
893 AC_MSG_ERROR([pthread_create is not usable, check environment settings])
896 dnl Check if select causes an yield
897 if test $ol_with_yielding_select = auto ; then
898 AC_MSG_CHECKING([if select yields when using pthreads])
899 AC_CACHE_VAL(ol_cv_pthread_select_yields,[
901 #include <sys/types.h>
902 #include <sys/time.h>
906 #define NULL (void*) 0
909 static int fildes[2];
923 FD_SET(fildes[0], &rfds);
925 /* we're not interested in any fds */
926 i = select(FD_SETSIZE, &rfds, NULL, NULL, &tv);
933 exit(0); /* if we exit here, the select blocked the whole process */
942 /* create a pipe to select */
943 if(pipe(&fildes[0])) {
948 #ifdef HAVE_PTHREAD_SETCONCURRENCY
949 (void) pthread_setconcurrency(2);
951 #ifdef HAVE_THR_SETCONCURRENCY
952 /* Set Solaris LWP concurrency to 2 */
953 thr_setconcurrency(2);
958 pthread_create(&t, pthread_attr_default, task, NULL);
960 pthread_create(&t, NULL, task, NULL);
964 sched_yield(); /* make sure task runs first */
966 #ifdef HAVE_PTHREAD_YIELD
967 pthread_yield(); /* make sure task runs first */
973 [ol_cv_pthread_select_yields=no],
974 [ol_cv_pthread_select_yields=yes], [
975 AC_MSG_ERROR([crossing compiling: use --with-yielding_select=yes|no|manual])])])
976 AC_MSG_RESULT($ol_cv_pthread_select_yields)
978 if test $ol_cv_pthread_select_yields = yes ; then
979 ol_with_yielding_select=yes
984 CPPFLAGS="$save_CPPFLAGS"
987 AC_MSG_ERROR([could not link with POSIX Threads])
991 if test $ol_with_threads = posix ; then
992 AC_MSG_ERROR([could not locate POSIX Threads])
996 if test $ol_with_threads = auto -o $ol_with_threads = yes \
997 -o $ol_with_threads = mach ; then
999 dnl check for Mach CThreads
1000 AC_CHECK_HEADERS(mach/cthreads.h)
1001 if test $ac_cv_header_mach_cthreads_h = yes ; then
1002 ol_with_threads=found
1004 dnl check for cthread support in current $LIBS
1005 AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
1007 if test $ol_link_threads = no ; then
1009 dnl this test needs work
1010 AC_CACHE_CHECK([for cthread_fork with -all_load],
1011 [ol_cv_cthread_all_load], [
1014 LIBS="-all_load $LIBS"
1015 AC_TRY_LINK([#include <mach/cthreads.h>],[
1016 cthread_fork((void *)0, (void *)0);
1017 ], ol_cv_cthread_all_load=yes, ol_cv_cthread_all_load=no)
1018 dnl restore the LIBS
1022 if test $ol_cv_cthread_all_load = yes ; then
1023 LTHREAD_LIBS="$LTHREAD_LIBS -all_load"
1024 ol_link_threads=mach
1028 if test $ol_link_threads != no ; then
1029 : check for cthread specific functionality here
1030 AC_DEFINE(HAVE_MACH_CTHREADS,1,
1031 [define if you have Mach Cthreads])
1033 AC_MSG_ERROR([could not link with Mach CThreads])
1037 if test $ol_with_threads = mach ; then
1038 AC_MSG_ERROR([could not locate Mach CThreads])
1042 if test $ol_with_threads = auto -o $ol_with_threads = yes \
1043 -o $ol_with_threads = lwp ; then
1045 dnl check for SunOS5 LWP
1046 AC_CHECK_HEADERS(thread.h synch.h)
1047 if test $ac_cv_header_thread_h = yes -a $ac_cv_header_synch_h = yes ; then
1048 AC_CHECK_LIB(thread, thr_create, [have_thr=yes], [have_thr=no])
1050 if test $have_thr = yes ; then
1051 AC_DEFINE(HAVE_THR,1,
1052 [if you have Solaris LWP (thr) package])
1053 LTHREAD_LIBS="$LTHREAD_LIBS -lthread"
1056 if test $ol_with_yielding_select = auto ; then
1057 ol_with_yielding_select=yes
1060 dnl Check for setconcurreny functions
1062 thr_setconcurrency \
1063 thr_getconcurrency \
1068 dnl check for SunOS4 LWP
1069 AC_CHECK_HEADERS(lwp/lwp.h)
1070 if test $ac_cv_header_lwp_lwp_h = yes ; then
1071 AC_CHECK_LIB(lwp, lwp_create, [have_lwp=yes], [have_lwp=no])
1073 if test $have_lwp = yes ; then
1074 AC_DEFINE(HAVE_LWP,1,
1075 [if you have SunOS LWP package])
1076 LTHREAD_LIBS="$LTHREAD_LIBS -llwp"
1079 if test $ol_with_yielding_select = auto ; then
1080 ol_with_yielding_select=no
1086 if test $ol_with_yielding_select = yes ; then
1087 AC_DEFINE(HAVE_YIELDING_SELECT,1,
1088 [define if select implicitly yields])
1091 if test $ol_with_threads = manual ; then
1092 dnl User thinks he can manually configure threads.
1095 AC_MSG_WARN([thread defines and link options must be set manually])
1097 AC_CHECK_HEADERS(pthread.h sched.h)
1098 AC_CHECK_FUNCS(sched_yield pthread_yield)
1099 OL_HEADER_LINUX_THREADS
1101 AC_CHECK_HEADERS(mach/cthreads.h)
1102 AC_CHECK_HEADERS(lwp/lwp.h)
1103 AC_CHECK_HEADERS(thread.h synch.h)
1106 if test $ol_link_threads != no ; then
1107 dnl needed to get reentrant/threadsafe versions
1109 AC_DEFINE(REENTRANT,1)
1110 AC_DEFINE(_REENTRANT,1)
1111 AC_DEFINE(THREAD_SAFE,1)
1112 AC_DEFINE(_THREAD_SAFE,1)
1113 AC_DEFINE(THREADSAFE,1)
1114 AC_DEFINE(_THREADSAFE,1)
1116 dnl The errno declaration may dependent upon _REENTRANT.
1117 dnl If it does, we must link with thread support.
1118 AC_CACHE_CHECK([for thread specific errno],
1119 [ol_cv_errno_thread_specific], [
1120 AC_TRY_LINK([#include <errno.h>], [errno = 0;],
1121 [ol_cv_errno_thread_specific=yes],
1122 [ol_cv_errno_thread_specific=no])
1125 if test $ol_cv_errno_thread_specific != yes ; then
1126 LIBS="$LTHREAD_LIBS $LIBS"
1130 dnl When in thread environment, use
1131 dnl #if defined( HAVE_REENTRANT_FUNCTIONS ) \
1132 dnl || defined( HAVE_FUNC_R )
1135 dnl # if defined( HAVE_THREADS )
1139 dnl # if defined( HAVE_THREADS )
1144 dnl HAVE_REENTRANT_FUNCTIONS is derived from:
1145 dnl _POSIX_REENTRANT_FUNCTIONS
1146 dnl _POSIX_THREAD_SAFE_FUNCTIONS
1147 dnl _POSIX_THREADSAFE_FUNCTIONS
1149 dnl and is currently defined in lthread.h
1151 dnl HAVE_THREADS is defined by lthread.h iff -UNO_THREADS
1153 dnl libldap/*.c should only include <lthread.h> iff
1154 dnl LDAP_R_COMPILE is defined. ie:
1155 dnl #ifdef LDAP_R_COMPILE
1156 dnl # include LDAP_R_COMPILE
1159 dnl LDAP_R_COMPILE is defined by libldap_r/Makefile.in
1160 dnl specifically for compiling the threadsafe version of
1161 dnl the ldap library (-lldap_r).
1163 dnl dnl check for reentrant/threadsafe functions
1165 dnl dnl note: these should only be used when linking
1166 dnl dnl with $LTHREAD_LIBS
1168 dnl save_CPPFLAGS="$CPPFLAGS"
1169 dnl save_LIBS="$LIBS"
1170 dnl LIBS="$LTHREAD_LIBS $LIBS"
1171 dnl AC_CHECK_FUNCS( \
1173 dnl gethostbyaddr_r gethostbyname_r \
1174 dnl feof_unlocked unlocked_feof \
1175 dnl putc_unlocked unlocked_putc \
1176 dnl flockfile ftrylockfile \
1178 dnl CPPFLAGS="$save_CPPFLAGS"
1179 dnl LIBS="$save_LIBS"
1182 if test $ol_link_threads = no ; then
1183 if test $ol_with_threads = yes ; then
1184 AC_MSG_ERROR([no suitable thread support])
1187 if test $ol_with_threads = auto ; then
1188 AC_MSG_WARN([no suitable thread support, disabling threads])
1192 AC_DEFINE(NO_THREADS,1,
1193 [define if you have (or want) no threads])
1197 if test $ol_link_threads != no ; then
1198 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE,1)
1201 dnl ----------------------------------------------------------------
1204 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = db2 ; then
1207 if test $ol_cv_berkeley_db2 = yes ; then
1209 ol_with_ldbm_api=db2
1211 if test $ol_with_ldbm_type = hash ; then
1212 AC_DEFINE(LDBM_USE_DBHASH,1)
1214 AC_DEFINE(LDBM_USE_DBBTREE,1)
1217 dnl $ol_cv_lib_db2 should be yes or -ldb
1218 dnl (it could be no, but that would be an error
1219 if test $ol_cv_lib_db2 != yes ; then
1220 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db2"
1226 if test $ol_link_ldbm = db2 -a $ol_enable_bdb2 != no ; then
1230 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = db ; then
1233 if test $ol_cv_berkeley_db = yes ; then
1237 if test $ol_with_ldbm_type = hash ; then
1238 AC_DEFINE(LDBM_USE_DBHASH,1)
1240 AC_DEFINE(LDBM_USE_DBBTREE,1)
1243 dnl $ol_cv_lib_db should be yes or -ldb
1244 dnl (it could be no, but that would be an error
1245 if test $ol_cv_lib_db != yes ; then
1246 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db"
1251 if test $ol_with_ldbm_api = manual ; then
1252 dnl User thinks he can manually configure LDBM api.
1255 AC_MSG_WARN([LDBM defines and link options must be set manually])
1257 AC_CHECK_HEADERS(db.h db_185.h gdbm.h ndbm.h)
1260 if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
1261 AC_MSG_WARN(Could not find LDBM with BTREE support)
1262 ol_with_ldbm_api=none
1265 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = mdbm ; then
1268 if test $ol_cv_mdbm = yes ; then
1270 ol_with_ldbm_api=mdbm
1271 if test $ol_cv_lib_mdbm != yes ; then
1272 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_mdbm"
1277 if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = gdbm ; then
1280 if test $ol_cv_gdbm = yes ; then
1282 ol_with_ldbm_api=gdbm
1284 if test $ol_cv_lib_gdbm != yes ; then
1285 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_gdbm"
1290 if test $ol_with_ldbm_api = auto ; then
1291 AC_MSG_WARN([skipping automatic checking for NDBM, must be manually enabled.])
1292 elif test $ol_with_ldbm_api = ndbm ; then
1295 if test $ol_cv_ndbm = yes ; then
1297 ol_with_ldbm_api=ndbm
1299 if test $ol_cv_lib_ndbm != yes ; then
1300 LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_ndbm"
1305 if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then
1306 AC_MSG_WARN(could not find suitable LDBM backend)
1307 if test $ol_enable_ldbm = yes ; then
1308 AC_MSG_ERROR(select appropriate LDBM options or disable)
1311 AC_MSG_WARN(disabling LDBM)
1315 if test $ol_enable_wrappers != no ; then
1316 AC_CHECK_HEADERS(tcpd.h)
1318 if test $ac_cv_header_tcpd_h != yes ; then
1321 AC_CHECK_LIB(wrap, main,
1322 [have_wrappers=yes], [have_wrappers=no])
1325 if test $have_wrappers = yes ; then
1326 AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
1327 SLAPD_LIBS="$SLAPD_LIBS -lwrap"
1329 dnl We add another check for -lnsl since some libwrap's
1330 dnl need it, but it isn't always included from above
1331 AC_CHECK_LIB(nsl, main)
1333 AC_MSG_WARN(could not find -lwrap)
1334 if test $ol_enable_wrappers = yes ; then
1335 AC_MSG_ERROR(could not find wrappers, select appropriate options or disable)
1338 AC_MSG_WARN(disabling wrappers support)
1339 ol_enable_wrappers=no
1343 if test $ol_enable_syslog != no ; then
1344 AC_CHECK_FUNC(openlog)
1345 if test $ac_cv_func_openlog = no -a $ol_enable_syslog = yes; then
1346 AC_MSG_ERROR(could not find syslog, select appropriate options or disable)
1348 ol_enable_syslog=$ac_cv_func_openlog
1351 if test $ol_enable_dmalloc != no ; then
1352 AC_CHECK_HEADERS(dmalloc.h)
1353 AC_CHECK_LIB(dmalloc, dmalloc_shutdown)
1356 if test $ol_enable_tcl != no ; then
1357 AC_CHECK_HEADERS(tcl.h)
1359 if test $ac_cv_header_tcl_h != yes ; then
1362 AC_CHECK_LIB(tcl,main,
1363 [have_tcl=yes; SLAPD_LIBS="$SLAPD_LIBS -ltcl"],
1366 if test $have_tcl != yes; then
1367 AC_CHECK_LIB(tcl7.6,main,
1368 [have_tcl=yes; SLAPD_LIBS="$SLAPD_LIBS -ltcl7.6"],
1372 if test $have_tcl != yes; then
1373 AC_CHECK_LIB(tcl8.0,main,
1374 [have_tcl=yes; SLAPD_LIBS="$SLAPD_LIBS -ltcl8.0"],
1379 if test $have_tcl != yes ; then
1380 AC_MSG_WARN([could not find -ltcl])
1381 if test $ol_enable_tcl = yes ; then
1382 AC_MSG_ERROR([could not find tcl, select appropriate options or disable])
1389 # ud needs termcap (should insert check here)
1391 AC_CHECK_HEADERS(termcap.h ncurses.h)
1393 if test $ol_link_termcap = no ; then
1394 AC_CHECK_LIB(termcap, tputs, [have_termcap=yes], [have_termcap=no])
1395 if test $have_termcap = yes ; then
1396 AC_DEFINE(HAVE_TERMCAP, 1, [define if you have -ltermcap])
1398 TERMCAP_LIBS=-ltermcap
1402 if test $ol_link_termcap = no ; then
1403 AC_CHECK_LIB(ncurses, initscr, [have_ncurses=yes], [have_ncurses=no])
1404 if test $have_ncurses = yes ; then
1405 AC_DEFINE(HAVE_NCURSES, 1, [define if you have -lncurses])
1407 TERMCAP_LIBS=-lncurses
1411 if test $ol_link_termcap = no ; then
1412 AC_DEFINE(NO_TERMCAP,1, [define if you have no termcap support])
1417 dnl Check for GNU readline
1420 if test $ol_with_readline != no ; then
1421 AC_CHECK_HEADERS(readline/readline.h readline/history.h)
1423 if test $ac_cv_header_readline_readline_h = yes ; then
1425 LIBS="$TERMCAP_LIBS $LIBS"
1426 AC_CHECK_LIB(readline, readline,
1427 [have_readline=yes], [have_readline=no])
1430 if test $have_readline = yes ; then
1431 ol_with_readline=found
1432 ol_link_readline=yes
1434 READLINE_LIBS="-lreadline"
1439 if test $ol_link_readline = yes ; then
1440 AC_DEFINE(HAVE_READLINE, 1, [define if you have -lreadline])
1444 # FreeBSD (and others) have crypt(3) in -lcrypt
1445 if test $ol_enable_crypt != no ; then
1446 AC_CHECK_FUNC(crypt, [have_crypt=yes], [
1447 AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
1448 have_crypt=yes], [have_crypt=no])])
1450 if test $have_crypt = yes ; then
1451 AC_DEFINE(HAVE_CRYPT,1)
1453 AC_MSG_WARN(could not find crypt)
1454 if test $ol_enable_crypt = yes ; then
1455 AC_MSG_ERROR(could not find crypt, select appropriate options or disable)
1458 AC_MSG_WARN(disabling crypt support)
1463 # FreeBSD (and others) have setproctitle(3) in -lutil
1464 if test $ol_enable_proctitle != no ; then
1465 AC_CHECK_FUNC(setproctitle, [have_setproctitle=yes], [
1466 AC_CHECK_LIB(util, setproctitle,
1467 [have_setproctitle=yes
1468 LUTIL_LIBS="$LUTIL_LIBS -lutil"],
1469 [have_setproctitle=no
1470 LIBOBJS="$LIBOBJS setproctitle.o"])])
1472 if test $have_setproctitle = yes ; then
1473 AC_DEFINE(HAVE_SETPROCTITLE,1)
1477 dnl ----------------------------------------------------------------
1478 dnl Checks for header files.
1481 if test $ol_cv_header_stdc != yes; then
1482 AC_MSG_WARN([could not locate Standard C compliant headers])
1487 AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
1488 if test $am_cv_sys_posix_termios = yes ; then
1489 AC_DEFINE(HAVE_POSIX_TERMIOS,1,
1490 [define if you have POSIX termios])
1533 dnl ----------------------------------------------------------------
1534 dnl Checks for typedefs, structures, and compiler characteristics.
1535 AC_TYPE_GETGROUPS dnl requires AC_TYPE_UID_T
1541 OL_TYPE_SIG_ATOMIC_T
1543 AC_STRUCT_ST_BLKSIZE
1546 OL_STRUCT_PASSWD_PW_GECOS
1552 if test $cross_compiling = yes ; then
1553 AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
1556 AC_CHECK_SIZEOF(short)
1557 AC_CHECK_SIZEOF(int)
1558 AC_CHECK_SIZEOF(long)
1561 dnl ----------------------------------------------------------------
1562 dnl Checks for library functions.
1564 dnl AM_FUNC_MKTIME dnl checks for sys/time.h and unistd.h
1568 dnl we should use vfork instead of fork in a number of places...
1572 if test $ac_cv_func_vprintf = yes ; then
1573 dnl check for vsnprintf
1574 AC_CHECK_FUNCS(vsnprintf vsprintf)
1618 dnl We actually may need to replace more than this.
1619 AC_REPLACE_FUNCS(getopt tempnam)
1621 dnl ----------------------------------------------------------------
1622 # Check Configuration
1625 dnl ----------------------------------------------------------------
1626 dnl Sort out defines
1628 if test "$ol_enable_debug" != no ; then
1629 AC_DEFINE(LDAP_DEBUG,1)
1631 if test "$ol_enable_syslog" = yes ; then
1632 AC_DEFINE(LDAP_SYSLOG,1)
1634 if test "$ol_enable_libui" = yes ; then
1635 AC_DEFINE(LDAP_LIBUI,1)
1637 if test "$ol_enable_cache" = no ; then
1638 AC_DEFINE(LDAP_NOCACHE,1)
1640 if test "$ol_enable_dns" != no ; then
1641 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_DNS,LDAP_VENDOR_VERSION)
1643 if test "$ol_enable_proctitle" != no ; then
1644 AC_DEFINE(LDAP_PROCTITLE,1)
1646 if test "$ol_enable_referrals" != no ; then
1647 AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS,LDAP_VENDOR_VERSION)
1649 if test "$ol_enable_cldap" != no ; then
1650 AC_DEFINE(LDAP_CONNECTIONLESS,1)
1653 if test "$ol_enable_aclgroups" != no ; then
1654 AC_DEFINE(SLAPD_ACLGROUPS,1)
1656 if test "$ol_enable_crypt" != no ; then
1657 AC_DEFINE(SLAPD_CRYPT,1)
1659 if test "$ol_enable_cleartext" != no ; then
1660 AC_DEFINE(SLAPD_CLEARTEXT,1)
1662 if test "$ol_enable_phonetic" != no ; then
1663 AC_DEFINE(SLAPD_PHONETIC,1)
1665 if test "$ol_enable_rlookups" != no ; then
1666 AC_DEFINE(SLAPD_RLOOKUPS,1)
1669 if test "$ol_link_modules" != no ; then
1670 AC_DEFINE(SLAPD_MODULES,1)
1674 if test "$ol_link_bdb2" != no ; then
1675 AC_DEFINE(SLAPD_BDB2,1)
1680 if test "$ol_enable_ldap" != no ; then
1681 AC_DEFINE(SLAPD_LDAP,1)
1686 if test "$ol_link_ldbm" != no ; then
1687 AC_DEFINE(SLAPD_LDBM,1)
1692 if test "$ol_enable_passwd" != no ; then
1693 AC_DEFINE(SLAPD_PASSWD,1)
1698 if test "$ol_link_perl" != no ; then
1699 AC_DEFINE(SLAPD_PERL,1)
1704 if test "$ol_enable_shell" != no ; then
1705 AC_DEFINE(SLAPD_SHELL,1)
1710 if test "$ol_enable_tcl" != no ; then
1711 AC_DEFINE(SLAPD_TCL,1)
1716 if test "$ol_enable_slurpd" != no -a "$ol_link_threads" != no -a \
1717 $BUILD_SLAPD = yes ; then
1721 if test "$ol_link_isode" != no ; then
1725 dnl ----------------------------------------------------------------
1727 AC_SUBST(BUILD_LDAPD)
1728 AC_SUBST(BUILD_SLAPD)
1729 AC_SUBST(BUILD_BDB2)
1730 AC_SUBST(BUILD_LDAP)
1731 AC_SUBST(BUILD_LDBM)
1732 AC_SUBST(BUILD_PASSWD)
1733 AC_SUBST(BUILD_PERL)
1734 AC_SUBST(BUILD_SHELL)
1736 AC_SUBST(BUILD_SLURPD)
1739 AC_SUBST(LDAPD_LIBS)
1740 AC_SUBST(SLAPD_LIBS)
1741 AC_SUBST(SLURPD_LIBS)
1743 AC_SUBST(LTHREAD_LIBS)
1744 AC_SUBST(LUTIL_LIBS)
1746 AC_SUBST(SLAPD_MODULES_CPPFLAGS)
1747 AC_SUBST(SLAPD_MODULES_LDFLAGS)
1749 AC_SUBST(SLAPD_PERL_CPPFLAGS)
1750 AC_SUBST(SLAPD_PERL_LDFLAGS)
1753 AC_SUBST(READLINE_LIBS)
1754 AC_SUBST(TERMCAP_LIBS)
1757 dnl ----------------------------------------------------------------
1762 Makefile:build/top.mk:Makefile.in:build/dir.mk \
1763 doc/Makefile:build/top.mk:doc/Makefile.in:build/dir.mk \
1764 doc/man/Makefile:build/top.mk:doc/man/Makefile.in:build/dir.mk \
1765 doc/man/man1/Makefile:build/top.mk:doc/man/man1/Makefile.in:build/man.mk \
1766 doc/man/man3/Makefile:build/top.mk:doc/man/man3/Makefile.in:build/man.mk \
1767 doc/man/man5/Makefile:build/top.mk:doc/man/man5/Makefile.in:build/man.mk \
1768 doc/man/man8/Makefile:build/top.mk:doc/man/man8/Makefile.in:build/man.mk \
1769 clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.mk \
1770 clients/finger/Makefile:build/top.mk:clients/finger/Makefile.in:build/rules.mk \
1771 clients/fax500/Makefile:build/top.mk:clients/fax500/Makefile.in:build/rules.mk \
1772 clients/gopher/Makefile:build/top.mk:clients/gopher/Makefile.in:build/rules.mk \
1773 clients/mail500/Makefile:build/top.mk:clients/mail500/Makefile.in:build/rules.mk \
1774 clients/rcpt500/Makefile:build/top.mk:clients/rcpt500/Makefile.in:build/rules.mk \
1775 clients/ud/Makefile:build/top.mk:clients/ud/Makefile.in:build/rules.mk \
1776 clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk \
1777 include/Makefile:build/top.mk:include/Makefile.in \
1778 libraries/Makefile:build/top.mk:libraries/Makefile.in:build/dir.mk \
1779 libraries/libavl/Makefile:build/top.mk:libraries/libavl/Makefile.in:build/lib.mk:build/lib-static.mk \
1780 libraries/liblber/Makefile:build/top.mk:libraries/liblber/Makefile.in:build/lib.mk:build/lib-shared.mk \
1781 libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.mk:build/lib-shared.mk \
1782 libraries/libldap_r/Makefile:build/top.mk:libraries/libldap_r/Makefile.in:build/lib.mk:build/lib-shared.mk \
1783 libraries/libldbm/Makefile:build/top.mk:libraries/libldbm/Makefile.in:build/lib.mk:build/lib-static.mk \
1784 libraries/libldif/Makefile:build/top.mk:libraries/libldif/Makefile.in:build/lib.mk:build/lib-static.mk \
1785 libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk \
1786 servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \
1787 servers/ldapd/Makefile:build/top.mk:servers/ldapd/Makefile.in:build/srv.mk \
1788 servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
1789 servers/slapd/back-bdb2/Makefile:build/top.mk:servers/slapd/back-bdb2/Makefile.in:build/srv.mk \
1790 servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/srv.mk \
1791 servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/srv.mk \
1792 servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/srv.mk \
1793 servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/srv.mk \
1794 servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/srv.mk \
1795 servers/slapd/back-tcl/Makefile:build/top.mk:servers/slapd/back-tcl/Makefile.in:build/srv.mk \
1796 servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk \
1797 servers/slapd/tools/Makefile:build/top.mk:servers/slapd/tools/Makefile.in \
1798 servers/slurpd/Makefile:build/top.mk:servers/slurpd/Makefile.in:build/srv.mk \
1799 tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk \
1800 tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \
1801 contrib/Makefile:build/top.mk:contrib/Makefile.in:build/dir.mk \
1802 contrib/saucer/Makefile:build/top.mk:contrib/saucer/Makefile.in:build/rules.mk \
1803 contrib/web_ldap/Makefile:build/top.mk:contrib/web_ldap/Makefile.in:build/rules.mk \
1806 echo Please \"make depend\" to build dependencies