X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=configure.in;h=1aa8e67e2c4a6ff3a571d396d9f3fc9627ccabc3;hb=29e09616e34debf64185264a05d00cf2eff47fc5;hp=1aa302926c2422ff9b6a92f0ad7ff1f116065b9a;hpb=7f321786160939fcce76e8a847d6284c9c677e41;p=openldap diff --git a/configure.in b/configure.in index 1aa302926c..1aa8e67e2c 100644 --- a/configure.in +++ b/configure.in @@ -1,7 +1,7 @@ dnl $OpenLDAP$ dnl This work is part of OpenLDAP Software . dnl -dnl Copyright 1998-2007 The OpenLDAP Foundation. +dnl Copyright 1998-2009 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-2009 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 . * - * Copyright 1998-2007 The OpenLDAP Foundation + * Copyright 1998-2009 The OpenLDAP Foundation * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -144,15 +147,6 @@ AH_BOTTOM([ # define WIN32_LEAN_AND_MEAN 1 #endif -#ifdef LDAP_PF_LOCAL -#if !defined(HAVE_GETPEEREID) && \ - !defined(HAVE_GETPEERUCRED) && \ - !defined(SO_PEERCRED) && !defined(LOCAL_PEERCRED) && \ - defined(HAVE_SENDMSG) && (defined(HAVE_STRUCT_MSGHDR_MSG_ACCRIGHTSLEN) || \ - defined(HAVE_STRUCT_MSGHDR_MSG_CONTROL)) -# define LDAP_PF_LOCAL_SENDMSG 1 -#endif - #ifndef LDAP_NEEDS_PROTOTYPES /* force LDAP_P to always include prototypes */ #define LDAP_NEEDS_PROTOTYPES 1 @@ -248,10 +242,12 @@ OL_ARG_WITH(cyrus_sasl,[ --with-cyrus-sasl with Cyrus SASL support], auto, [auto yes no] ) OL_ARG_WITH(fetch,[ --with-fetch with fetch(3) URL support], auto, [auto yes no] ) +OL_ARG_WITH(gssapi,[ --with-gssapi with GSSAPI 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] ) @@ -259,8 +255,8 @@ OL_ARG_WITH(mp, [ --with-mp with multiple precision statistics auto|longlong|long|bignum|gmp], auto, [auto longlong long bignum gmp yes no]) OL_ARG_WITH(odbc, - [ --with-odbc with specific ODBC support iodbc|unixodbc|auto], - auto, [auto iodbc unixodbc] ) + [ --with-odbc with specific ODBC support iodbc|unixodbc|odbc32|auto], + auto, [auto iodbc unixodbc odbc32] ) dnl ---------------------------------------------------------------- dnl Server options @@ -292,11 +288,13 @@ Backends="bdb \ ldap \ meta \ monitor \ + ndb \ null \ passwd \ perl \ relay \ shell \ + sock \ sql" AC_ARG_ENABLE(xxslapbackends,[ @@ -316,6 +314,8 @@ OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend], no, [no yes mod], ol_enable_backends)dnl OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend], yes, [no yes mod], ol_enable_backends)dnl +OL_ARG_ENABLE(ndb,[ --enable-ndb enable MySQL NDB Cluster backend], + no, [no yes mod], ol_enable_backends)dnl OL_ARG_ENABLE(null,[ --enable-null enable null backend], no, [no yes mod], ol_enable_backends)dnl OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend], @@ -326,6 +326,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 @@ -333,10 +335,13 @@ dnl ---------------------------------------------------------------- dnl SLAPD Overlay Options Overlays="accesslog \ auditlog \ + collect \ constraint \ dds \ + deref \ dyngroup \ dynlist \ + memberof \ ppolicy \ proxycache \ refint \ @@ -357,14 +362,20 @@ OL_ARG_ENABLE(accesslog,[ --enable-accesslog In-Directory Access Logging ov no, [no yes mod], ol_enable_overlays) OL_ARG_ENABLE(auditlog,[ --enable-auditlog Audit Logging overlay], no, [no yes mod], ol_enable_overlays) +OL_ARG_ENABLE(collect,[ --enable-collect Collect overlay], + no, [no yes mod], ol_enable_overlays) OL_ARG_ENABLE(constraint,[ --enable-constraint Attribute Constraint overlay], no, [no yes mod], ol_enable_overlays) OL_ARG_ENABLE(dds,[ --enable-dds Dynamic Directory Services overlay], no, [no yes mod], ol_enable_overlays) +OL_ARG_ENABLE(deref,[ --enable-deref Dereference overlay], + no, [no yes mod], ol_enable_overlays) 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], @@ -386,12 +397,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]) @@ -431,9 +436,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 @@ -460,8 +462,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 && @@ -471,11 +471,13 @@ elif test $ol_enable_modules != yes && test $ol_enable_ldap = no && test $ol_enable_meta = no && test $ol_enable_monitor = no && + test $ol_enable_ndb = no && test $ol_enable_null = no && test $ol_enable_passwd = no && 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 @@ -491,13 +493,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]) @@ -517,14 +512,14 @@ dnl ---------------------------------------------------------------- dnl Initialize vars LDAP_LIBS= BDB_LIBS= +SLAPD_NDB_LIBS= +SLAPD_NDB_INCS= LTHREAD_LIBS= LUTIL_LIBS= SLAPD_LIBS= -SLURPD_LIBS= BUILD_SLAPD=no -BUILD_SLURPD=no BUILD_THREAD=no @@ -537,11 +532,13 @@ BUILD_HDB=no BUILD_LDAP=no BUILD_META=no BUILD_MONITOR=no +BUILD_NDB=no BUILD_NULL=no BUILD_PASSWD=no BUILD_PERL=no BUILD_RELAY=no BUILD_SHELL=no +BUILD_SOCK=no BUILD_SQL=no BUILD_ACCESSLOG=no @@ -552,6 +549,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 @@ -583,6 +581,7 @@ SLAPD_SQL_INCLUDES= KRB4_LIBS= KRB5_LIBS= SASL_LIBS= +GSSAPI_LIBS= TLS_LIBS= MODULES_LIBS= SLAPI_LIBS= @@ -692,12 +691,14 @@ if test $ol_enable_perl != no ; then fi AC_PROG_CPP +OL_MSVC dnl ---------------------------------------------------------------- dnl Checks for Windows NT case $host_os in *mingw32* ) ac_cv_mingw32=yes ;; *cygwin* ) ac_cv_cygwin=yes ;; + *interix* ) ac_cv_interix=yes ;; esac dnl ---------------------------------------------------------------- @@ -822,9 +823,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 \ @@ -833,6 +836,7 @@ AC_CHECK_HEADERS( \ sys/time.h \ sys/types.h \ sys/uio.h \ + sys/vmount.h \ syslog.h \ termios.h \ unistd.h \ @@ -840,7 +844,10 @@ AC_CHECK_HEADERS( \ ) dnl Only check Winsock on MinGW -if test "$ac_cv_mingw32" = yes ; then +if test "$ac_cv_mingw32" = yes \ + -o "$ac_cv_interix" = yes \ + -o "$ol_cv_msvc" = yes +then AC_CHECK_HEADERS( winsock.h winsock2.h ) fi @@ -872,37 +879,48 @@ if test $ac_cv_func_sigaction = no && test $ac_cv_func_sigaction = no ; then AC_CHECK_LIB(V3, sigset) fi +if test $ol_cv_msvc ; then + ol_cv_winsock=yes +fi + dnl The following is INTENTIONALLY scripted out because shell does not dnl support variable names with the '@' character, which is what dnl autoconf would try to generate if one merely used AC_SEARCH_LIBS if test "$ac_cv_header_winsock_h" = yes; then -AC_CACHE_CHECK([for winsock], [ol_cv_winsock], -save_LIBS="$LIBS" -for curlib in ws2_32 wsock32; do - LIBS="$LIBS -l$curlib" - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include + AC_CACHE_CHECK([for winsock], [ol_cv_winsock],[ + save_LIBS="$LIBS" + for curlib in none ws2_32 wsock32; do + if test curlib != none ; then + LIBS="$save_LIBS -l$curlib" + fi + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[ socket(0,0,0); select(0,NULL,NULL,NULL,NULL); closesocket(0); gethostname(NULL,0); - ]])],[ol_cv_winsock=yes],[ol_cv_winsock=no]) - - if test $ol_cv_winsock = yes; then - AC_DEFINE(HAVE_WINSOCK, 1, [define if you have winsock]) - ac_cv_func_socket=yes - ac_cv_func_select=yes - ac_cv_func_closesocket=yes - ac_cv_func_gethostname=yes - if test $curlib = ws2_32; then - ol_cv_winsock=winsock2 - AC_DEFINE(HAVE_WINSOCK2, 1, - [define if you have winsock2]) + ]])],[ol_cv_winsock=$curlib],[ol_cv_winsock=no]) + + test "$ol_cv_winsock" != no && break + done + LIBS="$save_LIBS" + ]) + + if test $ol_cv_winsock != no ; then + AC_DEFINE(HAVE_WINSOCK, 1, [define if you have winsock]) + ac_cv_func_socket=yes + ac_cv_func_select=yes + ac_cv_func_closesocket=yes + ac_cv_func_gethostname=yes + + if test $ol_cv_winsock != none -a $ol_cv_winsock != yes ; then + LIBS="$LIBS -l$ol_cv_winsock" fi - break + + if test $ol_cv_winsock = ws2_32 -o $ol_cv_winsock = yes ; then + AC_DEFINE(HAVE_WINSOCK2, 1, [define if you have winsock2]) + fi fi - LIBS="$save_LIBS" -done) fi dnl Find socket() @@ -967,7 +985,6 @@ then fi dnl ---------------------------------------------------------------- -# strerror checks OL_STRERROR dnl ---------------------------------------------------------------- @@ -995,12 +1012,14 @@ dnl UUID Support have_uuid=no AC_CHECK_HEADERS(sys/uuid.h) +dnl The HAVE_UUID_TO_STR code path also needs uuid_create if test $ac_cv_header_sys_uuid_h = yes ; then save_LIBS="$LIBS" AC_SEARCH_LIBS([uuid_to_str], [uuid], [have_uuid=yes], :) + AC_SEARCH_LIBS([uuid_create], [uuid], :, [have_uuid=no]) LIBS="$save_LIBS" - if test have_uuid = yes ; then + if test $have_uuid = yes ; then AC_DEFINE(HAVE_UUID_TO_STR,1, [define if you have uuid_to_str()]) @@ -1010,14 +1029,16 @@ if test $ac_cv_header_sys_uuid_h = yes ; then fi dnl Look for uuid_generate +dnl The HAVE_UUID_GENERATE code path also needs uuid_unparse_lower if test $have_uuid = no ; then AC_CHECK_HEADERS(uuid/uuid.h) if test $ac_cv_header_uuid_uuid_h = yes ; then save_LIBS="$LIBS" AC_SEARCH_LIBS([uuid_generate], [uuid], [have_uuid=yes], :) + AC_SEARCH_LIBS([uuid_unparse_lower], [uuid], :, [have_uuid=no]) LIBS="$save_LIBS" - if test have_uuid = yes ; then + if test $have_uuid = yes ; then AC_DEFINE(HAVE_UUID_GENERATE,1, [define if you have uuid_generate()]) @@ -1124,6 +1145,63 @@ if test $ol_enable_local != no ; then fi fi +dnl ---------------------------------------------------------------- +dnl GSSAPI +ol_link_gssapi=no + +case $ol_with_gssapi in yes | auto) + + ol_header_gssapi=no + AC_CHECK_HEADERS(gssapi/gssapi.h) + if test $ac_cv_header_gssapi_gssapi_h = yes ; then + ol_header_gssapi=yes + else + AC_CHECK_HEADERS(gssapi.h) + if test $ac_cv_header_gssapi_h = yes ; then + ol_header_gssapi=yes + fi + + dnl## not every gssapi has gss_oid_to_str() + dnl## as it's not defined in the GSSAPI V2 API + dnl## anymore + saveLIBS="$LIBS" + LIBS="$LIBS $GSSAPI_LIBS" + AC_CHECK_FUNCS(gss_oid_to_str) + LIBS="$saveLIBS" + fi + + if test $ol_header_gssapi = yes ; then + dnl## we check for gss_wrap + dnl## as it's new to the GSSAPI V2 API + AC_CHECK_LIB(gssapi, gss_wrap, + [ol_link_gssapi=yes;GSSAPI_LIBS="-lgssapi"], + [ol_link_gssapi=no]) + if test $ol_link_gssapi != yes ; then + AC_CHECK_LIB(gssapi_krb5, gss_wrap, + [ol_link_gssapi=yes;GSSAPI_LIBS="-lgssapi_krb5"], + [ol_link_gssapi=no]) + fi + if test $ol_link_gssapi != yes ; then + AC_CHECK_LIB(gss, gss_wrap, + [ol_link_gssapi=yes;GSSAPI_LIBS="-lgss"], + [ol_link_gssapi=no]) + fi + fi + + ;; +esac + +WITH_GSSAPI=no +if test $ol_link_gssapi = yes; then + AC_DEFINE(HAVE_GSSAPI, 1, [define if you have GSSAPI]) + WITH_GSSAPI=yes +elif test $ol_with_gssapi = auto ; then + AC_MSG_WARN([Could not locate GSSAPI package]) + AC_MSG_WARN([GSSAPI authentication not supported!]) +elif test $ol_with_gssapi = yes ; then + AC_MSG_ERROR([GSSAPI detection failed]) +fi + dnl ---------------------------------------------------------------- dnl TLS/SSL @@ -1173,6 +1251,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]) @@ -1498,7 +1597,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(); @@ -1833,12 +1932,6 @@ if test $ol_enable_bdb/$ol_enable_hdb != no/no; then BDB_LIBS="$BDB_LIBS $ol_cv_lib_db" fi - OL_BDB_COMPAT - - if test $ol_cv_bdb_compat != yes ; then - AC_MSG_ERROR([BDB/HDB: BerkeleyDB version incompatible]) - fi - SLAPD_LIBS="$SLAPD_LIBS \$(BDB_LIBS)" ol_link_bdb=yes @@ -1922,7 +2015,7 @@ if test $ol_enable_sql != no ; then LIBS="$LTHREAD_LIBS" if test $ol_with_odbc = auto ; then - ol_with_odbc="iodbc unixodbc" + ol_with_odbc="iodbc unixodbc odbc32" fi for odbc in $ol_with_odbc ; do @@ -1942,6 +2035,13 @@ if test $ol_enable_sql != no ; then fi ;; + odbc32) + AC_CHECK_LIB(odbc32, SQLDriverConnect, [have_odbc32=yes], [have_odbc32=no]) + if test $have_odbc32 = yes ; then + ol_link_sql="-lodbc32" + fi + ;; + *) AC_MSG_ERROR([unknown ODBC library]) ;; @@ -1959,6 +2059,47 @@ if test $ol_enable_sql != no ; then fi fi +dnl ---------------------------------------------------------------- +dnl MySQL NDBapi +dnl Note: uses C++, but we don't want to add C++ test overhead to +dnl the rest of the libtool machinery. +ol_link_ndb=no +if test $ol_enable_ndb != no ; then + AC_CHECK_PROG(MYSQL,mysql_config,yes) + if test "$MYSQL" != yes ; then + AC_MSG_ERROR([could not locate mysql_config]) + fi + + SQL_INC=`mysql_config --include` + SLAPD_NDB_INCS="$SQL_INC $SQL_INC/storage/ndb $SQL_INC/storage/ndb/ndbapi" + + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$SLAPD_NDB_INCS" + AC_MSG_CHECKING(for NdbApi.hpp) + AC_PREPROC_IFELSE( + [AC_LANG_SOURCE([[#include ]])], + AC_MSG_RESULT(yes), + AC_MSG_ERROR([could not locate NdbApi headers]) + ) + CPPFLAGS="$save_CPPFLAGS" + + SQL_LIB=`mysql_config --libs_r` + SLAPD_NDB_LIBS="$SQL_LIB -lndbclient -lstdc++" + + save_LDFLAGS="$LDFLAGS" + save_LIBS="$LIBS" + LDFLAGS="$SQL_LIB" + AC_CHECK_LIB(ndbclient,ndb_init,[: ok],[ + AC_MSG_ERROR([could not locate ndbclient library]) + ],[-lstdc++]) + LIBS="$save_LIBS" + LDFLAGS="$save_LDFLAGS" + + if test "$ol_enable_ndb" = yes ; then + SLAPD_LIBS="$SLAPD_LIBS \$(SLAPD_NDB_LIBS)" + fi +fi + dnl ---------------------------------------------------------------- dnl International Components for Unicode OL_ICU @@ -2135,14 +2276,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 does not define.])], - [$ac_includes_default + +AC_CHECK_TYPE([socklen_t],,, [$ac_includes_default +#ifdef HAVE_SYS_SOCKET_H +#include +#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 #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 does not define.]) +fi + AC_TYPE_SIGNAL @@ -2256,9 +2426,12 @@ AC_CHECK_FUNC(_snprintf, [ac_cv_func_snprintf=yes AC_DEFINE(snprintf, _snprintf, [define to snprintf routine]) ]) -AC_CHECK_FUNC(_vsnprintf, [ac_cv_func_vsnprintf=yes +AC_CHECK_FUNCS(vsnprintf _vsnprintf) + +if test $ac_cv_func_vsnprintf = no -a $ac_cv_func__vsnprintf = yes ; then + ac_cv_func_vsnprintf=yes AC_DEFINE(vsnprintf, _vsnprintf, [define to vsnprintf routine]) -]) +fi AC_FUNC_VPRINTF @@ -2277,6 +2450,7 @@ AC_CHECK_FUNCS( \ flock \ fstat \ getdtablesize \ + geteuid \ getgrgid \ gethostname \ getpass \ @@ -2347,6 +2521,12 @@ if test "$ac_cv_func_getpeereid" != yes; then #include #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 @@ -2530,6 +2710,19 @@ if test "$ol_enable_meta" != no ; then AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend]) fi +if test "$ol_enable_ndb" != no ; then + BUILD_SLAPD=yes + BUILD_NDB=$ol_enable_ndb + if test "$ol_enable_ndb" = mod ; then + SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ndb" + MFLAG=SLAPD_MOD_DYNAMIC + else + SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ndb" + MFLAG=SLAPD_MOD_STATIC + fi + AC_DEFINE_UNQUOTED(SLAPD_NDB,$MFLAG,[define to support NDB backend]) +fi + if test "$ol_enable_null" != no ; then BUILD_SLAPD=yes BUILD_NULL=$ol_enable_null @@ -2598,6 +2791,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 @@ -2635,6 +2841,18 @@ if test "$ol_enable_auditlog" != no ; then AC_DEFINE_UNQUOTED(SLAPD_OVER_AUDITLOG,$MFLAG,[define for Audit Logging overlay]) fi +if test "$ol_enable_collect" != no ; then + BUILD_COLLECT=$ol_enable_collect + if test "$ol_enable_collect" = mod ; then + MFLAG=SLAPD_MOD_DYNAMIC + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS collect.la" + else + MFLAG=SLAPD_MOD_STATIC + SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS collect.o" + fi + AC_DEFINE_UNQUOTED(SLAPD_OVER_COLLECT,$MFLAG,[define for Collect overlay]) +fi + if test "$ol_enable_constraint" != no ; then BUILD_CONSTRAINT=$ol_enable_constraint if test "$ol_enable_constraint" = mod ; then @@ -2659,6 +2877,18 @@ if test "$ol_enable_dds" != no ; then AC_DEFINE_UNQUOTED(SLAPD_OVER_DDS,$MFLAG,[define for Dynamic Directory Services overlay]) fi +if test "$ol_enable_deref" != no ; then + BUILD_DDS=$ol_enable_deref + if test "$ol_enable_deref" = mod ; then + MFLAG=SLAPD_MOD_DYNAMIC + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS deref.la" + else + MFLAG=SLAPD_MOD_STATIC + SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS deref.o" + fi + AC_DEFINE_UNQUOTED(SLAPD_OVER_DEREF,$MFLAG,[define for Dynamic Directory Services overlay]) +fi + if test "$ol_enable_dyngroup" != no ; then BUILD_DYNGROUP=$ol_enable_dyngroup if test "$ol_enable_dyngroup" = mod ; then @@ -2683,6 +2913,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 @@ -2804,12 +3046,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 @@ -2828,7 +3064,7 @@ dnl For Windows build, we don't want to include -dlopen flags. dnl They hurt more than they help. dnl -if test "$ac_cv_mingw32" = yes ; then +if test "$ac_cv_mingw32" = yes -o $ol_cv_msvc = yes ; then PLAT=NT SLAPD_MODULES_LDFLAGS= else @@ -2855,21 +3091,25 @@ dnl backends AC_SUBST(BUILD_LDAP) AC_SUBST(BUILD_META) AC_SUBST(BUILD_MONITOR) + AC_SUBST(BUILD_NDB) AC_SUBST(BUILD_NULL) AC_SUBST(BUILD_PASSWD) 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) AC_SUBST(BUILD_AUDITLOG) + AC_SUBST(BUILD_COLLECT) AC_SUBST(BUILD_CONSTRAINT) AC_SUBST(BUILD_DDS) AC_SUBST(BUILD_DENYOP) 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) @@ -2880,12 +3120,12 @@ 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(SLAPD_NDB_LIBS) +AC_SUBST(SLAPD_NDB_INCS) AC_SUBST(LTHREAD_LIBS) AC_SUBST(LUTIL_LIBS) AC_SUBST(WRAP_LIBS) @@ -2906,6 +3146,7 @@ AC_SUBST(MOD_PERL_LDFLAGS) AC_SUBST(KRB4_LIBS) AC_SUBST(KRB5_LIBS) AC_SUBST(SASL_LIBS) +AC_SUBST(GSSAPI_LIBS) AC_SUBST(TLS_LIBS) AC_SUBST(MODULES_LIBS) AC_SUBST(SLAPI_LIBS) @@ -2956,16 +3197,17 @@ AC_CONFIG_FILES([Makefile:build/top.mk:Makefile.in:build/dir.mk] [servers/slapd/back-ldif/Makefile:build/top.mk:servers/slapd/back-ldif/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-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk] +[servers/slapd/back-ndb/Makefile:build/top.mk:servers/slapd/back-ndb/Makefile.in:build/mod.mk] [servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/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-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]) @@ -2979,7 +3221,7 @@ rm -f $BACKENDSC cat > $BACKENDSC << ENDX /* This work is part of OpenLDAP Software . * - * Copyright 1998-2007 The OpenLDAP Foundation. + * Copyright 1998-2009 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -3030,7 +3272,7 @@ rm -f $OVERLAYSC cat > $OVERLAYSC << ENDX /* This work is part of OpenLDAP Software . * - * Copyright 1998-2007 The OpenLDAP Foundation. + * Copyright 1998-2009 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -3078,7 +3320,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"