X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=configure.in;h=80975b82649e3e326a54555c4d49c9d044b96c1f;hb=9764499136fabafc7f7d71f84e2df4ff29d242c4;hp=90bd03bec53e42d13a5e480cb102610ac5eefce7;hpb=e6fb0b0ce400d96600cfb9e4454bbeb95caf7681;p=openldap diff --git a/configure.in b/configure.in index 90bd03bec5..80975b8264 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-2008 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-2008 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/]) @@ -96,7 +96,7 @@ AH_TOP([ /* begin of portable.h.pre */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2008 The OpenLDAP Foundation + * Copyright 1998-2009 The OpenLDAP Foundation * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -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], @@ -301,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], @@ -333,8 +335,10 @@ dnl ---------------------------------------------------------------- dnl SLAPD Overlay Options Overlays="accesslog \ auditlog \ + collect \ constraint \ dds \ + deref \ dyngroup \ dynlist \ memberof \ @@ -358,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], @@ -573,6 +581,7 @@ SLAPD_SQL_INCLUDES= KRB4_LIBS= KRB5_LIBS= SASL_LIBS= +GSSAPI_LIBS= TLS_LIBS= MODULES_LIBS= SLAPI_LIBS= @@ -682,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 ---------------------------------------------------------------- @@ -833,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 @@ -865,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() @@ -960,7 +985,6 @@ then fi dnl ---------------------------------------------------------------- -# strerror checks OL_STRERROR dnl ---------------------------------------------------------------- @@ -988,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()]) @@ -1003,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()]) @@ -1117,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 @@ -1847,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 @@ -2010,7 +2089,7 @@ if test $ol_enable_ndb != no ; then save_LDFLAGS="$LDFLAGS" save_LIBS="$LIBS" LDFLAGS="$SQL_LIB" - AC_CHECK_LIB(ndbclient,ndb_init,[],[ + AC_CHECK_LIB(ndbclient,ndb_init,[: ok],[ AC_MSG_ERROR([could not locate ndbclient library]) ],[-lstdc++]) LIBS="$save_LIBS" @@ -2347,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 @@ -2368,6 +2450,7 @@ AC_CHECK_FUNCS( \ flock \ fstat \ getdtablesize \ + geteuid \ getgrgid \ gethostname \ getpass \ @@ -2758,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 @@ -2782,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 @@ -2957,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 @@ -2995,6 +3102,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) @@ -3038,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) @@ -3112,7 +3221,7 @@ rm -f $BACKENDSC cat > $BACKENDSC << ENDX /* This work is part of OpenLDAP Software . * - * Copyright 1998-2008 The OpenLDAP Foundation. + * Copyright 1998-2009 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -3163,7 +3272,7 @@ rm -f $OVERLAYSC cat > $OVERLAYSC << ENDX /* This work is part of OpenLDAP Software . * - * Copyright 1998-2008 The OpenLDAP Foundation. + * Copyright 1998-2009 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without