X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=build%2Fopenldap.m4;h=5a9bb11b6f7be43ed241790eda85a0eaa7cc9673;hb=64d88df65708903943ca954546ced806345bf8f6;hp=b025dd8db51ed82cffde02c6f3ae99ebee53fc9e;hpb=4f3537e853c4985e989137c6af223789479da4d3;p=openldap diff --git a/build/openldap.m4 b/build/openldap.m4 index b025dd8db5..5a9bb11b6f 100644 --- a/build/openldap.m4 +++ b/build/openldap.m4 @@ -2,7 +2,7 @@ dnl OpenLDAP Autoconf Macros dnl $OpenLDAP$ dnl This work is part of OpenLDAP Software . dnl -dnl Copyright 1998-2004 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 @@ -18,10 +18,12 @@ dnl Restricted form of AC_ARG_ENABLE that limits user options dnl dnl $1 = option name dnl $2 = help-string -dnl $3 = default value (auto) +dnl $3 = default value (auto). "--" means do not set it by default dnl $4 = allowed values (auto yes no) +dnl $5 = overridden default AC_DEFUN([OL_ARG_ENABLE], [# OpenLDAP --enable-$1 - AC_ARG_ENABLE($1,changequote(<,>)<$2 [>ifelse($3,,auto,$3)<]>changequote([,]),[ + pushdef([ol_DefVal],ifelse($3,,auto,$3)) + AC_ARG_ENABLE($1,ifelse($4,,[$2],[$2] translit([$4],[ ],[|])) ifelse($3,--,,@<:@ol_DefVal@:>@),[ ol_arg=invalid for ol_val in ifelse($4,,[auto yes no],[$4]) ; do if test "$enableval" = "$ol_val" ; then @@ -32,9 +34,10 @@ AC_DEFUN([OL_ARG_ENABLE], [# OpenLDAP --enable-$1 AC_MSG_ERROR(bad value $enableval for --enable-$1) fi ol_enable_$1="$ol_arg" -], -[ ol_enable_$1=ifelse($3,,"auto","$3")])dnl -dnl AC_VERBOSE(OpenLDAP -enable-$1 $ol_enable_$1) +]ifelse($3,--,,[, +[ ol_enable_$1=ifelse($5,,ol_DefVal,[${]$5[:-]ol_DefVal[}])]]))dnl +dnl AC_MSG_RESULT([OpenLDAP -enable-$1 $ol_enable_$1]) + popdef([ol_DefVal]) # end --enable-$1 ])dnl dnl @@ -46,7 +49,7 @@ dnl $2 = help-string dnl $3 = default value (no) dnl $4 = allowed values (yes or no) AC_DEFUN([OL_ARG_WITH], [# OpenLDAP --with-$1 - AC_ARG_WITH($1,changequote(<,>)<$2 [>ifelse($3,,yes,$3)<]>changequote([,]),[ + AC_ARG_WITH($1,[$2 @<:@]ifelse($3,,yes,$3)@:>@,[ ol_arg=invalid for ol_val in ifelse($4,,[yes no],[$4]) ; do if test "$withval" = "$ol_val" ; then @@ -59,63 +62,9 @@ AC_DEFUN([OL_ARG_WITH], [# OpenLDAP --with-$1 ol_with_$1="$ol_arg" ], [ ol_with_$1=ifelse($3,,"no","$3")])dnl -dnl AC_VERBOSE(OpenLDAP --with-$1 $ol_with_$1) +dnl AC_MSG_RESULT([OpenLDAP --with-$1 $ol_with_$1]) # end --with-$1 ])dnl -dnl -dnl ==================================================================== -dnl -AC_DEFUN(AC_COMPILE_CHECK_SIZEOF, -[changequote(<<, >>)dnl -dnl The name to #define. -define(<>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl -dnl The cache variable name. -define(<>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl -changequote([, ])dnl -AC_MSG_CHECKING(size of $1) -AC_CACHE_VAL(AC_CV_NAME, -[for ac_size in 4 8 1 2 16 $2 ; do # List sizes in rough order of prevalence. - AC_TRY_COMPILE([#include "confdefs.h" -#include -#include -$2 -], [switch (0) case 0: case (sizeof ($1) == $ac_size):;], AC_CV_NAME=$ac_size) - if test x$AC_CV_NAME != x ; then break; fi -done -]) -if test x$AC_CV_NAME = x ; then - AC_MSG_ERROR([cannot determine a size for $1]) -fi -AC_MSG_RESULT($AC_CV_NAME) -AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The number of bytes in type $1]) -undefine([AC_TYPE_NAME])dnl -undefine([AC_CV_NAME])dnl -]) -dnl ==================================================================== -dnl check if hard links are supported. -dnl -AC_DEFUN([OL_PROG_LN_H], [# test for ln hardlink support -AC_MSG_CHECKING(whether ln works) -AC_CACHE_VAL(ol_cv_prog_LN_H, -[rm -f conftest.src conftest.dst -echo "conftest" > conftest.src -if ln conftest.src conftest.dst 2>/dev/null -then - ol_cv_prog_LN_H="ln" -else - ol_cv_prog_LN_H="cp" -fi -rm -f conftest.src conftest.dst -])dnl -LN_H="$ol_cv_prog_LN_H" -if test "$ol_cv_prog_LN_H" = "ln"; then - AC_MSG_RESULT(yes) -else - AC_MSG_RESULT(no) -fi -AC_SUBST(LN_H)dnl -])dnl -dnl dnl ==================================================================== dnl Check for dependency generation flag AC_DEFUN([OL_MKDEPEND], [# test for make depend flag @@ -131,7 +80,7 @@ if test -z "${MKDEP}"; then noCode; EOF if AC_TRY_COMMAND($OL_MKDEP $flag conftest.c) \ - | egrep '^conftest\.'"${ac_objext}" >/dev/null 2>&1 + | grep '^conftest\.'"${ac_objext}" >/dev/null 2>&1 then if test ! -f conftest."${ac_object}" ; then ol_cv_mkdep=$flag @@ -142,6 +91,7 @@ EOF done rm -f conftest* ]) + test "$ol_cv_mkdep" = no && OL_MKDEP=":" else cc_cv_mkdep=yes OL_MKDEP_FLAGS="${MKDEP_FLAGS}" @@ -159,28 +109,37 @@ dnl ==================================================================== dnl Check if system uses EBCDIC instead of ASCII AC_DEFUN([OL_CPP_EBCDIC], [# test for EBCDIC AC_CACHE_CHECK([for EBCDIC],ol_cv_cpp_ebcdic,[ - AC_TRY_CPP([ + AC_PREPROC_IFELSE([AC_LANG_SOURCE([[ #if !('M' == 0xd4) #include <__ASCII__/generate_error.h> #endif -], - [ol_cv_cpp_ebcdic=yes], - [ol_cv_cpp_ebcdic=no])]) +]])],[ol_cv_cpp_ebcdic=yes],[ol_cv_cpp_ebcdic=no])]) if test $ol_cv_cpp_ebcdic = yes ; then AC_DEFINE(HAVE_EBCDIC,1, [define if system uses EBCDIC instead of ASCII]) fi ]) dnl +dnl -------------------------------------------------------------------- +dnl Check for MSVC +AC_DEFUN([OL_MSVC], +[AC_REQUIRE_CPP()dnl +AC_CACHE_CHECK([whether we are using MS Visual C++], ol_cv_msvc, +[AC_PREPROC_IFELSE([AC_LANG_SOURCE([[ +#ifndef _MSC_VER +#include <__FOO__/generate_error.h> +#endif +]])],[ol_cv_msvc=yes],[ol_cv_msvc=no])])]) + dnl -------------------------------------------------------------------- dnl OpenLDAP version of STDC header check w/ EBCDIC support -AC_DEFUN(OL_HEADER_STDC, +AC_DEFUN([OL_HEADER_STDC], [AC_REQUIRE_CPP()dnl AC_REQUIRE([OL_CPP_EBCDIC])dnl AC_CACHE_CHECK([for ANSI C header files], ol_cv_header_stdc, -[AC_TRY_CPP([#include +[AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include #include #include -#include ], ol_cv_header_stdc=yes, ol_cv_header_stdc=no) +#include ]])],[ol_cv_header_stdc=yes],[ol_cv_header_stdc=no]) if test $ol_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. @@ -194,7 +153,7 @@ fi if test $ol_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. -AC_TRY_RUN([#include +AC_RUN_IFELSE([AC_LANG_SOURCE([[#include #ifndef HAVE_EBCDIC # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) @@ -208,7 +167,7 @@ AC_TRY_RUN([#include int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } -], , ol_cv_header_stdc=no, :) +]])],[],[ol_cv_header_stdc=no],[:]) fi]) if test $ol_cv_header_stdc = yes; then AC_DEFINE(STDC_HEADERS) @@ -217,32 +176,98 @@ ac_cv_header_stdc=disable ]) dnl dnl ==================================================================== -dnl Check if struct passwd has pw_gecos -AC_DEFUN([OL_STRUCT_PASSWD_PW_GECOS], [# test for pw_gecos in struct passwd -AC_CACHE_CHECK([struct passwd for pw_gecos],ol_cv_struct_passwd_pw_gecos,[ - AC_TRY_COMPILE([#include ],[ - struct passwd pwd; - pwd.pw_gecos = pwd.pw_name; -], - [ol_cv_struct_passwd_pw_gecos=yes], - [ol_cv_struct_passwd_pw_gecos=no])]) -if test $ol_cv_struct_passwd_pw_gecos = yes ; then - AC_DEFINE(HAVE_PW_GECOS,1, [define if struct passwd has pw_gecos]) +dnl DNS resolver macros +AC_DEFUN([OL_RESOLVER_TRY], +[if test $ol_cv_lib_resolver = no ; then + AC_CACHE_CHECK([for resolver link (]ifelse($2,,default,$2)[)],[$1], +[ + ol_RESOLVER_LIB=ifelse($2,,,$2) + ol_LIBS=$LIBS + LIBS="$ol_RESOLVER_LIB $LIBS" + + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#include +#ifdef HAVE_ARPA_NAMESER_H +# include +#endif +#ifdef HAVE_RESOLV_H +# include +#endif +]], [[{ + int len, status; + char *request = NULL; + unsigned char reply[64*1024]; + unsigned char host[64*1024]; + unsigned char *p; + +#ifdef NS_HFIXEDSZ + /* Bind 8/9 interface */ + len = res_query(request, ns_c_in, ns_t_srv, reply, sizeof(reply)); +#else + /* Bind 4 interface */ +# ifndef T_SRV +# define T_SRV 33 +# endif + len = res_query(request, C_IN, T_SRV, reply, sizeof(reply)); +#endif + p = reply; +#ifdef NS_HFIXEDSZ + /* Bind 8/9 interface */ + p += NS_HFIXEDSZ; +#elif defined(HFIXEDSZ) + /* Bind 4 interface w/ HFIXEDSZ */ + p += HFIXEDSZ; +#else + /* Bind 4 interface w/o HFIXEDSZ */ + p += sizeof(HEADER); +#endif + status = dn_expand( reply, reply+len, p, host, sizeof(host)); +}]])],[$1=yes],[$1=no]) + + LIBS="$ol_LIBS" +]) + + if test $$1 = yes ; then + ol_cv_lib_resolver=ifelse($2,,yes,$2) + fi fi ]) -dnl dnl -------------------------------------------------------------------- -dnl Check if struct passwd has pw_passwd -AC_DEFUN([OL_STRUCT_PASSWD_PW_PASSWD], [# test for pw_passwd in struct passwd -AC_CACHE_CHECK([struct passwd for pw_passwd],ol_cv_struct_passwd_pw_passwd,[ - AC_TRY_COMPILE([#include ],[ - struct passwd pwd; - pwd.pw_passwd = pwd.pw_name; -], - [ol_cv_struct_passwd_pw_passwd=yes], - [ol_cv_struct_passwd_pw_passwd=no])]) -if test $ol_cv_struct_passwd_pw_passwd = yes ; then - AC_DEFINE(HAVE_PW_PASSWD,1, [define if struct passwd has pw_passwd]) +dnl Try to locate appropriate library +AC_DEFUN([OL_RESOLVER_LINK], +[ol_cv_lib_resolver=no +OL_RESOLVER_TRY(ol_cv_resolver_none) +OL_RESOLVER_TRY(ol_cv_resolver_resolv,[-lresolv]) +OL_RESOLVER_TRY(ol_cv_resolver_bind,[-lbind]) +]) +dnl +dnl ==================================================================== +dnl International Components for Unicode (ICU) +AC_DEFUN([OL_ICU], +[ol_icu=no +AC_CHECK_HEADERS( unicode/utypes.h ) +if test $ac_cv_header_unicode_utypes_h = yes ; then + dnl OL_ICULIBS="-licui18n -licuuc -licudata" + OL_ICULIBS="-licuuc -licudata" + + AC_CACHE_CHECK([for ICU libraries], [ol_cv_lib_icu], [ + ol_LIBS="$LIBS" + LIBS="$OL_ICULIBS $LIBS" + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ +#include +]], [[ +(void) u_errorName(0); +]])],[ol_cv_lib_icu=yes],[ol_cv_lib_icu=no]) + LIBS="$ol_LIBS" +]) + + if test $ol_cv_lib_icu != no ; then + ol_icu="$OL_ICULIBS" + AC_DEFINE(HAVE_ICU,1,[define if you actually have ICU]) + fi fi ]) dnl @@ -259,7 +284,7 @@ AC_DEFUN([OL_BERKELEY_DB_TRY], ol_LIBS=$LIBS LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS" - AC_TRY_LINK([ + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #ifdef HAVE_DB_185_H # include #else @@ -273,25 +298,7 @@ AC_DEFUN([OL_BERKELEY_DB_TRY], #ifndef NULL #define NULL ((void*)0) #endif -],[ -#if DB_VERSION_MAJOR > 1 - { - char *version; - int major, minor, patch; - - version = db_version( &major, &minor, &patch ); - - if( major != DB_VERSION_MAJOR || - minor < DB_VERSION_MINOR ) - { - printf("Berkeley DB version mismatch\n" - "\theader: %s\n\tlibrary: %s\n", - DB_VERSION_STRING, version); - return 1; - } - } -#endif - +]], [[ #if DB_VERSION_MAJOR > 2 db_env_create( NULL, 0 ); #elif DB_VERSION_MAJOR > 1 @@ -299,7 +306,7 @@ AC_DEFUN([OL_BERKELEY_DB_TRY], #else (void) dbopen( NULL, 0, 0, 0, NULL); #endif -],[$1=yes],[$1=no]) +]])],[$1=yes],[$1=no]) LIBS="$ol_LIBS" ]) @@ -311,40 +318,68 @@ fi ]) dnl dnl -------------------------------------------------------------------- +dnl Get major and minor version from +AC_DEFUN([OL_BDB_HEADER_VERSION], +[AC_CACHE_CHECK([for Berkeley DB major version in db.h], [ol_cv_bdb_major],[ + AC_LANG_CONFTEST([ +#include +#ifndef DB_VERSION_MAJOR +# define DB_VERSION_MAJOR 1 +#endif +__db_version DB_VERSION_MAJOR +]) + set X `eval "$ac_cpp conftest.$ac_ext" | $EGREP __db_version` none none + ol_cv_bdb_major=${3} +]) +case $ol_cv_bdb_major in [[1-9]]*) : ;; *) + AC_MSG_ERROR([Unknown Berkeley DB major version in db.h]) ;; +esac + +dnl Determine minor version +AC_CACHE_CHECK([for Berkeley DB minor version in db.h], [ol_cv_bdb_minor],[ + AC_LANG_CONFTEST([ +#include +#ifndef DB_VERSION_MINOR +# define DB_VERSION_MINOR 0 +#endif +__db_version DB_VERSION_MINOR +]) + set X `eval "$ac_cpp conftest.$ac_ext" | $EGREP __db_version` none none + ol_cv_bdb_minor=${3} +]) +case $ol_cv_bdb_minor in [[0-9]]*) : ;; *) + AC_MSG_ERROR([Unknown Berkeley DB minor version in db.h]) ;; +esac +]) +dnl +dnl -------------------------------------------------------------------- dnl Try to locate appropriate library AC_DEFUN([OL_BERKELEY_DB_LINK], [ol_cv_lib_db=no + +if test $ol_cv_bdb_major = 4 ; then + OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_m,[-ldb-4.$ol_cv_bdb_minor]) + OL_BERKELEY_DB_TRY(ol_cv_db_db4m,[-ldb4$ol_cv_bdb_minor]) + OL_BERKELEY_DB_TRY(ol_cv_db_db_4m,[-ldb-4$ol_cv_bdb_minor]) + OL_BERKELEY_DB_TRY(ol_cv_db_db_4_m,[-ldb-4-$ol_cv_bdb_minor]) + OL_BERKELEY_DB_TRY(ol_cv_db_db_4,[-ldb-4]) + OL_BERKELEY_DB_TRY(ol_cv_db_db4,[-ldb4]) + OL_BERKELEY_DB_TRY(ol_cv_db_db,[-ldb]) +fi OL_BERKELEY_DB_TRY(ol_cv_db_none) -OL_BERKELEY_DB_TRY(ol_cv_db_db42,[-ldb42]) -OL_BERKELEY_DB_TRY(ol_cv_db_db_42,[-ldb-42]) -OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_2,[-ldb-4.2]) -OL_BERKELEY_DB_TRY(ol_cv_db_db_4_2,[-ldb-4-2]) -OL_BERKELEY_DB_TRY(ol_cv_db_db_4,[-ldb-4]) -OL_BERKELEY_DB_TRY(ol_cv_db_db4,[-ldb4]) -OL_BERKELEY_DB_TRY(ol_cv_db_db,[-ldb]) -OL_BERKELEY_DB_TRY(ol_cv_db_db41,[-ldb41]) -OL_BERKELEY_DB_TRY(ol_cv_db_db_41,[-ldb-41]) -OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_1,[-ldb-4.1]) -OL_BERKELEY_DB_TRY(ol_cv_db_db_4_1,[-ldb-4-1]) -OL_BERKELEY_DB_TRY(ol_cv_db_db3,[-ldb3]) -OL_BERKELEY_DB_TRY(ol_cv_db_db_3,[-ldb-3]) -OL_BERKELEY_DB_TRY(ol_cv_db_db2,[-ldb2]) -OL_BERKELEY_DB_TRY(ol_cv_db_db_2,[-ldb-2]) -OL_BERKELEY_DB_TRY(ol_cv_db_db1,[-ldb1]) -OL_BERKELEY_DB_TRY(ol_cv_db_db_1,[-ldb-1]) ]) dnl dnl -------------------------------------------------------------------- dnl Check if Berkeley DB version AC_DEFUN([OL_BERKELEY_DB_VERSION], -[AC_CACHE_CHECK([for Berkeley DB version match], [ol_cv_berkeley_db_version], [ +[AC_CACHE_CHECK([for Berkeley DB library and header version match], [ol_cv_berkeley_db_version], [ ol_LIBS="$LIBS" LIBS="$LTHREAD_LIBS $LIBS" if test $ol_cv_lib_db != yes ; then LIBS="$ol_cv_lib_db $LIBS" fi - AC_TRY_RUN([ + AC_RUN_IFELSE([AC_LANG_SOURCE([[ #ifdef HAVE_DB_185_H choke me; #else @@ -364,7 +399,10 @@ main() version = db_version( &major, &minor, &patch ); - if( major != DB_VERSION_MAJOR || minor < DB_VERSION_MINOR ) { + if( major != DB_VERSION_MAJOR || + minor != DB_VERSION_MINOR || + patch != DB_VERSION_PATCH ) + { printf("Berkeley DB version mismatch\n" "\theader: %s\n\tlibrary: %s\n", DB_VERSION_STRING, version); @@ -373,10 +411,7 @@ main() #endif return 0; -}], - [ol_cv_berkeley_db_version=yes], - [ol_cv_berkeley_db_version=no], - [ol_cv_berkeley_db_version=cross]) +}]])],[ol_cv_berkeley_db_version=yes],[ol_cv_berkeley_db_version=no],[ol_cv_berkeley_db_version=cross]) LIBS="$ol_LIBS" ]) @@ -396,7 +431,7 @@ AC_DEFUN([OL_BERKELEY_DB_THREAD], LIBS="$ol_cv_lib_db $LIBS" fi - AC_TRY_RUN([ + AC_RUN_IFELSE([AC_LANG_SOURCE([[ #ifdef HAVE_DB_185_H choke me; #else @@ -430,9 +465,9 @@ main() } #if (DB_VERSION_MAJOR > 3) || (DB_VERSION_MINOR >= 1) - rc = env->open( env, NULL, flags, 0 ); + rc = (env->open)( env, NULL, flags, 0 ); #else - rc = env->open( env, NULL, NULL, flags, 0 ); + rc = (env->open)( env, NULL, NULL, flags, 0 ); #endif if ( rc == 0 ) { @@ -459,10 +494,7 @@ main() #endif return rc; -}], - [ol_cv_berkeley_db_thread=yes], - [ol_cv_berkeley_db_thread=no], - [ol_cv_berkeley_db_thread=cross]) +}]])],[ol_cv_berkeley_db_thread=yes],[ol_cv_berkeley_db_thread=no],[ol_cv_berkeley_db_thread=cross]) LIBS="$ol_LIBS" ]) @@ -479,6 +511,13 @@ AC_DEFUN([OL_BERKELEY_DB], [ol_cv_berkeley_db=no AC_CHECK_HEADERS(db.h) if test $ac_cv_header_db_h = yes; then + OL_BDB_HEADER_VERSION + OL_BDB_COMPAT + + if test $ol_cv_bdb_compat != yes ; then + AC_MSG_ERROR([BerkeleyDB version incompatible with BDB/HDB backends]) + fi + OL_BERKELEY_DB_LINK if test "$ol_cv_lib_db" != no ; then ol_cv_berkeley_db=yes @@ -490,7 +529,7 @@ fi dnl -------------------------------------------------------------------- dnl Check for version compatility with back-bdb AC_DEFUN([OL_BDB_COMPAT], -[AC_CACHE_CHECK([Berkeley DB version for BDB backend], [ol_cv_bdb_compat],[ +[AC_CACHE_CHECK([if Berkeley DB version supported by BDB/HDB backends], [ol_cv_bdb_compat],[ AC_EGREP_CPP(__db_version_compat,[ #include @@ -502,190 +541,15 @@ AC_DEFUN([OL_BDB_COMPAT], # define DB_VERSION_MINOR 0 #endif -/* require 4.2 or later */ -#if (DB_VERSION_MAJOR >= 4) && (DB_VERSION_MINOR >= 2) +#define DB_VERSION_MM ((DB_VERSION_MAJOR<<8)|DB_VERSION_MINOR) + +/* require 4.4 or later */ +#if DB_VERSION_MM >= 0x0404 __db_version_compat #endif ], [ol_cv_bdb_compat=yes], [ol_cv_bdb_compat=no])]) ]) -dnl -------------------------------------------------------------------- -dnl Find old Berkeley DB 1.85/1.86 -AC_DEFUN([OL_BERKELEY_COMPAT_DB], -[AC_CHECK_HEADERS(db_185.h db.h) -if test $ac_cv_header_db_185_h = yes -o $ac_cv_header_db_h = yes; then - AC_CACHE_CHECK([if Berkeley DB header compatibility], [ol_cv_header_db1],[ - AC_EGREP_CPP(__db_version_1,[ -#if HAVE_DB_185_H -# include -#else -# include -#endif - - /* this check could be improved */ -#ifndef DB_VERSION_MAJOR -# define DB_VERSION_MAJOR 1 -#endif - -#if DB_VERSION_MAJOR == 1 - __db_version_1 -#endif -], [ol_cv_header_db1=yes], [ol_cv_header_db1=no])]) - - if test $ol_cv_header_db1 = yes ; then - OL_BERKELEY_DB_LINK - if test "$ol_cv_lib_db" != no ; then - ol_cv_berkeley_db=yes - fi - fi -fi -]) -dnl -dnl ==================================================================== -dnl Check if GDBM library exists -dnl Check for gdbm_open in standard libraries or -lgdbm -dnl -dnl defines ol_cv_lib_gdbm to 'yes' or '-lgdbm' or 'no' -dnl 'yes' implies gdbm_open is in $LIBS -dnl -dnl uses: -dnl AC_CHECK_FUNC(gdbm_open) -dnl AC_CHECK_LIB(gdbm,gdbm_open) -dnl -AC_DEFUN([OL_LIB_GDBM], -[AC_CACHE_CHECK(for GDBM library, [ol_cv_lib_gdbm], -[ ol_LIBS="$LIBS" - AC_CHECK_FUNC(gdbm_open,[ol_cv_lib_gdbm=yes], [ - AC_CHECK_LIB(gdbm,gdbm_open,[ol_cv_lib_gdbm=-lgdbm],[ol_cv_lib_gdbm=no]) - ]) - LIBS="$ol_LIBS" -]) -])dnl -dnl -dnl -------------------------------------------------------------------- -dnl Check if GDBM exists -dnl -dnl defines ol_cv_gdbm to 'yes' or 'no' -dnl -dnl uses: -dnl OL_LIB_GDBM -dnl AC_CHECK_HEADERS(gdbm.h) -dnl -AC_DEFUN([OL_GDBM], -[AC_REQUIRE([OL_LIB_GDBM]) - AC_CHECK_HEADERS(gdbm.h) - AC_CACHE_CHECK(for db, [ol_cv_gdbm], [ - if test $ol_cv_lib_gdbm = no -o $ac_cv_header_gdbm_h = no ; then - ol_cv_gdbm=no - else - ol_cv_gdbm=yes - fi -]) - if test $ol_cv_gdbm = yes ; then - AC_DEFINE(HAVE_GDBM,1, [define if GNU DBM is available]) - fi -])dnl -dnl -dnl ==================================================================== -dnl Check if MDBM library exists -dnl Check for mdbm_open in standard libraries or -lmdbm -dnl -dnl defines ol_cv_lib_mdbm to 'yes' or '-lmdbm' or 'no' -dnl 'yes' implies mdbm_open is in $LIBS -dnl -dnl uses: -dnl AC_CHECK_FUNC(mdbm_set_chain) -dnl AC_CHECK_LIB(mdbm,mdbm_set_chain) -dnl -AC_DEFUN([OL_LIB_MDBM], -[AC_CACHE_CHECK(for MDBM library, [ol_cv_lib_mdbm], -[ ol_LIBS="$LIBS" - AC_CHECK_FUNC(mdbm_set_chain,[ol_cv_lib_mdbm=yes], [ - AC_CHECK_LIB(mdbm,mdbm_set_chain,[ol_cv_lib_mdbm=-lmdbm],[ol_cv_lib_mdbm=no]) - ]) - LIBS="$ol_LIBS" -]) -])dnl -dnl -dnl -------------------------------------------------------------------- -dnl Check if MDBM exists -dnl -dnl defines ol_cv_mdbm to 'yes' or 'no' -dnl -dnl uses: -dnl OL_LIB_MDBM -dnl AC_CHECK_HEADERS(mdbm.h) -dnl -AC_DEFUN([OL_MDBM], -[AC_REQUIRE([OL_LIB_MDBM]) - AC_CHECK_HEADERS(mdbm.h) - AC_CACHE_CHECK(for db, [ol_cv_mdbm], [ - if test $ol_cv_lib_mdbm = no -o $ac_cv_header_mdbm_h = no ; then - ol_cv_mdbm=no - else - ol_cv_mdbm=yes - fi -]) - if test $ol_cv_mdbm = yes ; then - AC_DEFINE(HAVE_MDBM,1, [define if MDBM is available]) - fi -])dnl -dnl -dnl ==================================================================== -dnl Check if NDBM library exists -dnl Check for dbm_open in standard libraries or -lndbm or -ldbm -dnl -dnl defines ol_cv_lib_ndbm to 'yes' or '-lndbm' or -ldbm or 'no' -dnl 'yes' implies ndbm_open is in $LIBS -dnl -dnl uses: -dnl AC_CHECK_FUNC(dbm_open) -dnl AC_CHECK_LIB(ndbm,dbm_open) -dnl AC_CHECK_LIB(dbm,dbm_open) -dnl -dnl restrictions: -dnl should also check SVR4 case: dbm_open() in -lucb but that -dnl would requiring dealing with -L/usr/ucblib -dnl -AC_DEFUN([OL_LIB_NDBM], -[AC_CACHE_CHECK(for NDBM library, [ol_cv_lib_ndbm], -[ ol_LIBS="$LIBS" - AC_CHECK_FUNC(dbm_open,[ol_cv_lib_ndbm=yes], [ - AC_CHECK_LIB(ndbm,dbm_open,[ol_cv_lib_ndbm=-lndbm], [ - AC_CHECK_LIB(dbm,dbm_open,[ol_cv_lib_ndbm=-ldbm], - [ol_cv_lib_ndbm=no])dnl - ]) - ]) - LIBS="$ol_LIBS" -]) -])dnl -dnl -dnl -------------------------------------------------------------------- -dnl Check if NDBM exists -dnl -dnl defines ol_cv_ndbm to 'yes' or 'no' -dnl -dnl uses: -dnl OL_LIB_NDBM -dnl AC_CHECK_HEADERS(ndbm.h) -dnl -dnl restrictions: -dnl Doesn't handle SVR4 case (see above) -dnl -AC_DEFUN([OL_NDBM], -[AC_REQUIRE([OL_LIB_NDBM]) - AC_CHECK_HEADERS(ndbm.h) - AC_CACHE_CHECK(for db, [ol_cv_ndbm], [ - if test $ol_cv_lib_ndbm = no -o $ac_cv_header_ndbm_h = no ; then - ol_cv_ndbm=no - else - ol_cv_ndbm=yes - fi -]) - if test $ol_cv_ndbm = yes ; then - AC_DEFINE(HAVE_NDBM,1, [define if NDBM is available]) - fi -])dnl dnl dnl ==================================================================== dnl Check POSIX Thread version @@ -711,11 +575,11 @@ dnl Draft 9 and 10 are equivalent for our purposes. dnl AC_DEFUN([OL_POSIX_THREAD_VERSION], [AC_CACHE_CHECK([POSIX thread version],[ol_cv_pthread_version],[ - AC_TRY_COMPILE([ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ # include - ],[ + ]], [[ int i = PTHREAD_CREATE_JOINABLE; - ],[ + ]])],[ AC_EGREP_HEADER(pthread_detach,pthread.h, ol_cv_pthread_version=10, ol_cv_pthread_version=8)],[ AC_EGREP_CPP(draft7,[ @@ -736,8 +600,8 @@ AC_DEFUN([OL_POSIX_THREAD_VERSION], ])dnl dnl dnl -------------------------------------------------------------------- -AC_DEFUN([OL_PTHREAD_TEST_INCLUDES], -[/* pthread test headers */ +AC_DEFUN([OL_PTHREAD_TEST_INCLUDES], [[ +/* pthread test headers */ #include #if HAVE_PTHREADS < 7 #include @@ -751,8 +615,8 @@ static void *task(p) { return (void *) (p == NULL); } -]) -AC_DEFUN([OL_PTHREAD_TEST_FUNCTION],[ +]]) +AC_DEFUN([OL_PTHREAD_TEST_FUNCTION],[[ /* pthread test function */ #ifndef PTHREAD_CREATE_DETACHED #define PTHREAD_CREATE_DETACHED 1 @@ -798,10 +662,10 @@ AC_DEFUN([OL_PTHREAD_TEST_FUNCTION],[ #endif return 0; -]) +]]) AC_DEFUN([OL_PTHREAD_TEST_PROGRAM], -[OL_PTHREAD_TEST_INCLUDES +AC_LANG_SOURCE([OL_PTHREAD_TEST_INCLUDES int main(argc, argv) int argc; @@ -809,7 +673,7 @@ int main(argc, argv) { OL_PTHREAD_TEST_FUNCTION } -]) +])) dnl -------------------------------------------------------------------- AC_DEFUN([OL_PTHREAD_TRY], [# Pthread try link: $1 ($2) if test "$ol_link_threads" = no ; then @@ -819,9 +683,11 @@ if test "$ol_link_threads" = no ; then ol_LIBS="$LIBS" LIBS="$1 $LIBS" - AC_TRY_RUN(OL_PTHREAD_TEST_PROGRAM, - [$2=yes], [$2=no], - [AC_TRY_LINK(OL_PTHREAD_TEST_INCLUDES,OL_PTHREAD_TEST_FUNCTION, + AC_RUN_IFELSE([OL_PTHREAD_TEST_PROGRAM], + [$2=yes], + [$2=no], + [AC_LINK_IFELSE([AC_LANG_PROGRAM(OL_PTHREAD_TEST_INCLUDES, + OL_PTHREAD_TEST_FUNCTION)], [$2=yes], [$2=no])]) # restore the LIBS @@ -905,11 +771,11 @@ AC_DEFUN([OL_LINUX_THREADS], [ AC_REQUIRE([OL_HEADER_LINUX_THREADS]) AC_REQUIRE([OL_SYS_LINUX_THREADS]) AC_CACHE_CHECK([for LinuxThreads consistency], [ol_cv_linux_threads], [ - if test $ol_cv_header_linux_threads = yes -a \ - $ol_cv_sys_linux_threads = yes; then + if test $ol_cv_header_linux_threads = yes && + test $ol_cv_sys_linux_threads = yes; then ol_cv_linux_threads=yes - elif test $ol_cv_header_linux_threads = no -a \ - $ol_cv_sys_linux_threads = no; then + elif test $ol_cv_header_linux_threads = no && + test $ol_cv_sys_linux_threads = no; then ol_cv_linux_threads=no else ol_cv_linux_threads=error @@ -921,7 +787,7 @@ dnl ==================================================================== dnl Check for POSIX Regex AC_DEFUN([OL_POSIX_REGEX], [ AC_CACHE_CHECK([for compatible POSIX regex],ol_cv_c_posix_regex,[ - AC_TRY_RUN([ + AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #include static char *pattern, *string; @@ -943,17 +809,14 @@ main() regfree(&re); return rc; -}], - [ol_cv_c_posix_regex=yes], - [ol_cv_c_posix_regex=no], - [ol_cv_c_posix_regex=cross])]) +}]])],[ol_cv_c_posix_regex=yes],[ol_cv_c_posix_regex=no],[ol_cv_c_posix_regex=cross])]) ]) dnl dnl ==================================================================== dnl Check if toupper() requires islower() to be called first AC_DEFUN([OL_C_UPPER_LOWER], [AC_CACHE_CHECK([if toupper() requires islower()],ol_cv_c_upper_lower,[ - AC_TRY_RUN([ + AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include main() { @@ -961,10 +824,7 @@ main() exit(0); else exit(1); -}], - [ol_cv_c_upper_lower=no], - [ol_cv_c_upper_lower=yes], - [ol_cv_c_upper_lower=safe])]) +}]])],[ol_cv_c_upper_lower=no],[ol_cv_c_upper_lower=yes],[ol_cv_c_upper_lower=safe])]) if test $ol_cv_c_upper_lower != no ; then AC_DEFINE(C_UPPER_LOWER,1, [define if toupper() requires islower()]) fi @@ -978,17 +838,14 @@ dnl Declaration of sys_errlist on BSD4.4 interferes with our declaration. dnl Reported by Keith Bostic. AC_DEFUN([OL_SYS_ERRLIST], [AC_CACHE_CHECK([declaration of sys_errlist],ol_cv_dcl_sys_errlist,[ - AC_TRY_COMPILE([ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include #include #include -#ifdef WINNT +#ifdef _WIN32 #include -#endif ], - [char *c = (char *) *sys_errlist], - [ol_cv_dcl_sys_errlist=yes - ol_cv_have_sys_errlist=yes], - [ol_cv_dcl_sys_errlist=no])]) +#endif ]], [[char *c = (char *) *sys_errlist]])],[ol_cv_dcl_sys_errlist=yes + ol_cv_have_sys_errlist=yes],[ol_cv_dcl_sys_errlist=no])]) # # It's possible (for near-UNIX clones) that sys_errlist doesn't exist if test $ol_cv_dcl_sys_errlist = no ; then @@ -996,10 +853,7 @@ if test $ol_cv_dcl_sys_errlist = no ; then [define if sys_errlist is not declared in stdio.h or errno.h]) AC_CACHE_CHECK([existence of sys_errlist],ol_cv_have_sys_errlist,[ - AC_TRY_LINK([#include ], - [char *c = (char *) *sys_errlist], - [ol_cv_have_sys_errlist=yes], - [ol_cv_have_sys_errlist=no])]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[char *c = (char *) *sys_errlist]])],[ol_cv_have_sys_errlist=yes],[ol_cv_have_sys_errlist=no])]) fi if test $ol_cv_have_sys_errlist = yes ; then AC_DEFINE(HAVE_SYS_ERRLIST,1, @@ -1012,21 +866,20 @@ AC_DEFUN([OL_NONPOSIX_STRERROR_R], ol_decl_strerror_r=yes, ol_decl_strerror_r=no)dnl if test $ol_decl_strerror_r = yes ; then - AC_TRY_COMPILE([#include ], - [ /* from autoconf 2.59 */ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[ /* from autoconf 2.59 */ char buf[100]; char x = *strerror_r (0, buf, sizeof buf); char *p = strerror_r (0, buf, sizeof buf); - ], ol_cv_nonposix_strerror_r=yes, ol_cv_nonposix_strerror_r=no) + ]])],[ol_cv_nonposix_strerror_r=yes],[ol_cv_nonposix_strerror_r=no]) else - AC_TRY_RUN([ + AC_RUN_IFELSE([AC_LANG_SOURCE([[ main() { char buf[100]; buf[0] = 0; strerror_r( 1, buf, sizeof buf ); exit( buf[0] == 0 ); } - ], ol_cv_nonposix_strerror_r=yes, ol_cv_nonposix_strerror=no) + ]])],[ol_cv_nonposix_strerror_r=yes],[ol_cv_nonposix_strerror=no],[ol_cv_nonposix_strerror=no]) fi ]) if test $ol_cv_nonposix_strerror_r = yes ; then @@ -1049,12 +902,11 @@ dnl ==================================================================== dnl Early MIPS compilers (used in Ultrix 4.2) don't like dnl "int x; int *volatile a = &x; *a = 0;" dnl -- borrowed from PDKSH -AC_DEFUN(OL_C_VOLATILE, +AC_DEFUN([OL_C_VOLATILE], [AC_CACHE_CHECK(if compiler understands volatile, ol_cv_c_volatile, - [AC_TRY_COMPILE([int x, y, z;], - [volatile int a; int * volatile b = x ? &y : &z; + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[int x, y, z;]], [[volatile int a; int * volatile b = x ? &y : &z; /* Older MIPS compilers (eg., in Ultrix 4.2) don't like *b = 0 */ - *b = 0;], ol_cv_c_volatile=yes, ol_cv_c_volatile=no)]) + *b = 0;]])],[ol_cv_c_volatile=yes],[ol_cv_c_volatile=no])]) if test $ol_cv_c_volatile = yes; then : else @@ -1068,13 +920,12 @@ AC_DEFUN([OL_LIB_FETCH], [ol_LIBS=$LIBS LIBS="-lfetch -lcom_err $LIBS" AC_CACHE_CHECK([fetch(3) library],ol_cv_lib_fetch,[ - AC_TRY_LINK([ + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ +#ifdef HAVE_SYS_PARAM_H #include +#endif #include -#include ], - [struct url *u = fetchParseURL("file:///"); ], - [ol_cv_lib_fetch=yes], - [ol_cv_lib_fetch=no])]) +#include ]], [[struct url *u = fetchParseURL("file:///"); ]])],[ol_cv_lib_fetch=yes],[ol_cv_lib_fetch=no])]) LIBS=$ol_LIBS if test $ol_cv_lib_fetch != no ; then ol_link_fetch="-lfetch -lcom_err" @@ -1084,41 +935,10 @@ fi ])dnl dnl dnl ==================================================================== -dnl Define sig_atomic_t if not defined in signal.h -AC_DEFUN(OL_TYPE_SIG_ATOMIC_T, - [AC_CACHE_CHECK(for sig_atomic_t, ol_cv_type_sig_atomic_t, - [AC_TRY_COMPILE([#include ], [sig_atomic_t atomic;], - ol_cv_type_sig_atomic_t=yes, ol_cv_type_sig_atomic_t=no)]) - if test $ol_cv_type_sig_atomic_t = no; then - AC_DEFINE(sig_atomic_t,int, - [define to atomic type if sig_atomic_t is not available]) - fi - ])dnl -dnl -dnl ==================================================================== -dnl Define socklen_t if not defined in sys/types.h or sys/socket.h -AC_DEFUN(OL_TYPE_SOCKLEN_T, - [AC_CACHE_CHECK(for socklen_t, ol_cv_type_socklen_t, - [AC_TRY_COMPILE([ -#ifdef HAVE_SYS_TYPES_H -#include -#endif -#ifdef HAVE_SYS_SOCKET_H -#include -#endif -], [socklen_t len;], - ol_cv_type_socklen_t=yes, ol_cv_type_socklen_t=no)]) - if test $ol_cv_type_socklen_t = no; then - AC_DEFINE(socklen_t, int, - [define to int if socklen_t is not available]) - fi - ])dnl -dnl -dnl ==================================================================== dnl Define inet_aton is available -AC_DEFUN(OL_FUNC_INET_ATON, +AC_DEFUN([OL_FUNC_INET_ATON], [AC_CACHE_CHECK([for inet_aton()], ol_cv_func_inet_aton, - [AC_TRY_LINK([ + [AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #ifdef HAVE_SYS_TYPES_H # include #endif @@ -1132,9 +952,8 @@ AC_DEFUN(OL_FUNC_INET_ATON, # include # endif #endif -], [struct in_addr in; -int rc = inet_aton( "255.255.255.255", &in );], - ol_cv_func_inet_aton=yes, ol_cv_func_inet_aton=no)]) +]], [[struct in_addr in; +int rc = inet_aton( "255.255.255.255", &in );]])],[ol_cv_func_inet_aton=yes],[ol_cv_func_inet_aton=no])]) if test $ol_cv_func_inet_aton != no; then AC_DEFINE(HAVE_INET_ATON, 1, [define to you inet_aton(3) is available]) @@ -1143,25 +962,19 @@ int rc = inet_aton( "255.255.255.255", &in );], dnl dnl ==================================================================== dnl check no of arguments for ctime_r -AC_DEFUN(OL_FUNC_CTIME_R_NARGS, +AC_DEFUN([OL_FUNC_CTIME_R_NARGS], [AC_CACHE_CHECK(number of arguments of ctime_r, ol_cv_func_ctime_r_nargs, - [AC_TRY_COMPILE([#include ], - [time_t ti; char *buffer; ctime_r(&ti,buffer,32);], - ol_cv_func_ctime_r_nargs3=yes, - ol_cv_func_ctime_r_nargs3=no) + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[time_t ti; char *buffer; ctime_r(&ti,buffer,32);]])],[ol_cv_func_ctime_r_nargs3=yes],[ol_cv_func_ctime_r_nargs3=no]) - AC_TRY_COMPILE([#include ], - [time_t ti; char *buffer; ctime_r(&ti,buffer);], - ol_cv_func_ctime_r_nargs2=yes, - ol_cv_func_ctime_r_nargs2=no) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[time_t ti; char *buffer; ctime_r(&ti,buffer);]])],[ol_cv_func_ctime_r_nargs2=yes],[ol_cv_func_ctime_r_nargs2=no]) - if test $ol_cv_func_ctime_r_nargs3 = yes -a \ - $ol_cv_func_ctime_r_nargs2 = no ; then + if test $ol_cv_func_ctime_r_nargs3 = yes && + test $ol_cv_func_ctime_r_nargs2 = no ; then ol_cv_func_ctime_r_nargs=3 - elif test $ol_cv_func_ctime_r_nargs3 = no -a \ - $ol_cv_func_ctime_r_nargs2 = yes ; then + elif test $ol_cv_func_ctime_r_nargs3 = no && + test $ol_cv_func_ctime_r_nargs2 = yes ; then ol_cv_func_ctime_r_nargs=2 @@ -1178,11 +991,9 @@ AC_DEFUN(OL_FUNC_CTIME_R_NARGS, dnl dnl -------------------------------------------------------------------- dnl check return type of ctime_r() -AC_DEFUN(OL_FUNC_CTIME_R_TYPE, +AC_DEFUN([OL_FUNC_CTIME_R_TYPE], [AC_CACHE_CHECK(return type of ctime_r, ol_cv_func_ctime_r_type, - [AC_TRY_COMPILE([#include ], - [extern int (ctime_r)();], - ol_cv_func_ctime_r_type="int", ol_cv_func_ctime_r_type="charp") + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[extern int (ctime_r)();]])],[ol_cv_func_ctime_r_type="int"],[ol_cv_func_ctime_r_type="charp"]) ]) if test $ol_cv_func_ctime_r_type = "int" ; then AC_DEFINE(CTIME_R_RETURNS_INT,1, [define if ctime_r() returns int]) @@ -1190,41 +1001,35 @@ AC_DEFUN(OL_FUNC_CTIME_R_TYPE, ])dnl dnl ==================================================================== dnl check no of arguments for gethostbyname_r -AC_DEFUN(OL_FUNC_GETHOSTBYNAME_R_NARGS, +AC_DEFUN([OL_FUNC_GETHOSTBYNAME_R_NARGS], [AC_CACHE_CHECK(number of arguments of gethostbyname_r, ol_cv_func_gethostbyname_r_nargs, - [AC_TRY_COMPILE([#include + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include #include #include #include -#define BUFSIZE (sizeof(struct hostent)+10)], - [struct hostent hent; char buffer[BUFSIZE]; +#define BUFSIZE (sizeof(struct hostent)+10)]], [[struct hostent hent; char buffer[BUFSIZE]; int bufsize=BUFSIZE;int h_errno; (void)gethostbyname_r("segovia.cs.purdue.edu", &hent, - buffer, bufsize, &h_errno);], - ol_cv_func_gethostbyname_r_nargs5=yes, - ol_cv_func_gethostbyname_r_nargs5=no) + buffer, bufsize, &h_errno);]])],[ol_cv_func_gethostbyname_r_nargs5=yes],[ol_cv_func_gethostbyname_r_nargs5=no]) - AC_TRY_COMPILE([#include + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include #include #include #include -#define BUFSIZE (sizeof(struct hostent)+10)], - [struct hostent hent;struct hostent *rhent; +#define BUFSIZE (sizeof(struct hostent)+10)]], [[struct hostent hent;struct hostent *rhent; char buffer[BUFSIZE]; int bufsize=BUFSIZE;int h_errno; (void)gethostbyname_r("localhost", &hent, buffer, bufsize, - &rhent, &h_errno);], - ol_cv_func_gethostbyname_r_nargs6=yes, - ol_cv_func_gethostbyname_r_nargs6=no) + &rhent, &h_errno);]])],[ol_cv_func_gethostbyname_r_nargs6=yes],[ol_cv_func_gethostbyname_r_nargs6=no]) - if test $ol_cv_func_gethostbyname_r_nargs5 = yes -a \ - $ol_cv_func_gethostbyname_r_nargs6 = no ; then + if test $ol_cv_func_gethostbyname_r_nargs5 = yes && + test $ol_cv_func_gethostbyname_r_nargs6 = no ; then ol_cv_func_gethostbyname_r_nargs=5 - elif test $ol_cv_func_gethostbyname_r_nargs5 = no -a \ - $ol_cv_func_gethostbyname_r_nargs6 = yes ; then + elif test $ol_cv_func_gethostbyname_r_nargs5 = no && + test $ol_cv_func_gethostbyname_r_nargs6 = yes ; then ol_cv_func_gethostbyname_r_nargs=6 @@ -1240,46 +1045,40 @@ AC_DEFUN(OL_FUNC_GETHOSTBYNAME_R_NARGS, ])dnl dnl dnl check no of arguments for gethostbyaddr_r -AC_DEFUN(OL_FUNC_GETHOSTBYADDR_R_NARGS, +AC_DEFUN([OL_FUNC_GETHOSTBYADDR_R_NARGS], [AC_CACHE_CHECK(number of arguments of gethostbyaddr_r, [ol_cv_func_gethostbyaddr_r_nargs], - [AC_TRY_COMPILE([#include + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include #include #include #include -#define BUFSIZE (sizeof(struct hostent)+10)], - [struct hostent hent; char buffer[BUFSIZE]; +#define BUFSIZE (sizeof(struct hostent)+10)]], [[struct hostent hent; char buffer[BUFSIZE]; struct in_addr add; size_t alen=sizeof(struct in_addr); int bufsize=BUFSIZE;int h_errno; (void)gethostbyaddr_r( (void *)&(add.s_addr), - alen, AF_INET, &hent, buffer, bufsize, &h_errno);], - ol_cv_func_gethostbyaddr_r_nargs7=yes, - ol_cv_func_gethostbyaddr_r_nargs7=no) + alen, AF_INET, &hent, buffer, bufsize, &h_errno);]])],[ol_cv_func_gethostbyaddr_r_nargs7=yes],[ol_cv_func_gethostbyaddr_r_nargs7=no]) - AC_TRY_COMPILE([#include + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include #include #include #include -#define BUFSIZE (sizeof(struct hostent)+10)], - [struct hostent hent; +#define BUFSIZE (sizeof(struct hostent)+10)]], [[struct hostent hent; struct hostent *rhent; char buffer[BUFSIZE]; struct in_addr add; size_t alen=sizeof(struct in_addr); int bufsize=BUFSIZE;int h_errno; (void)gethostbyaddr_r( (void *)&(add.s_addr), alen, AF_INET, &hent, buffer, bufsize, - &rhent, &h_errno);], - ol_cv_func_gethostbyaddr_r_nargs8=yes, - ol_cv_func_gethostbyaddr_r_nargs8=no) + &rhent, &h_errno);]])],[ol_cv_func_gethostbyaddr_r_nargs8=yes],[ol_cv_func_gethostbyaddr_r_nargs8=no]) - if test $ol_cv_func_gethostbyaddr_r_nargs7 = yes -a \ - $ol_cv_func_gethostbyaddr_r_nargs8 = no ; then + if test $ol_cv_func_gethostbyaddr_r_nargs7 = yes && + test $ol_cv_func_gethostbyaddr_r_nargs8 = no ; then ol_cv_func_gethostbyaddr_r_nargs=7 - elif test $ol_cv_func_gethostbyaddr_r_nargs7 = no -a \ - $ol_cv_func_gethostbyaddr_r_nargs8 = yes ; then + elif test $ol_cv_func_gethostbyaddr_r_nargs7 = no && + test $ol_cv_func_gethostbyaddr_r_nargs8 = yes ; then ol_cv_func_gethostbyaddr_r_nargs=8 @@ -1315,15 +1114,18 @@ AC_DEFUN([OL_SASL_COMPAT], ], [ol_cv_sasl_compat=yes], [ol_cv_sasl_compat=no])]) ]) dnl ==================================================================== -dnl check for msg_accrights in msghdr -AC_DEFUN(OL_MSGHDR_MSG_ACCRIGHTS, - [AC_CACHE_CHECK(for msg_accrights in msghdr, ol_cv_msghdr_msg_accrights, - [AC_TRY_COMPILE([#include ], - [struct msghdr m; m.msg_accrightslen=0], - ol_cv_msghdr_msg_accrights=yes, ol_cv_msghdr_msg_accrights=no) - ]) - if test $ol_cv_msghdr_msg_accrights = "yes" ; then - AC_DEFINE(HAVE_MSGHDR_MSG_ACCRIGHTS,1, - [define if struct msghdr has msg_accrights]) - fi -])dnl +dnl check for SSL compatibility +AC_DEFUN([OL_SSL_COMPAT], +[AC_CACHE_CHECK([OpenSSL library version (CRL checking capability)], + [ol_cv_ssl_crl_compat],[ + AC_EGREP_CPP(__ssl_compat,[ +#ifdef HAVE_OPENSSL_SSL_H +#include +#endif + +/* Require 0.9.7d+ */ +#if OPENSSL_VERSION_NUMBER >= 0x0090704fL + char *__ssl_compat = "0.9.7d"; +#endif + ], [ol_cv_ssl_crl_compat=yes], [ol_cv_ssl_crl_compat=no])]) +])