dnl ----------------------------------------------------------------
dnl General "enable" options
OL_ARG_ENABLE(debug,[ --enable-debug enable debugging], yes)dnl
+OL_ARG_ENABLE(dynamic,[ --enable-dynamic enable linking built binaries with dynamic libs], no)dnl
OL_ARG_ENABLE(syslog,[ --enable-syslog enable syslog support], auto)dnl
OL_ARG_ENABLE(proctitle,[ --enable-proctitle enable proctitle support], yes)dnl
-dnl OL_ARG_ENABLE(cache,[ --enable-cache enable caching (experimental)], no)dnl
-ol_enable_cache=${ol_enable_cache-no}
dnl OL_ARG_ENABLE(referrals,[ --enable-referrals enable LDAPv2+ Referrals (experimental)], no)dnl
ol_enable_referrals=${ol_enable_referrals-no}
dnl OL_ARG_ENABLE(kbind,[ --enable-kbind enable LDAPv2+ Kerberos IV bind (deprecated)], no)dnl
auto, [auto yes no] )
OL_ARG_WITH(kerberos,[ --with-kerberos with Kerberos support],
auto, [auto k5 k5only k425 kth k4 afs yes no])
-OL_ARG_WITH(readline,[ --with-readline with readline support],
- auto, [auto yes no] )
OL_ARG_WITH(threads,[ --with-threads with threads],
auto, [auto nt posix mach pth lwp yes no manual] )
OL_ARG_WITH(tls,[ --with-tls with TLS/SSL support],
OL_ARG_ENABLE(aci,[ --enable-aci enable per-object ACIs (experimental)], no)dnl
OL_ARG_ENABLE(cleartext,[ --enable-cleartext enable cleartext passwords], yes)dnl
OL_ARG_ENABLE(crypt,[ --enable-crypt enable crypt(3) passwords], no)dnl
-OL_ARG_ENABLE(dynamic,[ --enable-dynamic enable linking built binaries with dynamic libs], no)dnl
OL_ARG_ENABLE(kpasswd,[ --enable-kpasswd enable Kerberos password verification], no)dnl
OL_ARG_ENABLE(lmpasswd,[ --enable-lmpasswd enable LAN Manager passwords], no)dnl
OL_ARG_ENABLE(spasswd,[ --enable-spasswd enable (Cyrus) SASL password verification], no)dnl
OL_ARG_ENABLE(modules,[ --enable-modules enable dynamic module support], no)dnl
dnl OL_ARG_ENABLE(multimaster,[ --enable-multimaster enable multimaster replication], no)dnl
ol_enable_multimaster=${ol_enable_multimaster-no}
-OL_ARG_ENABLE(phonetic,[ --enable-phonetic enable phonetic/soundex], no)dnl
OL_ARG_ENABLE(rewrite,[ --enable-rewrite enable DN rewriting in back-ldap and back-meta], no)dnl
OL_ARG_ENABLE(rlookups,[ --enable-rlookups enable reverse lookups of client hostnames], no)dnl
-OL_ARG_ENABLE(slp, [ --enable-slp enable SLPv2 support], no)dnl
+OL_ARG_ENABLE(slapi,[ --enable-slapi enable SLAPI support (experimental)], no)dnl
+OL_ARG_ENABLE(slp,[ --enable-slp enable SLPv2 support], no)dnl
OL_ARG_ENABLE(wrappers,[ --enable-wrappers enable tcp wrapper support], no)dnl
-OL_ARG_ENABLE(slapi,[ --enable-slapi enable installation of slapi library], no)dnl
dnl SLAPD Backend options
OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend], yes)dnl
OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend], no)dnl
OL_ARG_WITH(dnssrv_module,[ --with-dnssrv-module module type static|dynamic], static,
[static dynamic])
+OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend], no)dnl
+OL_ARG_WITH(hdb_module,[ --with-hdb-module module type static|dynamic], static,
+ [static dynamic])
OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend], no)dnl
OL_ARG_WITH(ldap_module,[ --with-ldap-module module type static|dynamic], static,
[static dynamic])
AC_ARG_WITH(xxliboptions,[
Library Generation & Linking Options])
AC_ENABLE_STATIC
-dnl AC_DISABLE_SHARED
AC_ENABLE_SHARED
dnl ----------------------------------------------------------------
if test $ol_enable_dnssrv = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-dnssrv argument])
fi
+ if test $ol_enable_hdb = yes ; then
+ AC_MSG_WARN([slapd disabled, ignoring --enable-hdb argument])
+ fi
if test $ol_enable_ldap = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-ldap 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_rlookups = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-rlookups argument])
fi
if test $ol_with_dnssrv_module != static ; then
AC_MSG_WARN([slapd disabled, ignoring --with-dnssrv-module argument])
fi
+ if test $ol_with_hdb_module != static ; then
+ AC_MSG_WARN([slapd disabled, ignoring --with-hdb-module argument])
+ fi
if test $ol_with_ldap_module != static ; then
AC_MSG_WARN([slapd disabled, ignoring --with-ldap-module argument])
fi
ol_enable_slapi=no
ol_enable_bdb=no
ol_enable_dnssrv=no
+ ol_enable_hdb=no
ol_enable_ldap=no
ol_enable_ldbm=no
ol_enable_meta=no
ol_enable_modules=no
ol_enable_multimaster=no
- ol_enable_phonetic=no
ol_enable_rlookups=no
ol_enable_aci=no
ol_enable_wrappers=no
ol_with_bdb_module=static
ol_with_dnssrv_module=static
+ ol_with_hdb_module=static
ol_with_ldap_module=static
ol_with_ldbm_module=static
ol_with_meta_module=static
if test $ol_enable_modules != yes -a \
$ol_enable_bdb = no -a \
$ol_enable_dnssrv = no -a \
+ $ol_enable_hdb = no -a \
$ol_enable_ldap = no -a \
$ol_enable_meta = no -a \
$ol_enable_monitor = no -a \
ol_with_ldbm_type=no
ol_with_ldbm_module=static
- if test $ol_enable_bdb != no ; then
+ if test $ol_enable_bdb != no -o $ol_enable_hdb != no; then
ol_with_ldbm_api=berkeley
fi
AC_MSG_ERROR([NDBM only supports LDBM type hash])
fi
- if test $ol_enable_bdb = yes ; then
+ if test $ol_enable_bdb = yes -o $ol_enable_hdb = 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])
+ AC_MSG_ERROR([LDBM API not compatible with BDB/HDB])
fi
elif test $ol_enable_bdb = auto ; then
BUILD_BDB=no
BUILD_DNSSRV=no
+BUILD_HDB=no
BUILD_LDAP=no
BUILD_LDBM=no
BUILD_META=no
BUILD_MONITOR=no
+BUILD_CACHE=no
BUILD_NULL=no
BUILD_PASSWD=no
BUILD_PERL=no
BUILD_BDB_DYNAMIC=static
BUILD_DNSSRV_DYNAMIC=static
+BUILD_HDB_DYNAMIC=static
BUILD_LDAP_DYNAMIC=static
BUILD_LDBM_DYNAMIC=static
BUILD_META_DYNAMIC=static
MOD_TCL_LIB=
KRB4_LIBS=
KRB5_LIBS=
-READLINE_LIBS=
SASL_LIBS=
TERMCAP_LIBS=
TLS_LIBS=
AC_LIBTOOL_DLOPEN
AC_PROG_LIBTOOL
-LTSTATIC=""
-if test -z "$LTDYNAMIC" -a "${OPENLDAP_CVS}"; then
- LTSTATIC="-static"
-fi
-AC_SUBST(LTSTATIC)dnl
-
OL_PROG_LN_H
AC_PROG_LN_S
else
ol_with_bdb_module=static
ol_with_dnssrv_module=static
+ ol_with_hdb_module=static
ol_with_ldap_module=static
ol_with_ldbm_module=static
ol_with_meta_module=static
sys/resource.h \
sys/select.h \
sys/socket.h \
+ sys/stat.h \
sys/syslog.h \
sys/time.h \
sys/types.h \
sys/ucred.h \
+ sys/uio.h \
syslog.h \
termios.h \
unistd.h \
dnl ----------------------------------------------------------------
dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN
dnl PF_LOCAL may use getaddrinfo in available
-AC_CHECK_FUNCS( getaddrinfo gai_strerror inet_ntop )
+AC_CHECK_FUNCS( getaddrinfo getnameinfo gai_strerror inet_ntop )
ol_link_ipv6=no
if test $ac_cv_func_getaddrinfo = no -o $ac_cv_func_inet_ntop = no ; then
else
have_krb5=no
- AC_MSG_WARN([Unrecongized Kerberos5 Implementation])
+ AC_MSG_WARN([Unrecognized Kerberos5 Implementation])
fi
if test $have_krb5 = yes ; then
ol_enable_bdb=no
fi
fi
+if test $ol_enable_hdb = yes -a $ol_link_ldbm != berkeley ; then
+ AC_MSG_ERROR(HDB: BerkeleyDB not available)
+fi
if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
AC_MSG_WARN(Could not find LDBM with BTREE support)
fi
dnl ----------------------------------------------------------------
+
if test $ol_enable_dynamic = yes -a $enable_shared = yes ; then
BUILD_LIBS_DYNAMIC=shared
AC_DEFINE(LDAP_LIBS_DYNAMIC, 1, [define if LDAP libs are dynamic])
+ LTSTATIC=""
else
BUILD_LIBS_DYNAMIC=static
+ LTSTATIC="-static"
fi
+AC_SUBST(LTSTATIC)dnl
dnl ----------------------------------------------------------------
if test $ol_enable_wrappers != no ; then
fi
fi
-dnl ----------------------------------------------------------------
-dnl
-dnl Check for GNU readline
-dnl
-ol_link_readline=no
-if test $ol_with_readline != no ; then
- AC_CHECK_HEADERS(readline/readline.h readline/history.h)
-
- if test $ac_cv_header_readline_readline_h = yes ; then
- save_LIBS="$LIBS"
- LIBS="$TERMCAP_LIBS $LIBS"
- AC_CHECK_LIB(readline, readline,
- [have_readline=yes], [have_readline=no])
- LIBS="$save_LIBS"
-
- if test $have_readline = yes ; then
- ol_with_readline=found
- ol_link_readline=yes
-
- READLINE_LIBS="-lreadline"
- fi
- fi
-fi
-
-if test $ol_link_readline = yes ; then
- AC_DEFINE(HAVE_READLINE, 1, [define if you have -lreadline])
-fi
-
-
dnl ----------------------------------------------------------------
dnl FreeBSD (and others) have crypt(3) in -lcrypt
if test $ol_enable_crypt != no ; then
dnl ----------------------------------------------------------------
dnl Checks for typedefs, structures, and compiler characteristics.
+
+dnl Checks for long long
+AC_CACHE_CHECK([long long], ol_cv_type_long_long, [
+ AC_TRY_COMPILE([], [long long x;],
+ [ol_cv_type_long_long=yes],
+ [ol_cv_type_long_long=no])])
+if test $ol_cv_type_long_long = yes; then
+ AC_DEFINE(HAVE_LONG_LONG, 1, [define if you have `long long'])
+fi
+
AC_TYPE_MODE_T
AC_TYPE_OFF_T
AC_TYPE_PID_T
LIBSRCS="$LIBSRCS getopt.c"
fi
if test "$ac_cv_func_getpeereid" != yes; then
+ OL_MSGHDR_MSG_ACCRIGHTS
LIBSRCS="$LIBSRCS getpeereid.c"
fi
if test "$ac_cv_func_snprintf" != yes -o "$ac_cv_func_vsnprintf" != yes; then
fi
AC_CHECK_LIB(ltdl, lt_dlinit, [
SLAPI_LIBS=-lltdl
- LIBSLAPI=./libslapi.a
+ LIBSLAPI=libslapi.a
LIBSLAPITOOLS=../libslapi.a
AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
],[AC_MSG_ERROR([could not locate libtool -lltdl])])
AC_DEFINE(LDAP_SYSLOG,1,
[define this to add syslog code])
fi
-if test "$ol_enable_cache" = no ; then
- AC_DEFINE(LDAP_NOCACHE,1,
- [define this to remove -lldap cache support])
-fi
if test "$ol_link_kbind" != no ; then
AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND,LDAP_VENDOR_VERSION)
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
if test "$ol_enable_rlookups" != no ; then
AC_DEFINE(SLAPD_RLOOKUPS,1,[define to support reverse lookups])
fi
fi
fi
+if test "$ol_enable_hdb" != no ; then
+ AC_DEFINE(SLAPD_HDB,1,[define to support HDB backend])
+ BUILD_SLAPD=yes
+ BUILD_HDB=yes
+ if test "$ol_with_hdb_module" != static ; then
+ AC_DEFINE(SLAPD_HDB_DYNAMIC,1,
+ [define to support dynamic HDB backend])
+ BUILD_HDB=mod
+ BUILD_HDB_DYNAMIC=shared
+ SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-hdb"
+ else
+ SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-hdb"
+ fi
+fi
+
if test "$ol_enable_ldap" != no ; then
AC_DEFINE(SLAPD_LDAP,1,[define to support LDAP backend])
BUILD_SLAPD=yes
AC_DEFINE(SLAPD_META,1,[define to support LDAP Metadirectory backend])
BUILD_SLAPD=yes
BUILD_META=yes
- BUILD_LDAP=yes
BUILD_REWRITE=yes
+ if test $ol_enable_ldbm = yes -o \
+ $ol_enable_bdb = yes ; then
+ BUILD_CACHE=yes
+ fi
if test "$ol_with_meta_module" != static ; then
AC_DEFINE(SLAPD_META_DYNAMIC,1,
[define to support dynamic LDAP Metadirectory backend])
AC_SUBST(SLAPD_SLAPI_DEPEND)
AC_SUBST(BUILD_BDB)
AC_SUBST(BUILD_DNSSRV)
+ AC_SUBST(BUILD_HDB)
AC_SUBST(BUILD_LDAP)
AC_SUBST(BUILD_LDBM)
AC_SUBST(BUILD_META)
AC_SUBST(BUILD_MONITOR)
+ AC_SUBST(BUILD_CACHE)
AC_SUBST(BUILD_NULL)
AC_SUBST(BUILD_PASSWD)
AC_SUBST(BUILD_PERL)
AC_SUBST(BUILD_TCL)
AC_SUBST(BUILD_BDB_DYNAMIC)
AC_SUBST(BUILD_DNSSRV_DYNAMIC)
+ AC_SUBST(BUILD_HDB_DYNAMIC)
AC_SUBST(BUILD_LDAP_DYNAMIC)
AC_SUBST(BUILD_LDBM_DYNAMIC)
AC_SUBST(BUILD_META_DYNAMIC)
AC_SUBST(KRB4_LIBS)
AC_SUBST(KRB5_LIBS)
-AC_SUBST(READLINE_LIBS)
AC_SUBST(SASL_LIBS)
AC_SUBST(TERMCAP_LIBS)
AC_SUBST(TLS_LIBS)
servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
servers/slapd/back-bdb/Makefile:build/top.mk:servers/slapd/back-bdb/Makefile.in:build/mod.mk \
servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk \
+servers/slapd/back-hdb/Makefile:build/top.mk:servers/slapd/back-hdb/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-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk \