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