dnl $OpenLDAP$
dnl
-dnl Copyright 1998-2000 The OpenLDAP Foundation. All Rights Reserved.
+dnl Copyright 1998-2001 The OpenLDAP Foundation. All Rights Reserved.
dnl
-dnl Redistribution and use in source and binary forms are permitted only
-dnl as authorized by the OpenLDAP Public License. A copy of this
-dnl license is available at http://www.OpenLDAP.org/license.html or
-dnl in file LICENSE in the top-level directory of the distribution.
+dnl Redistribution and use in source and binary forms, with or without
+dnl modification, are permitted only as authorized by the OpenLDAP
+dnl Public License. A copy of this license is available at
+dnl http://www.OpenLDAP.org/license.html or in file LICENSE in the
+dnl top-level directory of the distribution.
dnl
dnl ----------------------------------------------------------------
dnl Redefine AC_INIT_BINSH to provide RCS IDs and copyright notice
# $]OpenLDAP[$
# from] translit([$OpenLDAP$], $")] [
-# Copyright 1998-2000 The OpenLDAP Foundation. All Rights Reserved.
+# Copyright 1998-2001 The OpenLDAP Foundation. All Rights Reserved.
#
-# Redistribution and use in source and binary forms are permitted only
-# as authorized by the OpenLDAP Public License. A copy of this
-# license is available at http://www.OpenLDAP.org/license.html or
-# in file LICENSE in the top-level directory of the distribution.
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted only as authorized by the OpenLDAP
+# Public License. A copy of this license is available at
+# http://www.OpenLDAP.org/license.html or in file LICENSE in the
+# top-level directory of the distribution.
-echo "Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved."
+echo "Copyright 1998-2001 The OpenLDAP Foundation, All Rights Reserved."
echo "Restrictions apply, see COPYRIGHT and LICENSE files."
])dnl
dnl ----------------------------------------------------------------
ldap_subdir="/openldap"
AC_ARG_WITH(subdir,
-[ --with-subdir=DIR change default subdirectory used for installs],
+[ --with-subdir=DIR change default subdirectory used for installs],
[case "$withval" in
no) ldap_subdir=""
;;
OL_ARG_ENABLE(debug,[ --enable-debug enable debugging], yes)dnl
OL_ARG_ENABLE(syslog,[ --enable-syslog enable syslog support], auto)dnl
OL_ARG_ENABLE(proctitle,[ --enable-proctitle enable proctitle support], yes)dnl
-OL_ARG_ENABLE(cache,[ --enable-cache enable caching], yes)dnl
-OL_ARG_ENABLE(referrals,[ --enable-referrals enable V2 Referrals extension], yes)dnl
-OL_ARG_ENABLE(kbind,[ --enable-kbind enable V2 Kerberos IV bind], no)dnl
+OL_ARG_ENABLE(cache,[ --enable-cache enable caching (experimental)], no)dnl
+OL_ARG_ENABLE(referrals,[ --enable-referrals enable V2 Referrals (experimental)], no)dnl
+OL_ARG_ENABLE(kbind,[ --enable-kbind enable V2 Kerberos IV bind (deprecated)], no)dnl
OL_ARG_ENABLE(ipv6,[ --enable-ipv6 enable IPv6 support], auto)dnl
OL_ARG_ENABLE(local,[ --enable-local enable AF_LOCAL (AF_UNIX) socket support], auto)dnl
+OL_ARG_ENABLE(rewrite,[ --enable-rewrite enable rewrite], no)dnl
OL_ARG_ENABLE(x_compile,[ --enable-x-compile enable cross compiling],
no, [yes no])dnl
dnl SLAPD OPTIONS
AC_ARG_WITH(xxslapdoptions,[SLAPD (Standalone LDAP Daemon) Options:])
OL_ARG_ENABLE(slapd,[ --enable-slapd enable building slapd], yes)dnl
-OL_ARG_ENABLE(aci,[ --enable-aci enable per-object ACIs], no)dnl
+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], auto)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], auto)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_ARG_ENABLE(phonetic,[ --enable-phonetic enable phonetic/soundex], no)dnl
OL_ARG_ENABLE(rlookups,[ --enable-rlookups enable reverse lookups], no)dnl
-OL_ARG_ENABLE(slp, [ --enable-slp enable SLPv2 support], 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
dnl SLAPD Backend options
OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend], no)dnl
-OL_ARG_WITH(bdb_module,[ --with-bdb-module module type], static,
+OL_ARG_WITH(bdb_module,[ --with-bdb-module module type], static,
[static dynamic])
OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend], no)dnl
OL_ARG_WITH(dnssrv_module,[ --with-dnssrv-module module type], static,
[static dynamic])
OL_ARG_WITH(ldbm_type,[ --with-ldbm-type use LDBM type], auto,
[auto btree hash])
+OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend], no)dnl
+OL_ARG_WITH(meta_module,[ --with-meta-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,
[static dynamic])
if test $ol_enable_ldbm = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-ldbm argument])
fi
+ if test $ol_enable_meta = yes ; then
+ AC_MSG_WARN([slapd disabled, ignoring --enable-meta argument])
+ fi
if test $ol_enable_passwd = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-passwd argument])
fi
if test $ol_with_ldbm_module != static ; then
AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-module argument])
fi
+ if test $ol_with_meta_module != static ; then
+ AC_MSG_WARN([slapd disabled, ignoring --with-meta-module argument])
+ fi
if test $ol_with_passwd_module != static ; then
AC_MSG_WARN([slapd disabled, ignoring --with-passwd-module argument])
fi
if test $ol_enable_slurpd = yes ; then
AC_MSG_ERROR([slurpd requires slapd])
fi
+ if test $ol_enable_rewrite = yes ; then
+ AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument])
+ fi
# force settings to no
ol_enable_bdb=no
ol_enable_dnssrv=no
ol_enable_ldap=no
ol_enable_ldbm=no
+ ol_enable_meta=no
ol_enable_passwd=no
ol_enable_perl=no
ol_enable_shell=no
ol_with_dnssrv_module=static
ol_with_ldap_module=static
ol_with_ldbm_module=static
+ ol_with_meta_module=static
ol_with_passwd_module=static
ol_with_perl_module=static
ol_with_shell_module=static
ol_enable_slurpd=no
+ ol_enable_rewrite=no
+
elif test $ol_enable_ldbm = no ; then
dnl SLAPD without LDBM
$ol_enable_bdb = no -a \
$ol_enable_dnssrv = no -a \
$ol_enable_ldap = no -a \
+ $ol_enable_meta = no -a \
$ol_enable_passwd = no -a \
$ol_enable_perl = no -a \
$ol_enable_shell = no -a \
BUILD_DNSSRV=no
BUILD_LDAP=no
BUILD_LDBM=no
+BUILD_META=no
BUILD_PASSWD=no
BUILD_PERL=no
BUILD_SHELL=no
BUILD_DNSSRV_DYNAMIC=static
BUILD_LDAP_DYNAMIC=static
BUILD_LDBM_DYNAMIC=static
+BUILD_META_DYNAMIC=static
BUILD_PASSWD_DYNAMIC=static
BUILD_PERL_DYNAMIC=static
BUILD_SHELL_DYNAMIC=static
ol_with_dnssrv_module=static
ol_with_ldap_module=static
ol_with_ldbm_module=static
+ ol_with_meta_module=static
ol_with_passwd_module=static
ol_with_perl_module=static
ol_with_shell_module=static
dnl ----------------------------------------------------------------
dnl Checks for libraries
+AC_CHECK_FUNC(dlopen, :, [AC_CHECK_LIB(dl, dlopen)])
+
dnl HP-UX requires -lV3
AC_CHECK_LIB(V3, sigset)
dnl ----------------------------------------------------------------
dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN
dnl PF_LOCAL may use getaddrinfo in available
-AC_CHECK_FUNCS( getaddrinfo )
+AC_CHECK_FUNCS( getaddrinfo inet_ntop )
ol_link_ipv6=no
-if test $ac_cv_func_getaddrinfo = no ; then
+if test $ac_cv_func_getaddrinfo = no -o $ac_cv_func_inet_ntop = no ; then
if test $ol_enable_ipv6 = yes ; then
- AC_MSG_ERROR([IPv6 support requires getaddrinfo()])
+ AC_MSG_ERROR([IPv6 support requires getaddrinfo() and inet_ntop()])
fi
else
AC_CHECK_FUNCS( gai_strerror )
if test $ol_enable_slp != no ; then
AC_CHECK_HEADERS( slp.h )
- if test ac_cv_header_slp_h = yes ; then
+ if test $ac_cv_header_slp_h = yes ; then
AC_CHECK_LIB(slp, SLPOpen, [have_slp=yes], [have_slp=no])
if test $have_slp = yes ; then
AC_DEFINE(HAVE_SLP, 1, [define if you have -lslp])
chroot \
endgrent \
endpwent \
+ fcntl \
flock \
getdtablesize \
getgrgid \
lockf \
memcpy \
memmove \
- mkstemp \
pipe \
read \
recv \
sigaction \
signal \
sigset \
- snprintf \
strdup \
strerror \
strpbrk \
)
dnl We actually may need to replace more than this.
-AC_REPLACE_FUNCS(getopt tempnam)
+AC_REPLACE_FUNCS(getopt)
if test "$ac_cv_func_getopt" != yes; then
LIBSRCS="$LIBSRCS getopt.c"
fi
-if test "$ac_cv_func_tempnam" != yes; then
- LIBSRCS="$LIBSRCS tempnam.c"
-fi
-
dnl ----------------------------------------------------------------
# Check Configuration
OL_SYS_ERRLIST
fi
fi
+if test "$ol_enable_meta" != no ; then
+ if test "$ol_enable_ldap" = no ; then
+ AC_MSG_ERROR([need --enable-ldap to use --enable-meta])
+ fi
+ if test "$ol_enable_rewrite" = no ; then
+ AC_MSG_ERROR([need --enable-rewrite to use --enable-meta])
+ fi
+ AC_DEFINE(SLAPD_META,1,[define to support LDAP Metadirectory backend])
+ BUILD_SLAPD=yes
+ BUILD_META=yes
+ if test "$ol_with_meta_module" != static ; then
+ AC_DEFINE(SLAPD_META_DYNAMIC,1,
+ [define to support dynamic LDAP Metadirectory backend])
+ BUILD_META=mod
+ BUILD_META_DYNAMIC=shared
+ SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-meta/back_meta.la"
+ fi
+fi
+
if test "$ol_enable_passwd" != no ; then
AC_DEFINE(SLAPD_PASSWD,1,[define to support PASSWD backend])
BUILD_SLAPD=yes
BUILD_SLURPD=yes
fi
+if test "$ol_enable_rewrite" != no ; then
+ AC_DEFINE(ENABLE_REWRITE,1,[define to enable rewriting in back-ldap and back-meta])
+ BUILD_REWRITE=yes
+ SLAPD_LIBS="$SLAPD_LIBS -lrewrite"
+fi
+
dnl ----------------------------------------------------------------
if test "$LINK_BINS_DYNAMIC" = yes; then
AC_SUBST(BUILD_DNSSRV)
AC_SUBST(BUILD_LDAP)
AC_SUBST(BUILD_LDBM)
+ AC_SUBST(BUILD_META)
AC_SUBST(BUILD_PASSWD)
AC_SUBST(BUILD_PERL)
AC_SUBST(BUILD_SHELL)
AC_SUBST(BUILD_DNSSRV_DYNAMIC)
AC_SUBST(BUILD_LDAP_DYNAMIC)
AC_SUBST(BUILD_LDBM_DYNAMIC)
+ AC_SUBST(BUILD_META_DYNAMIC)
AC_SUBST(BUILD_PASSWD_DYNAMIC)
AC_SUBST(BUILD_PERL_DYNAMIC)
AC_SUBST(BUILD_SHELL_DYNAMIC)
doc/man/man8/Makefile:build/top.mk:doc/man/man8/Makefile.in:build/man.mk \
clients/Makefile:build/top.mk:clients/Makefile.in:build/dir.mk \
clients/finger/Makefile:build/top.mk:clients/finger/Makefile.in:build/rules.mk \
-clients/fax500/Makefile:build/top.mk:clients/fax500/Makefile.in:build/rules.mk \
-clients/gopher/Makefile:build/top.mk:clients/gopher/Makefile.in:build/rules.mk \
clients/mail500/Makefile:build/top.mk:clients/mail500/Makefile.in:build/rules.mk \
-clients/rcpt500/Makefile:build/top.mk:clients/rcpt500/Makefile.in:build/rules.mk \
clients/ud/Makefile:build/top.mk:clients/ud/Makefile.in:build/rules.mk \
clients/maildap/Makefile:build/top.mk:clients/maildap/Makefile.in:build/rules.mk \
clients/tools/Makefile:build/top.mk:clients/tools/Makefile.in:build/rules.mk \
libraries/libldif/Makefile:build/top.mk:libraries/libldif/Makefile.in:build/lib.mk:build/lib-static.mk \
libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk \
libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk \
+libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-static.mk \
servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \
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-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 \
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 \
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 \
-contrib/web_ldap/Makefile:build/top.mk:contrib/web_ldap/Makefile.in:build/rules.mk \
,[
date > stamp-h
echo Please \"make depend\" to build dependencies