2008-08-01 04:48:00 +02:00
|
|
|
#***************************************************************************
|
|
|
|
# $Id$
|
|
|
|
#
|
2009-09-29 18:34:03 +02:00
|
|
|
# Copyright (C) 2008 - 2009 by Daniel Stenberg et al
|
2008-08-01 04:48:00 +02:00
|
|
|
#
|
|
|
|
# Permission to use, copy, modify, and distribute this software and its
|
|
|
|
# documentation for any purpose and without fee is hereby granted, provided
|
|
|
|
# that the above copyright notice appear in all copies and that both that
|
|
|
|
# copyright notice and this permission notice appear in supporting
|
|
|
|
# documentation, and that the name of M.I.T. not be used in advertising or
|
|
|
|
# publicity pertaining to distribution of the software without specific,
|
|
|
|
# written prior permission. M.I.T. makes no representations about the
|
|
|
|
# suitability of this software for any purpose. It is provided "as is"
|
|
|
|
# without express or implied warranty.
|
|
|
|
#
|
|
|
|
#***************************************************************************
|
|
|
|
|
2008-08-05 11:08:43 +02:00
|
|
|
# File version for 'aclocal' use. Keep it a single number.
|
2009-09-29 18:34:03 +02:00
|
|
|
# serial 4
|
2008-08-01 04:48:00 +02:00
|
|
|
|
|
|
|
dnl Note 1
|
|
|
|
dnl ------
|
|
|
|
dnl None of the CARES_CHECK_NEED_REENTRANT_* macros shall use HAVE_FOO_H to
|
|
|
|
dnl conditionally include header files. These macros are used early in the
|
|
|
|
dnl configure process much before header file availability is known.
|
2008-07-30 14:09:35 +02:00
|
|
|
|
|
|
|
|
2009-09-29 18:34:03 +02:00
|
|
|
dnl CARES_CHECK_NEED_REENTRANT_ERRNO
|
|
|
|
dnl -------------------------------------------------
|
|
|
|
dnl Checks if the preprocessor _REENTRANT definition
|
|
|
|
dnl makes errno available as a preprocessor macro.
|
|
|
|
|
|
|
|
AC_DEFUN([CARES_CHECK_NEED_REENTRANT_ERRNO], [
|
|
|
|
AC_COMPILE_IFELSE([
|
|
|
|
AC_LANG_PROGRAM([[
|
|
|
|
#include <errno.h>
|
|
|
|
]],[[
|
|
|
|
if(0 != errno)
|
|
|
|
return 1;
|
|
|
|
]])
|
|
|
|
],[
|
|
|
|
tmp_errno="yes"
|
|
|
|
],[
|
|
|
|
tmp_errno="no"
|
|
|
|
])
|
|
|
|
if test "$tmp_errno" = "yes"; then
|
|
|
|
AC_COMPILE_IFELSE([
|
|
|
|
AC_LANG_PROGRAM([[
|
|
|
|
#include <errno.h>
|
|
|
|
]],[[
|
|
|
|
#ifdef errno
|
|
|
|
int dummy=1;
|
|
|
|
#else
|
|
|
|
force compilation error
|
|
|
|
#endif
|
|
|
|
]])
|
|
|
|
],[
|
|
|
|
tmp_errno="errno_macro_defined"
|
|
|
|
],[
|
|
|
|
AC_COMPILE_IFELSE([
|
|
|
|
AC_LANG_PROGRAM([[
|
|
|
|
#define _REENTRANT
|
|
|
|
#include <errno.h>
|
|
|
|
]],[[
|
|
|
|
#ifdef errno
|
|
|
|
int dummy=1;
|
|
|
|
#else
|
|
|
|
force compilation error
|
|
|
|
#endif
|
|
|
|
]])
|
|
|
|
],[
|
|
|
|
tmp_errno="errno_macro_needs_reentrant"
|
|
|
|
tmp_need_reentrant="yes"
|
|
|
|
])
|
|
|
|
])
|
|
|
|
fi
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
dnl CARES_CHECK_NEED_REENTRANT_GMTIME_R
|
2008-07-24 17:20:35 +02:00
|
|
|
dnl -------------------------------------------------
|
|
|
|
dnl Checks if the preprocessor _REENTRANT definition
|
2008-07-27 03:36:33 +02:00
|
|
|
dnl makes function gmtime_r compiler visible.
|
2008-07-24 17:20:35 +02:00
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
AC_DEFUN([CARES_CHECK_NEED_REENTRANT_GMTIME_R], [
|
2008-07-24 17:20:35 +02:00
|
|
|
AC_LINK_IFELSE([
|
2008-07-27 03:36:33 +02:00
|
|
|
AC_LANG_FUNC_LINK_TRY([gmtime_r])
|
2008-07-24 17:20:35 +02:00
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_gmtime_r="yes"
|
2008-07-24 17:20:35 +02:00
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_gmtime_r="no"
|
2008-07-24 17:20:35 +02:00
|
|
|
])
|
2008-07-27 03:36:33 +02:00
|
|
|
if test "$tmp_gmtime_r" = "yes"; then
|
|
|
|
AC_EGREP_CPP([gmtime_r],[
|
2008-07-24 17:20:35 +02:00
|
|
|
#include <sys/types.h>
|
2008-07-27 03:36:33 +02:00
|
|
|
#include <time.h>
|
2008-07-24 17:20:35 +02:00
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_gmtime_r="proto_declared"
|
2008-07-24 17:20:35 +02:00
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
AC_EGREP_CPP([gmtime_r],[
|
2008-07-24 17:20:35 +02:00
|
|
|
#define _REENTRANT
|
|
|
|
#include <sys/types.h>
|
2008-07-27 03:36:33 +02:00
|
|
|
#include <time.h>
|
2008-07-24 17:20:35 +02:00
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_gmtime_r="proto_needs_reentrant"
|
|
|
|
tmp_need_reentrant="yes"
|
2008-07-24 17:20:35 +02:00
|
|
|
])
|
|
|
|
])
|
|
|
|
fi
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
dnl CARES_CHECK_NEED_REENTRANT_LOCALTIME_R
|
2008-07-24 20:02:44 +02:00
|
|
|
dnl -------------------------------------------------
|
|
|
|
dnl Checks if the preprocessor _REENTRANT definition
|
2008-07-27 03:36:33 +02:00
|
|
|
dnl makes function localtime_r compiler visible.
|
2008-07-24 20:02:44 +02:00
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
AC_DEFUN([CARES_CHECK_NEED_REENTRANT_LOCALTIME_R], [
|
2008-07-24 20:02:44 +02:00
|
|
|
AC_LINK_IFELSE([
|
2008-07-27 03:36:33 +02:00
|
|
|
AC_LANG_FUNC_LINK_TRY([localtime_r])
|
2008-07-24 20:02:44 +02:00
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_localtime_r="yes"
|
2008-07-24 20:02:44 +02:00
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_localtime_r="no"
|
2008-07-24 20:02:44 +02:00
|
|
|
])
|
2008-07-27 03:36:33 +02:00
|
|
|
if test "$tmp_localtime_r" = "yes"; then
|
|
|
|
AC_EGREP_CPP([localtime_r],[
|
2008-07-24 20:02:44 +02:00
|
|
|
#include <sys/types.h>
|
2008-07-27 03:36:33 +02:00
|
|
|
#include <time.h>
|
2008-07-24 20:02:44 +02:00
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_localtime_r="proto_declared"
|
2008-07-24 20:02:44 +02:00
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
AC_EGREP_CPP([localtime_r],[
|
2008-07-24 20:02:44 +02:00
|
|
|
#define _REENTRANT
|
|
|
|
#include <sys/types.h>
|
2008-07-27 03:36:33 +02:00
|
|
|
#include <time.h>
|
2008-07-24 20:02:44 +02:00
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_localtime_r="proto_needs_reentrant"
|
|
|
|
tmp_need_reentrant="yes"
|
2008-07-24 20:02:44 +02:00
|
|
|
])
|
|
|
|
])
|
|
|
|
fi
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
dnl CARES_CHECK_NEED_REENTRANT_STRERROR_R
|
2008-07-24 17:20:35 +02:00
|
|
|
dnl -------------------------------------------------
|
|
|
|
dnl Checks if the preprocessor _REENTRANT definition
|
2008-07-27 03:36:33 +02:00
|
|
|
dnl makes function strerror_r compiler visible.
|
2008-07-24 17:20:35 +02:00
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
AC_DEFUN([CARES_CHECK_NEED_REENTRANT_STRERROR_R], [
|
2008-07-24 17:20:35 +02:00
|
|
|
AC_LINK_IFELSE([
|
2008-07-27 03:36:33 +02:00
|
|
|
AC_LANG_FUNC_LINK_TRY([strerror_r])
|
2008-07-24 17:20:35 +02:00
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_strerror_r="yes"
|
2008-07-24 17:20:35 +02:00
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_strerror_r="no"
|
2008-07-24 17:20:35 +02:00
|
|
|
])
|
2008-07-27 03:36:33 +02:00
|
|
|
if test "$tmp_strerror_r" = "yes"; then
|
|
|
|
AC_EGREP_CPP([strerror_r],[
|
2008-07-24 17:20:35 +02:00
|
|
|
#include <sys/types.h>
|
2008-07-27 03:36:33 +02:00
|
|
|
#include <string.h>
|
2008-07-24 17:20:35 +02:00
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_strerror_r="proto_declared"
|
2008-07-24 17:20:35 +02:00
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
AC_EGREP_CPP([strerror_r],[
|
2008-07-24 17:20:35 +02:00
|
|
|
#define _REENTRANT
|
|
|
|
#include <sys/types.h>
|
2008-07-27 03:36:33 +02:00
|
|
|
#include <string.h>
|
2008-07-24 17:20:35 +02:00
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_strerror_r="proto_needs_reentrant"
|
|
|
|
tmp_need_reentrant="yes"
|
2008-07-24 17:20:35 +02:00
|
|
|
])
|
|
|
|
])
|
|
|
|
fi
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
dnl CARES_CHECK_NEED_REENTRANT_STRTOK_R
|
2008-07-24 17:20:35 +02:00
|
|
|
dnl -------------------------------------------------
|
|
|
|
dnl Checks if the preprocessor _REENTRANT definition
|
2008-07-27 03:36:33 +02:00
|
|
|
dnl makes function strtok_r compiler visible.
|
2008-07-24 17:20:35 +02:00
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
AC_DEFUN([CARES_CHECK_NEED_REENTRANT_STRTOK_R], [
|
2008-07-24 17:20:35 +02:00
|
|
|
AC_LINK_IFELSE([
|
2008-07-27 03:36:33 +02:00
|
|
|
AC_LANG_FUNC_LINK_TRY([strtok_r])
|
2008-07-24 17:20:35 +02:00
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_strtok_r="yes"
|
2008-07-24 17:20:35 +02:00
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_strtok_r="no"
|
2008-07-24 17:20:35 +02:00
|
|
|
])
|
2008-07-27 03:36:33 +02:00
|
|
|
if test "$tmp_strtok_r" = "yes"; then
|
|
|
|
AC_EGREP_CPP([strtok_r],[
|
2008-07-24 17:20:35 +02:00
|
|
|
#include <sys/types.h>
|
2008-07-27 03:36:33 +02:00
|
|
|
#include <string.h>
|
2008-07-24 17:20:35 +02:00
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_strtok_r="proto_declared"
|
2008-07-24 17:20:35 +02:00
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
AC_EGREP_CPP([strtok_r],[
|
2008-07-24 17:20:35 +02:00
|
|
|
#define _REENTRANT
|
|
|
|
#include <sys/types.h>
|
2008-07-27 03:36:33 +02:00
|
|
|
#include <string.h>
|
2008-07-24 17:20:35 +02:00
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_strtok_r="proto_needs_reentrant"
|
|
|
|
tmp_need_reentrant="yes"
|
2008-07-24 17:20:35 +02:00
|
|
|
])
|
|
|
|
])
|
|
|
|
fi
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
dnl CARES_CHECK_NEED_REENTRANT_INET_NTOA_R
|
2008-07-24 17:20:35 +02:00
|
|
|
dnl -------------------------------------------------
|
|
|
|
dnl Checks if the preprocessor _REENTRANT definition
|
|
|
|
dnl makes function inet_ntoa_r compiler visible.
|
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
AC_DEFUN([CARES_CHECK_NEED_REENTRANT_INET_NTOA_R], [
|
2008-07-24 17:20:35 +02:00
|
|
|
AC_LINK_IFELSE([
|
|
|
|
AC_LANG_FUNC_LINK_TRY([inet_ntoa_r])
|
|
|
|
],[
|
|
|
|
tmp_inet_ntoa_r="yes"
|
|
|
|
],[
|
|
|
|
tmp_inet_ntoa_r="no"
|
|
|
|
])
|
|
|
|
if test "$tmp_inet_ntoa_r" = "yes"; then
|
|
|
|
AC_EGREP_CPP([inet_ntoa_r],[
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <sys/socket.h>
|
|
|
|
#include <netinet/in.h>
|
|
|
|
#include <arpa/inet.h>
|
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_inet_ntoa_r="proto_declared"
|
2008-07-24 17:20:35 +02:00
|
|
|
],[
|
|
|
|
AC_EGREP_CPP([inet_ntoa_r],[
|
|
|
|
#define _REENTRANT
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <sys/socket.h>
|
|
|
|
#include <netinet/in.h>
|
|
|
|
#include <arpa/inet.h>
|
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_inet_ntoa_r="proto_needs_reentrant"
|
|
|
|
tmp_need_reentrant="yes"
|
2008-07-24 17:20:35 +02:00
|
|
|
])
|
|
|
|
])
|
|
|
|
fi
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
dnl CARES_CHECK_NEED_REENTRANT_GETHOSTBYADDR_R
|
2008-07-24 17:20:35 +02:00
|
|
|
dnl -------------------------------------------------
|
|
|
|
dnl Checks if the preprocessor _REENTRANT definition
|
|
|
|
dnl makes function gethostbyaddr_r compiler visible.
|
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
AC_DEFUN([CARES_CHECK_NEED_REENTRANT_GETHOSTBYADDR_R], [
|
2008-07-24 17:20:35 +02:00
|
|
|
AC_LINK_IFELSE([
|
|
|
|
AC_LANG_FUNC_LINK_TRY([gethostbyaddr_r])
|
|
|
|
],[
|
|
|
|
tmp_gethostbyaddr_r="yes"
|
|
|
|
],[
|
|
|
|
tmp_gethostbyaddr_r="no"
|
|
|
|
])
|
|
|
|
if test "$tmp_gethostbyaddr_r" = "yes"; then
|
|
|
|
AC_EGREP_CPP([gethostbyaddr_r],[
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <netdb.h>
|
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_gethostbyaddr_r="proto_declared"
|
2008-07-24 17:20:35 +02:00
|
|
|
],[
|
|
|
|
AC_EGREP_CPP([gethostbyaddr_r],[
|
|
|
|
#define _REENTRANT
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <netdb.h>
|
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_gethostbyaddr_r="proto_needs_reentrant"
|
|
|
|
tmp_need_reentrant="yes"
|
2008-07-24 17:20:35 +02:00
|
|
|
])
|
|
|
|
])
|
|
|
|
fi
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
dnl CARES_CHECK_NEED_REENTRANT_GETHOSTBYNAME_R
|
2008-07-24 17:20:35 +02:00
|
|
|
dnl -------------------------------------------------
|
|
|
|
dnl Checks if the preprocessor _REENTRANT definition
|
|
|
|
dnl makes function gethostbyname_r compiler visible.
|
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
AC_DEFUN([CARES_CHECK_NEED_REENTRANT_GETHOSTBYNAME_R], [
|
2008-07-24 17:20:35 +02:00
|
|
|
AC_LINK_IFELSE([
|
|
|
|
AC_LANG_FUNC_LINK_TRY([gethostbyname_r])
|
|
|
|
],[
|
|
|
|
tmp_gethostbyname_r="yes"
|
|
|
|
],[
|
|
|
|
tmp_gethostbyname_r="no"
|
|
|
|
])
|
|
|
|
if test "$tmp_gethostbyname_r" = "yes"; then
|
|
|
|
AC_EGREP_CPP([gethostbyname_r],[
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <netdb.h>
|
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_gethostbyname_r="proto_declared"
|
2008-07-24 17:20:35 +02:00
|
|
|
],[
|
|
|
|
AC_EGREP_CPP([gethostbyname_r],[
|
|
|
|
#define _REENTRANT
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <netdb.h>
|
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_gethostbyname_r="proto_needs_reentrant"
|
|
|
|
tmp_need_reentrant="yes"
|
2008-07-24 17:20:35 +02:00
|
|
|
])
|
|
|
|
])
|
|
|
|
fi
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
dnl CARES_CHECK_NEED_REENTRANT_GETPROTOBYNAME_R
|
2008-07-24 20:02:44 +02:00
|
|
|
dnl -------------------------------------------------
|
|
|
|
dnl Checks if the preprocessor _REENTRANT definition
|
|
|
|
dnl makes function getprotobyname_r compiler visible.
|
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
AC_DEFUN([CARES_CHECK_NEED_REENTRANT_GETPROTOBYNAME_R], [
|
2008-07-24 20:02:44 +02:00
|
|
|
AC_LINK_IFELSE([
|
|
|
|
AC_LANG_FUNC_LINK_TRY([getprotobyname_r])
|
|
|
|
],[
|
|
|
|
tmp_getprotobyname_r="yes"
|
|
|
|
],[
|
|
|
|
tmp_getprotobyname_r="no"
|
|
|
|
])
|
|
|
|
if test "$tmp_getprotobyname_r" = "yes"; then
|
|
|
|
AC_EGREP_CPP([getprotobyname_r],[
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <netdb.h>
|
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_getprotobyname_r="proto_declared"
|
2008-07-24 20:02:44 +02:00
|
|
|
],[
|
|
|
|
AC_EGREP_CPP([getprotobyname_r],[
|
|
|
|
#define _REENTRANT
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <netdb.h>
|
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_getprotobyname_r="proto_needs_reentrant"
|
|
|
|
tmp_need_reentrant="yes"
|
2008-07-24 20:02:44 +02:00
|
|
|
])
|
|
|
|
])
|
|
|
|
fi
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
dnl CARES_CHECK_NEED_REENTRANT_GETSERVBYPORT_R
|
2008-07-24 17:20:35 +02:00
|
|
|
dnl -------------------------------------------------
|
|
|
|
dnl Checks if the preprocessor _REENTRANT definition
|
|
|
|
dnl makes function getservbyport_r compiler visible.
|
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
AC_DEFUN([CARES_CHECK_NEED_REENTRANT_GETSERVBYPORT_R], [
|
2008-07-24 17:20:35 +02:00
|
|
|
AC_LINK_IFELSE([
|
|
|
|
AC_LANG_FUNC_LINK_TRY([getservbyport_r])
|
|
|
|
],[
|
|
|
|
tmp_getservbyport_r="yes"
|
|
|
|
],[
|
|
|
|
tmp_getservbyport_r="no"
|
|
|
|
])
|
|
|
|
if test "$tmp_getservbyport_r" = "yes"; then
|
|
|
|
AC_EGREP_CPP([getservbyport_r],[
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <netdb.h>
|
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_getservbyport_r="proto_declared"
|
2008-07-24 17:20:35 +02:00
|
|
|
],[
|
|
|
|
AC_EGREP_CPP([getservbyport_r],[
|
|
|
|
#define _REENTRANT
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <netdb.h>
|
|
|
|
],[
|
2008-07-27 03:36:33 +02:00
|
|
|
tmp_getservbyport_r="proto_needs_reentrant"
|
|
|
|
tmp_need_reentrant="yes"
|
2008-07-24 17:20:35 +02:00
|
|
|
])
|
|
|
|
])
|
|
|
|
fi
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
dnl CARES_CHECK_NEED_REENTRANT_FUNCTIONS_R
|
2008-07-24 17:20:35 +02:00
|
|
|
dnl -------------------------------------------------
|
|
|
|
dnl Checks if the preprocessor _REENTRANT definition
|
|
|
|
dnl makes several _r functions compiler visible.
|
2008-07-27 05:16:37 +02:00
|
|
|
dnl Internal macro for CARES_CONFIGURE_REENTRANT.
|
2008-07-24 17:20:35 +02:00
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
AC_DEFUN([CARES_CHECK_NEED_REENTRANT_FUNCTIONS_R], [
|
|
|
|
if test "$tmp_need_reentrant" = "no"; then
|
|
|
|
CARES_CHECK_NEED_REENTRANT_GMTIME_R
|
2008-07-24 17:20:35 +02:00
|
|
|
fi
|
2008-07-27 03:36:33 +02:00
|
|
|
if test "$tmp_need_reentrant" = "no"; then
|
|
|
|
CARES_CHECK_NEED_REENTRANT_LOCALTIME_R
|
2008-07-24 20:02:44 +02:00
|
|
|
fi
|
2008-07-27 03:36:33 +02:00
|
|
|
if test "$tmp_need_reentrant" = "no"; then
|
|
|
|
CARES_CHECK_NEED_REENTRANT_STRERROR_R
|
2008-07-24 17:20:35 +02:00
|
|
|
fi
|
2008-07-27 03:36:33 +02:00
|
|
|
if test "$tmp_need_reentrant" = "no"; then
|
|
|
|
CARES_CHECK_NEED_REENTRANT_STRTOK_R
|
2008-07-24 17:20:35 +02:00
|
|
|
fi
|
2008-07-27 03:36:33 +02:00
|
|
|
if test "$tmp_need_reentrant" = "no"; then
|
|
|
|
CARES_CHECK_NEED_REENTRANT_INET_NTOA_R
|
2008-07-24 17:20:35 +02:00
|
|
|
fi
|
2008-07-27 03:36:33 +02:00
|
|
|
if test "$tmp_need_reentrant" = "no"; then
|
|
|
|
CARES_CHECK_NEED_REENTRANT_GETHOSTBYADDR_R
|
2008-07-24 17:20:35 +02:00
|
|
|
fi
|
2008-07-27 03:36:33 +02:00
|
|
|
if test "$tmp_need_reentrant" = "no"; then
|
|
|
|
CARES_CHECK_NEED_REENTRANT_GETHOSTBYNAME_R
|
2008-07-24 17:20:35 +02:00
|
|
|
fi
|
2008-07-27 03:36:33 +02:00
|
|
|
if test "$tmp_need_reentrant" = "no"; then
|
|
|
|
CARES_CHECK_NEED_REENTRANT_GETPROTOBYNAME_R
|
2008-07-24 20:02:44 +02:00
|
|
|
fi
|
2008-07-27 03:36:33 +02:00
|
|
|
if test "$tmp_need_reentrant" = "no"; then
|
|
|
|
CARES_CHECK_NEED_REENTRANT_GETSERVBYPORT_R
|
2008-07-24 17:20:35 +02:00
|
|
|
fi
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2008-10-14 20:44:27 +02:00
|
|
|
dnl CARES_CHECK_NEED_REENTRANT_SYSTEM
|
|
|
|
dnl -------------------------------------------------
|
|
|
|
dnl Checks if the preprocessor _REENTRANT definition
|
|
|
|
dnl must be unconditionally done for this platform.
|
|
|
|
dnl Internal macro for CARES_CONFIGURE_REENTRANT.
|
|
|
|
|
|
|
|
AC_DEFUN([CARES_CHECK_NEED_REENTRANT_SYSTEM], [
|
2009-11-14 19:51:37 +01:00
|
|
|
case $host_os in
|
|
|
|
solaris*)
|
2008-10-14 20:44:27 +02:00
|
|
|
tmp_need_reentrant="yes"
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
tmp_need_reentrant="no"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2009-11-14 19:51:37 +01:00
|
|
|
dnl CARES_CHECK_NEED_THREAD_SAFE_SYSTEM
|
|
|
|
dnl -------------------------------------------------
|
|
|
|
dnl Checks if the preprocessor _THREAD_SAFE definition
|
|
|
|
dnl must be unconditionally done for this platform.
|
|
|
|
dnl Internal macro for CARES_CONFIGURE_THREAD_SAFE.
|
|
|
|
|
|
|
|
AC_DEFUN([CARES_CHECK_NEED_THREAD_SAFE_SYSTEM], [
|
|
|
|
case $host_os in
|
|
|
|
aix[[123]].* | aix4.[[012]].*)
|
|
|
|
dnl aix 4.2 and older
|
|
|
|
tmp_need_thread_safe="no"
|
|
|
|
;;
|
|
|
|
aix*)
|
|
|
|
dnl AIX 4.3 and newer
|
|
|
|
tmp_need_thread_safe="yes"
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
tmp_need_thread_safe="no"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
dnl CARES_CONFIGURE_FROM_NOW_ON_WITH_REENTRANT
|
2008-07-24 17:20:35 +02:00
|
|
|
dnl -------------------------------------------------
|
|
|
|
dnl This macro ensures that configuration tests done
|
|
|
|
dnl after this will execute with preprocessor symbol
|
|
|
|
dnl _REENTRANT defined. This macro also ensures that
|
2008-07-27 05:16:37 +02:00
|
|
|
dnl the generated config file defines NEED_REENTRANT
|
|
|
|
dnl and that in turn setup.h will define _REENTRANT.
|
|
|
|
dnl Internal macro for CARES_CONFIGURE_REENTRANT.
|
2008-07-24 17:20:35 +02:00
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
AC_DEFUN([CARES_CONFIGURE_FROM_NOW_ON_WITH_REENTRANT], [
|
2008-08-01 04:48:00 +02:00
|
|
|
AC_DEFINE(NEED_REENTRANT, 1,
|
2008-07-27 05:16:37 +02:00
|
|
|
[Define to 1 if _REENTRANT preprocessor symbol must be defined.])
|
2008-08-01 04:48:00 +02:00
|
|
|
cat >>confdefs.h <<_EOF
|
2008-07-29 19:45:33 +02:00
|
|
|
#ifndef _REENTRANT
|
2008-08-01 04:48:00 +02:00
|
|
|
# define _REENTRANT
|
2008-07-29 19:45:33 +02:00
|
|
|
#endif
|
2008-08-01 04:48:00 +02:00
|
|
|
_EOF
|
2008-07-24 17:20:35 +02:00
|
|
|
])
|
|
|
|
|
|
|
|
|
2009-11-14 19:51:37 +01:00
|
|
|
dnl CARES_CONFIGURE_FROM_NOW_ON_WITH_THREAD_SAFE
|
|
|
|
dnl -------------------------------------------------
|
|
|
|
dnl This macro ensures that configuration tests done
|
|
|
|
dnl after this will execute with preprocessor symbol
|
|
|
|
dnl _THREAD_SAFE defined. This macro also ensures that
|
|
|
|
dnl the generated config file defines NEED_THREAD_SAFE
|
|
|
|
dnl and that in turn setup.h will define _THREAD_SAFE.
|
|
|
|
dnl Internal macro for CARES_CONFIGURE_THREAD_SAFE.
|
|
|
|
|
|
|
|
AC_DEFUN([CARES_CONFIGURE_FROM_NOW_ON_WITH_THREAD_SAFE], [
|
|
|
|
AC_DEFINE(NEED_THREAD_SAFE, 1,
|
|
|
|
[Define to 1 if _THREAD_SAFE preprocessor symbol must be defined.])
|
|
|
|
cat >>confdefs.h <<_EOF
|
|
|
|
#ifndef _THREAD_SAFE
|
|
|
|
# define _THREAD_SAFE
|
|
|
|
#endif
|
|
|
|
_EOF
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
dnl CARES_CONFIGURE_REENTRANT
|
2008-07-24 17:20:35 +02:00
|
|
|
dnl -------------------------------------------------
|
|
|
|
dnl This first checks if the preprocessor _REENTRANT
|
|
|
|
dnl symbol is already defined. If it isn't currently
|
|
|
|
dnl defined a set of checks are performed to verify
|
|
|
|
dnl if its definition is required to make visible to
|
|
|
|
dnl the compiler a set of *_r functions. Finally, if
|
|
|
|
dnl _REENTRANT is already defined or needed it takes
|
|
|
|
dnl care of making adjustments necessary to ensure
|
|
|
|
dnl that it is defined equally for further configure
|
|
|
|
dnl tests and generated config file.
|
|
|
|
|
2008-07-27 03:36:33 +02:00
|
|
|
AC_DEFUN([CARES_CONFIGURE_REENTRANT], [
|
2008-08-05 11:08:43 +02:00
|
|
|
AC_PREREQ([2.50])dnl
|
2008-07-24 17:20:35 +02:00
|
|
|
#
|
|
|
|
AC_MSG_CHECKING([if _REENTRANT is already defined])
|
|
|
|
AC_COMPILE_IFELSE([
|
|
|
|
AC_LANG_PROGRAM([[
|
|
|
|
]],[[
|
|
|
|
#ifdef _REENTRANT
|
|
|
|
int dummy=1;
|
|
|
|
#else
|
|
|
|
force compilation error
|
|
|
|
#endif
|
|
|
|
]])
|
|
|
|
],[
|
|
|
|
AC_MSG_RESULT([yes])
|
|
|
|
tmp_reentrant_initially_defined="yes"
|
|
|
|
],[
|
|
|
|
AC_MSG_RESULT([no])
|
|
|
|
tmp_reentrant_initially_defined="no"
|
|
|
|
])
|
|
|
|
#
|
|
|
|
if test "$tmp_reentrant_initially_defined" = "no"; then
|
|
|
|
AC_MSG_CHECKING([if _REENTRANT is actually needed])
|
2008-10-14 20:44:27 +02:00
|
|
|
CARES_CHECK_NEED_REENTRANT_SYSTEM
|
2009-09-29 18:34:03 +02:00
|
|
|
if test "$tmp_need_reentrant" = "no"; then
|
|
|
|
CARES_CHECK_NEED_REENTRANT_ERRNO
|
|
|
|
fi
|
2008-10-14 20:44:27 +02:00
|
|
|
if test "$tmp_need_reentrant" = "no"; then
|
|
|
|
CARES_CHECK_NEED_REENTRANT_FUNCTIONS_R
|
|
|
|
fi
|
2008-07-27 03:36:33 +02:00
|
|
|
if test "$tmp_need_reentrant" = "yes"; then
|
2008-07-24 17:20:35 +02:00
|
|
|
AC_MSG_RESULT([yes])
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT([no])
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
#
|
|
|
|
AC_MSG_CHECKING([if _REENTRANT is onwards defined])
|
|
|
|
if test "$tmp_reentrant_initially_defined" = "yes" ||
|
2008-07-27 03:36:33 +02:00
|
|
|
test "$tmp_need_reentrant" = "yes"; then
|
|
|
|
CARES_CONFIGURE_FROM_NOW_ON_WITH_REENTRANT
|
2008-07-24 17:20:35 +02:00
|
|
|
AC_MSG_RESULT([yes])
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT([no])
|
|
|
|
fi
|
|
|
|
#
|
|
|
|
])
|
|
|
|
|
2009-11-14 19:51:37 +01:00
|
|
|
|
|
|
|
dnl CARES_CONFIGURE_THREAD_SAFE
|
|
|
|
dnl -------------------------------------------------
|
|
|
|
dnl This first checks if the preprocessor _THREAD_SAFE
|
|
|
|
dnl symbol is already defined. If it isn't currently
|
|
|
|
dnl defined a set of checks are performed to verify
|
|
|
|
dnl if its definition is required. Finally, if
|
|
|
|
dnl _THREAD_SAFE is already defined or needed it takes
|
|
|
|
dnl care of making adjustments necessary to ensure
|
|
|
|
dnl that it is defined equally for further configure
|
|
|
|
dnl tests and generated config file.
|
|
|
|
|
|
|
|
AC_DEFUN([CARES_CONFIGURE_THREAD_SAFE], [
|
|
|
|
AC_PREREQ([2.50])dnl
|
|
|
|
#
|
|
|
|
AC_MSG_CHECKING([if _THREAD_SAFE is already defined])
|
|
|
|
AC_COMPILE_IFELSE([
|
|
|
|
AC_LANG_PROGRAM([[
|
|
|
|
]],[[
|
|
|
|
#ifdef _THREAD_SAFE
|
|
|
|
int dummy=1;
|
|
|
|
#else
|
|
|
|
force compilation error
|
|
|
|
#endif
|
|
|
|
]])
|
|
|
|
],[
|
|
|
|
AC_MSG_RESULT([yes])
|
|
|
|
tmp_thread_safe_initially_defined="yes"
|
|
|
|
],[
|
|
|
|
AC_MSG_RESULT([no])
|
|
|
|
tmp_thread_safe_initially_defined="no"
|
|
|
|
])
|
|
|
|
#
|
|
|
|
if test "$tmp_thread_safe_initially_defined" = "no"; then
|
|
|
|
AC_MSG_CHECKING([if _THREAD_SAFE is actually needed])
|
|
|
|
CARES_CHECK_NEED_THREAD_SAFE_SYSTEM
|
|
|
|
if test "$tmp_need_thread_safe" = "yes"; then
|
|
|
|
AC_MSG_RESULT([yes])
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT([no])
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
#
|
|
|
|
AC_MSG_CHECKING([if _THREAD_SAFE is onwards defined])
|
|
|
|
if test "$tmp_thread_safe_initially_defined" = "yes" ||
|
|
|
|
test "$tmp_need_thread_safe" = "yes"; then
|
|
|
|
CARES_CONFIGURE_FROM_NOW_ON_WITH_THREAD_SAFE
|
|
|
|
AC_MSG_RESULT([yes])
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT([no])
|
|
|
|
fi
|
|
|
|
#
|
|
|
|
])
|