OL_ARG_WITH(meta_module,[ --with-meta-module module type], static,
[static dynamic])
OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend], no)dnl
-OL_ARG_WITH(monitor_module,[ --with-monitor-module module type], static,
+OL_ARG_WITH(monitor_module,[ --with-monitor-module module type], static,
[static dynamic])
OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend], no)dnl
OL_ARG_WITH(passwd_module,[ --with-passwd-module module type], static,
if test $ol_enable_meta = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-meta argument])
fi
- if test $ol_enable_module = yes ; then
+ if test $ol_enable_monitor = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-monitor argument])
fi
if test $ol_enable_passwd = yes ; then
$ol_enable_shell = no -a \
$ol_enable_sql = no -a \
$ol_enable_tcl = no ; then
- AC_MSG_ERROR([slapd requires a backend])
+
+ if test $ol_enable_slapd = yes ; then
+ AC_MSG_ERROR([slapd requires a backend])
+ else
+ AC_MSG_WARN([skipping slapd, no backend specified])
+ ol_enable_slapd=no
+ fi
fi
ol_with_ldbm_api=no
ol_with_ldbm_type=no
ol_with_ldbm_module=static
+ if test $ol_enable_bdb != no ; then
+ ol_with_ldbm_api=berkeley
+ fi
+
else
dnl SLAPD with LDBM
if test $ol_with_ldbm_api = gdbm -a \
$ol_with_ldbm_type = btree ; then
AC_MSG_ERROR([NDBM only supports LDBM type hash])
fi
+
+ if test $ol_enable_bdb = yes ; then
+ if test $ol_with_ldbm_api = auto ; then
+ ol_with_ldbm_api=berkeley
+ elif test $ol_with_ldbm_api != berkeley ; then
+ AC_MSG_ERROR([LDBM API not compatible with BDB])
+ fi
+
+ elif test $ol_enable_bdb = auto ; then
+ if test $ol_with_ldbm_api != berkeley \
+ -o $ol_with_ldbm_api != auto ; then
+ AC_MSG_WARN([LDBM API not compatible with BDB, disabling BDB])
+ ol_enable_bdb=no
+ fi
+ fi
fi
if test $ol_enable_slurpd = yes ; then
if test $ol_enable_kbind = yes -o $ol_enable_kpasswd = yes ; then
if test $ol_with_kerberos = no ; then
AC_MSG_ERROR([options require --with-kerberos])
+ elif test $ol_with_kerberos = auto ; then
+ ol_with_kerberos=yes
fi
- ol_with_kerberos=yes
+
elif test $ol_enable_kbind = no -o $ol_enable_kpasswd = no ; then
- if test $ol_with_kerberos != no -a $ol_with_kerberos != auto ; then
+ if test $ol_with_kerberos = auto ; then
+ ol_with_kerberos=no
+ elif test $ol_with_kerberos != no ; then
AC_MSG_WARN([Kerberos detection enabled unnecessarily]);
+ ol_with_kerberos=no
fi
- ol_with_kerberos=no
fi
if test $ol_enable_spasswd = yes ; then
dnl Initialize vars
LDAP_LIBS=
LDIF_LIBS=
+LDBM_LIB=
LDBM_LIBS=
LTHREAD_LIBS=
LUTIL_LIBS=
dnl (for now, let autoconf sort this out)
dnl CFLAGS=${CFLAGS-""}
+AC_CHECK_PROGS(AR,ar gar)
+
AC_LIBTOOL_WIN32_DLL
AC_LIBTOOL_DLOPEN
AC_PROG_LIBTOOL
dnl ----------------------------------------------------------------
dnl Check for resolver routines
+dnl need to check for both res_query and __res_query
+dnl need to check -lc, -lbind, and -lresolv
ol_link_dnssrv=no
AC_CHECK_FUNC(res_query,:)
+if test $ac_cv_func_res_query = no ; then
+ AC_CHECK_FUNC(__res_query,:)
+ ac_cv_func_res_query=$ac_cv_func___res_query
+fi
+
if test $ac_cv_func_res_query = no ; then
AC_CHECK_LIB(bind, res_query)
ac_cv_func_res_query=$ac_cv_lib_bind_res_query
ac_cv_func_res_query=$ac_cv_lib_resolv_res_query
fi
+if test $ac_cv_func_res_query = no ; then
+ AC_CHECK_LIB(resolv, __res_query)
+ ac_cv_func_res_query=$ac_cv_lib_resolv___res_query
+fi
+
if test "$ac_cv_func_res_query" = yes ; then
AC_DEFINE(HAVE_RES_QUERY,1,
[define if you have res_query()])
fi
if test $krb5_impl = mit; then
+ AC_CHECK_LIB(k5crypto, main,
+ [krb5crypto=k5crypto],
+ [krb5crypto=crypto])
+
AC_CHECK_LIB(krb5, main,
[have_krb5=yes
- KRB5_LIBS="-lkrb5 -lcrypto -lcom_err"],
+ KRB5_LIBS="-lkrb5 -l$krb5crypto -lcom_err"],
[have_krb5=no],
- [-lcrypto -lcom_err])
+ [-l$krb5crypto -lcom_err])
elif test $krb5_impl = heimdal; then
AC_CHECK_LIB(krb5, main,
AC_DEFINE(HAVE_HEIMDAL_KERBEROS, 1,
[define if you have HEIMDAL Kerberos])
+
else
have_krb5=no
AC_MSG_WARN([Unrecongized Kerberos5 Implementation])
if test $krb5_impl = mit; then
AC_CHECK_LIB(krb4, main, [have_k425=yes
KRB4_LIBS="-lkrb4 -ldes425"], [have_k425=no],
- [-ldes425 -lkrb5 -lcrypto -lcom_err])
+ [-ldes425 -lkrb5 -l$krb5crypto -lcom_err])
elif test $krb5_impl = heimdal; then
AC_CHECK_LIB(krb4, main, [have_k425=yes
CPPFLAGS="$save_CPPFLAGS"
LIBS="$save_LIBS"
else
- AC_MSG_ERROR([could not link with POSIX Threads])
+ AC_MSG_ERROR([could not locate usable POSIX Threads])
fi
fi
-o $ol_with_threads = mach ; then
dnl check for Mach CThreads
- AC_CHECK_HEADERS(mach/cthreads.h)
+ AC_CHECK_HEADERS(mach/cthreads.h cthread.h)
if test $ac_cv_header_mach_cthreads_h = yes ; then
ol_with_threads=found
fi
fi
- if test $ol_link_threads != no ; then
- : check for cthread specific functionality here
- AC_DEFINE(HAVE_MACH_CTHREADS,1,
- [define if you have Mach Cthreads])
+ elif test $ac_cv_header_cthreads_h = yes ; then
+ dnl Hurd variant of Mach Cthreads
+ dnl uses <cthreads.h> and -lthreads
+
+ ol_with_threads=found
+
+ dnl save the flags
+ save_LIBS="$LIBS"
+ LIBS="$LIBS -lthreads"
+ AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
+ LIBS="$save_LIBS"
+
+ if test $ol_link_threads = yes ; then
+ LTHREAD_LIBS="-lthreads"
+ ol_link_threads=mach
else
AC_MSG_ERROR([could not link with Mach CThreads])
fi
- fi
- if test $ol_with_threads = mach ; then
+ elif test $ol_with_threads = mach ; then
AC_MSG_ERROR([could not locate Mach CThreads])
fi
+
+ if test $ol_link_threads = mach ; then
+ AC_DEFINE(HAVE_MACH_CTHREADS,1,
+ [define if you have Mach Cthreads])
+ elif test $ol_with_threads = found ; then
+ AC_MSG_ERROR([could not link with Mach CThreads])
+ fi
fi
if test $ol_with_threads = auto -o $ol_with_threads = yes \
[define this if Berkeley DB is available])
ol_link_ldbm=berkeley
- ol_with_ldbm_api=db
+ ol_with_ldbm_api=berkeley
if test $ol_with_ldbm_type = hash ; then
AC_DEFINE(LDBM_USE_DBHASH,1,
fi
fi
+if test $ol_enable_bdb = yes -a $ol_link_ldbm != berkeley ; then
+ AC_MSG_ERROR(BerkeleyDB not availabl)
+elif test $ol_enable_bdb != no -a $ol_link_ldbm != no ; then
+ ol_enable_bdb=yes
+fi
+
if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
AC_MSG_WARN(Could not find LDBM with BTREE support)
ol_with_ldbm_api=none
strtoul \
strspn \
sysconf \
+ usleep \
waitpid \
wait4 \
write \
fi
fi
-if test "$ol_link_ldbm" != no ; then
+if test "$ol_link_ldbm" != no -a $ol_enable_ldbm != no; then
AC_DEFINE(SLAPD_LDBM,1,[define to support LDBM backend])
BUILD_SLAPD=yes
BUILD_LDBM=yes
+ LDBM_LIB="-lldbm"
if test "$ol_with_ldbm_module" != static ; then
AC_DEFINE(SLAPD_LDBM_DYNAMIC,1,
[define to support dynamic LDBM backend])
AC_SUBST(BUILD_TCL_DYNAMIC)
AC_SUBST(BUILD_SLURPD)
+AC_SUBST(LDBM_LIB)
+
AC_SUBST(LDAP_LIBS)
AC_SUBST(LDIF_LIBS)
AC_SUBST(SLAPD_LIBS)
servers/slurpd/Makefile:build/top.mk:servers/slurpd/Makefile.in:build/srv.mk \
tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk \
tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \
-contrib/Makefile:build/top.mk:contrib/Makefile.in:build/dir.mk \
-contrib/saucer/Makefile:build/top.mk:contrib/saucer/Makefile.in:build/rules.mk \
,[
date > stamp-h
echo Please \"make depend\" to build dependencies