X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=build%2Fopenldap.m4;h=d55dabda2dc156c4c0577d38f903a6ee1e7891cb;hb=727a16ca55fd39d60f5515be3d365c6096bdb7bc;hp=66545788e350436f5ac5d758fd15225524395827;hpb=3208c1581fdb9e94d6800373d6861604fa1e615a;p=openldap diff --git a/build/openldap.m4 b/build/openldap.m4 index 66545788e3..d55dabda2d 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-2005 The OpenLDAP Foundation. +dnl Copyright 1998-2006 The OpenLDAP Foundation. dnl All rights reserved. dnl dnl Redistribution and use in source and binary forms, with or without @@ -20,9 +20,10 @@ dnl $1 = option name dnl $2 = help-string 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,ifelse($3,--,[$2], - [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 @@ -34,8 +35,9 @@ AC_DEFUN([OL_ARG_ENABLE], [# OpenLDAP --enable-$1 fi ol_enable_$1="$ol_arg" ]ifelse($3,--,,[, -[ ol_enable_$1=ifelse($3,,"auto","$3")]]))dnl +[ 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 @@ -47,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 @@ -78,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 @@ -231,6 +233,33 @@ 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 +dnl ==================================================================== dnl Berkeley DB macros dnl dnl -------------------------------------------------------------------- @@ -298,28 +327,203 @@ dnl -------------------------------------------------------------------- dnl Try to locate appropriate library AC_DEFUN([OL_BERKELEY_DB_LINK], [ol_cv_lib_db=no + +dnl Determine major version +AC_CACHE_CHECK([for Berkeley DB major version], [ol_cv_bdb_major],[ + ol_cv_bdb_major=0 + if test $ol_cv_bdb_major = 0 ; then + AC_EGREP_CPP(__db_version, [ +#include +#ifndef DB_VERSION_MAJOR +# define DB_VERSION_MAJOR 1 +#endif +#if DB_VERSION_MAJOR == 4 +__db_version +#endif + ], [ol_cv_bdb_major=4], [:]) + fi + if test $ol_cv_bdb_major = 0 ; then + AC_EGREP_CPP(__db_version, [ +#include +#ifndef DB_VERSION_MAJOR +# define DB_VERSION_MAJOR 1 +#endif +#if DB_VERSION_MAJOR == 3 +__db_version +#endif + ], [ol_cv_bdb_major=3], [:]) + fi + if test $ol_cv_bdb_major = 0 ; then + AC_EGREP_CPP(__db_version, [ +#include +#ifndef DB_VERSION_MAJOR +# define DB_VERSION_MAJOR 1 +#endif +#if DB_VERSION_MAJOR == 2 +__db_version +#endif + ], [ol_cv_bdb_major=2], [:]) + fi + if test $ol_cv_bdb_major = 0 ; then + AC_EGREP_CPP(__db_version, [ +#include +#ifndef DB_VERSION_MAJOR +# define DB_VERSION_MAJOR 1 +#endif +#if DB_VERSION_MAJOR == 1 +__db_version +#endif + ], [ol_cv_bdb_major=1], [:]) + fi + + if test $ol_cv_bdb_major = 0 ; then + AC_MSG_ERROR([Unknown Berkeley DB major version]) + fi +]) + +dnl Determine minor version +AC_CACHE_CHECK([for Berkeley DB minor version], [ol_cv_bdb_minor],[ + ol_cv_bdb_minor=0 + if test $ol_cv_bdb_minor = 0 ; then + AC_EGREP_CPP(__db_version, [ +#include +#ifndef DB_VERSION_MINOR +# define DB_VERSION_MINOR 0 +#endif +#if DB_VERSION_MINOR == 9 +__db_version +#endif + ], [ol_cv_bdb_minor=9], [:]) + fi + if test $ol_cv_bdb_minor = 0 ; then + AC_EGREP_CPP(__db_version, [ +#include +#ifndef DB_VERSION_MINOR +# define DB_VERSION_MINOR 0 +#endif +#if DB_VERSION_MINOR == 8 +__db_version +#endif + ], [ol_cv_bdb_minor=8], [:]) + fi + if test $ol_cv_bdb_minor = 0 ; then + AC_EGREP_CPP(__db_version, [ +#include +#ifndef DB_VERSION_MINOR +# define DB_VERSION_MINOR 0 +#endif +#if DB_VERSION_MINOR == 7 +__db_version +#endif + ], [ol_cv_bdb_minor=7], [:]) + fi + if test $ol_cv_bdb_minor = 0 ; then + AC_EGREP_CPP(__db_version, [ +#include +#ifndef DB_VERSION_MINOR +# define DB_VERSION_MINOR 0 +#endif +#if DB_VERSION_MINOR == 6 +__db_version +#endif + ], [ol_cv_bdb_minor=6], [:]) + fi + if test $ol_cv_bdb_minor = 0 ; then + AC_EGREP_CPP(__db_version, [ +#include +#ifndef DB_VERSION_MINOR +# define DB_VERSION_MINOR 0 +#endif +#if DB_VERSION_MINOR == 5 +__db_version +#endif + ], [ol_cv_bdb_minor=5], [:]) + fi + if test $ol_cv_bdb_minor = 0 ; then + AC_EGREP_CPP(__db_version, [ +#include +#ifndef DB_VERSION_MINOR +# define DB_VERSION_MINOR 0 +#endif +#if DB_VERSION_MINOR == 4 +__db_version +#endif + ], [ol_cv_bdb_minor=4], [:]) + fi + if test $ol_cv_bdb_minor = 0 ; then + AC_EGREP_CPP(__db_version, [ +#include +#ifndef DB_VERSION_MINOR +# define DB_VERSION_MINOR 0 +#endif +#if DB_VERSION_MINOR == 3 +__db_version +#endif + ], [ol_cv_bdb_minor=3], [:]) + fi + if test $ol_cv_bdb_minor = 0 ; then + AC_EGREP_CPP(__db_version, [ +#include +#ifndef DB_VERSION_MINOR +# define DB_VERSION_MINOR 0 +#endif +#if DB_VERSION_MINOR == 2 +__db_version +#endif + ], [ol_cv_bdb_minor=2], [:]) + fi + if test $ol_cv_bdb_minor = 0 ; then + AC_EGREP_CPP(__db_version, [ +#include +#ifndef DB_VERSION_MINOR +# define DB_VERSION_MINOR 0 +#endif +#if DB_VERSION_MINOR == 1 +__db_version +#endif + ], [ol_cv_bdb_minor=1], [:]) + fi +]) + +if test $ol_cv_bdb_major = 4 ; then + if test $ol_cv_bdb_minor = 4 ; then + OL_BERKELEY_DB_TRY(ol_cv_db_db44,[-ldb44]) + OL_BERKELEY_DB_TRY(ol_cv_db_db_44,[-ldb-44]) + OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_4,[-ldb-4.4]) + OL_BERKELEY_DB_TRY(ol_cv_db_db_4_4,[-ldb-4-4]) + elif test $ol_cv_bdb_minor = 3 ; then + 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]) + elif test $ol_cv_bdb_minor = 2 ; then + 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]) + elif test $ol_cv_bdb_minor = 1 ; then + 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]) + fi + 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]) + +elif test $ol_cv_bdb_major = 3 ; then + OL_BERKELEY_DB_TRY(ol_cv_db_db3,[-ldb3]) + OL_BERKELEY_DB_TRY(ol_cv_db_db_3,[-ldb-3]) + +elif test $ol_cv_bdb_major = 2 ; then + OL_BERKELEY_DB_TRY(ol_cv_db_db2,[-ldb2]) + OL_BERKELEY_DB_TRY(ol_cv_db_db_2,[-ldb-2]) + +elif test $ol_cv_bdb_major = 1 ; then + OL_BERKELEY_DB_TRY(ol_cv_db_db1,[-ldb1]) + OL_BERKELEY_DB_TRY(ol_cv_db_db_1,[-ldb-1]) +fi 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]) -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 -------------------------------------------------------------------- @@ -498,7 +702,7 @@ 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 +if test $ac_cv_header_db_185_h = yes || test $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 @@ -560,7 +764,7 @@ 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 + if test $ol_cv_lib_gdbm = no || test $ac_cv_header_gdbm_h = no ; then ol_cv_gdbm=no else ol_cv_gdbm=yes @@ -605,7 +809,7 @@ 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 + if test $ol_cv_lib_mdbm = no || test $ac_cv_header_mdbm_h = no ; then ol_cv_mdbm=no else ol_cv_mdbm=yes @@ -661,7 +865,7 @@ 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 + if test $ol_cv_lib_ndbm = no || test $ac_cv_header_ndbm_h = no ; then ol_cv_ndbm=no else ol_cv_ndbm=yes @@ -892,11 +1096,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 @@ -1087,13 +1291,13 @@ AC_DEFUN([OL_FUNC_CTIME_R_NARGS], 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 @@ -1142,13 +1346,13 @@ AC_DEFUN([OL_FUNC_GETHOSTBYNAME_R_NARGS], (void)gethostbyname_r("localhost", &hent, buffer, bufsize, &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 @@ -1191,13 +1395,13 @@ AC_DEFUN([OL_FUNC_GETHOSTBYADDR_R_NARGS], alen, AF_INET, &hent, buffer, bufsize, &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