dnl General "with" options
OL_ARG_ENABLE(dmalloc,[ --enable-dmalloc enable debug malloc support], no)dnl
+OL_ARG_WITH(cyrus_sasl,[ --with-cyrus-sasl with Cyrus SASL support],
+ auto, [auto yes no] )
+OL_ARG_WITH(fetch,[ --with-fetch with fetch URL support],
+ auto, [auto yes no] )
OL_ARG_WITH(kerberos,[ --with-kerberos with Kerberos support],
auto, [auto k5 k4 afs yes no])
OL_ARG_WITH(readline,[ --with-readline with readline support],
OL_ARG_ENABLE(cleartext,[ --enable-cleartext enable cleartext passwords], yes)dnl
OL_ARG_ENABLE(crypt,[ --enable-crypt enable crypt(3) passwords], auto)dnl
OL_ARG_ENABLE(modules,[ --enable-modules enable dynamic module support], no)dnl
+OL_ARG_ENABLE(multimaster,[ --enable-multimaster enable multimaster replication], no)dnl
OL_ARG_ENABLE(phonetic,[ --enable-phonetic enable phonetic/soundex], no)dnl
+OL_ARG_ENABLE(quipu,[ --enable-quipu build quipu migration tools], no)dnl
OL_ARG_ENABLE(rlookups,[ --enable-rlookups enable reverse lookups], auto)dnl
OL_ARG_ENABLE(wrappers,[ --enable-wrappers enable tcp wrapper support], no)dnl
if test $ol_enable_modules = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-modules argument])
fi
+ if test $ol_enable_multimaster = yes ; then
+ AC_MSG_WARN([slapd disabled, ignoring --enable-multimaster argument])
+ fi
if test $ol_enable_wrappers = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-wrappers argument])
fi
if test $ol_enable_phonetic = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-phonetic argument])
fi
+ if test $ol_enable_quipu = yes ; then
+ AC_MSG_WARN([slapd disabled, ignoring --enable-quipu argument])
+ fi
if test $ol_enable_rlookups = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-rlookups argument])
fi
ol_enable_tcl=no
ol_enable_modules=no
+ ol_enable_multimaster=no
ol_enable_phonetic=no
+ ol_enable_quipu=no
ol_enable_rlookups=no
ol_enable_wrappers=no
## Initialize vars
LDAP_LIBS=
+LDIF_LIBS=
LDBM_LIBS=
LTHREAD_LIBS=
LUTIL_LIBS=
BUILD_LDBM=no
BUILD_PASSWD=no
BUILD_PERL=no
+BUILD_QUIPU=no
BUILD_SHELL=no
BUILD_TCL=no
BUILD_THREAD=no
-BUILD_BDB2_DYNAMIC=no
-BUILD_LDAP_DYNAMIC=no
-BUILD_LDBM_DYNAMIC=no
-BUILD_PASSWD_DYNAMIC=no
-BUILD_PERL_DYNAMIC=no
-BUILD_SHELL_DYNAMIC=no
-BUILD_TCL_DYNAMIC=no
+BUILD_BDB2_DYNAMIC=static
+BUILD_LDAP_DYNAMIC=static
+BUILD_LDBM_DYNAMIC=static
+BUILD_PASSWD_DYNAMIC=static
+BUILD_PERL_DYNAMIC=static
+BUILD_SHELL_DYNAMIC=static
+BUILD_TCL_DYNAMIC=static
SLAPD_MODULES_LDFLAGS=
SLAPD_MODULES_CPPFLAGS=
+SLAPD_MODULES_LIST=
SLAPD_PERL_LDFLAGS=
SLAPD_PERL_CPPFLAGS=
KRB_LIBS=
READLINE_LIBS=
+SASL_LIBS=
TERMCAP_LIBS=
TLS_LIBS=
+MODULES_LIBS=
dnl ----------------------------------------------------------------
dnl Checks for programs
dnl (for now, let autoconf sort this out)
dnl CFLAGS=${CFLAGS-""}
+AC_LIBTOOL_DLOPEN
AC_PROG_LIBTOOL
dnl AC_PROG_MAKE_SET
AC_MSG_WARN([do not know how to generate dependencies])
fi
-dnl
-dnl Check for module support
-dnl
-ol_link_modules=no
-if test $ol_enable_modules != no ; then
- AC_PATH_PROG(GLIBCONFIG, glib-config)
-
- if test "no$GLIBCONFIG" = "no" ; then
- if test $ol_enable_modules = yes ; then
- AC_MSG_ERROR([could not locate glib-config])
- fi
-
- else
- SLAPD_MODULES_VERSION="`$GLIBCONFIG --version gmodule`"
- SLAPD_MODULES_CPPFLAGS="`$GLIBCONFIG --cflags gmodule`"
- SLAPD_MODULES_LDFLAGS="`$GLIBCONFIG --libs gmodule`"
-
- dnl should check glib version
- ol_link_modules=yes
- fi
-else
- ol_with_bdb2_module=static
- ol_with_ldap_module=static
- ol_with_ldbm_module=static
- ol_with_passwd_module=static
- ol_with_perl_module=static
- ol_with_shell_module=static
- ol_with_tcl_module=static
-fi
-
dnl ----------------------------------------------------------------
dnl Checks for header files.
OL_HEADER_STDC
AC_CHECK_LIB(bind, res_search)
ac_cv_func_res_search=$ac_cv_lib_bind_res_search
fi
+ if test $ac_cv_func_res_search = no ; then
+ AC_CHECK_LIB(bind, __res_search)
+ ac_cv_func_res_search=$ac_cv_lib_bind___res_search
+ fi
if test $ac_cv_func_res_search = no ; then
AC_CHECK_LIB(resolv, res_search)
ac_cv_func_res_search=$ac_cv_lib_resolv_res_search
AC_PATH_PROG(PEPSY, pepsy)
fi
+if test $ol_enable_quipu != no ; then
+ AC_CHECK_HEADERS(quipu/commonarg.h)
+
+ if test $ac_cv_header_quipu_commonarg_h = yes ; then
+ BUILD_QUIPU=yes
+ elif test $ol_enable_quipu = auto ; then
+ AC_MSG_WARN([no quipu for --enable-quipu=auto, disabling])
+ else
+ AC_MSG_ERROR(no quipu for --enable-quipu=$ol_enable_quipu)
+ fi
+fi
+
dnl
dnl check for kerberos
dnl
TERMCAP_LIBS=
fi
+dnl
+dnl Check for fetch URL support
+dnl should be extended to support other fetch URL APIs
+dnl
+ol_link_sasl=no
+if test $ol_with_cyrus_sasl != no ; then
+ AC_CHECK_HEADER(sasl.h)
+
+ if test $ac_cv_header_sasl_h = yes ; then
+ AC_CHECK_LIB(sasl, sasl_client_init,
+ [have_cyrus_sasl=yes], [have_cyrus_sasl=no])
+
+ if test $have_cyrus_sasl != no ; then
+ SASL_LIBS="-lsasl"
+ AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
+ ol_link_sasl=yes
+ fi
+ fi
+
+ if test $ol_link_sasl = no -a $ol_with_cyrus_sasl = yes ; then
+ AC_MSG_ERROR(no suitable API for --with-cyrus-sasl=$ol_with_cyrus_sasl)
+ fi
+fi
+
+dnl
+dnl Check for fetch URL support
+dnl should be extended to support other fetch URL APIs
+dnl
+ol_link_fetch=no
+if test $ol_with_fetch != no ; then
+ OL_LIB_FETCH
+
+ if test $ol_cv_lib_fetch != no ; then
+ LDIF_LIBS="$LDIF_LIBS $ol_link_fetch"
+ ol_link_fetch=freebsd
+
+ elif test $ol_with_fetch != auto ; then
+ AC_MSG_ERROR(no suitable API for --with-fetch=$ol_with_fetch)
+ fi
+fi
+
dnl
dnl Check for GNU readline
dnl
AC_FUNC_STRFTIME
dnl AM_FUNC_STRTOD
+OL_FUNC_INET_ATON
+
dnl we should use vfork instead of fork in a number of places...
dnl AC_FUNC_VFORK
AC_FUNC_VPRINTF
if test "$ol_enable_cleartext" != no ; then
AC_DEFINE(SLAPD_CLEARTEXT,1,[define to support cleartext passwords])
fi
+if test "$ol_enable_multimaster" != no ; then
+ AC_DEFINE(SLAPD_MULTIMASTER,1,[define to support multimaster replication])
+fi
if test "$ol_enable_phonetic" != no ; then
AC_DEFINE(SLAPD_PHONETIC,1,[define to support phonetic])
fi
AC_DEFINE(SLAPD_RLOOKUPS,1,[define to support reverse lookups])
fi
-if test "$ol_link_modules" != no ; then
+if test "$ol_enable_modules" != no ; then
AC_DEFINE(SLAPD_MODULES,1,[define to support modules])
BUILD_SLAPD=yes
+ MODULES_LIBS=-lltdl
+ SLAPD_MODULES_LDFLAGS="-dlopen self"
fi
if test "$ol_link_bdb2" != no ; then
if test "$ol_with_bdb2_module" != static ; then
AC_DEFINE(SLAPD_BDB2_DYNAMIC,1,
[define to support dynamic BDB2 backend])
- BUILD_BDB2_DYNAMIC=yes
+ BUILD_BDB2=mod
+ BUILD_BDB2_DYNAMIC=shared
+ SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-bdb2/back_bdb2.la"
fi
fi
if test "$ol_with_ldap_module" != static ; then
AC_DEFINE(SLAPD_LDAP_DYNAMIC,1,
[define to support dynamic LDAP backend])
- BUILD_LDAP_DYNAMIC=yes
+ BUILD_LDAP=mod
+ BUILD_LDAP_DYNAMIC=shared
+ SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-ldap/back_ldap.la"
fi
fi
if test "$ol_with_ldbm_module" != static ; then
AC_DEFINE(SLAPD_LDBM_DYNAMIC,1,
[define to support dynamic LDBM backend])
- BUILD_LDBM_DYNAMIC=yes
+ BUILD_LDBM=mod
+ BUILD_LDBM_DYNAMIC=shared
+ SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-ldbm/back_ldbm.la"
fi
fi
if test "$ol_with_passwd_module" != static ; then
AC_DEFINE(SLAPD_PASSWD_DYNAMIC,1,
[define to support dynamic PASSWD backend])
- BUILD_PASSWD_DYNAMIC=yes
+ BUILD_PASSWD=mod
+ BUILD_PASSWD_DYNAMIC=shared
+ SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-passwd/back_passwd.la"
fi
fi
if test "$ol_with_perl_module" != static ; then
AC_DEFINE(SLAPD_PERL_DYNAMIC,1,
[define to support dynamic PERL backend])
- BUILD_PERL_DYNAMIC=yes
+ BUILD_PERL=mod
+ BUILD_PERL_DYNAMIC=shared
+ SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-perl/back_perl.la"
fi
fi
if test "$ol_with_shell_module" != static ; then
AC_DEFINE(SLAPD_SHELL_DYNAMIC,1,
[define to support dynamic SHELL backend])
- BUILD_SHELL_DYNAMIC=yes
+ BUILD_SHELL=mod
+ BUILD_SHELL_DYNAMIC=shared
+ SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-shell/back_shell.la"
fi
fi
if test "$ol_with_tcl_module" != static; then
AC_DEFINE(SLAPD_TCL_DYNAMIC,1,
[define to support dynamic TCL backend])
- BUILD_TCL_DYNAMIC=yes
+ BUILD_TCL=mod
+ BUILD_TCL_DYNAMIC=shared
+ SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-tcl/back_tcl.la"
fi
fi
AC_SUBST(BUILD_LDBM)
AC_SUBST(BUILD_PASSWD)
AC_SUBST(BUILD_PERL)
+ AC_SUBST(BUILD_QUIPU)
AC_SUBST(BUILD_SHELL)
AC_SUBST(BUILD_TCL)
AC_SUBST(BUILD_BDB2_DYNAMIC)
AC_SUBST(LDAP_LIBS)
AC_SUBST(LDAPD_LIBS)
+AC_SUBST(LDIF_LIBS)
AC_SUBST(SLAPD_LIBS)
AC_SUBST(SLURPD_LIBS)
AC_SUBST(LDBM_LIBS)
AC_SUBST(SLAPD_MODULES_CPPFLAGS)
AC_SUBST(SLAPD_MODULES_LDFLAGS)
+AC_SUBST(SLAPD_MODULES_LIST)
AC_SUBST(SLAPD_PERL_CPPFLAGS)
AC_SUBST(SLAPD_PERL_LDFLAGS)
AC_SUBST(KRB_LIBS)
AC_SUBST(READLINE_LIBS)
+AC_SUBST(SASL_LIBS)
AC_SUBST(TERMCAP_LIBS)
AC_SUBST(TLS_LIBS)
+AC_SUBST(MODULES_LIBS)
dnl ----------------------------------------------------------------
dnl final output
servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \
servers/ldapd/Makefile:build/top.mk:servers/ldapd/Makefile.in:build/srv.mk \
servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
-servers/slapd/back-bdb2/Makefile:build/top.mk:servers/slapd/back-bdb2/Makefile.in:build/srv.mk \
-servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/srv.mk \
-servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/srv.mk \
-servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/srv.mk \
-servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/srv.mk \
-servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/srv.mk \
-servers/slapd/back-tcl/Makefile:build/top.mk:servers/slapd/back-tcl/Makefile.in:build/srv.mk \
+servers/slapd/back-bdb2/Makefile:build/top.mk:servers/slapd/back-bdb2/Makefile.in:build/mod.mk \
+servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/mod.mk \
+servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/mod.mk \
+servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk \
+servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk \
+servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk \
+servers/slapd/back-tcl/Makefile:build/top.mk:servers/slapd/back-tcl/Makefile.in:build/mod.mk \
servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk \
servers/slapd/tools/Makefile:build/top.mk:servers/slapd/tools/Makefile.in \
servers/slurpd/Makefile:build/top.mk:servers/slurpd/Makefile.in:build/srv.mk \