X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=build%2Fopenldap.m4;h=50a49e338934f51c68aadf982c7198b38d9d8f61;hb=4602c935f7e9a1ffc2d9b4602e90590d8f665432;hp=846fe85eb24f50614503f8ad5445f598a6ef82b3;hpb=5dede11811e9c31a71b956429de9fb6aa27cecaf;p=openldap diff --git a/build/openldap.m4 b/build/openldap.m4 index 846fe85eb2..50a49e3389 100644 --- a/build/openldap.m4 +++ b/build/openldap.m4 @@ -1,15 +1,17 @@ +dnl OpenLDAP Autoconf Macros dnl $OpenLDAP$ +dnl This work is part of OpenLDAP Software . dnl -dnl Copyright 1998-2002 The OpenLDAP Foundation, Redwood City, California, USA +dnl Copyright 1998-2003 The OpenLDAP Foundation. dnl All rights reserved. -dnl +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. A copy of this license is available at -dnl http://www.OpenLDAP.org/license.html or in file LICENSE in the -dnl top-level directory of the distribution. +dnl Public License. dnl -dnl OpenLDAP Autoconf Macros +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 . dnl dnl -------------------------------------------------------------------- dnl Restricted form of AC_ARG_ENABLE that limits user options @@ -254,7 +256,7 @@ AC_DEFUN([OL_BERKELEY_DB_TRY], [ ol_DB_LIB=ifelse($2,,,$2) ol_LIBS=$LIBS - LIBS="$ol_DB_LIB $LIBS" + LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS" AC_TRY_LINK([ #ifdef HAVE_DB_185_H @@ -312,9 +314,17 @@ 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_db4,[-ldb4]) +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]) @@ -328,8 +338,9 @@ dnl Check if Berkeley DB supports DB_THREAD AC_DEFUN([OL_BERKELEY_DB_THREAD], [AC_CACHE_CHECK([for Berkeley DB thread support], [ol_cv_berkeley_db_thread], [ ol_LIBS="$LIBS" + LIBS="$LTHREAD_LIBS $LIBS" if test $ol_cv_lib_db != yes ; then - LIBS="$ol_cv_lib_db" + LIBS="$ol_cv_lib_db $LIBS" fi AC_TRY_RUN([ @@ -401,12 +412,13 @@ main() [ol_cv_berkeley_db_thread=cross]) LIBS="$ol_LIBS" +]) if test $ol_cv_berkeley_db_thread != no ; then AC_DEFINE(HAVE_BERKELEY_DB_THREAD, 1, [define if Berkeley DB has DB_THREAD support]) fi -])])dnl +])dnl dnl dnl -------------------------------------------------------------------- dnl Find any DB @@ -432,12 +444,15 @@ AC_DEFUN([OL_BDB_COMPAT], #ifndef DB_VERSION_MAJOR # define DB_VERSION_MAJOR 1 #endif +#ifndef DB_VERSION_MINOR +# define DB_VERSION_MINOR 0 +#endif -/* require 4.0 or later */ -#if DB_VERSION_MAJOR >= 4 +/* require 4.2 or later */ +#if (DB_VERSION_MAJOR >= 4) && (DB_VERSION_MINOR >= 2) __db_version_compat #endif - ], [ol_cv_bdb_compat=yes], [ol_cv_bdb_compat=no])]) + ], [ol_cv_bdb_compat=yes], [ol_cv_bdb_compat=no])]) ]) dnl -------------------------------------------------------------------- @@ -621,51 +636,48 @@ dnl dnl ==================================================================== dnl Check POSIX Thread version dnl -dnl defines ol_cv_pthread_version to 0, 4, 5, 6, 7, 10, depending on the +dnl defines ol_cv_pthread_version to 4, 5, 6, 7, 8, 10, depending on the dnl version of the POSIX.4a Draft that is implemented. dnl 10 == POSIX.4a Final == POSIX.1c-1996 for our purposes. -dnl 0 implies that the version could not be detected -dnl or that pthreads.h does exist. Existence of pthreads.h -dnl should be tested separately. +dnl Existence of pthread.h should be tested separately. dnl dnl tests: -dnl pthread_yield() was dropped in Draft 9, so -dnl only a Draft <= 8 library will define this dnl pthread_detach() was dropped in Draft 8, it is present dnl in every other version dnl PTHREAD_CREATE_UNDETACHED is only in Draft 7, it was called dnl PTHREAD_CREATE_JOINABLE after that +dnl pthread_attr_create was renamed to pthread_attr_init in Draft 6. +dnl Draft 6-10 has _init, Draft 4-5 has _create. dnl pthread_attr_default was dropped in Draft 6, only 4 and 5 have it dnl PTHREAD_MUTEX_INITIALIZER was introduced in Draft 5. It's not dnl interesting to us because we don't try to statically dnl initialize mutexes. 5-10 has it. -dnl pthread_attr_create was renamed to pthread_attr_init after Draft 4. -dnl Draft 6-10 has _init, Draft 4 has _create. (dunno about 5) dnl 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_EGREP_HEADER(pthread_yield,pthread.h,[ - AC_EGREP_HEADER(pthread_detach,pthread.h,[ + AC_TRY_COMPILE([ +# 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,[ # include # ifdef PTHREAD_CREATE_UNDETACHED draft7 # endif ], ol_cv_pthread_version=7, [ - AC_EGREP_HEADER(pthread_attr_default,pthread.h,[ + AC_EGREP_HEADER(pthread_attr_init,pthread.h, + ol_cv_pthread_version=6, [ AC_EGREP_CPP(draft5,[ # include #ifdef PTHREAD_MUTEX_INITIALIZER draft5 #endif - ], ol_cv_pthread_version=5, [ - AC_EGREP_HEADER(pthread_attr_create,pthread.h, - ol_cv_pthread_version=4, ol_cv_pthread_version=0) ]) ], - ol_cv_pthread_version=6) ]) ], - ol_cv_pthread_version=8) ], - ol_cv_pthread_version=10) + ], ol_cv_pthread_version=5, ol_cv_pthread_version=4) ]) ]) ]) ]) ])dnl dnl @@ -1200,13 +1212,24 @@ AC_DEFUN([OL_SASL_COMPAT], #endif /* require 2.1.3 or later */ -#if SASL_VERSION_MAJOR == 1 && SASL_VERSION_MINOR >= 5 - char *__sasl_compat = "1.5.x okay"; -#elif SASL_VERSION_MAJOR == 2 && SASL_VERSION_MINOR > 1 - __sasl_compat "2.2+ or better okay (we guess)"; +#if SASL_VERSION_MAJOR == 2 && SASL_VERSION_MINOR > 1 + char *__sasl_compat = "2.2+ or better okay (we guess)"; #elif SASL_VERSION_MAJOR == 2 && SASL_VERSION_MINOR == 1 \ && SASL_VERSION_STEP >=3 - __sasl_compat = "2.1.3+ or better okay"; + char *__sasl_compat = "2.1.3+ or better okay"; #endif ], [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