X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=configure.in;h=bde0b0ba4a7a750a5b7c0dfb66be86a4f509da44;hb=b50f9c7aa943375c185007efbf27ab6e6ead9d06;hp=f33a2bba80e3284935db1750e109ab640dd23fb1;hpb=f6edefa25dd7cb4156c61bb8f7066c85365a5f39;p=openldap
diff --git a/configure.in b/configure.in
index f33a2bba80..bde0b0ba4a 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],
@@ -524,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
@@ -572,6 +581,7 @@ SLAPD_SQL_INCLUDES=
KRB4_LIBS=
KRB5_LIBS=
SASL_LIBS=
+GSSAPI_LIBS=
TLS_LIBS=
MODULES_LIBS=
SLAPI_LIBS=
@@ -681,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 ----------------------------------------------------------------
@@ -832,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
@@ -864,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 = 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()
@@ -959,7 +985,6 @@ then
fi
dnl ----------------------------------------------------------------
-# strerror checks
OL_STRERROR
dnl ----------------------------------------------------------------
@@ -987,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()])
@@ -1002,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()])
@@ -1116,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
@@ -1846,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
@@ -1981,6 +2061,8 @@ 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)
@@ -1991,8 +2073,27 @@ if test $ol_enable_ndb != no ; then
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 -lmysys -lmystrings -lstdc++"
+ 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)"
@@ -2325,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
@@ -2346,6 +2450,7 @@ AC_CHECK_FUNCS( \
flock \
fstat \
getdtablesize \
+ geteuid \
getgrgid \
gethostname \
getpass \
@@ -2736,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
@@ -2760,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
@@ -2935,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
@@ -2973,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)
@@ -3016,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)
@@ -3090,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
@@ -3141,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