]> git.sur5r.net Git - openldap/blobdiff - configure.in
ITS#5360 move tls option setup
[openldap] / configure.in
index 8fe6c17bb200ea89dfcc3ead347a5cf91362be16..e2c76ddfbbe80790f973ace6e2bd53c39ed356da 100644 (file)
@@ -1,7 +1,7 @@
 dnl $OpenLDAP$
 dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
 dnl
-dnl Copyright 1998-2007 The OpenLDAP Foundation.
+dnl Copyright 1998-2008 The OpenLDAP Foundation.
 dnl All rights reserved.
 dnl
 dnl Redistribution and use in source and binary forms, with or without
@@ -23,7 +23,7 @@ define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
 define([AC_LIBTOOL_LANG_GCJ_CONFIG], [:])dnl
 dnl ================================================================
 dnl Configure.in for OpenLDAP
-AC_COPYRIGHT([[Copyright 1998-2007 The OpenLDAP Foundation. All rights reserved.
+AC_COPYRIGHT([[Copyright 1998-2008 The OpenLDAP Foundation. All rights reserved.
 Restrictions apply, see COPYRIGHT and LICENSE files.]])
 AC_REVISION([$OpenLDAP$])
 AC_INIT([OpenLDAP],,[http://www.openldap.org/its/])
@@ -50,8 +50,11 @@ fi
 SHTOOL="$ac_cv_shtool"
 dnl AC_SUBST(SHTOOL)dnl
 
-TB="`$SHTOOL echo -e '%B' 2>/dev/null`"
-TN="`$SHTOOL echo -e '%b' 2>/dev/null`"
+TB="" TN=""
+if test -t 1; then
+       TB="`$SHTOOL echo -e '%B' 2>/dev/null`"
+       TN="`$SHTOOL echo -e '%b' 2>/dev/null`"
+fi
 
 OPENLDAP_CVS=""
 if test -d $ac_aux_dir/CVS; then
@@ -93,7 +96,7 @@ AH_TOP([
 /* begin of portable.h.pre */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2007 The OpenLDAP Foundation
+ * Copyright 1998-2008 The OpenLDAP Foundation
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -241,8 +244,8 @@ OL_ARG_WITH(fetch,[  --with-fetch             with fetch(3) URL 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],
-       auto, [auto openssl yes no] )
+OL_ARG_WITH(tls,[  --with-tls            with TLS/SSL support auto|openssl|gnutls],
+       auto, [auto openssl gnutls yes no] )
 OL_ARG_WITH(yielding_select,
        [  --with-yielding-select  with implicitly yielding select],
        auto, [auto yes no manual] )
@@ -288,6 +291,7 @@ Backends="bdb \
        perl \
        relay \
        shell \
+       sock \
        sql"
 
 AC_ARG_ENABLE(xxslapbackends,[
@@ -317,6 +321,8 @@ OL_ARG_ENABLE(relay,[    --enable-relay       enable relay backend],
        yes, [no yes mod], ol_enable_backends)dnl
 OL_ARG_ENABLE(shell,[    --enable-shell          enable shell backend],
        no, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(sock,[    --enable-sock    enable sock backend],
+       no, [no yes mod], ol_enable_backends)dnl
 OL_ARG_ENABLE(sql,[    --enable-sql      enable sql backend],
        no, [no yes mod], ol_enable_backends)dnl
 
@@ -328,6 +334,7 @@ Overlays="accesslog \
        dds \
        dyngroup \
        dynlist \
+       memberof \
        ppolicy \
        proxycache \
        refint \
@@ -356,6 +363,8 @@ OL_ARG_ENABLE(dyngroup,[    --enable-dyngroup         Dynamic Group overlay],
        no, [no yes mod], ol_enable_overlays)
 OL_ARG_ENABLE(dynlist,[    --enable-dynlist      Dynamic List overlay],
        no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(memberof,[    --enable-memberof    Reverse Group Membership overlay],
+       no, [no yes mod], ol_enable_overlays)
 OL_ARG_ENABLE(ppolicy,[    --enable-ppolicy      Password Policy overlay],
        no, [no yes mod], ol_enable_overlays)
 OL_ARG_ENABLE(proxycache,[    --enable-proxycache        Proxy Cache overlay],
@@ -377,12 +386,6 @@ OL_ARG_ENABLE(unique,[    --enable-unique       Attribute Uniqueness overlay],
 OL_ARG_ENABLE(valsort,[    --enable-valsort      Value Sorting overlay],
        no, [no yes mod], ol_enable_overlays)
 
-dnl ----------------------------------------------------------------
-dnl SLURPD OPTIONS
-AC_ARG_ENABLE(xxslurpdoptions,[
-SLURPD (Replication Daemon) Options:])
-OL_ARG_ENABLE(slurpd,[  --enable-slurpd          enable building slurpd], auto)dnl
-
 dnl ----------------------------------------------------------------
 AC_ARG_ENABLE(xxliboptions,[
 Library Generation & Linking Options])
@@ -422,9 +425,6 @@ if test $ol_enable_slapd = no ; then
        if test $ol_enable_aci != no ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-aci 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
@@ -451,8 +451,6 @@ if test $ol_enable_slapd = no ; then
        ol_enable_aci=no
        ol_enable_wrappers=no
 
-       ol_enable_slurpd=no
-
        ol_enable_rewrite=no
 
 elif test $ol_enable_modules != yes &&
@@ -467,6 +465,7 @@ elif test $ol_enable_modules != yes &&
        test $ol_enable_perl = no &&
        test $ol_enable_relay = no &&
        test $ol_enable_shell = no &&
+       test $ol_enable_sock = no &&
        test $ol_enable_sql = no ; then
        dnl no slapd backend
 
@@ -482,13 +481,6 @@ if test $ol_enable_meta/$ol_enable_ldap = yes/no ; then
        AC_MSG_ERROR([--enable-meta requires --enable-ldap])
 fi
 
-if test $ol_enable_slurpd = yes ; then
-       dnl SLURPD was specifically enabled
-       if test $ol_with_threads = no ; then
-               AC_MSG_ERROR([slurpd requires threads])
-       fi
-fi
-
 if test $ol_enable_lmpasswd = yes ; then
        if test $ol_with_tls = no ; then
                AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
@@ -512,10 +504,8 @@ LTHREAD_LIBS=
 LUTIL_LIBS=
 
 SLAPD_LIBS=
-SLURPD_LIBS=
 
 BUILD_SLAPD=no
-BUILD_SLURPD=no
 
 BUILD_THREAD=no
 
@@ -533,6 +523,7 @@ BUILD_PASSWD=no
 BUILD_PERL=no
 BUILD_RELAY=no
 BUILD_SHELL=no
+BUILD_SOCK=no
 BUILD_SQL=no
 
 BUILD_ACCESSLOG=no
@@ -543,6 +534,7 @@ BUILD_DENYOP=no
 BUILD_DYNGROUP=no
 BUILD_DYNLIST=no
 BUILD_LASTMOD=no
+BUILD_MEMBEROF=no
 BUILD_PPOLICY=no
 BUILD_PROXYCACHE=no
 BUILD_REFINT=no
@@ -813,9 +805,11 @@ AC_CHECK_HEADERS(  \
        sysexits.h              \
        sys/file.h              \
        sys/filio.h             \
+       sys/fstyp.h             \
        sys/errno.h             \
        sys/ioctl.h             \
        sys/param.h             \
+       sys/privgrp.h   \
        sys/resource.h  \
        sys/select.h    \
        sys/socket.h    \
@@ -824,6 +818,7 @@ AC_CHECK_HEADERS(   \
        sys/time.h              \
        sys/types.h             \
        sys/uio.h               \
+       sys/vmount.h    \
        syslog.h                \
        termios.h               \
        unistd.h                \
@@ -1164,6 +1159,27 @@ if test $ol_with_tls = openssl || test $ol_with_tls = auto ; then
        fi
 fi
 
+if test $ol_link_tls = no ; then
+       if test $ol_with_tls = gnutls || test $ol_with_tls = auto ; then
+               AC_CHECK_HEADERS(gnutls/gnutls.h)
+
+               if test $ac_cv_header_gnutls_gnutls_h = yes ; then
+                       AC_CHECK_LIB(gnutls, gnutls_init,
+                               [have_gnutls=yes], [have_gnutls=no])
+
+                       if test $have_gnutls = yes ; then
+                               ol_with_tls=gnutls
+                               ol_link_tls=yes
+
+                               TLS_LIBS="-lgnutls"
+
+                               AC_DEFINE(HAVE_GNUTLS, 1, 
+                                       [define if you have GNUtls])
+                       fi
+               fi
+       fi
+fi
+
 WITH_TLS=no
 if test $ol_link_tls = yes ; then
        AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
@@ -1489,7 +1505,7 @@ int main(argc, argv)
 #endif
 
        /* make sure task runs first */
-#if HAVE_THR_YIELD
+#ifdef HAVE_THR_YIELD
        thr_yield();
 #elif defined( HAVE_SCHED_YIELD )
        sched_yield();
@@ -2126,14 +2142,43 @@ AC_CHECK_TYPE(size_t, unsigned)
 AC_CHECK_TYPES([long long])
 AC_CHECK_TYPES([ptrdiff_t])
 
-AC_CHECK_TYPE([socklen_t],,
-       [AC_DEFINE_UNQUOTED([socklen_t], [int],
-               [Define to `int' if <sys/socket.h> does not define.])],
-       [$ac_includes_default
+
+AC_CHECK_TYPE([socklen_t],,, [$ac_includes_default
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif])
+
+dnl socklen_t-like type in accept(), default socklen_t or int:
+dnl - The OS might define socklen_t without using it.  POSIX moved from
+dnl   int to size_t to socklen_t, hoping to stay at a 32-bit type, and
+dnl   HP-UX now has selectors for what to use.
+dnl - On Solaris 2.8 the prototype has void *len, but the default is OK.
+AC_MSG_CHECKING([the type of arg 3 to accept()])
+AC_CACHE_VAL(ol_cv_type_ber_socklen_t, [
+       set socklen_t int unsigned "unsigned long" long size_t
+       test "$ac_cv_type_socklen_t" = yes || shift
+       ol_cv_type_ber_socklen_t=$1 guessing="guessing "
+       for lentype in "$@" ; do for addrtype in "struct sockaddr" void ; do
+               AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$ac_includes_default
 #ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
 #endif
-       ])
+extern int accept(int s, $addrtype *ap, $lentype *lp);
+], [
+accept(0, (struct sockaddr *) 0, ($lentype *) 0);
+])], [ol_cv_type_ber_socklen_t=$lentype guessing= ; break 2])
+       done ; done])
+AC_MSG_RESULT([$guessing$ol_cv_type_ber_socklen_t *])
+AC_DEFINE_UNQUOTED(ber_socklen_t, $ol_cv_type_ber_socklen_t,
+       [Define to the type of arg 3 for `accept'.])
+
+dnl Modules should use ber_socklen_t, not socklen_t.  Define socklen_t
+dnl for the time being anyway, for backwards compatibility.
+if test "$ac_cv_type_socklen_t" != yes; then
+       AC_DEFINE_UNQUOTED([socklen_t], [$ol_cv_type_ber_socklen_t],
+               [Define like ber_socklen_t if <sys/socket.h> does not define.])
+fi
+
 
 AC_TYPE_SIGNAL
 
@@ -2338,6 +2383,12 @@ if test "$ac_cv_func_getpeereid" != yes; then
 #include <sys/socket.h>
 #endif])
                fi
+               AC_CHECK_MEMBERS([struct stat.st_fstype, struct stat.st_vfstype])
+               if test "$ac_cv_member_struct_stat_st_fstype" = yes; then
+                       AC_COMPILE_IFELSE([struct stat st; char *ptr=st.st_fstype;],
+                               AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_CHAR],1,[define to 1 if st_fstype is char *]),
+                               AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_INT],1,[define to 1 if st_fstype is int]))
+               fi
        fi
        LIBSRCS="$LIBSRCS getpeereid.c"
 fi
@@ -2589,6 +2640,19 @@ if test "$ol_enable_shell" != no ; then
        AC_DEFINE_UNQUOTED(SLAPD_SHELL,$MFLAG,[define to support SHELL backend])
 fi
 
+if test "$ol_enable_sock" != no ; then
+       BUILD_SLAPD=yes
+       BUILD_SOCK=$ol_enable_sock
+       if test "$ol_enable_sock" = mod ; then
+               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sock"
+               MFLAG=SLAPD_MOD_DYNAMIC
+       else
+               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sock"
+               MFLAG=SLAPD_MOD_STATIC
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_SOCK,$MFLAG,[define to support SOCK backend])
+fi
+
 if test "$ol_link_sql" != no ; then
        BUILD_SLAPD=yes
        BUILD_SQL=$ol_enable_sql
@@ -2674,6 +2738,18 @@ if test "$ol_enable_dynlist" != no ; then
        AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNLIST,$MFLAG,[define for Dynamic List overlay])
 fi
 
+if test "$ol_enable_memberof" != no ; then
+       BUILD_MEMBEROF=$ol_enable_memberof
+       if test "$ol_enable_memberof" = mod ; then
+               MFLAG=SLAPD_MOD_DYNAMIC
+               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS memberof.la"
+       else
+               MFLAG=SLAPD_MOD_STATIC
+               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS memberof.o"
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_OVER_MEMBEROF,$MFLAG,[define for Reverse Group Membership overlay])
+fi
+
 if test "$ol_enable_ppolicy" != no ; then
        BUILD_PPOLICY=$ol_enable_ppolicy
        if test "$ol_enable_ppolicy" = mod ; then
@@ -2795,12 +2871,6 @@ if test "$ol_enable_valsort" != no ; then
        AC_DEFINE_UNQUOTED(SLAPD_OVER_VALSORT,$MFLAG,[define for Value Sorting overlay])
 fi
 
-if test "$ol_enable_slurpd" != no &&
-   test "$ol_link_threads" != no &&
-   test $BUILD_SLAPD = yes ; then
-       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
@@ -2851,6 +2921,7 @@ dnl backends
   AC_SUBST(BUILD_RELAY)
   AC_SUBST(BUILD_PERL)
   AC_SUBST(BUILD_SHELL)
+  AC_SUBST(BUILD_SOCK)
   AC_SUBST(BUILD_SQL)
 dnl overlays
   AC_SUBST(BUILD_ACCESSLOG)
@@ -2861,6 +2932,7 @@ dnl overlays
   AC_SUBST(BUILD_DYNGROUP)
   AC_SUBST(BUILD_DYNLIST)
   AC_SUBST(BUILD_LASTMOD)
+  AC_SUBST(BUILD_MEMBEROF)
   AC_SUBST(BUILD_PPOLICY)
   AC_SUBST(BUILD_PROXYCACHE)
   AC_SUBST(BUILD_REFINT)
@@ -2871,11 +2943,9 @@ dnl overlays
   AC_SUBST(BUILD_TRANSLUCENT)
   AC_SUBST(BUILD_UNIQUE)
   AC_SUBST(BUILD_VALSORT)
-AC_SUBST(BUILD_SLURPD)
 
 AC_SUBST(LDAP_LIBS)
 AC_SUBST(SLAPD_LIBS)
-AC_SUBST(SLURPD_LIBS)
 AC_SUBST(BDB_LIBS)
 AC_SUBST(LTHREAD_LIBS)
 AC_SUBST(LUTIL_LIBS)
@@ -2952,11 +3022,11 @@ AC_CONFIG_FILES([Makefile:build/top.mk:Makefile.in:build/dir.mk]
 [servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk]
 [servers/slapd/back-relay/Makefile:build/top.mk:servers/slapd/back-relay/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-sock/Makefile:build/top.mk:servers/slapd/back-sock/Makefile.in:build/mod.mk]
 [servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk]
 [servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk]
 [servers/slapd/slapi/Makefile:build/top.mk:servers/slapd/slapi/Makefile.in:build/lib.mk:build/lib-shared.mk]
 [servers/slapd/overlays/Makefile:build/top.mk:servers/slapd/overlays/Makefile.in:build/lib.mk]
-[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/run]
 [tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk])
@@ -2970,7 +3040,7 @@ rm -f $BACKENDSC
 cat > $BACKENDSC << ENDX
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2007 The OpenLDAP Foundation.
+ * Copyright 1998-2008 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -3021,7 +3091,7 @@ rm -f $OVERLAYSC
 cat > $OVERLAYSC << ENDX
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2007 The OpenLDAP Foundation.
+ * Copyright 1998-2008 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -3069,7 +3139,11 @@ fi
 /* end of generated file */
 ENDX
 
-echo Please run \"make depend\" to build dependencies
+if test "${ol_cv_mkdep}" = no; then
+       echo '(Do not "make depend"; we do not know how to build dependencies)'
+else
+       echo 'Please run "make depend" to build dependencies'
+fi
 ]],[[
 STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS"
 STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS"