X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=configure.in;h=36f146e7561fd81dc10d858bda0265cf65bb4cb1;hb=8f1528af61a592fa138c5d27ce339bdad37dc630;hp=01032938de87d0ef774cde6537498e6f9e967172;hpb=3080947559bf3ef2312b345cfe4cd2f682151b4b;p=openldap
diff --git a/configure.in b/configure.in
index 01032938de..36f146e756 100644
--- a/configure.in
+++ b/configure.in
@@ -37,13 +37,31 @@ define([AC_INIT_BINSH],
echo "Copyright 1998-2005 The OpenLDAP Foundation. All rights reserved."
echo " Restrictions apply, see COPYRIGHT and LICENSE files."
])dnl
+dnl ----------------------------------------------------------------
+dnl OpenLDAP Autoconf Macros
+dnl $OpenLDAP$
+dnl This work is part of OpenLDAP Software .
+dnl
+dnl Copyright 1998-2005 The OpenLDAP Foundation.
+dnl All rights reserved.
+dnl
+dnl Redistribution and use in source and binary forms, with or without
+dnl modification, are permitted only as authorized by the OpenLDAP
+dnl Public License.
+dnl
+dnl A copy of this license is available in the file LICENSE in the
+dnl top-level directory of the distribution or, alternatively, at
+dnl .
+builtin(include, build/openldap.m4)dnl
+
dnl ----------------------------------------------------------------
dnl Disable config.cache!
define([AC_CACHE_LOAD], )dnl
define([AC_CACHE_SAVE], )dnl
dnl ================================================================
dnl Configure.in for OpenLDAP
-AC_INIT(build/version.sh)dnl
+AC_INIT
+AC_CONFIG_SRCDIR([build/version.sh])dnl
# set unset (borrowed from autoconf 2.49c)
if (OL_FOO=OL_FOO; unset OL_FOO) >/dev/null 2>&1; then
@@ -82,7 +100,7 @@ echo "Configuring ${TB}${OL_STRING}${TN} ${OPENLDAP_CVS}..."
dnl Determine host platform
dnl we try not to use this for much
-AC_CANONICAL_SYSTEM
+AC_CANONICAL_TARGET([])
AM_INIT_AUTOMAKE([$OL_PACKAGE],[$OL_VERSION], [no defines])dnl
AC_SUBST(PACKAGE)dnl
@@ -107,7 +125,7 @@ AC_SUBST(OPENLDAP_RELEASE_DATE)dnl
dnl We use autoconf features new to 2.13. Later versions like won't work.
dnl aclocal.m4 should be built using aclocal from automake 1.4
dnl libtool 1.4.3 should be installed.
-AC_PREREQ(2.13)dnl Required Autoconf version
+AC_PREREQ(2.59)dnl Required Autoconf version
AC_CONFIG_HEADER(include/portable.h include/ldap_features.h include/lber_types.h)dnl
@@ -193,7 +211,7 @@ OL_ARG_ENABLE(spasswd,[ --enable-spasswd enable (Cyrus) SASL password verif
OL_ARG_ENABLE(modules,[ --enable-modules enable dynamic module support], no)dnl
dnl OL_ARG_ENABLE(multimaster,[ --enable-multimaster enable multimaster replication], no)dnl
ol_enable_multimaster=${ol_enable_multimaster-no}
-OL_ARG_ENABLE(rewrite,[ --enable-rewrite enable DN rewriting in back-ldap and the rwm overlay], auto)dnl
+OL_ARG_ENABLE(rewrite,[ --enable-rewrite enable DN rewriting in back-ldap and rwm overlay], auto)dnl
OL_ARG_ENABLE(rlookups,[ --enable-rlookups enable reverse lookups of client hostnames], no)dnl
OL_ARG_ENABLE(slapi,[ --enable-slapi enable SLAPI support (experimental)], no)dnl
OL_ARG_ENABLE(slp,[ --enable-slp enable SLPv2 support], no)dnl
@@ -208,70 +226,78 @@ AC_ARG_WITH(xxslapbackends,[
SLAPD Backend Options:])
OL_ARG_ENABLE(backends,[ --enable-backends enable all available backends no|yes|mod],
- no, [no yes mod])dnl
+ --, [no yes mod])dnl
+test -n "$ol_enable_backends" && ol_dflt_backends="$ol_enable_backends"
OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend no|yes|mod],
- yes, [no yes mod])dnl
+ ${ol_dflt_backends-yes}, [no yes mod])dnl
OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend no|yes|mod],
- no, [no yes mod])dnl
+ ${ol_dflt_backends-no}, [no yes mod])dnl
OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend no|yes|mod],
- yes, [no yes mod])dnl
+ ${ol_dflt_backends-yes}, [no yes mod])dnl
OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend no|yes|mod],
- no, [no yes mod])dnl
-OL_ARG_ENABLE(ldbm,[ --enable-ldbm enable ldbm backend no|yes|mod], no,
- [no yes mod])dnl
+ ${ol_dflt_backends-no}, [no yes mod])dnl
+OL_ARG_ENABLE(ldbm,[ --enable-ldbm enable ldbm backend no|yes|mod],
+ ${ol_dflt_backends-no}, [no yes mod])dnl
OL_ARG_WITH(ldbm_api,[ --with-ldbm-api with LDBM API auto|berkeley|bcompat|mdbm|gdbm],
auto, [auto berkeley bcompat mdbm gdbm])
OL_ARG_WITH(ldbm_type,[ --with-ldbm-type use LDBM type auto|btree|hash],
auto, [auto btree hash])
OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend no|yes|mod],
- no, [no yes mod])dnl
+ ${ol_dflt_backends-no}, [no yes mod])dnl
OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend no|yes|mod],
- yes, [no yes mod])dnl
+ ${ol_dflt_backends-yes}, [no yes mod])dnl
OL_ARG_ENABLE(null,[ --enable-null enable null backend no|yes|mod],
- no, [no yes mod])dnl
+ ${ol_dflt_backends-no}, [no yes mod])dnl
OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend no|yes|mod],
- no, [no yes mod])dnl
+ ${ol_dflt_backends-no}, [no yes mod])dnl
OL_ARG_ENABLE(perl,[ --enable-perl enable perl backend no|yes|mod],
- no, [no yes mod])dnl
+ ${ol_dflt_backends-no}, [no yes mod])dnl
OL_ARG_ENABLE(relay,[ --enable-relay enable relay backend no|yes|mod],
- yes, [no yes mod])dnl
+ ${ol_dflt_backends-yes}, [no yes mod])dnl
OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend no|yes|mod],
- no, [no yes mod])dnl
+ ${ol_dflt_backends-no}, [no yes mod])dnl
OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend no|yes|mod],
- no, [no yes mod])dnl
+ ${ol_dflt_backends-no}, [no yes mod])dnl
dnl ----------------------------------------------------------------
dnl SLAPD Overlay Options
-Overlays="denyop dyngroup glue lastmod ppolicy proxycache rwm \
- refint syncprov translucent unique"
+Overlays="accesslog denyop dyngroup dynlist glue lastmod ppolicy proxycache \
+ refint retcode rwm syncprov translucent unique"
AC_ARG_WITH(xxslapoverlays,[
SLAPD Overlay Options:])
OL_ARG_ENABLE(overlays,[ --enable-overlays enable all available overlays no|yes|mod],
- no, [no yes mod])dnl
+ --, [no yes mod])dnl
+test -n "$ol_enable_overlays" && ol_dflt_overlays="$ol_enable_overlays"
+OL_ARG_ENABLE(accesslog,[ --enable-accesslog In-Directory Access Logging overlay no|yes|mod],
+ ${ol_dflt_overlays-no}, [no yes mod])
OL_ARG_ENABLE(denyop,[ --enable-denyop Deny Operation overlay no|yes|mod],
- no, [no yes mod])
+ ${ol_dflt_overlays-no}, [no yes mod])
OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay no|yes|mod],
- no, [no yes mod])
+ ${ol_dflt_overlays-no}, [no yes mod])
+OL_ARG_ENABLE(dynlist,[ --enable-dynlist Dynamic List overlay no|yes|mod],
+ ${ol_dflt_overlays-no}, [no yes mod])
OL_ARG_ENABLE(glue,[ --enable-glue Backend Glue overlay no|yes|mod],
- yes, [no yes mod])
+ ${ol_dflt_overlays-yes}, [no yes mod])
OL_ARG_ENABLE(lastmod,[ --enable-lastmod Last Modification overlay no|yes|mod],
- no, [no yes mod])
+ ${ol_dflt_overlays-no}, [no yes mod])
OL_ARG_ENABLE(ppolicy,[ --enable-ppolicy Password Policy overlay no|yes|mod],
- no, [no yes mod])
+ ${ol_dflt_overlays-no}, [no yes mod])
OL_ARG_ENABLE(proxycache,[ --enable-proxycache Proxy Cache overlay no|yes|mod],
- no, [no yes mod])
+ ${ol_dflt_overlays-no}, [no yes mod])
OL_ARG_ENABLE(refint,[ --enable-refint Referential Integrity overlay no|yes|mod],
- no, [no yes mod])
+ ${ol_dflt_overlays-no}, [no yes mod])
+OL_ARG_ENABLE(retcode,[ --enable-retcode Return Code testing overlay no|yes|mod],
+ ${ol_dflt_overlays-no}, [no yes mod])
OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay no|yes|mod],
- no, [no yes mod])
+ ${ol_dflt_overlays-no}, [no yes mod])
OL_ARG_ENABLE(syncprov,[ --enable-syncprov Syncrepl Provider overlay no|yes|mod],
- yes, [no yes mod])
+ ${ol_dflt_overlays-yes}, [no yes mod])
OL_ARG_ENABLE(translucent,[ --enable-translucent Translucent Proxy overlay no|yes|mod],
- no, [no yes mod])
+ ${ol_dflt_overlays-no}, [no yes mod])
OL_ARG_ENABLE(unique,[ --enable-unique Attribute Uniqueness overlay no|yes|mod],
- no, [no yes mod])
+ ${ol_dflt_overlays-no}, [no yes mod])
dnl ----------------------------------------------------------------
@@ -288,36 +314,15 @@ AC_ENABLE_SHARED
dnl ----------------------------------------------------------------
-dnl General "enable" options
-# Activate any backends that were not explicitly enabled.
-# Note that back_bdb defaults to "yes" so this loop won't touch it.
-if test $ol_enable_backends != no ; then
- for i in $Backends; do
- eval "ol_tmp=\$ol_enable_$i"
- if test $ol_tmp = no ; then
- eval "ol_enable_$i=$ol_enable_backends"
- fi
- done
-fi
-# Activate the overlays
-if test $ol_enable_overlays != no ; then
- for i in $Overlays; do
- eval "ol_tmp=\$ol_enable_$i"
- if test $ol_tmp = no ; then
- eval "ol_enable_$i=$ol_enable_overlays"
- fi
- done
-fi
-
# validate options
if test $ol_enable_slapd = no ; then
dnl SLAPD was specificallly disabled
if test $ol_enable_slapi = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-slapi argument])
fi
- if test $ol_enable_backends != no ; then
+ case "$ol_enable_backends" in yes | mod)
AC_MSG_WARN([slapd disabled, ignoring --enable-backends argument])
- fi
+ esac
for i in $Backends; do
eval "ol_tmp=\$ol_enable_$i"
if test $ol_tmp != no ; then
@@ -353,9 +358,9 @@ if test $ol_enable_slapd = no ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument])
fi
dnl overlays
- if test $ol_enable_overlays != no ; then
+ case "$ol_enable_overlays" in yes | mod)
AC_MSG_WARN([slapd disabled, ignoring --enable-overlays argument])
- fi
+ esac
for i in $Overlays; do
eval "ol_tmp=\$ol_enable_$i"
if test $ol_tmp != no ; then
@@ -367,8 +372,8 @@ if test $ol_enable_slapd = no ; then
# force settings to no
ol_enable_slapi=no
- ol_enable_backends=no
- ol_enable_overlays=no
+ ol_enable_backends=
+ ol_enable_overlays=
ol_enable_modules=no
ol_enable_multimaster=no
ol_enable_rlookups=no
@@ -520,19 +525,22 @@ BUILD_RELAY=no
BUILD_SHELL=no
BUILD_SQL=no
-BUILD_CHAIN=no
+BUILD_ACCESSLOG=no
BUILD_DENYOP=no
BUILD_DYNGROUP=no
+BUILD_DYNLIST=no
BUILD_GLUE=no
BUILD_LASTMOD=no
BUILD_PPOLICY=no
BUILD_PROXYCACHE=no
BUILD_REFINT=no
+BUILD_RETCODE=no
BUILD_RWM=no
BUILD_SYNCPROV=no
BUILD_TRANSLUCENT=no
BUILD_UNIQUE=no
+SLAPD_STATIC_OVERLAYS=
SLAPD_DYNAMIC_OVERLAYS=
SLAPD_MODULES_LDFLAGS=
@@ -668,8 +676,18 @@ dnl AC_MINIX
dnl ----------------------------------------------------------------
dnl Checks for system services
-AC_CYGWIN
-AC_MINGW32
+AC_CANONICAL_HOST()
+AC_DIAGNOSE([obsolete],[AC_CYGWIN is obsolete: use AC_CANONICAL_HOST and $host_os])case $host_os in
+ *cygwin* ) CYGWIN=yes;;
+ * ) CYGWIN=no;;
+esac
+
+AC_CANONICAL_HOST()
+AC_DIAGNOSE([obsolete],[AC_MINGW32 is obsolete: use AC_CANONICAL_HOST and $host_os])case $host_os in
+ *mingw32* ) MINGW32=yes;;
+ * ) MINGW32=no;;
+esac
+
AC_EXEEXT
AC_OBJEXT
@@ -681,7 +699,14 @@ AC_CHECK_LIB(be, be_app, [LIBS="$LIBS -lbe -lroot -lnet"], :, [-lroot -lnet])
dnl ----------------------------------------------------------------
dnl OpenLDAP requires STDC features
-AM_PROG_CC_STDC
+AC_PROG_CC()
+AC_DIAGNOSE([obsolete],[AM_PROG_CC_STDC:
+ your code should no longer depend upon `am_cv_prog_cc_stdc', but upon
+ `ac_cv_prog_cc_stdc'. Remove this warning and the assignment when
+ you adjust the code. You can also remove the above call to
+ AC_PROG_CC if you already called it elsewhere.])
+am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
+
if test "X${am_cv_prog_cc_stdc}" = "Xno" ; then
AC_MSG_ERROR([OpenLDAP requires compiler to support STDC constructs.])
fi
@@ -765,11 +790,11 @@ if test $am_cv_sys_posix_termios = yes ; then
[define if you have POSIX termios])
fi
-AC_CHECK_HEADERS( \
+AC_CHECK_HEADERS( \
arpa/inet.h \
- arpa/nameser.h \
+ arpa/nameser.h \
assert.h \
- bits/types.h \
+ bits/types.h \
conio.h \
crypt.h \
direct.h \
@@ -782,7 +807,7 @@ AC_CHECK_HEADERS( \
libutil.h \
limits.h \
locale.h \
- netinet/tcp.h \
+ netinet/tcp.h \
malloc.h \
memory.h \
psap.h \
@@ -800,11 +825,11 @@ AC_CHECK_HEADERS( \
sys/errno.h \
sys/ioctl.h \
sys/param.h \
- sys/resource.h \
- sys/select.h \
- sys/socket.h \
+ sys/resource.h \
+ sys/select.h \
+ sys/socket.h \
sys/stat.h \
- sys/syslog.h \
+ sys/syslog.h \
sys/time.h \
sys/types.h \
sys/ucred.h \
@@ -812,6 +837,7 @@ AC_CHECK_HEADERS( \
syslog.h \
termios.h \
unistd.h \
+ utime.h \
winsock.h \
winsock2.h \
)
@@ -830,20 +856,20 @@ 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
+dnl
+dnl Skip Winsock tests on Cygwin
+if test "$ac_cv_cygwin" != yes && 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_TRY_LINK([#include
- ],
- [
+ 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)
+ ]])],[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])
@@ -898,14 +924,12 @@ dnl ----------------------------------------------------------------
AC_CHECK_HEADERS( sys/epoll.h )
if test "${ac_cv_header_sys_epoll_h}" = yes; then
AC_MSG_CHECKING(for epoll system call)
-AC_TRY_RUN(
-int main(int argc, char *argv[])
+AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char *argv)
{
int epfd = epoll_create(256);
exit (epfd == -1 ? 1 : 0);
-}, [AC_MSG_RESULT(yes)
-AC_DEFINE(HAVE_EPOLL,1, [define if your system supports epoll])],
-AC_MSG_RESULT(no),AC_MSG_RESULT(no))
+}]])],[AC_MSG_RESULT(yes)
+AC_DEFINE(HAVE_EPOLL,1, [define if your system supports epoll])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
fi
dnl ----------------------------------------------------------------
@@ -950,15 +974,13 @@ if test $have_uuid = no ; then
AC_MSG_CHECKING(to see if -lrpcrt4 is needed for win32 UUID support)
save_LIBS="$LIBS"
LIBS="$LIBS -lrpcrt4"
- AC_TRY_LINK([
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
int __stdcall UuidCreate(void *);
int __stdcall UuidToStringA(void *,void **);
- ],
- [
+ ]], [[
UuidCreate(0);
UuidToStringA(0,0);
- ],
- need_rpcrt=yes, need_rpcrt=no)
+ ]])],[need_rpcrt=yes],[need_rpcrt=no])
if test $need_rpcrt = yes; then
SLAPD_LIBS="$SLAPD_LIBS -lrpcrt4"
fi
@@ -968,56 +990,28 @@ fi
dnl ----------------------------------------------------------------
dnl Check for resolver routines
-dnl need to check for both res_query and __res_query
-dnl need to check -lc, -lbind, and -lresolv
-ol_link_dnssrv=no
-AC_CHECK_FUNC(res_query,:)
-if test $ac_cv_func_res_query = no ; then
- AC_CHECK_FUNC(__res_query,:)
- ac_cv_func_res_query=$ac_cv_func___res_query
-fi
-
-if test $ac_cv_func_res_query = no ; then
- AC_CHECK_LIB(bind, res_query)
- ac_cv_func_res_query=$ac_cv_lib_bind_res_query
-fi
-
-if test $ac_cv_func_res_query = no ; then
- AC_CHECK_LIB(bind, __res_query)
- ac_cv_func_res_query=$ac_cv_lib_bind___res_query
-fi
-
-if test $ac_cv_func_res_query = no ; then
- AC_CHECK_LIB(resolv, res_query)
- ac_cv_func_res_query=$ac_cv_lib_resolv_res_query
-fi
-
-if test $ac_cv_func_res_query = no ; then
- AC_CHECK_LIB(resolv, res_9_query)
- ac_cv_func_res_query=$ac_cv_lib_resolv_res_9_query
-fi
-
-if test $ac_cv_func_res_query = no ; then
- AC_CHECK_LIB(resolv, __res_query)
- ac_cv_func_res_query=$ac_cv_lib_resolv___res_query
-fi
-
-if test $ac_cv_func_res_query = no ; then
- AC_CHECK_LIB(resolv, _res_9_query)
- ac_cv_func_res_query=$ac_cv_lib_resolv__res_9_query
-fi
+OL_RESOLVER_LINK
-if test "$ac_cv_func_res_query" = yes ; then
+ol_link_dnssrv=no
+if test "$ol_cv_lib_resolver" != no ; then
AC_DEFINE(HAVE_RES_QUERY,1,
[define if you have res_query()])
- if test $ol_enable_dnssrv != no ; then
+ if test "$ol_enable_dnssrv" != no ; then
ol_link_dnssrv=yes
fi
+
+ if test "$ol_cv_lib_resolver" != yes ; then
+ LIBS="$ol_cv_lib_resolver $LIBS"
+ fi
fi
-if test "$ol_enable_dnssrv" != no -a "$ol_link_dnssrv" = no ; then
- AC_MSG_ERROR([DNSSRV requires res_query()])
+if test "$ol_enable_dnssrv" = yes -o "$ol_enable_dnssrv" = mod ; then
+ if test "$ol_link_dnssrv" = no ; then
+ AC_MSG_ERROR([DNSSRV requires res_query()])
+ fi
+else
+ ol_enable_dnssrv=no
fi
AC_CHECK_FUNCS( hstrerror )
@@ -1043,13 +1037,12 @@ elif test $ol_enable_ipv6 != no ; then
AC_CACHE_CHECK([struct sockaddr_storage],ol_cv_struct_sockaddr_storage,[
- AC_TRY_COMPILE([
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include
#include
-],[
+]], [[
struct sockaddr_storage ss;
-], [ol_cv_struct_sockaddr_storage=yes],
- [ol_cv_struct_sockaddr_storage=no])])
+]])],[ol_cv_struct_sockaddr_storage=yes],[ol_cv_struct_sockaddr_storage=no])])
if test $ol_cv_inet6_addrstrlen = yes \
-a $ol_cv_struct_sockaddr_storage = yes ; then
@@ -1176,13 +1169,13 @@ if test $ol_link_krb5 = yes -a \( $ol_with_kerberos = yes -o \
dnl save the flags
save_LIBS="$LIBS"
LIBS="$KRB4_LIBS $KRB5_LIBS $LIBS"
- AC_TRY_LINK([
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include
#include
extern int des_debug;
-],[
+]], [[
des_debug = 1;
-], ol_cv_var_des_debug=yes, ol_cv_var_des_debug=no)
+]])],[ol_cv_var_des_debug=yes],[ol_cv_var_des_debug=no])
dnl restore the LIBS
LIBS="$save_LIBS"
])
@@ -1295,7 +1288,7 @@ if test $ol_with_tls != no ; then
fi
else
- AC_WARN([TLS data protection not supported!])
+ AC_MSG_WARN([TLS data protection not supported!])
fi
WITH_TLS=no
@@ -1304,18 +1297,18 @@ if test $ol_link_tls = yes ; then
WITH_TLS=yes
elif test $ol_with_tls = auto ; then
- AC_WARN([Could not locate TLS/SSL package])
- AC_WARN([TLS data protection not supported!])
+ AC_MSG_WARN([Could not locate TLS/SSL package])
+ AC_MSG_WARN([TLS data protection not supported!])
elif test $ol_with_tls != no ; then
- AC_ERROR([Could not locate TLS/SSL package])
+ AC_MSG_ERROR([Could not locate TLS/SSL package])
fi
dnl ----------------------------------------------------------------
dnl LAN Manger password checking requires DES from OpenSSL
if test $ol_enable_lmpasswd != no; then
if test $ol_link_tls != yes ; then
- AC_ERROR([LAN Manager passwords require OpenSSL])
+ AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
fi
AC_DEFINE(SLAPD_LMHASH, 1, [define to support LAN Manager passwords])
@@ -1405,10 +1398,7 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \
dnl pthread_create in $LIBS
AC_CACHE_CHECK([for pthread_create in default libraries],
ol_cv_pthread_create,[
- AC_TRY_RUN(OL_PTHREAD_TEST_PROGRAM,
- [ol_cv_pthread_create=yes],
- [ol_cv_pthread_create=no],
- [AC_TRY_LINK(OL_PTHREAD_TEST_INCLUDES,OL_PTHREAD_TEST_FUNCTION,
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[OL_PTHREAD_TEST_PROGRAM]])],[ol_cv_pthread_create=yes],[ol_cv_pthread_create=no],[_au_changequote([,])AC_TRY_LINK(OL_PTHREAD_TEST_INCLUDES,OL_PTHREAD_TEST_FUNCTION,
[ol_cv_pthread_create=yes],
[ol_cv_pthread_create=no])])])
@@ -1486,15 +1476,12 @@ dnl [ol_cv_pthread_lpthread_lexc])
AC_CACHE_CHECK([for pthread_detach with ],
[ol_cv_func_pthread_detach], [
dnl save the flags
- AC_TRY_LINK([
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include
#ifndef NULL
#define NULL (void*)0
#endif
-],
- [pthread_detach(NULL);],
- [ol_cv_func_pthread_detach=yes],
- [ol_cv_func_pthread_detach=no])
+]], [[pthread_detach(NULL);]])],[ol_cv_func_pthread_detach=yes],[ol_cv_func_pthread_detach=no])
])
if test $ol_cv_func_pthread_detach = no ; then
@@ -1521,10 +1508,7 @@ dnl [ol_cv_pthread_lpthread_lexc])
AC_CACHE_CHECK([if pthread_create() works],
ol_cv_pthread_create_works,[
- AC_TRY_RUN(OL_PTHREAD_TEST_PROGRAM,
- [ol_cv_pthread_create_works=yes],
- [ol_cv_pthread_create_works=no],
- [dnl assume yes
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[OL_PTHREAD_TEST_PROGRAM]])],[ol_cv_pthread_create_works=yes],[ol_cv_pthread_create_works=no],[dnl assume yes
ol_cv_pthread_create_works=yes])])
if test $ol_cv_pthread_create_works = no ; then
@@ -1535,7 +1519,7 @@ dnl [ol_cv_pthread_lpthread_lexc])
if test $ol_with_yielding_select = auto ; then
AC_CACHE_CHECK([if select yields when using pthreads],
ol_cv_pthread_select_yields,[
- AC_TRY_RUN([
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include
#include
#include
@@ -1608,10 +1592,7 @@ int main(argc, argv)
#endif
exit(2);
-}],
- [ol_cv_pthread_select_yields=no],
- [ol_cv_pthread_select_yields=yes],
- [ol_cv_pthread_select_yields=cross])])
+}]])],[ol_cv_pthread_select_yields=no],[ol_cv_pthread_select_yields=yes],[ol_cv_pthread_select_yields=cross])])
if test $ol_cv_pthread_select_yields = cross ; then
AC_MSG_ERROR([crossing compiling: use --with-yielding_select=yes|no|manual])
@@ -1654,9 +1635,9 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \
dnl save the flags
save_LIBS="$LIBS"
LIBS="-all_load $LIBS"
- AC_TRY_LINK([#include ],[
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[
cthread_fork((void *)0, (void *)0);
- ], ol_cv_cthread_all_load=yes, ol_cv_cthread_all_load=no)
+ ]])],[ol_cv_cthread_all_load=yes],[ol_cv_cthread_all_load=no])
dnl restore the LIBS
LIBS="$save_LIBS"
])
@@ -1800,18 +1781,14 @@ if test $ol_link_threads != no -a $ol_link_threads != nt ; then
dnl If it does, we must link with thread support.
AC_CACHE_CHECK([for thread specific errno],
[ol_cv_errno_thread_specific], [
- AC_TRY_LINK([#include ], [errno = 0;],
- [ol_cv_errno_thread_specific=yes],
- [ol_cv_errno_thread_specific=no])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[errno = 0;]])],[ol_cv_errno_thread_specific=yes],[ol_cv_errno_thread_specific=no])
])
dnl The h_errno declaration may dependent upon _REENTRANT.
dnl If it does, we must link with thread support.
AC_CACHE_CHECK([for thread specific h_errno],
[ol_cv_h_errno_thread_specific], [
- AC_TRY_LINK([#include ], [h_errno = 0;],
- [ol_cv_h_errno_thread_specific=yes],
- [ol_cv_h_errno_thread_specific=no])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[h_errno = 0;]])],[ol_cv_h_errno_thread_specific=yes],[ol_cv_h_errno_thread_specific=no])
])
if test $ol_cv_errno_thread_specific != yes \
@@ -2035,20 +2012,20 @@ if test $ol_enable_wrappers != no ; then
AC_MSG_CHECKING([for TCP wrappers library])
save_LIBS="$LIBS"
LIBS="$LIBS -lwrap"
- AC_TRY_LINK([
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include
int allow_severity = 0;
int deny_severity = 0;
struct request_info *req;
- ],[
+ ]], [[
hosts_access(req)
- ],[AC_MSG_RESULT([-lwrap])
+ ]])],[AC_MSG_RESULT([-lwrap])
have_wrappers=yes
LIBS="$save_LIBS"],[
dnl try with -lnsl
LIBS="$LIBS -lnsl"
- AC_TRY_LINK([
+ _au_changequote([,])AC_TRY_LINK([
#include
int allow_severity = 0;
int deny_severity = 0;
@@ -2061,8 +2038,7 @@ hosts_access(req)
LIBS="$save_LIBS -lnsl"],[
AC_MSG_RESULT(no)
have_wrappers=no
- LIBS=$save_LIBS])],[
- have_wrappers=no])],[have_wrappers=no])
+ LIBS=$save_LIBS])])],[have_wrappers=no])
if test $have_wrappers = yes ; then
AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
@@ -2099,6 +2075,9 @@ if test $ol_enable_sql != no ; then
AC_MSG_ERROR([could not locate SQL headers])
])
+ sql_LIBS="$LIBS"
+ LIBS="$LTHREAD_LIBS"
+
AC_CHECK_LIB(iodbc,SQLDriverConnect,[have_iodbc=yes],[have_iodbc=no])
if test $have_iodbc = yes ; then
ol_link_sql="-liodbc"
@@ -2109,6 +2088,8 @@ if test $ol_enable_sql != no ; then
fi
fi
+ LIBS="$sql_LIBS"
+
if test $ol_link_sql != no ; then
SLAPD_SQL_LIBS="$ol_link_sql"
@@ -2246,7 +2227,7 @@ if test $ol_enable_proctitle != no ; then
[have_setproctitle=yes
LUTIL_LIBS="$LUTIL_LIBS -lutil"],
[have_setproctitle=no
- LIBOBJS="$LIBOBJS setproctitle.o"
+ AC_LIBOBJ(setproctitle)
LIBSRCS="$LIBSRCS setproctitle.c"])])
if test $have_setproctitle = yes ; then
@@ -2370,9 +2351,7 @@ dnl Checks for typedefs, structures, and compiler characteristics.
dnl Checks for long long
AC_CACHE_CHECK([long long], ol_cv_type_long_long, [
- AC_TRY_COMPILE([], [long long x;],
- [ol_cv_type_long_long=yes],
- [ol_cv_type_long_long=no])])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[long long x;]])],[ol_cv_type_long_long=yes],[ol_cv_type_long_long=no])])
if test $ol_cv_type_long_long = yes; then
AC_DEFINE(HAVE_LONG_LONG, 1, [define if you have 'long long'])
fi
@@ -2380,7 +2359,7 @@ fi
AC_TYPE_MODE_T
AC_TYPE_OFF_T
AC_TYPE_PID_T
-AM_TYPE_PTRDIFF_T
+AC_CHECK_TYPES([ptrdiff_t])
AC_TYPE_SIGNAL
AC_TYPE_SIZE_T
@@ -2388,7 +2367,15 @@ AC_CHECK_TYPE(ssize_t, [signed int])
AC_CHECK_TYPE(caddr_t, [char *])
OL_TYPE_SOCKLEN_T
-AC_STRUCT_ST_BLKSIZE
+AC_DIAGNOSE([obsolete],[AC_STRUCT_ST_BLKSIZE:
+ your code should no longer depend upon `HAVE_ST_BLKSIZE', but
+ `HAVE_STRUCT_STAT_ST_BLKSIZE'. Remove this warning and
+ the `AC_DEFINE' when you adjust the code.])
+AC_CHECK_MEMBERS([struct stat.st_blksize],[AC_DEFINE(HAVE_ST_BLKSIZE, 1,
+ [Define to 1 if your `struct stat' has
+ `st_blksize'. Deprecated, use
+ `HAVE_STRUCT_STAT_ST_BLKSIZE' instead.])])
+
AC_HEADER_TIME
AC_STRUCT_TM
AC_TYPE_UID_T
@@ -2431,14 +2418,14 @@ dnl ----------------------------------------------------------------
dnl Checks for library functions.
AC_FUNC_MEMCMP
-if test $ac_cv_func_memcmp_clean = no ; then
+if test $ac_cv_func_memcmp_working = no ; then
AC_DEFINE(NEED_MEMCMP_REPLACEMENT,1,
[define if memcmp is not 8-bit clean or is otherwise broken])
fi
-dnl AM_FUNC_MKTIME dnl checks for sys/time.h and unistd.h
+dnl AC_FUNC_MKTIME([]) dnl checks for sys/time.h and unistd.h
AC_FUNC_STRFTIME
-dnl AM_FUNC_STRTOD
+dnl AC_FUNC_STRTOD([])
OL_FUNC_INET_ATON
@@ -2784,6 +2771,18 @@ if test "$ol_link_sql" != no ; then
AC_DEFINE_UNQUOTED(SLAPD_SQL,$MFLAG,[define to support SQL backend])
fi
+if test "$ol_enable_accesslog" != no ; then
+ BUILD_ACCESSLOG=$ol_enable_accesslog
+ if test "$ol_enable_accesslog" = mod ; then
+ MFLAG=SLAPD_MOD_DYNAMIC
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS accesslog.la"
+ else
+ MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS accesslog.o"
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_ACCESSLOG,$MFLAG,[define for In-Directory Access Logging overlay])
+fi
+
if test "$ol_enable_denyop" != no ; then
BUILD_DENYOP=$ol_enable_denyop
if test "$ol_enable_denyop" = mod ; then
@@ -2791,6 +2790,7 @@ if test "$ol_enable_denyop" != no ; then
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS denyop.la"
else
MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS denyop.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_DENYOP,$MFLAG,[define for Dynamic Group overlay])
fi
@@ -2802,10 +2802,23 @@ if test "$ol_enable_dyngroup" != no ; then
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dyngroup.la"
else
MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dyngroup.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group overlay])
fi
+if test "$ol_enable_dynlist" != no ; then
+ BUILD_DYNLIST=$ol_enable_dynlist
+ if test "$ol_enable_dynlist" = mod ; then
+ MFLAG=SLAPD_MOD_DYNAMIC
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dynlist.la"
+ else
+ MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dynlist.o"
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNLIST,$MFLAG,[define for Dynamic List overlay])
+fi
+
if test "$ol_enable_glue" != no ; then
BUILD_GLUE=$ol_enable_glue
if test "$ol_enable_glue" = mod ; then
@@ -2813,6 +2826,7 @@ if test "$ol_enable_glue" != no ; then
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS glue.la"
else
MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS glue.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_GLUE,$MFLAG,[define for Backend Glue overlay])
fi
@@ -2824,6 +2838,7 @@ if test "$ol_enable_lastmod" != no ; then
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS lastmod.la"
else
MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS lastmod.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_LASTMOD,$MFLAG,[define for Last Modification overlay])
fi
@@ -2835,6 +2850,7 @@ if test "$ol_enable_ppolicy" != no ; then
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS ppolicy.la"
else
MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS ppolicy.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_PPOLICY,$MFLAG,[define for Password Policy overlay])
fi
@@ -2846,6 +2862,7 @@ if test "$ol_enable_proxycache" != no ; then
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS pcache.la"
else
MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS pcache.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_PROXYCACHE,$MFLAG,[define for Proxy Cache overlay])
fi
@@ -2857,10 +2874,23 @@ if test "$ol_enable_refint" != no ; then
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS refint.la"
else
MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS refint.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_REFINT,$MFLAG,[define for Referential Integrity overlay])
fi
+if test "$ol_enable_retcode" != no ; then
+ BUILD_RETCODE=$ol_enable_retcode
+ if test "$ol_enable_retcode" = mod ; then
+ MFLAG=SLAPD_MOD_DYNAMIC
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS retcode.la"
+ else
+ MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS retcode.o"
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_RETCODE,$MFLAG,[define for Referential Integrity overlay])
+fi
+
if test "$ol_enable_rwm" != no ; then
BUILD_REWRITE=yes
BUILD_RWM=$ol_enable_rwm
@@ -2869,6 +2899,7 @@ if test "$ol_enable_rwm" != no ; then
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS rwm.la"
else
MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS rwm_x.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_RWM,$MFLAG,[define for Rewrite/Remap overlay])
fi
@@ -2880,6 +2911,7 @@ if test "$ol_enable_syncprov" != no ; then
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS syncprov.la"
else
MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS syncprov.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_SYNCPROV,$MFLAG,[define for Syncrepl Provider overlay])
fi
@@ -2891,6 +2923,7 @@ if test "$ol_enable_translucent" != no ; then
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS translucent.la"
else
MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS translucent.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_TRANSLUCENT,$MFLAG,[define for Translucent Proxy overlay])
fi
@@ -2902,6 +2935,7 @@ if test "$ol_enable_unique" != no ; then
SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS unique.la"
else
MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS unique.o"
fi
AC_DEFINE_UNQUOTED(SLAPD_OVER_UNIQUE,$MFLAG,[define for Attribute Uniqueness overlay])
fi
@@ -2962,14 +2996,16 @@ dnl backends
AC_SUBST(BUILD_SHELL)
AC_SUBST(BUILD_SQL)
dnl overlays
- AC_SUBST(BUILD_CHAIN)
+ AC_SUBST(BUILD_ACCESSLOG)
AC_SUBST(BUILD_DENYOP)
AC_SUBST(BUILD_DYNGROUP)
+ AC_SUBST(BUILD_DYNLIST)
AC_SUBST(BUILD_GLUE)
AC_SUBST(BUILD_LASTMOD)
AC_SUBST(BUILD_PPOLICY)
AC_SUBST(BUILD_PROXYCACHE)
AC_SUBST(BUILD_REFINT)
+ AC_SUBST(BUILD_RETCODE)
AC_SUBST(BUILD_RWM)
AC_SUBST(BUILD_SYNCPROV)
AC_SUBST(BUILD_TRANSLUCENT)
@@ -2990,6 +3026,7 @@ AC_SUBST(SLAPD_MODULES_LDFLAGS)
AC_SUBST(SLAPD_NO_STATIC)
AC_SUBST(SLAPD_STATIC_BACKENDS)
AC_SUBST(SLAPD_DYNAMIC_BACKENDS)
+AC_SUBST(SLAPD_STATIC_OVERLAYS)
AC_SUBST(SLAPD_DYNAMIC_OVERLAYS)
AC_SUBST(PERL_CPPFLAGS)
@@ -3022,7 +3059,7 @@ dnl ----------------------------------------------------------------
dnl final output
dnl
-AC_OUTPUT( \
+AC_CONFIG_FILES([\
Makefile:build/top.mk:Makefile.in:build/dir.mk \
doc/Makefile:build/top.mk:doc/Makefile.in:build/dir.mk \
doc/man/Makefile:build/top.mk:doc/man/Makefile.in:build/dir.mk \
@@ -3039,7 +3076,7 @@ libraries/libldap/Makefile:build/top.mk:libraries/libldap/Makefile.in:build/lib.
libraries/libldap_r/Makefile:build/top.mk:libraries/libldap_r/Makefile.in:build/lib.mk:build/lib-shared.mk \
libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk \
libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk \
-libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-static.mk \
+libraries/librewrite/Makefile:build/top.mk:libraries/librewrite/Makefile.in:build/lib.mk:build/lib-shared.mk \
servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \
servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
servers/slapd/back-bdb/Makefile:build/top.mk:servers/slapd/back-bdb/Makefile.in:build/mod.mk \
@@ -3063,7 +3100,8 @@ servers/slurpd/Makefile:build/top.mk:servers/slurpd/Makefile.in:build/srv.mk \
tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk \
tests/run \
tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \
-,[
+])
+AC_CONFIG_COMMANDS([default],[[
chmod +x tests/run
date > stamp-h
BACKENDSC="servers/slapd/backends.c"
@@ -3119,4 +3157,5 @@ ENDX
fi
echo Please run \"make depend\" to build dependencies
-],[STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS"])
+]],[[STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS"]])
+AC_OUTPUT