X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=configure.in;h=6e395ac288ebc7fff70b0fb15ed2c8fdf35e327e;hb=1806d792ec8653ca805c293a1e779e7c2247b00d;hp=0ae38989490ca9b08cbcab773fd5cfc3e90a1601;hpb=bbc719ca56753b448727340d732b8183162dfdfb;p=openldap diff --git a/configure.in b/configure.in index 0ae3898949..6e395ac288 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-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 . * - * 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] ) @@ -250,8 +253,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 @@ -283,11 +286,13 @@ Backends="bdb \ ldap \ meta \ monitor \ + ndb \ null \ passwd \ perl \ relay \ shell \ + sock \ sql" AC_ARG_ENABLE(xxslapbackends,[ @@ -307,6 +312,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], @@ -317,6 +324,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 @@ -324,10 +333,12 @@ dnl ---------------------------------------------------------------- dnl SLAPD Overlay Options Overlays="accesslog \ auditlog \ + collect \ constraint \ dds \ dyngroup \ dynlist \ + memberof \ ppolicy \ proxycache \ refint \ @@ -348,6 +359,8 @@ 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], @@ -356,6 +369,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], @@ -451,11 +466,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 @@ -490,6 +507,8 @@ dnl ---------------------------------------------------------------- dnl Initialize vars LDAP_LIBS= BDB_LIBS= +SLAPD_NDB_LIBS= +SLAPD_NDB_INCS= LTHREAD_LIBS= LUTIL_LIBS= @@ -508,11 +527,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 @@ -523,6 +544,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 @@ -1147,6 +1169,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]) @@ -1807,12 +1850,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 @@ -1896,7 +1933,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 @@ -1916,6 +1953,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]) ;; @@ -1933,6 +1977,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 @@ -2109,14 +2194,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 @@ -2324,8 +2438,8 @@ if test "$ac_cv_func_getpeereid" != yes; then 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]), - AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_INT])) + 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" @@ -2510,6 +2624,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 @@ -2578,6 +2705,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 @@ -2615,6 +2755,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 @@ -2663,6 +2815,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 @@ -2829,21 +2993,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) @@ -2858,6 +3026,8 @@ dnl overlays AC_SUBST(LDAP_LIBS) AC_SUBST(SLAPD_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) @@ -2928,11 +3098,13 @@ 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] @@ -2950,7 +3122,7 @@ rm -f $BACKENDSC cat > $BACKENDSC << ENDX /* This work is part of OpenLDAP Software . * - * 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 @@ -3001,7 +3173,7 @@ rm -f $OVERLAYSC cat > $OVERLAYSC << ENDX /* This work is part of OpenLDAP Software . * - * 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 @@ -3049,7 +3221,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"