X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=build%2Fopenldap.m4;h=1cf676e44214131fa40205ea96b8a31ab45dac1e;hb=3ae4b383d5acac6977ba834ddf9ba77b1d805024;hp=f19f62a0fb352df650628734feb17246212b0bca;hpb=70d53c906bff33e7c058afefd10fcc6ba05a20f0;p=openldap diff --git a/build/openldap.m4 b/build/openldap.m4 index f19f62a0fb..1cf676e442 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-2005 The OpenLDAP Foundation. dnl All rights reserved. dnl dnl Redistribution and use in source and binary forms, with or without @@ -285,7 +285,7 @@ AC_DEFUN([OL_BERKELEY_DB_TRY], minor < DB_VERSION_MINOR ) { printf("Berkeley DB version mismatch\n" - "\texpected: %s\n\tgot: %s\n", + "\theader: %s\n\tlibrary: %s\n", DB_VERSION_STRING, version); return 1; } @@ -315,6 +315,10 @@ dnl Try to locate appropriate library AC_DEFUN([OL_BERKELEY_DB_LINK], [ol_cv_lib_db=no OL_BERKELEY_DB_TRY(ol_cv_db_none) +OL_BERKELEY_DB_TRY(ol_cv_db_db43,[-ldb43]) +OL_BERKELEY_DB_TRY(ol_cv_db_db_43,[-ldb-43]) +OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_3,[-ldb-4.3]) +OL_BERKELEY_DB_TRY(ol_cv_db_db_4_3,[-ldb-4-3]) 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]) @@ -366,7 +370,7 @@ main() if( major != DB_VERSION_MAJOR || minor < DB_VERSION_MINOR ) { printf("Berkeley DB version mismatch\n" - "\texpected: %s\n\tgot: %s\n", + "\theader: %s\n\tlibrary: %s\n", DB_VERSION_STRING, version); return 1; } @@ -971,6 +975,8 @@ fi ]) dnl dnl ==================================================================== +dnl Error string checks +dnl dnl Check for declaration of sys_errlist in one of stdio.h and errno.h. dnl Declaration of sys_errlist on BSD4.4 interferes with our declaration. dnl Reported by Keith Bostic. @@ -1004,7 +1010,45 @@ if test $ol_cv_have_sys_errlist = yes ; then [define if you actually have sys_errlist in your libs]) fi ])dnl +AC_DEFUN([OL_NONPOSIX_STRERROR_R], +[AC_CACHE_CHECK([non-posix strerror_r],ol_cv_nonposix_strerror_r,[ + AC_EGREP_CPP(strerror_r,[#include ], + 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 */ + 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) + else + AC_TRY_RUN([ + 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=no) + fi + ]) +if test $ol_cv_nonposix_strerror_r = yes ; then + AC_DEFINE(HAVE_NONPOSIX_STRERROR_R,1, + [define if strerror_r returns char* instead of int]) +fi +])dnl dnl +AC_DEFUN([OL_STRERROR], +[OL_SYS_ERRLIST dnl TEMPORARY +AC_CHECK_FUNCS(strerror strerror_r) +ol_cv_func_strerror_r=no +if test "${ac_cv_func_strerror_r}" = yes ; then + OL_NONPOSIX_STRERROR_R +elif test "${ac_cv_func_strerror}" = no ; then + OL_SYS_ERRLIST +fi +])dnl dnl ==================================================================== dnl Early MIPS compilers (used in Ultrix 4.2) don't like dnl "int x; int *volatile a = &x; *a = 0;" @@ -1287,3 +1331,18 @@ AC_DEFUN(OL_MSGHDR_MSG_ACCRIGHTS, [define if struct msghdr has msg_accrights]) fi ])dnl +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 +#else +#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])]) +])