X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;ds=sidebyside;f=configure.in;h=2051b1cecbc48bc18009db096c02b7f6dc8bd5da;hb=f6bc2aff352d6dfe746196600af60a022af96ff1;hp=7fa5d6f849d93453a6b69cd3582f894eba9bd82e;hpb=b6827c75a802a7003d0d94ba12dce854efeb16fb;p=openldap diff --git a/configure.in b/configure.in index 7fa5d6f849..2051b1cecb 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-2010 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-2010 The OpenLDAP Foundation. All rights reserved. Restrictions apply, see COPYRIGHT and LICENSE files.]]) AC_REVISION([$OpenLDAP$]) AC_INIT([OpenLDAP],,[http://www.openldap.org/its/]) @@ -96,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-2010 The OpenLDAP Foundation * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -253,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 @@ -286,6 +286,7 @@ Backends="bdb \ ldap \ meta \ monitor \ + ndb \ null \ passwd \ perl \ @@ -311,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], @@ -330,8 +333,10 @@ dnl ---------------------------------------------------------------- dnl SLAPD Overlay Options Overlays="accesslog \ auditlog \ + collect \ constraint \ dds \ + deref \ dyngroup \ dynlist \ memberof \ @@ -341,6 +346,7 @@ Overlays="accesslog \ retcode \ rwm \ seqmod \ + sssvlv \ syncprov \ translucent \ unique \ @@ -355,10 +361,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], @@ -376,7 +386,9 @@ OL_ARG_ENABLE(retcode,[ --enable-retcode Return Code testing overlay], OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay], no, [no yes mod], ol_enable_overlays) OL_ARG_ENABLE(seqmod,[ --enable-seqmod Sequential Modify overlay], - yes, [no yes mod], ol_enable_overlays) + no, [no yes mod], ol_enable_overlays) +OL_ARG_ENABLE(sssvlv,[ --enable-sssvlv ServerSideSort/VLV overlay], + no, [no yes mod], ol_enable_overlays) OL_ARG_ENABLE(syncprov,[ --enable-syncprov Syncrepl Provider overlay], yes, [no yes mod], ol_enable_overlays) OL_ARG_ENABLE(translucent,[ --enable-translucent Translucent Proxy overlay], @@ -460,6 +472,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 +513,8 @@ dnl ---------------------------------------------------------------- dnl Initialize vars LDAP_LIBS= BDB_LIBS= +SLAPD_NDB_LIBS= +SLAPD_NDB_INCS= LTHREAD_LIBS= LUTIL_LIBS= @@ -518,6 +533,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 @@ -531,15 +547,18 @@ BUILD_AUDITLOG=no BUILD_CONSTRAINT=no BUILD_DDS=no BUILD_DENYOP=no +BUILD_DEREF=no BUILD_DYNGROUP=no BUILD_DYNLIST=no BUILD_LASTMOD=no +BUILD_MEMBEROF=no BUILD_PPOLICY=no BUILD_PROXYCACHE=no BUILD_REFINT=no BUILD_RETCODE=no BUILD_RWM=no BUILD_SEQMOD=no +BUILD_SSSVLV=no BUILD_SYNCPROV=no BUILD_TRANSLUCENT=no BUILD_UNIQUE=no @@ -674,12 +693,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 ---------------------------------------------------------------- @@ -825,7 +846,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 @@ -857,37 +881,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 = yes ; 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() @@ -952,7 +987,6 @@ then fi dnl ---------------------------------------------------------------- -# strerror checks OL_STRERROR dnl ---------------------------------------------------------------- @@ -980,12 +1014,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()]) @@ -995,14 +1031,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()]) @@ -1798,6 +1836,7 @@ dnl ---------------------------------------------------------------- dnl Tests for reentrant functions necessary to build -lldap_r AC_CHECK_FUNCS( \ ctime_r \ + gmtime_r localtime_r \ gethostbyname_r gethostbyaddr_r \ ) @@ -1839,12 +1878,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 @@ -1928,7 +1961,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 @@ -1948,6 +1981,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]) ;; @@ -1965,6 +2005,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 @@ -2291,9 +2372,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 @@ -2312,9 +2396,9 @@ AC_CHECK_FUNCS( \ flock \ fstat \ getdtablesize \ + geteuid \ getgrgid \ gethostname \ - getpass \ getpassphrase \ getpwuid \ getpwnam \ @@ -2350,6 +2434,7 @@ AC_CHECK_FUNCS( \ strtoq \ strtouq \ strtoll \ + strtoull \ strspn \ sysconf \ waitpid \ @@ -2571,6 +2656,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 @@ -2689,6 +2787,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 @@ -2713,6 +2823,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_DEREF=$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 @@ -2822,6 +2944,18 @@ if test "$ol_enable_seqmod" != no ; then AC_DEFINE_UNQUOTED(SLAPD_OVER_SEQMOD,$MFLAG,[define for Sequential Modify overlay]) fi +if test "$ol_enable_sssvlv" != no ; then + BUILD_SSSVLV=$ol_enable_sssvlv + if test "$ol_enable_sssvlv" = mod ; then + MFLAG=SLAPD_MOD_DYNAMIC + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS sssvlv.la" + else + MFLAG=SLAPD_MOD_STATIC + SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS sssvlv.o" + fi + AC_DEFINE_UNQUOTED(SLAPD_OVER_SSSVLV,$MFLAG,[define for ServerSideSort/VLV overlay]) +fi + if test "$ol_enable_syncprov" != no ; then BUILD_SYNCPROV=$ol_enable_syncprov if test "$ol_enable_syncprov" = mod ; then @@ -2888,7 +3022,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 @@ -2915,6 +3049,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) @@ -2925,18 +3060,22 @@ 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) + AC_SUBST(BUILD_DEREF) 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) AC_SUBST(BUILD_RETCODE) AC_SUBST(BUILD_RWM) AC_SUBST(BUILD_SEQMOD) + AC_SUBST(BUILD_SSSVLV) AC_SUBST(BUILD_SYNCPROV) AC_SUBST(BUILD_TRANSLUCENT) AC_SUBST(BUILD_UNIQUE) @@ -2945,6 +3084,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) @@ -3015,6 +3156,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] @@ -3038,7 +3180,7 @@ rm -f $BACKENDSC cat > $BACKENDSC << ENDX /* This work is part of OpenLDAP Software . * - * Copyright 1998-2007 The OpenLDAP Foundation. + * Copyright 1998-2010 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -3089,7 +3231,7 @@ rm -f $OVERLAYSC cat > $OVERLAYSC << ENDX /* This work is part of OpenLDAP Software . * - * Copyright 1998-2007 The OpenLDAP Foundation. + * Copyright 1998-2010 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without