X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=configure.in;h=ce23a79244d658b8efc5ab073ba18242a04f33ad;hb=58ddce8524d573c4fe201b83860b37485827dfb9;hp=e2c76ddfbbe80790f973ace6e2bd53c39ed356da;hpb=c890c96d13c53cf0fa1d9580fea2ab47a2c8caa9;p=openldap diff --git a/configure.in b/configure.in index e2c76ddfbb..ce23a79244 100644 --- a/configure.in +++ b/configure.in @@ -242,6 +242,8 @@ 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|openssl|gnutls], @@ -253,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 @@ -286,6 +288,7 @@ Backends="bdb \ ldap \ meta \ monitor \ + ndb \ null \ passwd \ perl \ @@ -300,7 +303,7 @@ SLAPD Backend Options:]) OL_ARG_ENABLE(backends,[ --enable-backends enable all available backends], --, [no yes mod])dnl OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend], - yes, [no yes mod], ol_enable_backends)dnl + no, [no yes mod], ol_enable_backends)dnl OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend], no, [no yes mod], ol_enable_backends)dnl OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend], @@ -311,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], @@ -330,8 +335,10 @@ dnl ---------------------------------------------------------------- dnl SLAPD Overlay Options Overlays="accesslog \ auditlog \ + collect \ constraint \ dds \ + deref \ dyngroup \ dynlist \ memberof \ @@ -355,10 +362,14 @@ 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], @@ -460,6 +471,7 @@ 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 && @@ -500,6 +512,8 @@ dnl ---------------------------------------------------------------- dnl Initialize vars LDAP_LIBS= BDB_LIBS= +SLAPD_NDB_LIBS= +SLAPD_NDB_INCS= LTHREAD_LIBS= LUTIL_LIBS= @@ -518,6 +532,7 @@ BUILD_HDB=no BUILD_LDAP=no BUILD_META=no BUILD_MONITOR=no +BUILD_NDB=no BUILD_NULL=no BUILD_PASSWD=no BUILD_PERL=no @@ -566,6 +581,7 @@ SLAPD_SQL_INCLUDES= KRB4_LIBS= KRB5_LIBS= SASL_LIBS= +GSSAPI_LIBS= TLS_LIBS= MODULES_LIBS= SLAPI_LIBS= @@ -1110,6 +1126,58 @@ 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 + 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 @@ -1840,12 +1908,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 @@ -1929,7 +1991,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 @@ -1949,6 +2011,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]) ;; @@ -1966,6 +2035,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 @@ -2313,6 +2423,7 @@ AC_CHECK_FUNCS( \ flock \ fstat \ getdtablesize \ + geteuid \ getgrgid \ gethostname \ getpass \ @@ -2572,6 +2683,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 @@ -2690,6 +2814,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 @@ -2714,6 +2850,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 @@ -2916,6 +3064,7 @@ 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) @@ -2926,6 +3075,7 @@ dnl backends 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) @@ -2947,6 +3097,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) @@ -2967,6 +3119,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) @@ -3017,6 +3170,7 @@ 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]