]> git.sur5r.net Git - openldap/blobdiff - configure.in
Update copyright (including with or without modification clarification)
[openldap] / configure.in
index ace9940526e21efb48b95c123fef8739f8414dee..4b63321bce873962c8353176dfc1ccc0442f82d4 100644 (file)
@@ -1,11 +1,12 @@
 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
@@ -15,14 +16,15 @@ define([AC_INIT_BINSH],
 # $]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 ----------------------------------------------------------------
@@ -33,14 +35,14 @@ dnl ================================================================
 dnl Configure.in for OpenLDAP
 AC_INIT(build/version.sh)dnl
 
-# set unset (borrowed from autoconf 2.14a)
+# set unset (borrowed from autoconf 2.49c)
 if (OL_FOO=OL_FOO; unset OL_FOO) >/dev/null 2>&1; then
   ol_unset=unset
 else
   ol_unset=false
 fi
 # unset CDPATH
-$ol_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; && export CDPATH; }
+$ol_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
 
 AC_CONFIG_AUX_DIR(build)dnl
 
@@ -89,7 +91,7 @@ dnl --with-subdir
 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=""
                ;;
@@ -111,11 +113,12 @@ dnl General "enable" options
 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
 
@@ -146,21 +149,23 @@ 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 (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], 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
-OL_ARG_ENABLE(multimaster,[    --enable-multimaster  enable multimaster replication], 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], auto)dnl
-OL_ARG_ENABLE(aci,[    --enable-aci      enable per-object ACIs], 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(wrappers,[    --enable-wrappers    enable tcp wrapper support], no)dnl
-OL_ARG_ENABLE(dynamic,[    --enable-dynamic      enable linking built binaries with dynamic libs], 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,
@@ -175,6 +180,9 @@ OL_ARG_WITH(ldbm_module,[    --with-ldbm-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])
@@ -220,6 +228,9 @@ if test $ol_enable_slapd = no ; then
        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
@@ -238,9 +249,9 @@ if test $ol_enable_slapd = no ; then
        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
+dnl    if test $ol_enable_multimaster = yes ; then
+dnl            AC_MSG_WARN([slapd disabled, ignoring --enable-multimaster argument])
+dnl    fi
        if test $ol_enable_wrappers = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-wrappers argument])
        fi
@@ -271,6 +282,9 @@ if test $ol_enable_slapd = no ; then
        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
@@ -289,12 +303,16 @@ if test $ol_enable_slapd = no ; then
        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
@@ -302,7 +320,7 @@ if test $ol_enable_slapd = no ; then
        ol_enable_sql=no
 
        ol_enable_modules=no
-       ol_enable_multimaster=no
+dnl    ol_enable_multimaster=no
        ol_enable_phonetic=no
        ol_enable_rlookups=no
        ol_enable_aci=no
@@ -316,6 +334,7 @@ if test $ol_enable_slapd = no ; then
        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
@@ -324,6 +343,8 @@ if test $ol_enable_slapd = no ; then
 
        ol_enable_slurpd=no
 
+       ol_enable_rewrite=no
+
 elif test $ol_enable_ldbm = no ; then
        dnl SLAPD without LDBM
 
@@ -343,6 +364,7 @@ elif test $ol_enable_ldbm = no ; then
                $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 \
@@ -378,6 +400,12 @@ if test $ol_enable_slurpd = yes ; then
        fi
 fi
 
+if test $ol_enable_lmpasswd = yes ; then
+       if test $ol_with_tls = no ; then
+               AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
+       fi
+fi
+
 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])
@@ -419,6 +447,7 @@ BUILD_BDB=no
 BUILD_DNSSRV=no
 BUILD_LDAP=no
 BUILD_LDBM=no
+BUILD_META=no
 BUILD_PASSWD=no
 BUILD_PERL=no
 BUILD_SHELL=no
@@ -429,6 +458,7 @@ BUILD_BDB_DYNAMIC=static
 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
@@ -457,6 +487,8 @@ TLS_LIBS=
 MODULES_LIBS=
 AUTH_LIBS=
 
+SLAPD_SLP_LIBS=
+
 dnl ================================================================
 dnl Checks for programs
 
@@ -640,6 +672,7 @@ else
        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
@@ -713,6 +746,8 @@ AC_CHECK_HEADERS(   \
 dnl ----------------------------------------------------------------
 dnl Checks for libraries
 
+AC_CHECK_FUNC(dlopen, :, [AC_CHECK_LIB(dl, dlopen)])
+
 dnl HP-UX requires -lV3
 AC_CHECK_LIB(V3, sigset)
 
@@ -811,12 +846,12 @@ fi
 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 )
@@ -1073,6 +1108,16 @@ elif test $ol_with_tls != no ; then
        AC_ERROR([Could not locate TLS/SSL package])
 fi
 
+dnl ----------------------------------------------------------------
+dnl LAN Manger password checking requires DES from OpenSSL
+if test $ol_enable_lmpasswd != no; then
+       if test $ol_link_tls != yes ; then
+               AC_ERROR([LAN Manager passwords require OpenSSL])
+       fi
+
+       AC_DEFINE(SLAPD_LMHASH, 1, [define to support LAN Manager passwords])
+fi
+
 dnl ----------------------------------------------------------------
 dnl Tests for reentrant functions necessary to build a
 dnl thread_safe -lldap.
@@ -2044,6 +2089,23 @@ if test $ol_enable_proctitle != no ; then
        fi
 fi
 
+dnl ----------------------------------------------------------------
+dnl Check for SLPv2 Compliant API Library
+if test $ol_enable_slp != no ; then
+       AC_CHECK_HEADERS( slp.h )
+
+       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])
+                       SLAPD_SLP_LIBS=-lslp
+               fi
+
+       elif test $ol_enable_slp = yes ; then
+               AC_MSG_ERROR([SLP not found])
+       fi
+fi
+
 dnl ----------------------------------------------------------------
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_TYPE_MODE_T
@@ -2127,6 +2189,7 @@ AC_CHECK_FUNCS(           \
        chroot                  \
        endgrent                \
        endpwent                \
+       fcntl                   \
        flock                   \
        getdtablesize   \
        getgrgid                \
@@ -2231,9 +2294,9 @@ fi
 if test "$ol_link_spasswd" != no ; then
        AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords])
 fi
-if test "$ol_enable_multimaster" != no ; then
-       AC_DEFINE(SLAPD_MULTIMASTER,1,[define to support multimaster replication])
-fi
+dnl if test "$ol_enable_multimaster" != no ; then
+dnl    AC_DEFINE(SLAPD_MULTIMASTER,1,[define to support multimaster replication])
+dnl fi
 if test "$ol_enable_phonetic" != no ; then
        AC_DEFINE(SLAPD_PHONETIC,1,[define to support phonetic])
 fi
@@ -2302,6 +2365,25 @@ if test "$ol_link_ldbm" != no ; then
        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
@@ -2372,6 +2454,12 @@ if test "$ol_enable_slurpd" != no -a "$ol_link_threads" != no -a \
        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
@@ -2402,6 +2490,7 @@ AC_SUBST(BUILD_SLAPD)
   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)
@@ -2411,6 +2500,7 @@ AC_SUBST(BUILD_SLAPD)
   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)
@@ -2446,6 +2536,8 @@ AC_SUBST(TLS_LIBS)
 AC_SUBST(MODULES_LIBS)
 AC_SUBST(AUTH_LIBS)
 
+AC_SUBST(SLAPD_SLP_LIBS)
+
 AC_SUBST(SLAPD_SQL_LDFLAGS)
 AC_SUBST(SLAPD_SQL_LIBS)
 AC_SUBST(SLAPD_SQL_INCLUDES)
@@ -2481,12 +2573,14 @@ libraries/libldbm/Makefile:build/top.mk:libraries/libldbm/Makefile.in:build/lib.
 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 \