summaryrefslogtreecommitdiff
path: root/sntp/libevent/m4
diff options
context:
space:
mode:
Diffstat (limited to 'sntp/libevent/m4')
-rw-r--r--sntp/libevent/m4/acx_pthread.m4279
-rw-r--r--sntp/libevent/m4/openldap-thread-check.m4683
-rw-r--r--sntp/libevent/m4/openldap.m41131
3 files changed, 279 insertions, 1814 deletions
diff --git a/sntp/libevent/m4/acx_pthread.m4 b/sntp/libevent/m4/acx_pthread.m4
new file mode 100644
index 0000000..d2b1169
--- /dev/null
+++ b/sntp/libevent/m4/acx_pthread.m4
@@ -0,0 +1,279 @@
+##### http://autoconf-archive.cryp.to/acx_pthread.html
+#
+# SYNOPSIS
+#
+# ACX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+#
+# DESCRIPTION
+#
+# This macro figures out how to build C programs using POSIX threads.
+# It sets the PTHREAD_LIBS output variable to the threads library and
+# linker flags, and the PTHREAD_CFLAGS output variable to any special
+# C compiler flags that are needed. (The user can also force certain
+# compiler flags/libs to be tested by setting these environment
+# variables.)
+#
+# Also sets PTHREAD_CC to any special C compiler that is needed for
+# multi-threaded programs (defaults to the value of CC otherwise).
+# (This is necessary on AIX to use the special cc_r compiler alias.)
+#
+# NOTE: You are assumed to not only compile your program with these
+# flags, but also link it with them as well. e.g. you should link
+# with $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS
+# $LIBS
+#
+# If you are only building threads programs, you may wish to use
+# these variables in your default LIBS, CFLAGS, and CC:
+#
+# LIBS="$PTHREAD_LIBS $LIBS"
+# CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+# CC="$PTHREAD_CC"
+#
+# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute
+# constant has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to
+# that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
+#
+# ACTION-IF-FOUND is a list of shell commands to run if a threads
+# library is found, and ACTION-IF-NOT-FOUND is a list of commands to
+# run it if it is not found. If ACTION-IF-FOUND is not specified, the
+# default action will define HAVE_PTHREAD.
+#
+# Please let the authors know if this macro fails on any platform, or
+# if you have any other suggestions or comments. This macro was based
+# on work by SGJ on autoconf scripts for FFTW (http://www.fftw.org/)
+# (with help from M. Frigo), as well as ac_pthread and hb_pthread
+# macros posted by Alejandro Forero Cuervo to the autoconf macro
+# repository. We are also grateful for the helpful feedback of
+# numerous users.
+#
+# LAST MODIFICATION
+#
+# 2007-07-29
+#
+# COPYLEFT
+#
+# Copyright (c) 2007 Steven G. Johnson <stevenj@alum.mit.edu>
+#
+# This program is free software: you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see
+# <http://www.gnu.org/licenses/>.
+#
+# As a special exception, the respective Autoconf Macro's copyright
+# owner gives unlimited permission to copy, distribute and modify the
+# configure scripts that are the output of Autoconf when processing
+# the Macro. You need not follow the terms of the GNU General Public
+# License when using or distributing such scripts, even though
+# portions of the text of the Macro appear in them. The GNU General
+# Public License (GPL) does govern all other use of the material that
+# constitutes the Autoconf Macro.
+#
+# This special exception to the GPL applies to versions of the
+# Autoconf Macro released by the Autoconf Macro Archive. When you
+# make and distribute a modified version of the Autoconf Macro, you
+# may extend this special exception to the GPL to apply to your
+# modified version as well.
+
+AC_DEFUN([ACX_PTHREAD], [
+AC_REQUIRE([AC_CANONICAL_HOST])
+AC_LANG_SAVE
+AC_LANG_C
+acx_pthread_ok=no
+
+# We used to check for pthread.h first, but this fails if pthread.h
+# requires special compiler flags (e.g. on True64 or Sequent).
+# It gets checked for in the link test anyway.
+
+# First of all, check if the user has set any of the PTHREAD_LIBS,
+# etcetera environment variables, and if threads linking works using
+# them:
+if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+ save_LIBS="$LIBS"
+ LIBS="$PTHREAD_LIBS $LIBS"
+ AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS])
+ AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes)
+ AC_MSG_RESULT($acx_pthread_ok)
+ if test x"$acx_pthread_ok" = xno; then
+ PTHREAD_LIBS=""
+ PTHREAD_CFLAGS=""
+ fi
+ LIBS="$save_LIBS"
+ CFLAGS="$save_CFLAGS"
+fi
+
+# We must check for the threads library under a number of different
+# names; the ordering is very important because some systems
+# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
+# libraries is broken (non-POSIX).
+
+# Create a list of thread flags to try. Items starting with a "-" are
+# C compiler flags, and other items are library names, except for "none"
+# which indicates that we try without any flags at all, and "pthread-config"
+# which is a program returning the flags for the Pth emulation library.
+
+acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
+
+# The ordering *is* (sometimes) important. Some notes on the
+# individual items follow:
+
+# pthreads: AIX (must check this before -lpthread)
+# none: in case threads are in libc; should be tried before -Kthread and
+# other compiler flags to prevent continual compiler warnings
+# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
+# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
+# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
+# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
+# -pthreads: Solaris/gcc
+# -mthreads: Mingw32/gcc, Lynx/gcc
+# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
+# doesn't hurt to check since this sometimes defines pthreads too;
+# also defines -D_REENTRANT)
+# ... -mt is also the pthreads flag for HP/aCC
+# pthread: Linux, etcetera
+# --thread-safe: KAI C++
+# pthread-config: use pthread-config program (for GNU Pth library)
+
+case "${host_cpu}-${host_os}" in
+ *solaris*)
+
+ # On Solaris (at least, for some versions), libc contains stubbed
+ # (non-functional) versions of the pthreads routines, so link-based
+ # tests will erroneously succeed. (We need to link with -pthreads/-mt/
+ # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather
+ # a function called by this macro, so we could check for that, but
+ # who knows whether they'll stub that too in a future libc.) So,
+ # we'll just look for -pthreads and -lpthread first:
+
+ acx_pthread_flags="-pthreads pthread -mt -pthread $acx_pthread_flags"
+ ;;
+esac
+
+if test x"$acx_pthread_ok" = xno; then
+for flag in $acx_pthread_flags; do
+
+ case $flag in
+ none)
+ AC_MSG_CHECKING([whether pthreads work without any flags])
+ ;;
+
+ -*)
+ AC_MSG_CHECKING([whether pthreads work with $flag])
+ PTHREAD_CFLAGS="$flag"
+ ;;
+
+ pthread-config)
+ AC_CHECK_PROG(acx_pthread_config, pthread-config, yes, no)
+ if test x"$acx_pthread_config" = xno; then continue; fi
+ PTHREAD_CFLAGS="`pthread-config --cflags`"
+ PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
+ ;;
+
+ *)
+ AC_MSG_CHECKING([for the pthreads library -l$flag])
+ PTHREAD_LIBS="-l$flag"
+ ;;
+ esac
+
+ save_LIBS="$LIBS"
+ save_CFLAGS="$CFLAGS"
+ LIBS="$PTHREAD_LIBS $LIBS"
+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+
+ # Check for various functions. We must include pthread.h,
+ # since some functions may be macros. (On the Sequent, we
+ # need a special flag -Kthread to make this header compile.)
+ # We check for pthread_join because it is in -lpthread on IRIX
+ # while pthread_create is in libc. We check for pthread_attr_init
+ # due to DEC craziness with -lpthreads. We check for
+ # pthread_cleanup_push because it is one of the few pthread
+ # functions on Solaris that doesn't have a non-functional libc stub.
+ # We try pthread_create on general principles.
+ AC_TRY_LINK([#include <pthread.h>],
+ [pthread_t th; pthread_join(th, 0);
+ pthread_attr_init(0); pthread_cleanup_push(0, 0);
+ pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
+ [acx_pthread_ok=yes])
+
+ LIBS="$save_LIBS"
+ CFLAGS="$save_CFLAGS"
+
+ AC_MSG_RESULT($acx_pthread_ok)
+ if test "x$acx_pthread_ok" = xyes; then
+ break;
+ fi
+
+ PTHREAD_LIBS=""
+ PTHREAD_CFLAGS=""
+done
+fi
+
+# Various other checks:
+if test "x$acx_pthread_ok" = xyes; then
+ save_LIBS="$LIBS"
+ LIBS="$PTHREAD_LIBS $LIBS"
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+
+ # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
+ AC_MSG_CHECKING([for joinable pthread attribute])
+ attr_name=unknown
+ for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
+ AC_TRY_LINK([#include <pthread.h>], [int attr=$attr; return attr;],
+ [attr_name=$attr; break])
+ done
+ AC_MSG_RESULT($attr_name)
+ if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
+ AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name,
+ [Define to necessary symbol if this constant
+ uses a non-standard name on your system.])
+ fi
+
+ AC_MSG_CHECKING([if more special flags are required for pthreads])
+ flag=no
+ case "${host_cpu}-${host_os}" in
+ *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";;
+ *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";;
+ esac
+ AC_MSG_RESULT(${flag})
+ if test "x$flag" != xno; then
+ PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
+ fi
+
+ LIBS="$save_LIBS"
+ CFLAGS="$save_CFLAGS"
+
+ # More AIX lossage: must compile with xlc_r or cc_r
+ if test x"$GCC" != xyes; then
+ AC_CHECK_PROGS(PTHREAD_CC, xlc_r cc_r, ${CC})
+ else
+ PTHREAD_CC=$CC
+ fi
+else
+ PTHREAD_CC="$CC"
+fi
+
+AC_SUBST(PTHREAD_LIBS)
+AC_SUBST(PTHREAD_CFLAGS)
+AC_SUBST(PTHREAD_CC)
+
+# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
+if test x"$acx_pthread_ok" = xyes; then
+ ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1])
+ :
+else
+ acx_pthread_ok=no
+ $2
+fi
+AC_LANG_RESTORE
+])dnl ACX_PTHREAD
diff --git a/sntp/libevent/m4/openldap-thread-check.m4 b/sntp/libevent/m4/openldap-thread-check.m4
deleted file mode 100644
index 33f9199..0000000
--- a/sntp/libevent/m4/openldap-thread-check.m4
+++ /dev/null
@@ -1,683 +0,0 @@
-dnl OpenLDAP Autoconf thread check
-dnl
-dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
-dnl
-dnl Copyright 1998-2010 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-OPENLDAP in
-dnl this directory of the distribution or, alternatively, at
-dnl <http://www.OpenLDAP.org/license.html>.
-dnl
-dnl --------------------------------------------------------------------
-
-# OL_THREAD_CHECK([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
-
-AC_DEFUN([OL_THREAD_CHECK], [
-AC_REQUIRE([AC_CANONICAL_HOST])
-AC_LANG_SAVE
-AC_LANG([C])
-OL_ARG_WITH(threads,[ --with-threads with threads],
- auto, [auto nt posix mach pth lwp yes no manual] )
-
-case "$ol_with_threads$host" in
- auto*-*-solaris2.[[0-6]])
- dnl signals sometimes delivered to wrong thread with Solaris 2.6
- ol_with_threads=no
- ;;
-esac
-
-dnl AIX Thread requires we use cc_r or xlc_r.
-dnl But only do this IF AIX and CC is not set
-dnl and threads are auto|yes|posix.
-dnl
-dnl If we find cc_r|xlc_r, force pthreads and assume
-dnl pthread_create is in $LIBS (ie: don't bring in
-dnl any additional thread libraries)
-dnl If we do not find cc_r|xlc_r, disable threads
-
-ol_aix_threads=no
-case "$host" in
-*-*-aix*) dnl all AIX is not a good idea.
- if test -z "$CC" ; then
- case "$ol_with_threads" in
- auto | yes | posix) ol_aix_threads=yes ;;
- esac
- fi
-;;
-esac
-
-if test $ol_aix_threads = yes ; then
- if test -z "${CC}" ; then
- AC_CHECK_PROGS(CC,cc_r xlc_r cc)
-
- if test "$CC" = cc ; then
- dnl no CC! don't allow --with-threads
- if test $ol_with_threads != auto ; then
- AC_MSG_ERROR([--with-threads requires cc_r (or other suitable compiler) on AIX])
- else
- AC_MSG_WARN([disabling threads, no cc_r on AIX])
- fi
- ol_with_threads=no
- fi
- fi
-
- case ${CC} in cc_r | xlc_r)
- ol_with_threads=posix
- ol_cv_pthread_create=yes
- ;;
- esac
-fi
-
-dnl ----------------------------------------------------------------
-dnl Threads?
-ol_link_threads=no
-dnl ol_with_yielding_select=${ol_with_yielding_select:-auto}
-OL_ARG_WITH(yielding_select,[ --with-yielding-select with yielding select],
- auto, [auto yes no manual] )
-
-case $ol_with_threads in auto | yes | nt)
-
- OL_NT_THREADS
-
- if test "$ol_cv_nt_threads" = yes ; then
- ol_link_threads=nt
- ol_with_threads=found
- ol_with_yielding_select=yes
-
- AC_DEFINE([HAVE_NT_SERVICE_MANAGER], [1], [if you have NT Service Manager])
- AC_DEFINE([HAVE_NT_EVENT_LOG], [1], [if you have NT Event Log])
- fi
-
- if test $ol_with_threads = nt ; then
- AC_MSG_ERROR([could not locate NT Threads])
- fi
- ;;
-esac
-
-case $ol_with_threads in auto | yes | posix)
-
- AC_CHECK_HEADERS(pthread.h)
-
- if test $ac_cv_header_pthread_h = yes ; then
- OL_POSIX_THREAD_VERSION
-
- if test $ol_cv_pthread_version != 0 ; then
- AC_DEFINE_UNQUOTED([HAVE_PTHREADS], [$ol_cv_pthread_version],
- [define to pthreads API spec revision])
- else
- AC_MSG_ERROR([unknown pthread version])
- fi
-
- # consider threads found
- ol_with_threads=found
-
- OL_HEADER_LINUX_THREADS
- OL_HEADER_GNU_PTH_PTHREAD_H
-
- if test $ol_cv_header_gnu_pth_pthread_h = no ; then
- AC_CHECK_HEADERS(sched.h)
- fi
-
- dnl Now the hard part, how to link?
- dnl
- dnl currently supported checks:
- dnl
- dnl Check for no flags
- dnl pthread_create() in $LIBS
- dnl
- dnl Check special pthread (final) flags
- dnl [skipped] pthread_create() with -mt (Solaris) [disabled]
- dnl pthread_create() with -kthread (FreeBSD)
- dnl pthread_create() with -pthread (FreeBSD/Digital Unix)
- dnl pthread_create() with -pthreads (?)
- dnl pthread_create() with -mthreads (AIX)
- dnl pthread_create() with -thread (?)
- dnl
- dnl Check pthread (final) libraries
- dnl pthread_mutex_unlock() in -lpthread -lmach -lexc -lc_r (OSF/1)
- dnl pthread_mutex_lock() in -lpthread -lmach -lexc (OSF/1)
- dnl [skipped] pthread_mutex_trylock() in -lpthread -lexc (OSF/1)
- dnl pthread_join() -Wl,-woff,85 -lpthread (IRIX)
- dnl pthread_create() in -lpthread (many)
- dnl pthread_create() in -lc_r (FreeBSD)
- dnl
- dnl Check pthread (draft4) flags (depreciated)
- dnl pthread_create() with -threads (OSF/1)
- dnl
- dnl Check pthread (draft4) libraries (depreciated)
- dnl pthread_mutex_unlock() in -lpthreads -lmach -lexc -lc_r (OSF/1)
- dnl pthread_mutex_lock() in -lpthreads -lmach -lexc (OSF/1)
- dnl pthread_mutex_trylock() in -lpthreads -lexc (OSF/1)
- dnl pthread_create() in -lpthreads (many)
- dnl
-
- dnl pthread_create in $LIBS
- AC_CACHE_CHECK([for pthread_create in default libraries],
- ol_cv_pthread_create,[
- AC_RUN_IFELSE([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,
- [ol_cv_pthread_create=yes],
- [ol_cv_pthread_create=no])])])
-
- if test $ol_cv_pthread_create != no ; then
- ol_link_threads=posix
- ol_link_pthreads=""
- fi
-
-dnl OL_PTHREAD_TRY([-mt], [ol_cv_pthread_mt])
- OL_PTHREAD_TRY([-kthread], [ol_cv_pthread_kthread])
- OL_PTHREAD_TRY([-pthread], [ol_cv_pthread_pthread])
- OL_PTHREAD_TRY([-pthreads], [ol_cv_pthread_pthreads])
- OL_PTHREAD_TRY([-mthreads], [ol_cv_pthread_mthreads])
- OL_PTHREAD_TRY([-thread], [ol_cv_pthread_thread])
-
- OL_PTHREAD_TRY([-lpthread -lmach -lexc -lc_r],
- [ol_cv_pthread_lpthread_lmach_lexc_lc_r])
- OL_PTHREAD_TRY([-lpthread -lmach -lexc],
- [ol_cv_pthread_lpthread_lmach_lexc])
-dnl OL_PTHREAD_TRY([-lpthread -lexc],
-dnl [ol_cv_pthread_lpthread_lexc])
-
- OL_PTHREAD_TRY([-lpthread -Wl,-woff,85],
- [ol_cv_pthread_lib_lpthread_woff])
-
- OL_PTHREAD_TRY([-lpthread], [ol_cv_pthread_lpthread])
- OL_PTHREAD_TRY([-lc_r], [ol_cv_pthread_lc_r])
-
- OL_PTHREAD_TRY([-threads], [ol_cv_pthread_threads])
-
- OL_PTHREAD_TRY([-lpthreads -lmach -lexc -lc_r],
- [ol_cv_pthread_lpthreads_lmach_lexc_lc_r])
- OL_PTHREAD_TRY([-lpthreads -lmach -lexc],
- [ol_cv_pthread_lpthreads_lmach_lexc])
- OL_PTHREAD_TRY([-lpthreads -lexc],
- [ol_cv_pthread_lpthreads_lexc])
-
- OL_PTHREAD_TRY([-lpthreads],[ol_cv_pthread_lib_lpthreads])
-
- if test $ol_link_threads != no ; then
- LTHREAD_LIBS="$LTHREAD_LIBS $ol_link_pthreads"
-
- dnl save flags
- save_CPPFLAGS="$CPPFLAGS"
- save_LIBS="$LIBS"
- LIBS="$LTHREAD_LIBS $LIBS"
-
- dnl All POSIX Thread (final) implementations should have
- dnl sched_yield instead of pthread yield.
- dnl check for both, and thr_yield for Solaris
- AC_CHECK_FUNCS(sched_yield pthread_yield thr_yield)
-
- if test $ac_cv_func_sched_yield = no &&
- test $ac_cv_func_pthread_yield = no &&
- test $ac_cv_func_thr_yield = no ; then
- dnl Digital UNIX has sched_yield() in -lrt
- AC_CHECK_LIB(rt, sched_yield,
- [LTHREAD_LIBS="$LTHREAD_LIBS -lrt"
- AC_DEFINE([HAVE_SCHED_YIELD], [1],
- [Define if you have the sched_yield function.])
- ac_cv_func_sched_yield=yes],
- [ac_cv_func_sched_yield=no])
- fi
- if test $ac_cv_func_sched_yield = no &&
- test $ac_cv_func_pthread_yield = no &&
- test "$ac_cv_func_thr_yield" = no ; then
- AC_MSG_WARN([could not locate sched_yield() or pthread_yield()])
- fi
-
- dnl Check functions for compatibility
- AC_CHECK_FUNCS(pthread_kill)
-
- dnl Check for pthread_rwlock_destroy with <pthread.h>
- dnl as pthread_rwlock_t may not be defined.
- AC_CACHE_CHECK([for pthread_rwlock_destroy with <pthread.h>],
- [ol_cv_func_pthread_rwlock_destroy], [
- dnl save the flags
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[
-#include <pthread.h>
-pthread_rwlock_t rwlock;
-]], [[pthread_rwlock_destroy(&rwlock);]])],[ol_cv_func_pthread_rwlock_destroy=yes],[ol_cv_func_pthread_rwlock_destroy=no])
- ])
- if test $ol_cv_func_pthread_rwlock_destroy = yes ; then
- AC_DEFINE([HAVE_PTHREAD_RWLOCK_DESTROY], [1],
- [define if you have pthread_rwlock_destroy function])
- fi
-
- dnl Check for pthread_detach with <pthread.h> inclusion
- dnl as it's symbol may have been mangled.
- AC_CACHE_CHECK([for pthread_detach with <pthread.h>],
- [ol_cv_func_pthread_detach], [
- dnl save the flags
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[
-#include <pthread.h>
-#ifndef NULL
-#define NULL (void*)0
-#endif
-]], [[pthread_detach(NULL);]])],[ol_cv_func_pthread_detach=yes],[ol_cv_func_pthread_detach=no])
- ])
-
- if test $ol_cv_func_pthread_detach = no ; then
- AC_MSG_ERROR([could not locate pthread_detach()])
- fi
-
- AC_DEFINE([HAVE_PTHREAD_DETACH], [1],
- [define if you have pthread_detach function])
-
- dnl Check for setconcurreny functions
- AC_CHECK_FUNCS( \
- pthread_setconcurrency \
- pthread_getconcurrency \
- thr_setconcurrency \
- thr_getconcurrency \
- )
-
- OL_SYS_LINUX_THREADS
- OL_LINUX_THREADS
-
- if test $ol_cv_linux_threads = error; then
- AC_MSG_ERROR([LinuxThreads header/library mismatch]);
- fi
-
- AC_CACHE_CHECK([if pthread_create() works],
- ol_cv_pthread_create_works,[
- AC_RUN_IFELSE([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
- AC_MSG_ERROR([pthread_create is not usable, check environment settings])
- fi
-
- ol_replace_broken_yield=no
-dnl case "$host" in
-dnl *-*-linux*)
-dnl AC_CHECK_FUNCS(nanosleep)
-dnl ol_replace_broken_yield=yes
-dnl ;;
-dnl esac
-
- if test $ol_replace_broken_yield = yes ; then
- AC_DEFINE([REPLACE_BROKEN_YIELD], [1],
- [define if sched_yield yields the entire process])
- fi
-
- dnl Check if select causes an yield
- if test x$ol_with_yielding_select = xauto ; then
- AC_CACHE_CHECK([if select yields when using pthreads],
- ol_cv_pthread_select_yields,[
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <sys/types.h>
-#include <sys/time.h>
-#include <unistd.h>
-#include <pthread.h>
-#ifndef NULL
-#define NULL (void*) 0
-#endif
-
-static int fildes[2];
-
-static void *task(p)
- void *p;
-{
- int i;
- struct timeval tv;
-
- fd_set rfds;
-
- tv.tv_sec=10;
- tv.tv_usec=0;
-
- FD_ZERO(&rfds);
- FD_SET(fildes[0], &rfds);
-
- /* we're not interested in any fds */
- i = select(FD_SETSIZE, &rfds, NULL, NULL, &tv);
-
- if(i < 0) {
- perror("select");
- exit(10);
- }
-
- exit(0); /* if we exit here, the select blocked the whole process */
-}
-
-int main(argc, argv)
- int argc;
- char **argv;
-{
- pthread_t t;
-
- /* create a pipe to select */
- if(pipe(&fildes[0])) {
- perror("select");
- exit(1);
- }
-
-#ifdef HAVE_PTHREAD_SETCONCURRENCY
- (void) pthread_setconcurrency(2);
-#else
-#ifdef HAVE_THR_SETCONCURRENCY
- /* Set Solaris LWP concurrency to 2 */
- thr_setconcurrency(2);
-#endif
-#endif
-
-#if HAVE_PTHREADS < 6
- pthread_create(&t, pthread_attr_default, task, NULL);
-#else
- pthread_create(&t, NULL, task, NULL);
-#endif
-
- /* make sure task runs first */
-#ifdef HAVE_THR_YIELD
- thr_yield();
-#elif defined( HAVE_SCHED_YIELD )
- sched_yield();
-#elif defined( HAVE_PTHREAD_YIELD )
- pthread_yield();
-#endif
-
- exit(2);
-}]])],[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])
- fi
-
- if test $ol_cv_pthread_select_yields = yes ; then
- ol_with_yielding_select=yes
- fi
- fi
-
- dnl restore flags
- CPPFLAGS="$save_CPPFLAGS"
- LIBS="$save_LIBS"
- else
- AC_MSG_ERROR([could not locate usable POSIX Threads])
- fi
- fi
-
- if test $ol_with_threads = posix ; then
- AC_MSG_ERROR([could not locate POSIX Threads])
- fi
- ;;
-esac
-
-case $ol_with_threads in auto | yes | mach)
-
- dnl check for Mach CThreads
- AC_CHECK_HEADERS(mach/cthreads.h cthreads.h)
- if test $ac_cv_header_mach_cthreads_h = yes ; then
- ol_with_threads=found
-
- dnl check for cthreads support in current $LIBS
- AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
-
- if test $ol_link_threads = no ; then
- dnl try -all_load
- dnl this test needs work
- AC_CACHE_CHECK([for cthread_fork with -all_load],
- [ol_cv_cthread_all_load], [
- dnl save the flags
- save_LIBS="$LIBS"
- LIBS="-all_load $LIBS"
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <mach/cthreads.h>]], [[
- cthread_fork((void *)0, (void *)0);
- ]])],[ol_cv_cthread_all_load=yes],[ol_cv_cthread_all_load=no])
- dnl restore the LIBS
- LIBS="$save_LIBS"
- ])
-
- if test $ol_cv_cthread_all_load = yes ; then
- LTHREAD_LIBS="$LTHREAD_LIBS -all_load"
- ol_link_threads=mach
- ol_with_threads=found
- fi
- fi
-
- elif test $ac_cv_header_cthreads_h = yes ; then
- dnl Hurd variant of Mach Cthreads
- dnl uses <cthreads.h> and -lthreads
-
- ol_with_threads=found
-
- dnl save the flags
- save_LIBS="$LIBS"
- LIBS="$LIBS -lthreads"
- AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
- LIBS="$save_LIBS"
-
- if test $ol_link_threads = yes ; then
- LTHREAD_LIBS="-lthreads"
- ol_link_threads=mach
- ol_with_threads=found
- else
- AC_MSG_ERROR([could not link with Mach CThreads])
- fi
-
- elif test $ol_with_threads = mach ; then
- AC_MSG_ERROR([could not locate Mach CThreads])
- fi
-
- if test $ol_link_threads = mach ; then
- AC_DEFINE([HAVE_MACH_CTHREADS], [1],
- [define if you have Mach Cthreads])
- elif test $ol_with_threads = found ; then
- AC_MSG_ERROR([could not link with Mach CThreads])
- fi
- ;;
-esac
-
-case $ol_with_threads in auto | yes | pth)
-
- AC_CHECK_HEADERS(pth.h)
-
- if test $ac_cv_header_pth_h = yes ; then
- AC_CHECK_LIB(pth, pth_version, [have_pth=yes], [have_pth=no])
-
- if test $have_pth = yes ; then
- AC_DEFINE([HAVE_GNU_PTH], [1], [if you have GNU Pth])
- LTHREAD_LIBS="$LTHREAD_LIBS -lpth"
- ol_link_threads=pth
- ol_with_threads=found
-
- if test x$ol_with_yielding_select = xauto ; then
- ol_with_yielding_select=yes
- fi
- fi
- fi
- ;;
-esac
-
-case $ol_with_threads in auto | yes | lwp)
-
- dnl check for SunOS5 LWP
- AC_CHECK_HEADERS(thread.h synch.h)
- if test $ac_cv_header_thread_h = yes &&
- test $ac_cv_header_synch_h = yes ; then
- AC_CHECK_LIB(thread, thr_create, [have_thr=yes], [have_thr=no])
-
- if test $have_thr = yes ; then
- AC_DEFINE([HAVE_THR], [1],
- [if you have Solaris LWP (thr) package])
- LTHREAD_LIBS="$LTHREAD_LIBS -lthread"
- ol_link_threads=thr
-
- if test x$ol_with_yielding_select = xauto ; then
- ol_with_yielding_select=yes
- fi
-
- dnl Check for setconcurrency functions
- AC_CHECK_FUNCS( \
- thr_setconcurrency \
- thr_getconcurrency \
- )
- fi
- fi
-
- dnl check for SunOS4 LWP
- AC_CHECK_HEADERS(lwp/lwp.h)
- if test $ac_cv_header_lwp_lwp_h = yes ; then
- AC_CHECK_LIB(lwp, lwp_create, [have_lwp=yes], [have_lwp=no])
-
- if test $have_lwp = yes ; then
- AC_DEFINE([HAVE_LWP], [1],
- [if you have SunOS LWP package])
- LTHREAD_LIBS="$LTHREAD_LIBS -llwp"
- ol_link_threads=lwp
-
- if test x$ol_with_yielding_select = xauto ; then
- ol_with_yielding_select=no
- fi
- fi
- fi
- ;;
-esac
-
-if test $ol_with_yielding_select = yes ; then
- AC_DEFINE([HAVE_YIELDING_SELECT], [1],
- [define if select implicitly yields])
-fi
-
-if test $ol_with_threads = manual ; then
- dnl User thinks he can manually configure threads.
- ol_link_threads=yes
-
- AC_MSG_WARN([thread defines and link options must be set manually])
-
- AC_CHECK_HEADERS(pthread.h sched.h)
- AC_CHECK_FUNCS(sched_yield pthread_yield)
- OL_HEADER_LINUX_THREADS
-
- AC_CHECK_HEADERS(mach/cthreads.h)
- AC_CHECK_HEADERS(lwp/lwp.h)
- AC_CHECK_HEADERS(thread.h synch.h)
-fi
-
-if test $ol_link_threads != no && test $ol_link_threads != nt ; then
- dnl needed to get reentrant/threadsafe versions
- dnl
- AC_DEFINE([REENTRANT], [1], [enable thread safety])
- AC_DEFINE([_REENTRANT], [1], [enable thread safety])
- AC_DEFINE([THREAD_SAFE], [1], [enable thread safety])
- AC_DEFINE([_THREAD_SAFE], [1], [enable thread safety])
- AC_DEFINE([THREADSAFE], [1], [enable thread safety])
- AC_DEFINE([_THREADSAFE], [1], [enable thread safety])
- AC_DEFINE([_SGI_MP_SOURCE], [1], [enable thread safety])
-
- dnl The errno declaration may dependent upon _REENTRANT.
- dnl If it does, we must link with thread support.
- AC_CACHE_CHECK([for thread specific errno],
- [ol_cv_errno_thread_specific], [
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <errno.h>]], [[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_LINK_IFELSE([AC_LANG_PROGRAM([[#include <netdb.h>]], [[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 ||
- test $ol_cv_h_errno_thread_specific != yes ; then
- LIBS="$LTHREAD_LIBS $LIBS"
- LTHREAD_LIBS=""
- fi
-
-dnl When in thread environment, use
-dnl #if defined( HAVE_REENTRANT_FUNCTIONS ) || defined( HAVE_FUNC_R )
-dnl func_r(...);
-dnl #else
-dnl # if defined( HAVE_THREADS )
-dnl /* lock */
-dnl # endif
-dnl func(...);
-dnl # if defined( HAVE_THREADS )
-dnl /* unlock */
-dnl # endif
-dnl #endif
-dnl
-dnl HAVE_REENTRANT_FUNCTIONS is derived from:
-dnl _POSIX_REENTRANT_FUNCTIONS
-dnl _POSIX_THREAD_SAFE_FUNCTIONS
-dnl _POSIX_THREADSAFE_FUNCTIONS
-dnl
-dnl and is currently defined in <ldap_pvt_thread.h>
-dnl
-dnl HAVE_THREADS is defined by <ldap_pvt_thread.h> iff -UNO_THREADS
-dnl
-dnl libldap/*.c should only include <ldap_pvt_thread.h> iff
-dnl LDAP_R_COMPILE is defined. ie:
-dnl #ifdef LDAP_R_COMPILE
-dnl # include <ldap_pvt_thread.h>
-dnl #endif
-dnl
-dnl LDAP_R_COMPILE is defined by libldap_r/Makefile.in
-dnl specifically for compiling the threadsafe version of
-dnl the ldap library (-lldap_r).
-dnl
-dnl dnl check for reentrant/threadsafe functions
-dnl dnl
-dnl dnl note: these should only be used when linking
-dnl dnl with $LTHREAD_LIBS
-dnl dnl
-dnl save_CPPFLAGS="$CPPFLAGS"
-dnl save_LIBS="$LIBS"
-dnl LIBS="$LTHREAD_LIBS $LIBS"
-dnl AC_CHECK_FUNCS( \
-dnl gmtime_r \
-dnl gethostbyaddr_r gethostbyname_r \
-dnl feof_unlocked unlocked_feof \
-dnl putc_unlocked unlocked_putc \
-dnl flockfile ftrylockfile \
-dnl )
-dnl CPPFLAGS="$save_CPPFLAGS"
-dnl LIBS="$save_LIBS"
-fi
-
-if test $ol_link_threads = no ; then
- if test $ol_with_threads = yes ; then
- AC_MSG_ERROR([no suitable thread support])
- fi
-
- if test $ol_with_threads = auto ; then
- AC_MSG_WARN([no suitable thread support, disabling threads])
- ol_with_threads=no
- fi
-
- AC_DEFINE([NO_THREADS], [1],
- [define if you have (or want) no threads])
- LTHREAD_LIBS=""
- BUILD_THREAD=no
-else
- BUILD_THREAD=yes
-fi
-
-if test $ol_link_threads != no ; then
- AC_DEFINE([LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE], [1],
- [define to 1 if library is thread safe])
-fi
-
-# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
-case "$ol_with_threads" in
- no)
- ol_pthread_ok=no
- $2
- ;;
- *)
- ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1])
- ;;
-esac
-
-AC_LANG_RESTORE
-])
diff --git a/sntp/libevent/m4/openldap.m4 b/sntp/libevent/m4/openldap.m4
deleted file mode 100644
index 49ffb87..0000000
--- a/sntp/libevent/m4/openldap.m4
+++ /dev/null
@@ -1,1131 +0,0 @@
-dnl OpenLDAP Autoconf Macros
-dnl $OpenLDAP: pkg/ldap/build/openldap.m4,v 1.157.2.10 2010/04/13 20:22:21 kurt Exp $
-dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
-dnl
-dnl Copyright 1998-2010 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-OPENLDAP in
-dnl this directory of the distribution or, alternatively, at
-dnl <http://www.OpenLDAP.org/license.html>.
-dnl
-dnl --------------------------------------------------------------------
-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). "--" 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
- 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
- ol_arg="$ol_val"
- fi
- done
- if test "$ol_arg" = "invalid" ; then
- AC_MSG_ERROR(bad value $enableval for --enable-$1)
- fi
- ol_enable_$1="$ol_arg"
-]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
-dnl --------------------------------------------------------------------
-dnl Restricted form of AC_ARG_WITH that limits user options
-dnl
-dnl $1 = option name
-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,[$2 @<:@]ifelse($3,,yes,$3)@:>@,[
- ol_arg=invalid
- for ol_val in ifelse($4,,[yes no],[$4]) ; do
- if test "$withval" = "$ol_val" ; then
- ol_arg="$ol_val"
- fi
- done
- if test "$ol_arg" = "invalid" ; then
- AC_MSG_ERROR(bad value $withval for --with-$1)
- fi
- ol_with_$1="$ol_arg"
-],
-[ ol_with_$1=ifelse($3,,"no","$3")])dnl
-dnl AC_MSG_RESULT([OpenLDAP --with-$1 $ol_with_$1])
-# end --with-$1
-])dnl
-dnl ====================================================================
-dnl Check for dependency generation flag
-AC_DEFUN([OL_MKDEPEND], [# test for make depend flag
-OL_MKDEP=
-OL_MKDEP_FLAGS=
-if test -z "${MKDEP}"; then
- OL_MKDEP="${CC-cc}"
- if test -z "${MKDEP_FLAGS}"; then
- AC_CACHE_CHECK([for ${OL_MKDEP} depend flag], ol_cv_mkdep, [
- ol_cv_mkdep=no
- for flag in "-M" "-xM"; do
- cat > conftest.c <<EOF
- noCode;
-EOF
- if AC_TRY_COMMAND($OL_MKDEP $flag conftest.c) \
- | grep '^conftest\.'"${ac_objext}" >/dev/null 2>&1
- then
- if test ! -f conftest."${ac_object}" ; then
- ol_cv_mkdep=$flag
- OL_MKDEP_FLAGS="$flag"
- break
- fi
- fi
- done
- rm -f conftest*
- ])
- test "$ol_cv_mkdep" = no && OL_MKDEP=":"
- else
- cc_cv_mkdep=yes
- OL_MKDEP_FLAGS="${MKDEP_FLAGS}"
- fi
-else
- cc_cv_mkdep=yes
- OL_MKDEP="${MKDEP}"
- OL_MKDEP_FLAGS="${MKDEP_FLAGS}"
-fi
-AC_SUBST(OL_MKDEP)
-AC_SUBST(OL_MKDEP_FLAGS)
-])
-dnl
-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_PREPROC_IFELSE([AC_LANG_SOURCE([[
-#if !('M' == 0xd4)
-#include <__ASCII__/generate_error.h>
-#endif
-]])],[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_REQUIRE_CPP()dnl
-AC_REQUIRE([OL_CPP_EBCDIC])dnl
-AC_CACHE_CHECK([for ANSI C header files], ol_cv_header_stdc,
-[AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>]])],[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.
-AC_EGREP_HEADER(memchr, string.h, , ol_cv_header_stdc=no)
-fi
-
-if test $ol_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-AC_EGREP_HEADER(free, stdlib.h, , ol_cv_header_stdc=no)
-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_RUN_IFELSE([AC_LANG_SOURCE([[#include <ctype.h>
-#ifndef HAVE_EBCDIC
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-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],[:])
-fi])
-if test $ol_cv_header_stdc = yes; then
- AC_DEFINE([STDC_HEADERS], [1], [is standard C provided?])
-fi
-ac_cv_header_stdc=disable
-])
-dnl
-dnl ====================================================================
-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 <sys/types.h>
-#endif
-#include <netinet/in.h>
-#ifdef HAVE_ARPA_NAMESER_H
-# include <arpa/nameser.h>
-#endif
-#ifdef HAVE_RESOLV_H
-# include <resolv.h>
-#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 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 <unicode/utypes.h>
-]], [[
-(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 --------------------------------------------------------------------
-dnl Try to link
-AC_DEFUN([OL_BERKELEY_DB_TRY],
-[if test $ol_cv_lib_db = no ; then
- AC_CACHE_CHECK([for Berkeley DB link (]ifelse($2,,default,$2)[)],[$1],
-[
- ol_DB_LIB=ifelse($2,,,$2)
- ol_LIBS=$LIBS
- LIBS="$ol_DB_LIB $LTHREAD_LIBS $LIBS"
-
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[
-#ifdef HAVE_DB_185_H
-# include <db_185.h>
-#else
-# include <db.h>
-#endif
-
-#ifndef DB_VERSION_MAJOR
-# define DB_VERSION_MAJOR 1
-#endif
-
-#ifndef NULL
-#define NULL ((void*)0)
-#endif
-]], [[
-#if DB_VERSION_MAJOR > 2
- db_env_create( NULL, 0 );
-#elif DB_VERSION_MAJOR > 1
- db_appexit( NULL );
-#else
- (void) dbopen( NULL, 0, 0, 0, NULL);
-#endif
-]])],[$1=yes],[$1=no])
-
- LIBS="$ol_LIBS"
-])
-
- if test $$1 = yes ; then
- ol_cv_lib_db=ifelse($2,,yes,$2)
- fi
-fi
-])
-dnl
-dnl --------------------------------------------------------------------
-dnl Get major and minor version from <db.h>
-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 <db.h>
-#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 <db.h>
-#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)
-])
-dnl
-dnl --------------------------------------------------------------------
-dnl Check if Berkeley DB version
-AC_DEFUN([OL_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_RUN_IFELSE([AC_LANG_SOURCE([[
-#ifdef HAVE_DB_185_H
- choke me;
-#else
-#include <db.h>
-#endif
-#ifndef DB_VERSION_MAJOR
-# define DB_VERSION_MAJOR 1
-#endif
-#ifndef NULL
-#define NULL ((void *)0)
-#endif
-main()
-{
-#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 ||
- patch != DB_VERSION_PATCH )
- {
- printf("Berkeley DB version mismatch\n"
- "\theader: %s\n\tlibrary: %s\n",
- DB_VERSION_STRING, version);
- return 1;
- }
-#endif
-
- return 0;
-}]])],[ol_cv_berkeley_db_version=yes],[ol_cv_berkeley_db_version=no],[ol_cv_berkeley_db_version=cross])
-
- LIBS="$ol_LIBS"
-])
-
- if test $ol_cv_berkeley_db_version = no ; then
- AC_MSG_ERROR([Berkeley DB version mismatch])
- fi
-])dnl
-dnl
-dnl --------------------------------------------------------------------
-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"
- fi
-
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#ifdef HAVE_DB_185_H
- choke me;
-#else
-#include <db.h>
-#endif
-#ifndef NULL
-#define NULL ((void *)0)
-#endif
-main()
-{
- int rc;
- u_int32_t flags = DB_CREATE |
-#ifdef DB_PRIVATE
- DB_PRIVATE |
-#endif
- DB_THREAD;
-
-#if DB_VERSION_MAJOR > 2
- DB_ENV *env = NULL;
-
- rc = db_env_create( &env, 0 );
-
- flags |= DB_INIT_MPOOL;
-#ifdef DB_MPOOL_PRIVATE
- flags |= DB_MPOOL_PRIVATE;
-#endif
-
- if( rc ) {
- printf("BerkeleyDB: %s\n", db_strerror(rc) );
- return rc;
- }
-
-#if (DB_VERSION_MAJOR > 3) || (DB_VERSION_MINOR >= 1)
- rc = (env->open)( env, NULL, flags, 0 );
-#else
- rc = (env->open)( env, NULL, NULL, flags, 0 );
-#endif
-
- if ( rc == 0 ) {
- rc = env->close( env, 0 );
- }
-
- if( rc ) {
- printf("BerkeleyDB: %s\n", db_strerror(rc) );
- return rc;
- }
-
-#else
- DB_ENV env;
- memset( &env, '\0', sizeof(env) );
-
- rc = db_appinit( NULL, NULL, &env, flags );
-
- if( rc == 0 ) {
- db_appexit( &env );
- }
-
- unlink("__db_mpool.share");
- unlink("__db_lock.share");
-#endif
-
- return rc;
-}]])],[ol_cv_berkeley_db_thread=yes],[ol_cv_berkeley_db_thread=no],[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 Find any DB
-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
- OL_BERKELEY_DB_VERSION
- OL_BERKELEY_DB_THREAD
- fi
-fi
-])
-dnl --------------------------------------------------------------------
-dnl Check for version compatility with back-bdb
-AC_DEFUN([OL_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 <db.h>
-
- /* this check could be improved */
-#ifndef DB_VERSION_MAJOR
-# define DB_VERSION_MAJOR 1
-#endif
-#ifndef DB_VERSION_MINOR
-# define DB_VERSION_MINOR 0
-#endif
-
-#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 ====================================================================
-dnl Check POSIX Thread version
-dnl
-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 Existence of pthread.h should be tested separately.
-dnl
-dnl tests:
-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
-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_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-# include <pthread.h>
- ]], [[
- 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 <pthread.h>
-# ifdef PTHREAD_CREATE_UNDETACHED
- draft7
-# endif
- ], ol_cv_pthread_version=7, [
- AC_EGREP_HEADER(pthread_attr_init,pthread.h,
- ol_cv_pthread_version=6, [
- AC_EGREP_CPP(draft5,[
-# include <pthread.h>
-#ifdef PTHREAD_MUTEX_INITIALIZER
- draft5
-#endif
- ], ol_cv_pthread_version=5, ol_cv_pthread_version=4) ]) ]) ])
-])
-])dnl
-dnl
-dnl --------------------------------------------------------------------
-AC_DEFUN([OL_PTHREAD_TEST_INCLUDES], [[
-/* pthread test headers */
-#include <pthread.h>
-#if HAVE_PTHREADS < 7
-#include <errno.h>
-#endif
-#ifndef NULL
-#define NULL (void*)0
-#endif
-
-static void *task(p)
- void *p;
-{
- return (void *) (p == NULL);
-}
-]])
-AC_DEFUN([OL_PTHREAD_TEST_FUNCTION],[[
- /* pthread test function */
-#ifndef PTHREAD_CREATE_DETACHED
-#define PTHREAD_CREATE_DETACHED 1
-#endif
- pthread_t t;
- int status;
- int detach = PTHREAD_CREATE_DETACHED;
-
-#if HAVE_PTHREADS > 4
- /* Final pthreads */
- pthread_attr_t attr;
-
- status = pthread_attr_init(&attr);
- if( status ) return status;
-
-#if HAVE_PTHREADS < 7
- status = pthread_attr_setdetachstate(&attr, &detach);
- if( status < 0 ) status = errno;
-#else
- status = pthread_attr_setdetachstate(&attr, detach);
-#endif
- if( status ) return status;
- status = pthread_create( &t, &attr, task, NULL );
-#if HAVE_PTHREADS < 7
- if( status < 0 ) status = errno;
-#endif
- if( status ) return status;
-#else
- /* Draft 4 pthreads */
- status = pthread_create( &t, pthread_attr_default, task, NULL );
- if( status ) return errno;
-
- /* give thread a chance to complete */
- /* it should remain joinable and hence detachable */
- sleep( 1 );
-
- status = pthread_detach( &t );
- if( status ) return errno;
-#endif
-
-#ifdef HAVE_LINUX_THREADS
- pthread_kill_other_threads_np();
-#endif
-
- return 0;
-]])
-
-AC_DEFUN([OL_PTHREAD_TEST_PROGRAM], [
-AC_LANG_SOURCE([OL_PTHREAD_TEST_INCLUDES
-
-int main(argc, argv)
- int argc;
- char **argv;
-{
-OL_PTHREAD_TEST_FUNCTION
-}
-])])
-dnl --------------------------------------------------------------------
-AC_DEFUN([OL_PTHREAD_TRY], [# Pthread try link: $1 ($2)
-if test "$ol_link_threads" = no ; then
- # try $1
- AC_CACHE_CHECK([for pthread link with $1], [$2], [
- # save the flags
- ol_LIBS="$LIBS"
- LIBS="$1 $LIBS"
-
- 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
- LIBS="$ol_LIBS"
- ])
-
- if test $$2 = yes ; then
- ol_link_pthreads="$1"
- ol_link_threads=posix
- fi
-fi
-])
-dnl
-dnl ====================================================================
-dnl Check GNU Pth pthread Header
-dnl
-dnl defines ol_cv_header linux_threads to 'yes' or 'no'
-dnl 'no' implies pthreads.h is not LinuxThreads or pthreads.h
-dnl doesn't exists. Existance of pthread.h should separately
-dnl checked.
-dnl
-AC_DEFUN([OL_HEADER_GNU_PTH_PTHREAD_H], [
- AC_CACHE_CHECK([for GNU Pth pthread.h],
- [ol_cv_header_gnu_pth_pthread_h],
- [AC_EGREP_CPP(__gnu_pth__,
- [#include <pthread.h>
-#ifdef _POSIX_THREAD_IS_GNU_PTH
- __gnu_pth__;
-#endif
-],
- [ol_cv_header_gnu_pth_pthread_h=yes],
- [ol_cv_header_gnu_pth_pthread_h=no])
- ])
-])dnl
-dnl ====================================================================
-dnl Check for NT Threads
-AC_DEFUN([OL_NT_THREADS], [
- AC_CHECK_FUNC(_beginthread)
-
- if test $ac_cv_func__beginthread = yes ; then
- AC_DEFINE([HAVE_NT_THREADS], [1], [if you have NT Threads])
- ol_cv_nt_threads=yes
- fi
-])
-dnl ====================================================================
-dnl Check LinuxThreads Header
-dnl
-dnl defines ol_cv_header linux_threads to 'yes' or 'no'
-dnl 'no' implies pthreads.h is not LinuxThreads or pthreads.h
-dnl doesn't exists. Existance of pthread.h should separately
-dnl checked.
-dnl
-AC_DEFUN([OL_HEADER_LINUX_THREADS], [
- AC_CACHE_CHECK([for LinuxThreads pthread.h],
- [ol_cv_header_linux_threads],
- [AC_EGREP_CPP(pthread_kill_other_threads_np,
- [#include <pthread.h>],
- [ol_cv_header_linux_threads=yes],
- [ol_cv_header_linux_threads=no])
- ])
- if test $ol_cv_header_linux_threads = yes; then
- AC_DEFINE([HAVE_LINUX_THREADS], [1], [if you have LinuxThreads])
- fi
-])dnl
-dnl --------------------------------------------------------------------
-dnl Check LinuxThreads Implementation
-dnl
-dnl defines ol_cv_sys_linux_threads to 'yes' or 'no'
-dnl 'no' implies pthreads implementation is not LinuxThreads.
-dnl
-AC_DEFUN([OL_SYS_LINUX_THREADS], [
- AC_CHECK_FUNCS(pthread_kill_other_threads_np)
- AC_CACHE_CHECK([for LinuxThreads implementation],
- [ol_cv_sys_linux_threads],
- [ol_cv_sys_linux_threads=$ac_cv_func_pthread_kill_other_threads_np])
-])dnl
-dnl
-dnl --------------------------------------------------------------------
-dnl Check LinuxThreads consistency
-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 &&
- test $ol_cv_sys_linux_threads = yes; then
- ol_cv_linux_threads=yes
- 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
- fi
- ])
-])dnl
-dnl
-dnl ====================================================================
-dnl Check for POSIX Regex
-AC_DEFUN([OL_POSIX_REGEX], [
-AC_CACHE_CHECK([for compatible POSIX regex],ol_cv_c_posix_regex,[
- AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <sys/types.h>
-#include <regex.h>
-static char *pattern, *string;
-main()
-{
- int rc;
- regex_t re;
-
- pattern = "^A";
-
- if(regcomp(&re, pattern, 0)) {
- return -1;
- }
-
- string = "ALL MATCH";
-
- rc = regexec(&re, string, 0, (void*)0, 0);
-
- regfree(&re);
-
- return rc;
-}]])],[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_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <ctype.h>
-main()
-{
- if ('C' == toupper('C'))
- exit(0);
- else
- exit(1);
-}]])],[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
-])
-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.
-AC_DEFUN([OL_SYS_ERRLIST],
-[AC_CACHE_CHECK([declaration of sys_errlist],ol_cv_dcl_sys_errlist,[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <stdio.h>
-#include <sys/types.h>
-#include <errno.h>
-#ifdef _WIN32
-#include <stdlib.h>
-#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
- AC_DEFINE([DECL_SYS_ERRLIST], [1],
- [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_LINK_IFELSE([AC_LANG_PROGRAM([[#include <errno.h>]], [[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],
- [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 <string.h>],
- ol_decl_strerror_r=yes, ol_decl_strerror_r=no)dnl
-
- if test $ol_decl_strerror_r = yes ; then
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <string.h>]], [[ /* 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_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=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;"
-dnl -- borrowed from PDKSH
-AC_DEFUN([OL_C_VOLATILE],
- [AC_CACHE_CHECK(if compiler understands volatile, ol_cv_c_volatile,
- [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])])
- if test $ol_cv_c_volatile = yes; then
- :
- else
- AC_DEFINE([volatile], [], [define as empty if volatile is not supported])
- fi
- ])dnl
-dnl
-dnl ====================================================================
-dnl Look for fetch(3)
-AC_DEFUN([OL_LIB_FETCH],
-[ol_LIBS=$LIBS
-LIBS="-lfetch -lcom_err $LIBS"
-AC_CACHE_CHECK([fetch(3) library],ol_cv_lib_fetch,[
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-#include <stdio.h>
-#include <fetch.h>]], [[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"
- AC_DEFINE([HAVE_FETCH], [1],
- [define if you actually have FreeBSD fetch(3)])
-fi
-])dnl
-dnl
-dnl ====================================================================
-dnl Define inet_aton is available
-AC_DEFUN([OL_FUNC_INET_ATON],
- [AC_CACHE_CHECK([for inet_aton()], ol_cv_func_inet_aton,
- [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-# include <sys/socket.h>
-# ifdef HAVE_SYS_SELECT_H
-# include <sys/select.h>
-# endif
-# include <netinet/in.h>
-# ifdef HAVE_ARPA_INET_H
-# include <arpa/inet.h>
-# 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])])
- if test $ol_cv_func_inet_aton != no; then
- AC_DEFINE(HAVE_INET_ATON, 1,
- [define to you inet_aton(3) is available])
- fi
- ])dnl
-dnl
-dnl ====================================================================
-dnl check no of arguments for ctime_r
-AC_DEFUN([OL_FUNC_CTIME_R_NARGS],
- [AC_CACHE_CHECK(number of arguments of ctime_r, ol_cv_func_ctime_r_nargs,
- [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[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.h>]], [[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 &&
- 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 &&
- test $ol_cv_func_ctime_r_nargs2 = yes ; then
-
- ol_cv_func_ctime_r_nargs=2
-
- else
- ol_cv_func_ctime_r_nargs=0
- fi
- ])
-
- if test $ol_cv_func_ctime_r_nargs -gt 1 ; then
- AC_DEFINE_UNQUOTED(CTIME_R_NARGS, $ol_cv_func_ctime_r_nargs,
- [set to the number of arguments ctime_r() expects])
- fi
-])dnl
-dnl
-dnl --------------------------------------------------------------------
-dnl check return type of ctime_r()
-AC_DEFUN([OL_FUNC_CTIME_R_TYPE],
- [AC_CACHE_CHECK(return type of ctime_r, ol_cv_func_ctime_r_type,
- [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[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])
- fi
-])dnl
-dnl ====================================================================
-dnl check no of arguments for gethostbyname_r
-AC_DEFUN([OL_FUNC_GETHOSTBYNAME_R_NARGS],
- [AC_CACHE_CHECK(number of arguments of gethostbyname_r,
- ol_cv_func_gethostbyname_r_nargs,
- [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#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])
-
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#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])
-
- 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 &&
- test $ol_cv_func_gethostbyname_r_nargs6 = yes ; then
-
- ol_cv_func_gethostbyname_r_nargs=6
-
- else
- ol_cv_func_gethostbyname_r_nargs=0
- fi
- ])
- if test $ol_cv_func_gethostbyname_r_nargs -gt 1 ; then
- AC_DEFINE_UNQUOTED(GETHOSTBYNAME_R_NARGS,
- $ol_cv_func_gethostbyname_r_nargs,
- [set to the number of arguments gethostbyname_r() expects])
- fi
-])dnl
-dnl
-dnl check no of arguments for gethostbyaddr_r
-AC_DEFUN([OL_FUNC_GETHOSTBYADDR_R_NARGS],
- [AC_CACHE_CHECK(number of arguments of gethostbyaddr_r,
- [ol_cv_func_gethostbyaddr_r_nargs],
- [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#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])
-
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#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])
-
- 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 &&
- test $ol_cv_func_gethostbyaddr_r_nargs8 = yes ; then
-
- ol_cv_func_gethostbyaddr_r_nargs=8
-
- else
- ol_cv_func_gethostbyaddr_r_nargs=0
- fi
- ])
- if test $ol_cv_func_gethostbyaddr_r_nargs -gt 1 ; then
- AC_DEFINE_UNQUOTED(GETHOSTBYADDR_R_NARGS,
- $ol_cv_func_gethostbyaddr_r_nargs,
- [set to the number of arguments gethostbyaddr_r() expects])
- fi
-])dnl
-dnl
-dnl --------------------------------------------------------------------
-dnl Check for Cyrus SASL version compatility
-AC_DEFUN([OL_SASL_COMPAT],
-[AC_CACHE_CHECK([Cyrus SASL library version], [ol_cv_sasl_compat],[
- AC_EGREP_CPP(__sasl_compat,[
-#ifdef HAVE_SASL_SASL_H
-#include <sasl/sasl.h>
-#else
-#include <sasl.h>
-#endif
-
-/* Require 2.1.15+ */
-#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 >=15
- char *__sasl_compat = "2.1.15+ or better okay";
-#endif
- ], [ol_cv_sasl_compat=yes], [ol_cv_sasl_compat=no])])
-])
-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 <openssl/ssl.h>
-#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])])
-])