From 6b7e74a03045bae1403039ce9ca1c2aa3302d244 Mon Sep 17 00:00:00 2001 From: Yang Tse Date: Fri, 25 Jul 2008 13:21:14 +0000 Subject: move reentrant.m4 to the m4 subdirectory to avoid infinite loop inclusion problem --- Makefile.am | 2 +- ares/Makefile.am | 2 +- ares/buildconf | 2 +- ares/m4/reentrant.m4 | 1030 ++++++++++++++++++++++++++++++++++++++++++++++++ ares/reentrant.m4 | 1030 ------------------------------------------------ buildconf | 2 +- m4/reentrant.m4 | 1052 ++++++++++++++++++++++++++++++++++++++++++++++++++ reentrant.m4 | 1052 -------------------------------------------------- 8 files changed, 2086 insertions(+), 2086 deletions(-) create mode 100644 ares/m4/reentrant.m4 delete mode 100644 ares/reentrant.m4 create mode 100644 m4/reentrant.m4 delete mode 100644 reentrant.m4 diff --git a/Makefile.am b/Makefile.am index 5f2257dc6..ee26134b6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -21,7 +21,7 @@ # $Id$ ########################################################################### -ACLOCAL_AMFLAGS = -I . +ACLOCAL_AMFLAGS = -I m4 AUTOMAKE_OPTIONS = foreign diff --git a/ares/Makefile.am b/ares/Makefile.am index b265703d0..2c01c6c07 100644 --- a/ares/Makefile.am +++ b/ares/Makefile.am @@ -1,4 +1,4 @@ -ACLOCAL_AMFLAGS = -I . +ACLOCAL_AMFLAGS = -I m4 AUTOMAKE_OPTIONS = foreign diff --git a/ares/buildconf b/ares/buildconf index ed3f81d1e..434a308fd 100755 --- a/ares/buildconf +++ b/ares/buildconf @@ -1,7 +1,7 @@ #!/bin/sh ${LIBTOOLIZE:-libtoolize} --copy --automake --force -ACLOCAL_FLAGS="-I . $ACLOCAL_FLAGS" +ACLOCAL_FLAGS="-I m4 $ACLOCAL_FLAGS" ${ACLOCAL:-aclocal} $ACLOCAL_FLAGS ${AUTOHEADER:-autoheader} ${AUTOCONF:-autoconf} diff --git a/ares/m4/reentrant.m4 b/ares/m4/reentrant.m4 new file mode 100644 index 000000000..01d2136a7 --- /dev/null +++ b/ares/m4/reentrant.m4 @@ -0,0 +1,1030 @@ + + +dnl CHECK_NEED_REENTRANT_STRERROR_R +dnl ------------------------------------------------- +dnl Checks if the preprocessor _REENTRANT definition +dnl makes function strerror_r compiler visible. + +AC_DEFUN([CHECK_NEED_REENTRANT_STRERROR_R], [ + # + AC_MSG_NOTICE([DEBUG:]) + AC_MSG_NOTICE([DEBUG:]) + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([strerror_r]) + ],[ + AC_MSG_NOTICE([DEBUG: strerror_r links... yes]) + tmp_strerror_r="yes" + ],[ + AC_MSG_NOTICE([DEBUG: strerror_r links... no]) + tmp_strerror_r="no" + ]) + # + if test "$tmp_strerror_r" = "yes"; then + AC_EGREP_CPP([strerror_r],[ +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: strerror_r proto... without our definition]) + tmp_strerror_r="proto_wout_def" + ],[ + AC_EGREP_CPP([strerror_r],[ +#define _REENTRANT +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: strerror_r proto... with our _reentrant]) + tmp_strerror_r="proto_with_def" + ],[ + AC_MSG_NOTICE([DEBUG: strerror_r proto... not found]) + ]) + ]) + fi + # + if test "$tmp_strerror_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + strerror_r(0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: strerror_r proto wout finds... 3 args]) + tmp_strerror_r="done" + ]) + fi + # + if test "$tmp_strerror_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + strerror_r(0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: strerror_r proto with finds... 3 args]) + tmp_strerror_r="needs_reentrant" + ]) + fi + # + if test "$tmp_strerror_r" = "needs_reentrant"; then + ac_cv_need_reentrant="yes" + fi +]) + + +dnl CHECK_NEED_REENTRANT_STRTOK_R +dnl ------------------------------------------------- +dnl Checks if the preprocessor _REENTRANT definition +dnl makes function strtok_r compiler visible. + +AC_DEFUN([CHECK_NEED_REENTRANT_STRTOK_R], [ + # + AC_MSG_NOTICE([DEBUG:]) + AC_MSG_NOTICE([DEBUG:]) + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([strtok_r]) + ],[ + AC_MSG_NOTICE([DEBUG: strtok_r links... yes]) + tmp_strtok_r="yes" + ],[ + AC_MSG_NOTICE([DEBUG: strtok_r links... no]) + tmp_strtok_r="no" + ]) + # + if test "$tmp_strtok_r" = "yes"; then + AC_EGREP_CPP([strtok_r],[ +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: strtok_r proto... without our definition]) + tmp_strtok_r="proto_wout_def" + ],[ + AC_EGREP_CPP([strtok_r],[ +#define _REENTRANT +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: strtok_r proto... with our _reentrant]) + tmp_strtok_r="proto_with_def" + ],[ + AC_MSG_NOTICE([DEBUG: strtok_r proto... not found]) + ]) + ]) + fi + # + if test "$tmp_strtok_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + strtok_r(0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: strtok_r proto wout finds... 3 args]) + tmp_strtok_r="done" + ]) + fi + # + if test "$tmp_strtok_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + strtok_r(0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: strtok_r proto with finds... 3 args]) + tmp_strtok_r="needs_reentrant" + ]) + fi + # + if test "$tmp_strtok_r" = "needs_reentrant"; then + ac_cv_need_reentrant="yes" + fi +]) + + +dnl CHECK_NEED_REENTRANT_LOCALTIME_R +dnl ------------------------------------------------- +dnl Checks if the preprocessor _REENTRANT definition +dnl makes function localtime_r compiler visible. + +AC_DEFUN([CHECK_NEED_REENTRANT_LOCALTIME_R], [ + # + AC_MSG_NOTICE([DEBUG:]) + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([localtime_r]) + ],[ + AC_MSG_NOTICE([DEBUG: localtime_r links... yes]) + tmp_localtime_r="yes" + ],[ + AC_MSG_NOTICE([DEBUG: localtime_r links... no]) + tmp_localtime_r="no" + ]) + # + if test "$tmp_localtime_r" = "yes"; then + AC_EGREP_CPP([localtime_r],[ +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: localtime_r proto... without our definition]) + tmp_localtime_r="proto_wout_def" + ],[ + AC_EGREP_CPP([localtime_r],[ +#define _REENTRANT +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: localtime_r proto... with our _reentrant]) + tmp_localtime_r="proto_with_def" + ],[ + AC_MSG_NOTICE([DEBUG: localtime_r proto... not found]) + ]) + ]) + fi + # + if test "$tmp_localtime_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + localtime_r(0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: localtime_r proto wout finds... 2 args]) + tmp_localtime_r="done" + ]) + fi + # + if test "$tmp_localtime_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + localtime_r(0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: localtime_r proto with finds... 2 args]) + tmp_localtime_r="needs_reentrant" + ]) + fi + # + if test "$tmp_localtime_r" = "needs_reentrant"; then + ac_cv_need_reentrant="yes" + fi +]) + + +dnl CHECK_NEED_REENTRANT_GMTIME_R +dnl ------------------------------------------------- +dnl Checks if the preprocessor _REENTRANT definition +dnl makes function gmtime_r compiler visible. + +AC_DEFUN([CHECK_NEED_REENTRANT_GMTIME_R], [ + # + AC_MSG_NOTICE([DEBUG:]) + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([gmtime_r]) + ],[ + AC_MSG_NOTICE([DEBUG: gmtime_r links... yes]) + tmp_gmtime_r="yes" + ],[ + AC_MSG_NOTICE([DEBUG: gmtime_r links... no]) + tmp_gmtime_r="no" + ]) + # + if test "$tmp_gmtime_r" = "yes"; then + AC_EGREP_CPP([gmtime_r],[ +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: gmtime_r proto... without our definition]) + tmp_gmtime_r="proto_wout_def" + ],[ + AC_EGREP_CPP([gmtime_r],[ +#define _REENTRANT +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: gmtime_r proto... with our _reentrant]) + tmp_gmtime_r="proto_with_def" + ],[ + AC_MSG_NOTICE([DEBUG: gmtime_r proto... not found]) + ]) + ]) + fi + # + if test "$tmp_gmtime_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + gmtime_r(0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gmtime_r proto wout finds... 2 args]) + tmp_gmtime_r="done" + ]) + fi + # + if test "$tmp_gmtime_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + gmtime_r(0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gmtime_r proto with finds... 2 args]) + tmp_gmtime_r="needs_reentrant" + ]) + fi + # + if test "$tmp_gmtime_r" = "needs_reentrant"; then + ac_cv_need_reentrant="yes" + fi +]) + + +dnl CHECK_NEED_REENTRANT_INET_NTOA_R +dnl ------------------------------------------------- +dnl Checks if the preprocessor _REENTRANT definition +dnl makes function inet_ntoa_r compiler visible. + +AC_DEFUN([CHECK_NEED_REENTRANT_INET_NTOA_R], [ + # + AC_MSG_NOTICE([DEBUG:]) + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([inet_ntoa_r]) + ],[ + AC_MSG_NOTICE([DEBUG: inet_ntoa_r links... yes]) + tmp_inet_ntoa_r="yes" + ],[ + AC_MSG_NOTICE([DEBUG: inet_ntoa_r links... no]) + tmp_inet_ntoa_r="no" + ]) + # + if test "$tmp_inet_ntoa_r" = "yes"; then + AC_EGREP_CPP([inet_ntoa_r],[ +#include +#include +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto... without our definition]) + tmp_inet_ntoa_r="proto_wout_def" + ],[ + AC_EGREP_CPP([inet_ntoa_r],[ +#define _REENTRANT +#include +#include +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto... with our _reentrant]) + tmp_inet_ntoa_r="proto_with_def" + ],[ + AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto... not found]) + ]) + ]) + fi + # + if test "$tmp_inet_ntoa_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include +#include +#include + ]],[[ + struct in_addr addr; + inet_ntoa_r(addr, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto wout finds... 2 args]) + tmp_inet_ntoa_r="done" + ]) + fi + if test "$tmp_inet_ntoa_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include +#include +#include + ]],[[ + struct in_addr addr; + inet_ntoa_r(addr, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto wout finds... 3 args]) + tmp_inet_ntoa_r="done" + ]) + fi + # + if test "$tmp_inet_ntoa_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include +#include +#include + ]],[[ + struct in_addr addr; + inet_ntoa_r(addr, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto with finds... 2 args]) + tmp_inet_ntoa_r="needs_reentrant" + ]) + fi + if test "$tmp_inet_ntoa_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include +#include +#include + ]],[[ + struct in_addr addr; + inet_ntoa_r(addr, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto with finds... 3 args]) + tmp_inet_ntoa_r="needs_reentrant" + ]) + fi + # + if test "$tmp_inet_ntoa_r" = "needs_reentrant"; then + ac_cv_need_reentrant="yes" + fi +]) + + +dnl CHECK_NEED_REENTRANT_GETHOSTBYADDR_R +dnl ------------------------------------------------- +dnl Checks if the preprocessor _REENTRANT definition +dnl makes function gethostbyaddr_r compiler visible. + +AC_DEFUN([CHECK_NEED_REENTRANT_GETHOSTBYADDR_R], [ + # + AC_MSG_NOTICE([DEBUG:]) + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([gethostbyaddr_r]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyaddr_r links... yes]) + tmp_gethostbyaddr_r="yes" + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyaddr_r links... no]) + tmp_gethostbyaddr_r="no" + ]) + # + if test "$tmp_gethostbyaddr_r" = "yes"; then + AC_EGREP_CPP([gethostbyaddr_r],[ +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto... without our definition]) + tmp_gethostbyaddr_r="proto_wout_def" + ],[ + AC_EGREP_CPP([gethostbyaddr_r],[ +#define _REENTRANT +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto... with our _reentrant]) + tmp_gethostbyaddr_r="proto_with_def" + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto... not found]) + ]) + ]) + fi + # + if test "$tmp_gethostbyaddr_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + gethostbyaddr_r(0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto wout finds... 5 args]) + tmp_gethostbyaddr_r="done" + ]) + fi + if test "$tmp_gethostbyaddr_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + gethostbyaddr_r(0, 0, 0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto wout finds... 7 args]) + tmp_gethostbyaddr_r="done" + ]) + fi + if test "$tmp_gethostbyaddr_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + gethostbyaddr_r(0, 0, 0, 0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto wout finds... 8 args]) + tmp_gethostbyaddr_r="done" + ]) + fi + # + if test "$tmp_gethostbyaddr_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + gethostbyaddr_r(0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto with finds... 5 args]) + tmp_gethostbyaddr_r="needs_reentrant" + ]) + fi + if test "$tmp_gethostbyaddr_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + gethostbyaddr_r(0, 0, 0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto with finds... 7 args]) + tmp_gethostbyaddr_r="needs_reentrant" + ]) + fi + if test "$tmp_gethostbyaddr_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + gethostbyaddr_r(0, 0, 0, 0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto with finds... 8 args]) + tmp_gethostbyaddr_r="needs_reentrant" + ]) + fi + # + if test "$tmp_gethostbyaddr_r" = "needs_reentrant"; then + ac_cv_need_reentrant="yes" + fi +]) + + +dnl CHECK_NEED_REENTRANT_GETHOSTBYNAME_R +dnl ------------------------------------------------- +dnl Checks if the preprocessor _REENTRANT definition +dnl makes function gethostbyname_r compiler visible. + +AC_DEFUN([CHECK_NEED_REENTRANT_GETHOSTBYNAME_R], [ + # + AC_MSG_NOTICE([DEBUG:]) + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([gethostbyname_r]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyname_r links... yes]) + tmp_gethostbyname_r="yes" + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyname_r links... no]) + tmp_gethostbyname_r="no" + ]) + # + if test "$tmp_gethostbyname_r" = "yes"; then + AC_EGREP_CPP([gethostbyname_r],[ +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyname_r proto... without our definition]) + tmp_gethostbyname_r="proto_wout_def" + ],[ + AC_EGREP_CPP([gethostbyname_r],[ +#define _REENTRANT +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyname_r proto... with our _reentrant]) + tmp_gethostbyname_r="proto_with_def" + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyname_r proto... not found]) + ]) + ]) + fi + # + if test "$tmp_gethostbyname_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + gethostbyname_r(0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyname_r proto wout finds... 3 args]) + tmp_gethostbyname_r="done" + ]) + fi + if test "$tmp_gethostbyname_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + gethostbyname_r(0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyname_r proto wout finds... 5 args]) + tmp_gethostbyname_r="done" + ]) + fi + if test "$tmp_gethostbyname_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + gethostbyname_r(0, 0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyname_r proto wout finds... 6 args]) + tmp_gethostbyname_r="done" + ]) + fi + # + if test "$tmp_gethostbyname_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + gethostbyname_r(0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyname_r proto with finds... 3 args]) + tmp_gethostbyname_r="needs_reentrant" + ]) + fi + if test "$tmp_gethostbyname_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + gethostbyname_r(0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyname_r proto with finds... 5 args]) + tmp_gethostbyname_r="needs_reentrant" + ]) + fi + if test "$tmp_gethostbyname_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + gethostbyname_r(0, 0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyname_r proto with finds... 6 args]) + tmp_gethostbyname_r="needs_reentrant" + ]) + fi + # + if test "$tmp_gethostbyname_r" = "needs_reentrant"; then + ac_cv_need_reentrant="yes" + fi +]) + + +dnl CHECK_NEED_REENTRANT_GETPROTOBYNAME_R +dnl ------------------------------------------------- +dnl Checks if the preprocessor _REENTRANT definition +dnl makes function getprotobyname_r compiler visible. + +AC_DEFUN([CHECK_NEED_REENTRANT_GETPROTOBYNAME_R], [ + # + AC_MSG_NOTICE([DEBUG:]) + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([getprotobyname_r]) + ],[ + AC_MSG_NOTICE([DEBUG: getprotobyname_r links... yes]) + tmp_getprotobyname_r="yes" + ],[ + AC_MSG_NOTICE([DEBUG: getprotobyname_r links... no]) + tmp_getprotobyname_r="no" + ]) + # + if test "$tmp_getprotobyname_r" = "yes"; then + AC_EGREP_CPP([getprotobyname_r],[ +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: getprotobyname_r proto... without our definition]) + tmp_getprotobyname_r="proto_wout_def" + ],[ + AC_EGREP_CPP([getprotobyname_r],[ +#define _REENTRANT +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: getprotobyname_r proto... with our _reentrant]) + tmp_getprotobyname_r="proto_with_def" + ],[ + AC_MSG_NOTICE([DEBUG: getprotobyname_r proto... not found]) + ]) + ]) + fi + # + if test "$tmp_getprotobyname_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + getprotobyname_r(0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: getprotobyname_r proto wout finds... 4 args]) + tmp_getprotobyname_r="done" + ]) + fi + if test "$tmp_getprotobyname_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + getprotobyname_r(0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: getprotobyname_r proto wout finds... 5 args]) + tmp_getprotobyname_r="done" + ]) + fi + # + if test "$tmp_getprotobyname_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + getprotobyname_r(0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: getprotobyname_r proto with finds... 4 args]) + tmp_getprotobyname_r="needs_reentrant" + ]) + fi + if test "$tmp_getprotobyname_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + getprotobyname_r(0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: getprotobyname_r proto with finds... 5 args]) + tmp_getprotobyname_r="needs_reentrant" + ]) + fi + # + if test "$tmp_getprotobyname_r" = "needs_reentrant"; then + ac_cv_need_reentrant="yes" + fi +]) + + +dnl CHECK_NEED_REENTRANT_GETSERVBYPORT_R +dnl ------------------------------------------------- +dnl Checks if the preprocessor _REENTRANT definition +dnl makes function getservbyport_r compiler visible. + +AC_DEFUN([CHECK_NEED_REENTRANT_GETSERVBYPORT_R], [ + # + AC_MSG_NOTICE([DEBUG:]) + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([getservbyport_r]) + ],[ + AC_MSG_NOTICE([DEBUG: getservbyport_r links... yes]) + tmp_getservbyport_r="yes" + ],[ + AC_MSG_NOTICE([DEBUG: getservbyport_r links... no]) + tmp_getservbyport_r="no" + ]) + # + if test "$tmp_getservbyport_r" = "yes"; then + AC_EGREP_CPP([getservbyport_r],[ +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: getservbyport_r proto... without our definition]) + tmp_getservbyport_r="proto_wout_def" + ],[ + AC_EGREP_CPP([getservbyport_r],[ +#define _REENTRANT +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: getservbyport_r proto... with our _reentrant]) + tmp_getservbyport_r="proto_with_def" + ],[ + AC_MSG_NOTICE([DEBUG: getservbyport_r proto... not found]) + ]) + ]) + fi + # + if test "$tmp_getservbyport_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + getservbyport_r(0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: getservbyport_r proto wout finds... 4 args]) + tmp_getservbyport_r="done" + ]) + fi + if test "$tmp_getservbyport_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + getservbyport_r(0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: getservbyport_r proto wout finds... 5 args]) + tmp_getservbyport_r="done" + ]) + fi + if test "$tmp_getservbyport_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + getservbyport_r(0, 0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: getservbyport_r proto wout finds... 6 args]) + tmp_getservbyport_r="done" + ]) + fi + # + if test "$tmp_getservbyport_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + getservbyport_r(0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: getservbyport_r proto with finds... 4 args]) + tmp_getservbyport_r="needs_reentrant" + ]) + fi + if test "$tmp_getservbyport_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + getservbyport_r(0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: getservbyport_r proto with finds... 5 args]) + tmp_getservbyport_r="needs_reentrant" + ]) + fi + if test "$tmp_getservbyport_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + getservbyport_r(0, 0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: getservbyport_r proto with finds... 6 args]) + tmp_getservbyport_r="needs_reentrant" + ]) + fi + # + if test "$tmp_getservbyport_r" = "needs_reentrant"; then + ac_cv_need_reentrant="yes" + fi +]) + + +dnl CHECK_NEED_REENTRANT_FUNCTIONS_R +dnl ------------------------------------------------- +dnl Checks if the preprocessor _REENTRANT definition +dnl makes several _r functions compiler visible. +dnl Internal macro for CONFIGURE_REENTRANT. + +AC_DEFUN([CHECK_NEED_REENTRANT_FUNCTIONS_R], [ + if test "$ac_cv_need_reentrant" = "no"; then + CHECK_NEED_REENTRANT_STRERROR_R + fi + if test "$ac_cv_need_reentrant" = "no"; then + CHECK_NEED_REENTRANT_STRTOK_R + fi + if test "$ac_cv_need_reentrant" = "no"; then + CHECK_NEED_REENTRANT_LOCALTIME_R + fi + if test "$ac_cv_need_reentrant" = "no"; then + CHECK_NEED_REENTRANT_GMTIME_R + fi + if test "$ac_cv_need_reentrant" = "no"; then + CHECK_NEED_REENTRANT_INET_NTOA_R + fi + if test "$ac_cv_need_reentrant" = "no"; then + CHECK_NEED_REENTRANT_GETHOSTBYADDR_R + fi + if test "$ac_cv_need_reentrant" = "no"; then + CHECK_NEED_REENTRANT_GETHOSTBYNAME_R + fi + if test "$ac_cv_need_reentrant" = "no"; then + CHECK_NEED_REENTRANT_GETPROTOBYNAME_R + fi + if test "$ac_cv_need_reentrant" = "no"; then + CHECK_NEED_REENTRANT_GETSERVBYPORT_R + fi +]) + +AC_DEFUN([CHECK_NEED_REENTRANT_FUNCTIONS_R_DEBUG], [ + CHECK_NEED_REENTRANT_STRERROR_R + CHECK_NEED_REENTRANT_STRTOK_R + CHECK_NEED_REENTRANT_LOCALTIME_R + CHECK_NEED_REENTRANT_GMTIME_R + CHECK_NEED_REENTRANT_INET_NTOA_R + CHECK_NEED_REENTRANT_GETHOSTBYADDR_R + CHECK_NEED_REENTRANT_GETHOSTBYNAME_R + CHECK_NEED_REENTRANT_GETPROTOBYNAME_R + CHECK_NEED_REENTRANT_GETSERVBYPORT_R +]) + + +dnl CONFIGURE_FROM_NOW_ON_WITH_REENTRANT +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 +dnl the generated config file will equally define it. +dnl Internal macro for CONFIGURE_REENTRANT. + +AC_DEFUN([CONFIGURE_FROM_NOW_ON_WITH_REENTRANT], [ +AH_VERBATIM([NEED_REENTRANT], +[/* Configure process defines NEED_REENTRANT to 1 when it finds out that */ +/* _REENTRANT is required or already defined for proper configuration. */ +@%:@undef NEED_REENTRANT +@%:@if defined(NEED_REENTRANT) && !defined(_REENTRANT) +@%:@ define _REENTRANT +@%:@endif]) +cat >>confdefs.h <<_ACEOF +[@%:@ifndef _REENTRANT +@%:@ define _REENTRANT +@%:@endif] +_ACEOF +AC_DEFINE(NEED_REENTRANT, 1, []) +]) + + +dnl CONFIGURE_REENTRANT +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. + +AC_DEFUN([CONFIGURE_REENTRANT], [ + # + 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]) + ac_cv_need_reentrant="no" + CHECK_NEED_REENTRANT_FUNCTIONS_R_DEBUG + if test "$ac_cv_need_reentrant" = "yes"; then + 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" || + test "$ac_cv_need_reentrant" = "yes"; then + CONFIGURE_FROM_NOW_ON_WITH_REENTRANT + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + # +]) + diff --git a/ares/reentrant.m4 b/ares/reentrant.m4 deleted file mode 100644 index 01d2136a7..000000000 --- a/ares/reentrant.m4 +++ /dev/null @@ -1,1030 +0,0 @@ - - -dnl CHECK_NEED_REENTRANT_STRERROR_R -dnl ------------------------------------------------- -dnl Checks if the preprocessor _REENTRANT definition -dnl makes function strerror_r compiler visible. - -AC_DEFUN([CHECK_NEED_REENTRANT_STRERROR_R], [ - # - AC_MSG_NOTICE([DEBUG:]) - AC_MSG_NOTICE([DEBUG:]) - AC_LINK_IFELSE([ - AC_LANG_FUNC_LINK_TRY([strerror_r]) - ],[ - AC_MSG_NOTICE([DEBUG: strerror_r links... yes]) - tmp_strerror_r="yes" - ],[ - AC_MSG_NOTICE([DEBUG: strerror_r links... no]) - tmp_strerror_r="no" - ]) - # - if test "$tmp_strerror_r" = "yes"; then - AC_EGREP_CPP([strerror_r],[ -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: strerror_r proto... without our definition]) - tmp_strerror_r="proto_wout_def" - ],[ - AC_EGREP_CPP([strerror_r],[ -#define _REENTRANT -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: strerror_r proto... with our _reentrant]) - tmp_strerror_r="proto_with_def" - ],[ - AC_MSG_NOTICE([DEBUG: strerror_r proto... not found]) - ]) - ]) - fi - # - if test "$tmp_strerror_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - strerror_r(0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: strerror_r proto wout finds... 3 args]) - tmp_strerror_r="done" - ]) - fi - # - if test "$tmp_strerror_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - strerror_r(0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: strerror_r proto with finds... 3 args]) - tmp_strerror_r="needs_reentrant" - ]) - fi - # - if test "$tmp_strerror_r" = "needs_reentrant"; then - ac_cv_need_reentrant="yes" - fi -]) - - -dnl CHECK_NEED_REENTRANT_STRTOK_R -dnl ------------------------------------------------- -dnl Checks if the preprocessor _REENTRANT definition -dnl makes function strtok_r compiler visible. - -AC_DEFUN([CHECK_NEED_REENTRANT_STRTOK_R], [ - # - AC_MSG_NOTICE([DEBUG:]) - AC_MSG_NOTICE([DEBUG:]) - AC_LINK_IFELSE([ - AC_LANG_FUNC_LINK_TRY([strtok_r]) - ],[ - AC_MSG_NOTICE([DEBUG: strtok_r links... yes]) - tmp_strtok_r="yes" - ],[ - AC_MSG_NOTICE([DEBUG: strtok_r links... no]) - tmp_strtok_r="no" - ]) - # - if test "$tmp_strtok_r" = "yes"; then - AC_EGREP_CPP([strtok_r],[ -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: strtok_r proto... without our definition]) - tmp_strtok_r="proto_wout_def" - ],[ - AC_EGREP_CPP([strtok_r],[ -#define _REENTRANT -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: strtok_r proto... with our _reentrant]) - tmp_strtok_r="proto_with_def" - ],[ - AC_MSG_NOTICE([DEBUG: strtok_r proto... not found]) - ]) - ]) - fi - # - if test "$tmp_strtok_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - strtok_r(0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: strtok_r proto wout finds... 3 args]) - tmp_strtok_r="done" - ]) - fi - # - if test "$tmp_strtok_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - strtok_r(0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: strtok_r proto with finds... 3 args]) - tmp_strtok_r="needs_reentrant" - ]) - fi - # - if test "$tmp_strtok_r" = "needs_reentrant"; then - ac_cv_need_reentrant="yes" - fi -]) - - -dnl CHECK_NEED_REENTRANT_LOCALTIME_R -dnl ------------------------------------------------- -dnl Checks if the preprocessor _REENTRANT definition -dnl makes function localtime_r compiler visible. - -AC_DEFUN([CHECK_NEED_REENTRANT_LOCALTIME_R], [ - # - AC_MSG_NOTICE([DEBUG:]) - AC_LINK_IFELSE([ - AC_LANG_FUNC_LINK_TRY([localtime_r]) - ],[ - AC_MSG_NOTICE([DEBUG: localtime_r links... yes]) - tmp_localtime_r="yes" - ],[ - AC_MSG_NOTICE([DEBUG: localtime_r links... no]) - tmp_localtime_r="no" - ]) - # - if test "$tmp_localtime_r" = "yes"; then - AC_EGREP_CPP([localtime_r],[ -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: localtime_r proto... without our definition]) - tmp_localtime_r="proto_wout_def" - ],[ - AC_EGREP_CPP([localtime_r],[ -#define _REENTRANT -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: localtime_r proto... with our _reentrant]) - tmp_localtime_r="proto_with_def" - ],[ - AC_MSG_NOTICE([DEBUG: localtime_r proto... not found]) - ]) - ]) - fi - # - if test "$tmp_localtime_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - localtime_r(0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: localtime_r proto wout finds... 2 args]) - tmp_localtime_r="done" - ]) - fi - # - if test "$tmp_localtime_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - localtime_r(0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: localtime_r proto with finds... 2 args]) - tmp_localtime_r="needs_reentrant" - ]) - fi - # - if test "$tmp_localtime_r" = "needs_reentrant"; then - ac_cv_need_reentrant="yes" - fi -]) - - -dnl CHECK_NEED_REENTRANT_GMTIME_R -dnl ------------------------------------------------- -dnl Checks if the preprocessor _REENTRANT definition -dnl makes function gmtime_r compiler visible. - -AC_DEFUN([CHECK_NEED_REENTRANT_GMTIME_R], [ - # - AC_MSG_NOTICE([DEBUG:]) - AC_LINK_IFELSE([ - AC_LANG_FUNC_LINK_TRY([gmtime_r]) - ],[ - AC_MSG_NOTICE([DEBUG: gmtime_r links... yes]) - tmp_gmtime_r="yes" - ],[ - AC_MSG_NOTICE([DEBUG: gmtime_r links... no]) - tmp_gmtime_r="no" - ]) - # - if test "$tmp_gmtime_r" = "yes"; then - AC_EGREP_CPP([gmtime_r],[ -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: gmtime_r proto... without our definition]) - tmp_gmtime_r="proto_wout_def" - ],[ - AC_EGREP_CPP([gmtime_r],[ -#define _REENTRANT -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: gmtime_r proto... with our _reentrant]) - tmp_gmtime_r="proto_with_def" - ],[ - AC_MSG_NOTICE([DEBUG: gmtime_r proto... not found]) - ]) - ]) - fi - # - if test "$tmp_gmtime_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - gmtime_r(0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gmtime_r proto wout finds... 2 args]) - tmp_gmtime_r="done" - ]) - fi - # - if test "$tmp_gmtime_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - gmtime_r(0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gmtime_r proto with finds... 2 args]) - tmp_gmtime_r="needs_reentrant" - ]) - fi - # - if test "$tmp_gmtime_r" = "needs_reentrant"; then - ac_cv_need_reentrant="yes" - fi -]) - - -dnl CHECK_NEED_REENTRANT_INET_NTOA_R -dnl ------------------------------------------------- -dnl Checks if the preprocessor _REENTRANT definition -dnl makes function inet_ntoa_r compiler visible. - -AC_DEFUN([CHECK_NEED_REENTRANT_INET_NTOA_R], [ - # - AC_MSG_NOTICE([DEBUG:]) - AC_LINK_IFELSE([ - AC_LANG_FUNC_LINK_TRY([inet_ntoa_r]) - ],[ - AC_MSG_NOTICE([DEBUG: inet_ntoa_r links... yes]) - tmp_inet_ntoa_r="yes" - ],[ - AC_MSG_NOTICE([DEBUG: inet_ntoa_r links... no]) - tmp_inet_ntoa_r="no" - ]) - # - if test "$tmp_inet_ntoa_r" = "yes"; then - AC_EGREP_CPP([inet_ntoa_r],[ -#include -#include -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto... without our definition]) - tmp_inet_ntoa_r="proto_wout_def" - ],[ - AC_EGREP_CPP([inet_ntoa_r],[ -#define _REENTRANT -#include -#include -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto... with our _reentrant]) - tmp_inet_ntoa_r="proto_with_def" - ],[ - AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto... not found]) - ]) - ]) - fi - # - if test "$tmp_inet_ntoa_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include -#include -#include - ]],[[ - struct in_addr addr; - inet_ntoa_r(addr, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto wout finds... 2 args]) - tmp_inet_ntoa_r="done" - ]) - fi - if test "$tmp_inet_ntoa_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include -#include -#include - ]],[[ - struct in_addr addr; - inet_ntoa_r(addr, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto wout finds... 3 args]) - tmp_inet_ntoa_r="done" - ]) - fi - # - if test "$tmp_inet_ntoa_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include -#include -#include - ]],[[ - struct in_addr addr; - inet_ntoa_r(addr, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto with finds... 2 args]) - tmp_inet_ntoa_r="needs_reentrant" - ]) - fi - if test "$tmp_inet_ntoa_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include -#include -#include - ]],[[ - struct in_addr addr; - inet_ntoa_r(addr, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto with finds... 3 args]) - tmp_inet_ntoa_r="needs_reentrant" - ]) - fi - # - if test "$tmp_inet_ntoa_r" = "needs_reentrant"; then - ac_cv_need_reentrant="yes" - fi -]) - - -dnl CHECK_NEED_REENTRANT_GETHOSTBYADDR_R -dnl ------------------------------------------------- -dnl Checks if the preprocessor _REENTRANT definition -dnl makes function gethostbyaddr_r compiler visible. - -AC_DEFUN([CHECK_NEED_REENTRANT_GETHOSTBYADDR_R], [ - # - AC_MSG_NOTICE([DEBUG:]) - AC_LINK_IFELSE([ - AC_LANG_FUNC_LINK_TRY([gethostbyaddr_r]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyaddr_r links... yes]) - tmp_gethostbyaddr_r="yes" - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyaddr_r links... no]) - tmp_gethostbyaddr_r="no" - ]) - # - if test "$tmp_gethostbyaddr_r" = "yes"; then - AC_EGREP_CPP([gethostbyaddr_r],[ -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto... without our definition]) - tmp_gethostbyaddr_r="proto_wout_def" - ],[ - AC_EGREP_CPP([gethostbyaddr_r],[ -#define _REENTRANT -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto... with our _reentrant]) - tmp_gethostbyaddr_r="proto_with_def" - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto... not found]) - ]) - ]) - fi - # - if test "$tmp_gethostbyaddr_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - gethostbyaddr_r(0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto wout finds... 5 args]) - tmp_gethostbyaddr_r="done" - ]) - fi - if test "$tmp_gethostbyaddr_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - gethostbyaddr_r(0, 0, 0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto wout finds... 7 args]) - tmp_gethostbyaddr_r="done" - ]) - fi - if test "$tmp_gethostbyaddr_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - gethostbyaddr_r(0, 0, 0, 0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto wout finds... 8 args]) - tmp_gethostbyaddr_r="done" - ]) - fi - # - if test "$tmp_gethostbyaddr_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - gethostbyaddr_r(0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto with finds... 5 args]) - tmp_gethostbyaddr_r="needs_reentrant" - ]) - fi - if test "$tmp_gethostbyaddr_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - gethostbyaddr_r(0, 0, 0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto with finds... 7 args]) - tmp_gethostbyaddr_r="needs_reentrant" - ]) - fi - if test "$tmp_gethostbyaddr_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - gethostbyaddr_r(0, 0, 0, 0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto with finds... 8 args]) - tmp_gethostbyaddr_r="needs_reentrant" - ]) - fi - # - if test "$tmp_gethostbyaddr_r" = "needs_reentrant"; then - ac_cv_need_reentrant="yes" - fi -]) - - -dnl CHECK_NEED_REENTRANT_GETHOSTBYNAME_R -dnl ------------------------------------------------- -dnl Checks if the preprocessor _REENTRANT definition -dnl makes function gethostbyname_r compiler visible. - -AC_DEFUN([CHECK_NEED_REENTRANT_GETHOSTBYNAME_R], [ - # - AC_MSG_NOTICE([DEBUG:]) - AC_LINK_IFELSE([ - AC_LANG_FUNC_LINK_TRY([gethostbyname_r]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyname_r links... yes]) - tmp_gethostbyname_r="yes" - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyname_r links... no]) - tmp_gethostbyname_r="no" - ]) - # - if test "$tmp_gethostbyname_r" = "yes"; then - AC_EGREP_CPP([gethostbyname_r],[ -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyname_r proto... without our definition]) - tmp_gethostbyname_r="proto_wout_def" - ],[ - AC_EGREP_CPP([gethostbyname_r],[ -#define _REENTRANT -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyname_r proto... with our _reentrant]) - tmp_gethostbyname_r="proto_with_def" - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyname_r proto... not found]) - ]) - ]) - fi - # - if test "$tmp_gethostbyname_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - gethostbyname_r(0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyname_r proto wout finds... 3 args]) - tmp_gethostbyname_r="done" - ]) - fi - if test "$tmp_gethostbyname_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - gethostbyname_r(0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyname_r proto wout finds... 5 args]) - tmp_gethostbyname_r="done" - ]) - fi - if test "$tmp_gethostbyname_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - gethostbyname_r(0, 0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyname_r proto wout finds... 6 args]) - tmp_gethostbyname_r="done" - ]) - fi - # - if test "$tmp_gethostbyname_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - gethostbyname_r(0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyname_r proto with finds... 3 args]) - tmp_gethostbyname_r="needs_reentrant" - ]) - fi - if test "$tmp_gethostbyname_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - gethostbyname_r(0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyname_r proto with finds... 5 args]) - tmp_gethostbyname_r="needs_reentrant" - ]) - fi - if test "$tmp_gethostbyname_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - gethostbyname_r(0, 0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyname_r proto with finds... 6 args]) - tmp_gethostbyname_r="needs_reentrant" - ]) - fi - # - if test "$tmp_gethostbyname_r" = "needs_reentrant"; then - ac_cv_need_reentrant="yes" - fi -]) - - -dnl CHECK_NEED_REENTRANT_GETPROTOBYNAME_R -dnl ------------------------------------------------- -dnl Checks if the preprocessor _REENTRANT definition -dnl makes function getprotobyname_r compiler visible. - -AC_DEFUN([CHECK_NEED_REENTRANT_GETPROTOBYNAME_R], [ - # - AC_MSG_NOTICE([DEBUG:]) - AC_LINK_IFELSE([ - AC_LANG_FUNC_LINK_TRY([getprotobyname_r]) - ],[ - AC_MSG_NOTICE([DEBUG: getprotobyname_r links... yes]) - tmp_getprotobyname_r="yes" - ],[ - AC_MSG_NOTICE([DEBUG: getprotobyname_r links... no]) - tmp_getprotobyname_r="no" - ]) - # - if test "$tmp_getprotobyname_r" = "yes"; then - AC_EGREP_CPP([getprotobyname_r],[ -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: getprotobyname_r proto... without our definition]) - tmp_getprotobyname_r="proto_wout_def" - ],[ - AC_EGREP_CPP([getprotobyname_r],[ -#define _REENTRANT -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: getprotobyname_r proto... with our _reentrant]) - tmp_getprotobyname_r="proto_with_def" - ],[ - AC_MSG_NOTICE([DEBUG: getprotobyname_r proto... not found]) - ]) - ]) - fi - # - if test "$tmp_getprotobyname_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - getprotobyname_r(0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: getprotobyname_r proto wout finds... 4 args]) - tmp_getprotobyname_r="done" - ]) - fi - if test "$tmp_getprotobyname_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - getprotobyname_r(0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: getprotobyname_r proto wout finds... 5 args]) - tmp_getprotobyname_r="done" - ]) - fi - # - if test "$tmp_getprotobyname_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - getprotobyname_r(0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: getprotobyname_r proto with finds... 4 args]) - tmp_getprotobyname_r="needs_reentrant" - ]) - fi - if test "$tmp_getprotobyname_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - getprotobyname_r(0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: getprotobyname_r proto with finds... 5 args]) - tmp_getprotobyname_r="needs_reentrant" - ]) - fi - # - if test "$tmp_getprotobyname_r" = "needs_reentrant"; then - ac_cv_need_reentrant="yes" - fi -]) - - -dnl CHECK_NEED_REENTRANT_GETSERVBYPORT_R -dnl ------------------------------------------------- -dnl Checks if the preprocessor _REENTRANT definition -dnl makes function getservbyport_r compiler visible. - -AC_DEFUN([CHECK_NEED_REENTRANT_GETSERVBYPORT_R], [ - # - AC_MSG_NOTICE([DEBUG:]) - AC_LINK_IFELSE([ - AC_LANG_FUNC_LINK_TRY([getservbyport_r]) - ],[ - AC_MSG_NOTICE([DEBUG: getservbyport_r links... yes]) - tmp_getservbyport_r="yes" - ],[ - AC_MSG_NOTICE([DEBUG: getservbyport_r links... no]) - tmp_getservbyport_r="no" - ]) - # - if test "$tmp_getservbyport_r" = "yes"; then - AC_EGREP_CPP([getservbyport_r],[ -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: getservbyport_r proto... without our definition]) - tmp_getservbyport_r="proto_wout_def" - ],[ - AC_EGREP_CPP([getservbyport_r],[ -#define _REENTRANT -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: getservbyport_r proto... with our _reentrant]) - tmp_getservbyport_r="proto_with_def" - ],[ - AC_MSG_NOTICE([DEBUG: getservbyport_r proto... not found]) - ]) - ]) - fi - # - if test "$tmp_getservbyport_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - getservbyport_r(0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: getservbyport_r proto wout finds... 4 args]) - tmp_getservbyport_r="done" - ]) - fi - if test "$tmp_getservbyport_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - getservbyport_r(0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: getservbyport_r proto wout finds... 5 args]) - tmp_getservbyport_r="done" - ]) - fi - if test "$tmp_getservbyport_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - getservbyport_r(0, 0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: getservbyport_r proto wout finds... 6 args]) - tmp_getservbyport_r="done" - ]) - fi - # - if test "$tmp_getservbyport_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - getservbyport_r(0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: getservbyport_r proto with finds... 4 args]) - tmp_getservbyport_r="needs_reentrant" - ]) - fi - if test "$tmp_getservbyport_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - getservbyport_r(0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: getservbyport_r proto with finds... 5 args]) - tmp_getservbyport_r="needs_reentrant" - ]) - fi - if test "$tmp_getservbyport_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - getservbyport_r(0, 0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: getservbyport_r proto with finds... 6 args]) - tmp_getservbyport_r="needs_reentrant" - ]) - fi - # - if test "$tmp_getservbyport_r" = "needs_reentrant"; then - ac_cv_need_reentrant="yes" - fi -]) - - -dnl CHECK_NEED_REENTRANT_FUNCTIONS_R -dnl ------------------------------------------------- -dnl Checks if the preprocessor _REENTRANT definition -dnl makes several _r functions compiler visible. -dnl Internal macro for CONFIGURE_REENTRANT. - -AC_DEFUN([CHECK_NEED_REENTRANT_FUNCTIONS_R], [ - if test "$ac_cv_need_reentrant" = "no"; then - CHECK_NEED_REENTRANT_STRERROR_R - fi - if test "$ac_cv_need_reentrant" = "no"; then - CHECK_NEED_REENTRANT_STRTOK_R - fi - if test "$ac_cv_need_reentrant" = "no"; then - CHECK_NEED_REENTRANT_LOCALTIME_R - fi - if test "$ac_cv_need_reentrant" = "no"; then - CHECK_NEED_REENTRANT_GMTIME_R - fi - if test "$ac_cv_need_reentrant" = "no"; then - CHECK_NEED_REENTRANT_INET_NTOA_R - fi - if test "$ac_cv_need_reentrant" = "no"; then - CHECK_NEED_REENTRANT_GETHOSTBYADDR_R - fi - if test "$ac_cv_need_reentrant" = "no"; then - CHECK_NEED_REENTRANT_GETHOSTBYNAME_R - fi - if test "$ac_cv_need_reentrant" = "no"; then - CHECK_NEED_REENTRANT_GETPROTOBYNAME_R - fi - if test "$ac_cv_need_reentrant" = "no"; then - CHECK_NEED_REENTRANT_GETSERVBYPORT_R - fi -]) - -AC_DEFUN([CHECK_NEED_REENTRANT_FUNCTIONS_R_DEBUG], [ - CHECK_NEED_REENTRANT_STRERROR_R - CHECK_NEED_REENTRANT_STRTOK_R - CHECK_NEED_REENTRANT_LOCALTIME_R - CHECK_NEED_REENTRANT_GMTIME_R - CHECK_NEED_REENTRANT_INET_NTOA_R - CHECK_NEED_REENTRANT_GETHOSTBYADDR_R - CHECK_NEED_REENTRANT_GETHOSTBYNAME_R - CHECK_NEED_REENTRANT_GETPROTOBYNAME_R - CHECK_NEED_REENTRANT_GETSERVBYPORT_R -]) - - -dnl CONFIGURE_FROM_NOW_ON_WITH_REENTRANT -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 -dnl the generated config file will equally define it. -dnl Internal macro for CONFIGURE_REENTRANT. - -AC_DEFUN([CONFIGURE_FROM_NOW_ON_WITH_REENTRANT], [ -AH_VERBATIM([NEED_REENTRANT], -[/* Configure process defines NEED_REENTRANT to 1 when it finds out that */ -/* _REENTRANT is required or already defined for proper configuration. */ -@%:@undef NEED_REENTRANT -@%:@if defined(NEED_REENTRANT) && !defined(_REENTRANT) -@%:@ define _REENTRANT -@%:@endif]) -cat >>confdefs.h <<_ACEOF -[@%:@ifndef _REENTRANT -@%:@ define _REENTRANT -@%:@endif] -_ACEOF -AC_DEFINE(NEED_REENTRANT, 1, []) -]) - - -dnl CONFIGURE_REENTRANT -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. - -AC_DEFUN([CONFIGURE_REENTRANT], [ - # - 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]) - ac_cv_need_reentrant="no" - CHECK_NEED_REENTRANT_FUNCTIONS_R_DEBUG - if test "$ac_cv_need_reentrant" = "yes"; then - 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" || - test "$ac_cv_need_reentrant" = "yes"; then - CONFIGURE_FROM_NOW_ON_WITH_REENTRANT - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - fi - # -]) - diff --git a/buildconf b/buildconf index 9fc0c5709..b0ef8ee5a 100755 --- a/buildconf +++ b/buildconf @@ -209,7 +209,7 @@ PERL=`findtool ${PERL:-perl}` echo "buildconf: running libtoolize" $libtoolize --copy --automake --force || die "The libtoolize command failed" echo "buildconf: running aclocal" -ACLOCAL_FLAGS="-I . $ACLOCAL_FLAGS" +ACLOCAL_FLAGS="-I m4 $ACLOCAL_FLAGS" ${ACLOCAL:-aclocal} $ACLOCAL_FLAGS || die "The aclocal command line failed" if test -n "$PERL"; then echo "buildconf: running aclocal hack to convert all mv to mv -f" diff --git a/m4/reentrant.m4 b/m4/reentrant.m4 new file mode 100644 index 000000000..953a1ba7d --- /dev/null +++ b/m4/reentrant.m4 @@ -0,0 +1,1052 @@ +#*************************************************************************** +# _ _ ____ _ +# Project ___| | | | _ \| | +# / __| | | | |_) | | +# | (__| |_| | _ <| |___ +# \___|\___/|_| \_\_____| +# +# Copyright (C) 1998 - 2008, Daniel Stenberg, , et al. +# +# This software is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at http://curl.haxx.se/docs/copyright.html. +# +# You may opt to use, copy, modify, merge, publish, distribute and/or sell +# copies of the Software, and permit persons to whom the Software is +# furnished to do so, under the terms of the COPYING file. +# +# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY +# KIND, either express or implied. +# +# $Id$ +########################################################################### + + +dnl CHECK_NEED_REENTRANT_STRERROR_R +dnl ------------------------------------------------- +dnl Checks if the preprocessor _REENTRANT definition +dnl makes function strerror_r compiler visible. + +AC_DEFUN([CHECK_NEED_REENTRANT_STRERROR_R], [ + # + AC_MSG_NOTICE([DEBUG:]) + AC_MSG_NOTICE([DEBUG:]) + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([strerror_r]) + ],[ + AC_MSG_NOTICE([DEBUG: strerror_r links... yes]) + tmp_strerror_r="yes" + ],[ + AC_MSG_NOTICE([DEBUG: strerror_r links... no]) + tmp_strerror_r="no" + ]) + # + if test "$tmp_strerror_r" = "yes"; then + AC_EGREP_CPP([strerror_r],[ +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: strerror_r proto... without our definition]) + tmp_strerror_r="proto_wout_def" + ],[ + AC_EGREP_CPP([strerror_r],[ +#define _REENTRANT +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: strerror_r proto... with our _reentrant]) + tmp_strerror_r="proto_with_def" + ],[ + AC_MSG_NOTICE([DEBUG: strerror_r proto... not found]) + ]) + ]) + fi + # + if test "$tmp_strerror_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + strerror_r(0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: strerror_r proto wout finds... 3 args]) + tmp_strerror_r="done" + ]) + fi + # + if test "$tmp_strerror_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + strerror_r(0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: strerror_r proto with finds... 3 args]) + tmp_strerror_r="needs_reentrant" + ]) + fi + # + if test "$tmp_strerror_r" = "needs_reentrant"; then + ac_cv_need_reentrant="yes" + fi +]) + + +dnl CHECK_NEED_REENTRANT_STRTOK_R +dnl ------------------------------------------------- +dnl Checks if the preprocessor _REENTRANT definition +dnl makes function strtok_r compiler visible. + +AC_DEFUN([CHECK_NEED_REENTRANT_STRTOK_R], [ + # + AC_MSG_NOTICE([DEBUG:]) + AC_MSG_NOTICE([DEBUG:]) + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([strtok_r]) + ],[ + AC_MSG_NOTICE([DEBUG: strtok_r links... yes]) + tmp_strtok_r="yes" + ],[ + AC_MSG_NOTICE([DEBUG: strtok_r links... no]) + tmp_strtok_r="no" + ]) + # + if test "$tmp_strtok_r" = "yes"; then + AC_EGREP_CPP([strtok_r],[ +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: strtok_r proto... without our definition]) + tmp_strtok_r="proto_wout_def" + ],[ + AC_EGREP_CPP([strtok_r],[ +#define _REENTRANT +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: strtok_r proto... with our _reentrant]) + tmp_strtok_r="proto_with_def" + ],[ + AC_MSG_NOTICE([DEBUG: strtok_r proto... not found]) + ]) + ]) + fi + # + if test "$tmp_strtok_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + strtok_r(0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: strtok_r proto wout finds... 3 args]) + tmp_strtok_r="done" + ]) + fi + # + if test "$tmp_strtok_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + strtok_r(0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: strtok_r proto with finds... 3 args]) + tmp_strtok_r="needs_reentrant" + ]) + fi + # + if test "$tmp_strtok_r" = "needs_reentrant"; then + ac_cv_need_reentrant="yes" + fi +]) + + +dnl CHECK_NEED_REENTRANT_LOCALTIME_R +dnl ------------------------------------------------- +dnl Checks if the preprocessor _REENTRANT definition +dnl makes function localtime_r compiler visible. + +AC_DEFUN([CHECK_NEED_REENTRANT_LOCALTIME_R], [ + # + AC_MSG_NOTICE([DEBUG:]) + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([localtime_r]) + ],[ + AC_MSG_NOTICE([DEBUG: localtime_r links... yes]) + tmp_localtime_r="yes" + ],[ + AC_MSG_NOTICE([DEBUG: localtime_r links... no]) + tmp_localtime_r="no" + ]) + # + if test "$tmp_localtime_r" = "yes"; then + AC_EGREP_CPP([localtime_r],[ +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: localtime_r proto... without our definition]) + tmp_localtime_r="proto_wout_def" + ],[ + AC_EGREP_CPP([localtime_r],[ +#define _REENTRANT +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: localtime_r proto... with our _reentrant]) + tmp_localtime_r="proto_with_def" + ],[ + AC_MSG_NOTICE([DEBUG: localtime_r proto... not found]) + ]) + ]) + fi + # + if test "$tmp_localtime_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + localtime_r(0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: localtime_r proto wout finds... 2 args]) + tmp_localtime_r="done" + ]) + fi + # + if test "$tmp_localtime_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + localtime_r(0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: localtime_r proto with finds... 2 args]) + tmp_localtime_r="needs_reentrant" + ]) + fi + # + if test "$tmp_localtime_r" = "needs_reentrant"; then + ac_cv_need_reentrant="yes" + fi +]) + + +dnl CHECK_NEED_REENTRANT_GMTIME_R +dnl ------------------------------------------------- +dnl Checks if the preprocessor _REENTRANT definition +dnl makes function gmtime_r compiler visible. + +AC_DEFUN([CHECK_NEED_REENTRANT_GMTIME_R], [ + # + AC_MSG_NOTICE([DEBUG:]) + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([gmtime_r]) + ],[ + AC_MSG_NOTICE([DEBUG: gmtime_r links... yes]) + tmp_gmtime_r="yes" + ],[ + AC_MSG_NOTICE([DEBUG: gmtime_r links... no]) + tmp_gmtime_r="no" + ]) + # + if test "$tmp_gmtime_r" = "yes"; then + AC_EGREP_CPP([gmtime_r],[ +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: gmtime_r proto... without our definition]) + tmp_gmtime_r="proto_wout_def" + ],[ + AC_EGREP_CPP([gmtime_r],[ +#define _REENTRANT +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: gmtime_r proto... with our _reentrant]) + tmp_gmtime_r="proto_with_def" + ],[ + AC_MSG_NOTICE([DEBUG: gmtime_r proto... not found]) + ]) + ]) + fi + # + if test "$tmp_gmtime_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + gmtime_r(0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gmtime_r proto wout finds... 2 args]) + tmp_gmtime_r="done" + ]) + fi + # + if test "$tmp_gmtime_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + gmtime_r(0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gmtime_r proto with finds... 2 args]) + tmp_gmtime_r="needs_reentrant" + ]) + fi + # + if test "$tmp_gmtime_r" = "needs_reentrant"; then + ac_cv_need_reentrant="yes" + fi +]) + + +dnl CHECK_NEED_REENTRANT_INET_NTOA_R +dnl ------------------------------------------------- +dnl Checks if the preprocessor _REENTRANT definition +dnl makes function inet_ntoa_r compiler visible. + +AC_DEFUN([CHECK_NEED_REENTRANT_INET_NTOA_R], [ + # + AC_MSG_NOTICE([DEBUG:]) + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([inet_ntoa_r]) + ],[ + AC_MSG_NOTICE([DEBUG: inet_ntoa_r links... yes]) + tmp_inet_ntoa_r="yes" + ],[ + AC_MSG_NOTICE([DEBUG: inet_ntoa_r links... no]) + tmp_inet_ntoa_r="no" + ]) + # + if test "$tmp_inet_ntoa_r" = "yes"; then + AC_EGREP_CPP([inet_ntoa_r],[ +#include +#include +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto... without our definition]) + tmp_inet_ntoa_r="proto_wout_def" + ],[ + AC_EGREP_CPP([inet_ntoa_r],[ +#define _REENTRANT +#include +#include +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto... with our _reentrant]) + tmp_inet_ntoa_r="proto_with_def" + ],[ + AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto... not found]) + ]) + ]) + fi + # + if test "$tmp_inet_ntoa_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include +#include +#include + ]],[[ + struct in_addr addr; + inet_ntoa_r(addr, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto wout finds... 2 args]) + tmp_inet_ntoa_r="done" + ]) + fi + if test "$tmp_inet_ntoa_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include +#include +#include + ]],[[ + struct in_addr addr; + inet_ntoa_r(addr, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto wout finds... 3 args]) + tmp_inet_ntoa_r="done" + ]) + fi + # + if test "$tmp_inet_ntoa_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include +#include +#include + ]],[[ + struct in_addr addr; + inet_ntoa_r(addr, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto with finds... 2 args]) + tmp_inet_ntoa_r="needs_reentrant" + ]) + fi + if test "$tmp_inet_ntoa_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include +#include +#include + ]],[[ + struct in_addr addr; + inet_ntoa_r(addr, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto with finds... 3 args]) + tmp_inet_ntoa_r="needs_reentrant" + ]) + fi + # + if test "$tmp_inet_ntoa_r" = "needs_reentrant"; then + ac_cv_need_reentrant="yes" + fi +]) + + +dnl CHECK_NEED_REENTRANT_GETHOSTBYADDR_R +dnl ------------------------------------------------- +dnl Checks if the preprocessor _REENTRANT definition +dnl makes function gethostbyaddr_r compiler visible. + +AC_DEFUN([CHECK_NEED_REENTRANT_GETHOSTBYADDR_R], [ + # + AC_MSG_NOTICE([DEBUG:]) + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([gethostbyaddr_r]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyaddr_r links... yes]) + tmp_gethostbyaddr_r="yes" + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyaddr_r links... no]) + tmp_gethostbyaddr_r="no" + ]) + # + if test "$tmp_gethostbyaddr_r" = "yes"; then + AC_EGREP_CPP([gethostbyaddr_r],[ +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto... without our definition]) + tmp_gethostbyaddr_r="proto_wout_def" + ],[ + AC_EGREP_CPP([gethostbyaddr_r],[ +#define _REENTRANT +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto... with our _reentrant]) + tmp_gethostbyaddr_r="proto_with_def" + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto... not found]) + ]) + ]) + fi + # + if test "$tmp_gethostbyaddr_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + gethostbyaddr_r(0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto wout finds... 5 args]) + tmp_gethostbyaddr_r="done" + ]) + fi + if test "$tmp_gethostbyaddr_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + gethostbyaddr_r(0, 0, 0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto wout finds... 7 args]) + tmp_gethostbyaddr_r="done" + ]) + fi + if test "$tmp_gethostbyaddr_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + gethostbyaddr_r(0, 0, 0, 0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto wout finds... 8 args]) + tmp_gethostbyaddr_r="done" + ]) + fi + # + if test "$tmp_gethostbyaddr_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + gethostbyaddr_r(0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto with finds... 5 args]) + tmp_gethostbyaddr_r="needs_reentrant" + ]) + fi + if test "$tmp_gethostbyaddr_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + gethostbyaddr_r(0, 0, 0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto with finds... 7 args]) + tmp_gethostbyaddr_r="needs_reentrant" + ]) + fi + if test "$tmp_gethostbyaddr_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + gethostbyaddr_r(0, 0, 0, 0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto with finds... 8 args]) + tmp_gethostbyaddr_r="needs_reentrant" + ]) + fi + # + if test "$tmp_gethostbyaddr_r" = "needs_reentrant"; then + ac_cv_need_reentrant="yes" + fi +]) + + +dnl CHECK_NEED_REENTRANT_GETHOSTBYNAME_R +dnl ------------------------------------------------- +dnl Checks if the preprocessor _REENTRANT definition +dnl makes function gethostbyname_r compiler visible. + +AC_DEFUN([CHECK_NEED_REENTRANT_GETHOSTBYNAME_R], [ + # + AC_MSG_NOTICE([DEBUG:]) + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([gethostbyname_r]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyname_r links... yes]) + tmp_gethostbyname_r="yes" + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyname_r links... no]) + tmp_gethostbyname_r="no" + ]) + # + if test "$tmp_gethostbyname_r" = "yes"; then + AC_EGREP_CPP([gethostbyname_r],[ +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyname_r proto... without our definition]) + tmp_gethostbyname_r="proto_wout_def" + ],[ + AC_EGREP_CPP([gethostbyname_r],[ +#define _REENTRANT +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyname_r proto... with our _reentrant]) + tmp_gethostbyname_r="proto_with_def" + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyname_r proto... not found]) + ]) + ]) + fi + # + if test "$tmp_gethostbyname_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + gethostbyname_r(0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyname_r proto wout finds... 3 args]) + tmp_gethostbyname_r="done" + ]) + fi + if test "$tmp_gethostbyname_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + gethostbyname_r(0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyname_r proto wout finds... 5 args]) + tmp_gethostbyname_r="done" + ]) + fi + if test "$tmp_gethostbyname_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + gethostbyname_r(0, 0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyname_r proto wout finds... 6 args]) + tmp_gethostbyname_r="done" + ]) + fi + # + if test "$tmp_gethostbyname_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + gethostbyname_r(0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyname_r proto with finds... 3 args]) + tmp_gethostbyname_r="needs_reentrant" + ]) + fi + if test "$tmp_gethostbyname_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + gethostbyname_r(0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyname_r proto with finds... 5 args]) + tmp_gethostbyname_r="needs_reentrant" + ]) + fi + if test "$tmp_gethostbyname_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + gethostbyname_r(0, 0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: gethostbyname_r proto with finds... 6 args]) + tmp_gethostbyname_r="needs_reentrant" + ]) + fi + # + if test "$tmp_gethostbyname_r" = "needs_reentrant"; then + ac_cv_need_reentrant="yes" + fi +]) + + +dnl CHECK_NEED_REENTRANT_GETPROTOBYNAME_R +dnl ------------------------------------------------- +dnl Checks if the preprocessor _REENTRANT definition +dnl makes function getprotobyname_r compiler visible. + +AC_DEFUN([CHECK_NEED_REENTRANT_GETPROTOBYNAME_R], [ + # + AC_MSG_NOTICE([DEBUG:]) + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([getprotobyname_r]) + ],[ + AC_MSG_NOTICE([DEBUG: getprotobyname_r links... yes]) + tmp_getprotobyname_r="yes" + ],[ + AC_MSG_NOTICE([DEBUG: getprotobyname_r links... no]) + tmp_getprotobyname_r="no" + ]) + # + if test "$tmp_getprotobyname_r" = "yes"; then + AC_EGREP_CPP([getprotobyname_r],[ +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: getprotobyname_r proto... without our definition]) + tmp_getprotobyname_r="proto_wout_def" + ],[ + AC_EGREP_CPP([getprotobyname_r],[ +#define _REENTRANT +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: getprotobyname_r proto... with our _reentrant]) + tmp_getprotobyname_r="proto_with_def" + ],[ + AC_MSG_NOTICE([DEBUG: getprotobyname_r proto... not found]) + ]) + ]) + fi + # + if test "$tmp_getprotobyname_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + getprotobyname_r(0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: getprotobyname_r proto wout finds... 4 args]) + tmp_getprotobyname_r="done" + ]) + fi + if test "$tmp_getprotobyname_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + getprotobyname_r(0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: getprotobyname_r proto wout finds... 5 args]) + tmp_getprotobyname_r="done" + ]) + fi + # + if test "$tmp_getprotobyname_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + getprotobyname_r(0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: getprotobyname_r proto with finds... 4 args]) + tmp_getprotobyname_r="needs_reentrant" + ]) + fi + if test "$tmp_getprotobyname_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + getprotobyname_r(0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: getprotobyname_r proto with finds... 5 args]) + tmp_getprotobyname_r="needs_reentrant" + ]) + fi + # + if test "$tmp_getprotobyname_r" = "needs_reentrant"; then + ac_cv_need_reentrant="yes" + fi +]) + + +dnl CHECK_NEED_REENTRANT_GETSERVBYPORT_R +dnl ------------------------------------------------- +dnl Checks if the preprocessor _REENTRANT definition +dnl makes function getservbyport_r compiler visible. + +AC_DEFUN([CHECK_NEED_REENTRANT_GETSERVBYPORT_R], [ + # + AC_MSG_NOTICE([DEBUG:]) + AC_LINK_IFELSE([ + AC_LANG_FUNC_LINK_TRY([getservbyport_r]) + ],[ + AC_MSG_NOTICE([DEBUG: getservbyport_r links... yes]) + tmp_getservbyport_r="yes" + ],[ + AC_MSG_NOTICE([DEBUG: getservbyport_r links... no]) + tmp_getservbyport_r="no" + ]) + # + if test "$tmp_getservbyport_r" = "yes"; then + AC_EGREP_CPP([getservbyport_r],[ +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: getservbyport_r proto... without our definition]) + tmp_getservbyport_r="proto_wout_def" + ],[ + AC_EGREP_CPP([getservbyport_r],[ +#define _REENTRANT +#include +#include + ],[ + AC_MSG_NOTICE([DEBUG: getservbyport_r proto... with our _reentrant]) + tmp_getservbyport_r="proto_with_def" + ],[ + AC_MSG_NOTICE([DEBUG: getservbyport_r proto... not found]) + ]) + ]) + fi + # + if test "$tmp_getservbyport_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + getservbyport_r(0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: getservbyport_r proto wout finds... 4 args]) + tmp_getservbyport_r="done" + ]) + fi + if test "$tmp_getservbyport_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + getservbyport_r(0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: getservbyport_r proto wout finds... 5 args]) + tmp_getservbyport_r="done" + ]) + fi + if test "$tmp_getservbyport_r" = "proto_wout_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include +#include + ]],[[ + getservbyport_r(0, 0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: getservbyport_r proto wout finds... 6 args]) + tmp_getservbyport_r="done" + ]) + fi + # + if test "$tmp_getservbyport_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + getservbyport_r(0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: getservbyport_r proto with finds... 4 args]) + tmp_getservbyport_r="needs_reentrant" + ]) + fi + if test "$tmp_getservbyport_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + getservbyport_r(0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: getservbyport_r proto with finds... 5 args]) + tmp_getservbyport_r="needs_reentrant" + ]) + fi + if test "$tmp_getservbyport_r" = "proto_with_def"; then + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#define _REENTRANT +#include +#include + ]],[[ + getservbyport_r(0, 0, 0, 0, 0, 0); + ]]) + ],[ + AC_MSG_NOTICE([DEBUG: getservbyport_r proto with finds... 6 args]) + tmp_getservbyport_r="needs_reentrant" + ]) + fi + # + if test "$tmp_getservbyport_r" = "needs_reentrant"; then + ac_cv_need_reentrant="yes" + fi +]) + + +dnl CHECK_NEED_REENTRANT_FUNCTIONS_R +dnl ------------------------------------------------- +dnl Checks if the preprocessor _REENTRANT definition +dnl makes several _r functions compiler visible. +dnl Internal macro for CONFIGURE_REENTRANT. + +AC_DEFUN([CHECK_NEED_REENTRANT_FUNCTIONS_R], [ + if test "$ac_cv_need_reentrant" = "no"; then + CHECK_NEED_REENTRANT_STRERROR_R + fi + if test "$ac_cv_need_reentrant" = "no"; then + CHECK_NEED_REENTRANT_STRTOK_R + fi + if test "$ac_cv_need_reentrant" = "no"; then + CHECK_NEED_REENTRANT_LOCALTIME_R + fi + if test "$ac_cv_need_reentrant" = "no"; then + CHECK_NEED_REENTRANT_GMTIME_R + fi + if test "$ac_cv_need_reentrant" = "no"; then + CHECK_NEED_REENTRANT_INET_NTOA_R + fi + if test "$ac_cv_need_reentrant" = "no"; then + CHECK_NEED_REENTRANT_GETHOSTBYADDR_R + fi + if test "$ac_cv_need_reentrant" = "no"; then + CHECK_NEED_REENTRANT_GETHOSTBYNAME_R + fi + if test "$ac_cv_need_reentrant" = "no"; then + CHECK_NEED_REENTRANT_GETPROTOBYNAME_R + fi + if test "$ac_cv_need_reentrant" = "no"; then + CHECK_NEED_REENTRANT_GETSERVBYPORT_R + fi +]) + +AC_DEFUN([CHECK_NEED_REENTRANT_FUNCTIONS_R_DEBUG], [ + CHECK_NEED_REENTRANT_STRERROR_R + CHECK_NEED_REENTRANT_STRTOK_R + CHECK_NEED_REENTRANT_LOCALTIME_R + CHECK_NEED_REENTRANT_GMTIME_R + CHECK_NEED_REENTRANT_INET_NTOA_R + CHECK_NEED_REENTRANT_GETHOSTBYADDR_R + CHECK_NEED_REENTRANT_GETHOSTBYNAME_R + CHECK_NEED_REENTRANT_GETPROTOBYNAME_R + CHECK_NEED_REENTRANT_GETSERVBYPORT_R +]) + + +dnl CONFIGURE_FROM_NOW_ON_WITH_REENTRANT +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 +dnl the generated config file will equally define it. +dnl Internal macro for CONFIGURE_REENTRANT. + +AC_DEFUN([CONFIGURE_FROM_NOW_ON_WITH_REENTRANT], [ +AH_VERBATIM([NEED_REENTRANT], +[/* Configure process defines NEED_REENTRANT to 1 when it finds out that */ +/* _REENTRANT is required or already defined for proper configuration. */ +@%:@undef NEED_REENTRANT +@%:@if defined(NEED_REENTRANT) && !defined(_REENTRANT) +@%:@ define _REENTRANT +@%:@endif]) +cat >>confdefs.h <<_ACEOF +[@%:@ifndef _REENTRANT +@%:@ define _REENTRANT +@%:@endif] +_ACEOF +AC_DEFINE(NEED_REENTRANT, 1, []) +]) + + +dnl CONFIGURE_REENTRANT +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. + +AC_DEFUN([CONFIGURE_REENTRANT], [ + # + 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]) + ac_cv_need_reentrant="no" + CHECK_NEED_REENTRANT_FUNCTIONS_R_DEBUG + if test "$ac_cv_need_reentrant" = "yes"; then + 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" || + test "$ac_cv_need_reentrant" = "yes"; then + CONFIGURE_FROM_NOW_ON_WITH_REENTRANT + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + # +]) + diff --git a/reentrant.m4 b/reentrant.m4 deleted file mode 100644 index 953a1ba7d..000000000 --- a/reentrant.m4 +++ /dev/null @@ -1,1052 +0,0 @@ -#*************************************************************************** -# _ _ ____ _ -# Project ___| | | | _ \| | -# / __| | | | |_) | | -# | (__| |_| | _ <| |___ -# \___|\___/|_| \_\_____| -# -# Copyright (C) 1998 - 2008, Daniel Stenberg, , et al. -# -# This software is licensed as described in the file COPYING, which -# you should have received as part of this distribution. The terms -# are also available at http://curl.haxx.se/docs/copyright.html. -# -# You may opt to use, copy, modify, merge, publish, distribute and/or sell -# copies of the Software, and permit persons to whom the Software is -# furnished to do so, under the terms of the COPYING file. -# -# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY -# KIND, either express or implied. -# -# $Id$ -########################################################################### - - -dnl CHECK_NEED_REENTRANT_STRERROR_R -dnl ------------------------------------------------- -dnl Checks if the preprocessor _REENTRANT definition -dnl makes function strerror_r compiler visible. - -AC_DEFUN([CHECK_NEED_REENTRANT_STRERROR_R], [ - # - AC_MSG_NOTICE([DEBUG:]) - AC_MSG_NOTICE([DEBUG:]) - AC_LINK_IFELSE([ - AC_LANG_FUNC_LINK_TRY([strerror_r]) - ],[ - AC_MSG_NOTICE([DEBUG: strerror_r links... yes]) - tmp_strerror_r="yes" - ],[ - AC_MSG_NOTICE([DEBUG: strerror_r links... no]) - tmp_strerror_r="no" - ]) - # - if test "$tmp_strerror_r" = "yes"; then - AC_EGREP_CPP([strerror_r],[ -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: strerror_r proto... without our definition]) - tmp_strerror_r="proto_wout_def" - ],[ - AC_EGREP_CPP([strerror_r],[ -#define _REENTRANT -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: strerror_r proto... with our _reentrant]) - tmp_strerror_r="proto_with_def" - ],[ - AC_MSG_NOTICE([DEBUG: strerror_r proto... not found]) - ]) - ]) - fi - # - if test "$tmp_strerror_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - strerror_r(0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: strerror_r proto wout finds... 3 args]) - tmp_strerror_r="done" - ]) - fi - # - if test "$tmp_strerror_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - strerror_r(0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: strerror_r proto with finds... 3 args]) - tmp_strerror_r="needs_reentrant" - ]) - fi - # - if test "$tmp_strerror_r" = "needs_reentrant"; then - ac_cv_need_reentrant="yes" - fi -]) - - -dnl CHECK_NEED_REENTRANT_STRTOK_R -dnl ------------------------------------------------- -dnl Checks if the preprocessor _REENTRANT definition -dnl makes function strtok_r compiler visible. - -AC_DEFUN([CHECK_NEED_REENTRANT_STRTOK_R], [ - # - AC_MSG_NOTICE([DEBUG:]) - AC_MSG_NOTICE([DEBUG:]) - AC_LINK_IFELSE([ - AC_LANG_FUNC_LINK_TRY([strtok_r]) - ],[ - AC_MSG_NOTICE([DEBUG: strtok_r links... yes]) - tmp_strtok_r="yes" - ],[ - AC_MSG_NOTICE([DEBUG: strtok_r links... no]) - tmp_strtok_r="no" - ]) - # - if test "$tmp_strtok_r" = "yes"; then - AC_EGREP_CPP([strtok_r],[ -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: strtok_r proto... without our definition]) - tmp_strtok_r="proto_wout_def" - ],[ - AC_EGREP_CPP([strtok_r],[ -#define _REENTRANT -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: strtok_r proto... with our _reentrant]) - tmp_strtok_r="proto_with_def" - ],[ - AC_MSG_NOTICE([DEBUG: strtok_r proto... not found]) - ]) - ]) - fi - # - if test "$tmp_strtok_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - strtok_r(0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: strtok_r proto wout finds... 3 args]) - tmp_strtok_r="done" - ]) - fi - # - if test "$tmp_strtok_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - strtok_r(0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: strtok_r proto with finds... 3 args]) - tmp_strtok_r="needs_reentrant" - ]) - fi - # - if test "$tmp_strtok_r" = "needs_reentrant"; then - ac_cv_need_reentrant="yes" - fi -]) - - -dnl CHECK_NEED_REENTRANT_LOCALTIME_R -dnl ------------------------------------------------- -dnl Checks if the preprocessor _REENTRANT definition -dnl makes function localtime_r compiler visible. - -AC_DEFUN([CHECK_NEED_REENTRANT_LOCALTIME_R], [ - # - AC_MSG_NOTICE([DEBUG:]) - AC_LINK_IFELSE([ - AC_LANG_FUNC_LINK_TRY([localtime_r]) - ],[ - AC_MSG_NOTICE([DEBUG: localtime_r links... yes]) - tmp_localtime_r="yes" - ],[ - AC_MSG_NOTICE([DEBUG: localtime_r links... no]) - tmp_localtime_r="no" - ]) - # - if test "$tmp_localtime_r" = "yes"; then - AC_EGREP_CPP([localtime_r],[ -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: localtime_r proto... without our definition]) - tmp_localtime_r="proto_wout_def" - ],[ - AC_EGREP_CPP([localtime_r],[ -#define _REENTRANT -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: localtime_r proto... with our _reentrant]) - tmp_localtime_r="proto_with_def" - ],[ - AC_MSG_NOTICE([DEBUG: localtime_r proto... not found]) - ]) - ]) - fi - # - if test "$tmp_localtime_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - localtime_r(0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: localtime_r proto wout finds... 2 args]) - tmp_localtime_r="done" - ]) - fi - # - if test "$tmp_localtime_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - localtime_r(0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: localtime_r proto with finds... 2 args]) - tmp_localtime_r="needs_reentrant" - ]) - fi - # - if test "$tmp_localtime_r" = "needs_reentrant"; then - ac_cv_need_reentrant="yes" - fi -]) - - -dnl CHECK_NEED_REENTRANT_GMTIME_R -dnl ------------------------------------------------- -dnl Checks if the preprocessor _REENTRANT definition -dnl makes function gmtime_r compiler visible. - -AC_DEFUN([CHECK_NEED_REENTRANT_GMTIME_R], [ - # - AC_MSG_NOTICE([DEBUG:]) - AC_LINK_IFELSE([ - AC_LANG_FUNC_LINK_TRY([gmtime_r]) - ],[ - AC_MSG_NOTICE([DEBUG: gmtime_r links... yes]) - tmp_gmtime_r="yes" - ],[ - AC_MSG_NOTICE([DEBUG: gmtime_r links... no]) - tmp_gmtime_r="no" - ]) - # - if test "$tmp_gmtime_r" = "yes"; then - AC_EGREP_CPP([gmtime_r],[ -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: gmtime_r proto... without our definition]) - tmp_gmtime_r="proto_wout_def" - ],[ - AC_EGREP_CPP([gmtime_r],[ -#define _REENTRANT -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: gmtime_r proto... with our _reentrant]) - tmp_gmtime_r="proto_with_def" - ],[ - AC_MSG_NOTICE([DEBUG: gmtime_r proto... not found]) - ]) - ]) - fi - # - if test "$tmp_gmtime_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - gmtime_r(0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gmtime_r proto wout finds... 2 args]) - tmp_gmtime_r="done" - ]) - fi - # - if test "$tmp_gmtime_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - gmtime_r(0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gmtime_r proto with finds... 2 args]) - tmp_gmtime_r="needs_reentrant" - ]) - fi - # - if test "$tmp_gmtime_r" = "needs_reentrant"; then - ac_cv_need_reentrant="yes" - fi -]) - - -dnl CHECK_NEED_REENTRANT_INET_NTOA_R -dnl ------------------------------------------------- -dnl Checks if the preprocessor _REENTRANT definition -dnl makes function inet_ntoa_r compiler visible. - -AC_DEFUN([CHECK_NEED_REENTRANT_INET_NTOA_R], [ - # - AC_MSG_NOTICE([DEBUG:]) - AC_LINK_IFELSE([ - AC_LANG_FUNC_LINK_TRY([inet_ntoa_r]) - ],[ - AC_MSG_NOTICE([DEBUG: inet_ntoa_r links... yes]) - tmp_inet_ntoa_r="yes" - ],[ - AC_MSG_NOTICE([DEBUG: inet_ntoa_r links... no]) - tmp_inet_ntoa_r="no" - ]) - # - if test "$tmp_inet_ntoa_r" = "yes"; then - AC_EGREP_CPP([inet_ntoa_r],[ -#include -#include -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto... without our definition]) - tmp_inet_ntoa_r="proto_wout_def" - ],[ - AC_EGREP_CPP([inet_ntoa_r],[ -#define _REENTRANT -#include -#include -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto... with our _reentrant]) - tmp_inet_ntoa_r="proto_with_def" - ],[ - AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto... not found]) - ]) - ]) - fi - # - if test "$tmp_inet_ntoa_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include -#include -#include - ]],[[ - struct in_addr addr; - inet_ntoa_r(addr, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto wout finds... 2 args]) - tmp_inet_ntoa_r="done" - ]) - fi - if test "$tmp_inet_ntoa_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include -#include -#include - ]],[[ - struct in_addr addr; - inet_ntoa_r(addr, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto wout finds... 3 args]) - tmp_inet_ntoa_r="done" - ]) - fi - # - if test "$tmp_inet_ntoa_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include -#include -#include - ]],[[ - struct in_addr addr; - inet_ntoa_r(addr, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto with finds... 2 args]) - tmp_inet_ntoa_r="needs_reentrant" - ]) - fi - if test "$tmp_inet_ntoa_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include -#include -#include - ]],[[ - struct in_addr addr; - inet_ntoa_r(addr, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: inet_ntoa_r proto with finds... 3 args]) - tmp_inet_ntoa_r="needs_reentrant" - ]) - fi - # - if test "$tmp_inet_ntoa_r" = "needs_reentrant"; then - ac_cv_need_reentrant="yes" - fi -]) - - -dnl CHECK_NEED_REENTRANT_GETHOSTBYADDR_R -dnl ------------------------------------------------- -dnl Checks if the preprocessor _REENTRANT definition -dnl makes function gethostbyaddr_r compiler visible. - -AC_DEFUN([CHECK_NEED_REENTRANT_GETHOSTBYADDR_R], [ - # - AC_MSG_NOTICE([DEBUG:]) - AC_LINK_IFELSE([ - AC_LANG_FUNC_LINK_TRY([gethostbyaddr_r]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyaddr_r links... yes]) - tmp_gethostbyaddr_r="yes" - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyaddr_r links... no]) - tmp_gethostbyaddr_r="no" - ]) - # - if test "$tmp_gethostbyaddr_r" = "yes"; then - AC_EGREP_CPP([gethostbyaddr_r],[ -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto... without our definition]) - tmp_gethostbyaddr_r="proto_wout_def" - ],[ - AC_EGREP_CPP([gethostbyaddr_r],[ -#define _REENTRANT -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto... with our _reentrant]) - tmp_gethostbyaddr_r="proto_with_def" - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto... not found]) - ]) - ]) - fi - # - if test "$tmp_gethostbyaddr_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - gethostbyaddr_r(0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto wout finds... 5 args]) - tmp_gethostbyaddr_r="done" - ]) - fi - if test "$tmp_gethostbyaddr_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - gethostbyaddr_r(0, 0, 0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto wout finds... 7 args]) - tmp_gethostbyaddr_r="done" - ]) - fi - if test "$tmp_gethostbyaddr_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - gethostbyaddr_r(0, 0, 0, 0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto wout finds... 8 args]) - tmp_gethostbyaddr_r="done" - ]) - fi - # - if test "$tmp_gethostbyaddr_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - gethostbyaddr_r(0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto with finds... 5 args]) - tmp_gethostbyaddr_r="needs_reentrant" - ]) - fi - if test "$tmp_gethostbyaddr_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - gethostbyaddr_r(0, 0, 0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto with finds... 7 args]) - tmp_gethostbyaddr_r="needs_reentrant" - ]) - fi - if test "$tmp_gethostbyaddr_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - gethostbyaddr_r(0, 0, 0, 0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyaddr_r proto with finds... 8 args]) - tmp_gethostbyaddr_r="needs_reentrant" - ]) - fi - # - if test "$tmp_gethostbyaddr_r" = "needs_reentrant"; then - ac_cv_need_reentrant="yes" - fi -]) - - -dnl CHECK_NEED_REENTRANT_GETHOSTBYNAME_R -dnl ------------------------------------------------- -dnl Checks if the preprocessor _REENTRANT definition -dnl makes function gethostbyname_r compiler visible. - -AC_DEFUN([CHECK_NEED_REENTRANT_GETHOSTBYNAME_R], [ - # - AC_MSG_NOTICE([DEBUG:]) - AC_LINK_IFELSE([ - AC_LANG_FUNC_LINK_TRY([gethostbyname_r]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyname_r links... yes]) - tmp_gethostbyname_r="yes" - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyname_r links... no]) - tmp_gethostbyname_r="no" - ]) - # - if test "$tmp_gethostbyname_r" = "yes"; then - AC_EGREP_CPP([gethostbyname_r],[ -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyname_r proto... without our definition]) - tmp_gethostbyname_r="proto_wout_def" - ],[ - AC_EGREP_CPP([gethostbyname_r],[ -#define _REENTRANT -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyname_r proto... with our _reentrant]) - tmp_gethostbyname_r="proto_with_def" - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyname_r proto... not found]) - ]) - ]) - fi - # - if test "$tmp_gethostbyname_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - gethostbyname_r(0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyname_r proto wout finds... 3 args]) - tmp_gethostbyname_r="done" - ]) - fi - if test "$tmp_gethostbyname_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - gethostbyname_r(0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyname_r proto wout finds... 5 args]) - tmp_gethostbyname_r="done" - ]) - fi - if test "$tmp_gethostbyname_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - gethostbyname_r(0, 0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyname_r proto wout finds... 6 args]) - tmp_gethostbyname_r="done" - ]) - fi - # - if test "$tmp_gethostbyname_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - gethostbyname_r(0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyname_r proto with finds... 3 args]) - tmp_gethostbyname_r="needs_reentrant" - ]) - fi - if test "$tmp_gethostbyname_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - gethostbyname_r(0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyname_r proto with finds... 5 args]) - tmp_gethostbyname_r="needs_reentrant" - ]) - fi - if test "$tmp_gethostbyname_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - gethostbyname_r(0, 0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: gethostbyname_r proto with finds... 6 args]) - tmp_gethostbyname_r="needs_reentrant" - ]) - fi - # - if test "$tmp_gethostbyname_r" = "needs_reentrant"; then - ac_cv_need_reentrant="yes" - fi -]) - - -dnl CHECK_NEED_REENTRANT_GETPROTOBYNAME_R -dnl ------------------------------------------------- -dnl Checks if the preprocessor _REENTRANT definition -dnl makes function getprotobyname_r compiler visible. - -AC_DEFUN([CHECK_NEED_REENTRANT_GETPROTOBYNAME_R], [ - # - AC_MSG_NOTICE([DEBUG:]) - AC_LINK_IFELSE([ - AC_LANG_FUNC_LINK_TRY([getprotobyname_r]) - ],[ - AC_MSG_NOTICE([DEBUG: getprotobyname_r links... yes]) - tmp_getprotobyname_r="yes" - ],[ - AC_MSG_NOTICE([DEBUG: getprotobyname_r links... no]) - tmp_getprotobyname_r="no" - ]) - # - if test "$tmp_getprotobyname_r" = "yes"; then - AC_EGREP_CPP([getprotobyname_r],[ -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: getprotobyname_r proto... without our definition]) - tmp_getprotobyname_r="proto_wout_def" - ],[ - AC_EGREP_CPP([getprotobyname_r],[ -#define _REENTRANT -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: getprotobyname_r proto... with our _reentrant]) - tmp_getprotobyname_r="proto_with_def" - ],[ - AC_MSG_NOTICE([DEBUG: getprotobyname_r proto... not found]) - ]) - ]) - fi - # - if test "$tmp_getprotobyname_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - getprotobyname_r(0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: getprotobyname_r proto wout finds... 4 args]) - tmp_getprotobyname_r="done" - ]) - fi - if test "$tmp_getprotobyname_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - getprotobyname_r(0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: getprotobyname_r proto wout finds... 5 args]) - tmp_getprotobyname_r="done" - ]) - fi - # - if test "$tmp_getprotobyname_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - getprotobyname_r(0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: getprotobyname_r proto with finds... 4 args]) - tmp_getprotobyname_r="needs_reentrant" - ]) - fi - if test "$tmp_getprotobyname_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - getprotobyname_r(0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: getprotobyname_r proto with finds... 5 args]) - tmp_getprotobyname_r="needs_reentrant" - ]) - fi - # - if test "$tmp_getprotobyname_r" = "needs_reentrant"; then - ac_cv_need_reentrant="yes" - fi -]) - - -dnl CHECK_NEED_REENTRANT_GETSERVBYPORT_R -dnl ------------------------------------------------- -dnl Checks if the preprocessor _REENTRANT definition -dnl makes function getservbyport_r compiler visible. - -AC_DEFUN([CHECK_NEED_REENTRANT_GETSERVBYPORT_R], [ - # - AC_MSG_NOTICE([DEBUG:]) - AC_LINK_IFELSE([ - AC_LANG_FUNC_LINK_TRY([getservbyport_r]) - ],[ - AC_MSG_NOTICE([DEBUG: getservbyport_r links... yes]) - tmp_getservbyport_r="yes" - ],[ - AC_MSG_NOTICE([DEBUG: getservbyport_r links... no]) - tmp_getservbyport_r="no" - ]) - # - if test "$tmp_getservbyport_r" = "yes"; then - AC_EGREP_CPP([getservbyport_r],[ -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: getservbyport_r proto... without our definition]) - tmp_getservbyport_r="proto_wout_def" - ],[ - AC_EGREP_CPP([getservbyport_r],[ -#define _REENTRANT -#include -#include - ],[ - AC_MSG_NOTICE([DEBUG: getservbyport_r proto... with our _reentrant]) - tmp_getservbyport_r="proto_with_def" - ],[ - AC_MSG_NOTICE([DEBUG: getservbyport_r proto... not found]) - ]) - ]) - fi - # - if test "$tmp_getservbyport_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - getservbyport_r(0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: getservbyport_r proto wout finds... 4 args]) - tmp_getservbyport_r="done" - ]) - fi - if test "$tmp_getservbyport_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - getservbyport_r(0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: getservbyport_r proto wout finds... 5 args]) - tmp_getservbyport_r="done" - ]) - fi - if test "$tmp_getservbyport_r" = "proto_wout_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#include -#include - ]],[[ - getservbyport_r(0, 0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: getservbyport_r proto wout finds... 6 args]) - tmp_getservbyport_r="done" - ]) - fi - # - if test "$tmp_getservbyport_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - getservbyport_r(0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: getservbyport_r proto with finds... 4 args]) - tmp_getservbyport_r="needs_reentrant" - ]) - fi - if test "$tmp_getservbyport_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - getservbyport_r(0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: getservbyport_r proto with finds... 5 args]) - tmp_getservbyport_r="needs_reentrant" - ]) - fi - if test "$tmp_getservbyport_r" = "proto_with_def"; then - AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[ -#define _REENTRANT -#include -#include - ]],[[ - getservbyport_r(0, 0, 0, 0, 0, 0); - ]]) - ],[ - AC_MSG_NOTICE([DEBUG: getservbyport_r proto with finds... 6 args]) - tmp_getservbyport_r="needs_reentrant" - ]) - fi - # - if test "$tmp_getservbyport_r" = "needs_reentrant"; then - ac_cv_need_reentrant="yes" - fi -]) - - -dnl CHECK_NEED_REENTRANT_FUNCTIONS_R -dnl ------------------------------------------------- -dnl Checks if the preprocessor _REENTRANT definition -dnl makes several _r functions compiler visible. -dnl Internal macro for CONFIGURE_REENTRANT. - -AC_DEFUN([CHECK_NEED_REENTRANT_FUNCTIONS_R], [ - if test "$ac_cv_need_reentrant" = "no"; then - CHECK_NEED_REENTRANT_STRERROR_R - fi - if test "$ac_cv_need_reentrant" = "no"; then - CHECK_NEED_REENTRANT_STRTOK_R - fi - if test "$ac_cv_need_reentrant" = "no"; then - CHECK_NEED_REENTRANT_LOCALTIME_R - fi - if test "$ac_cv_need_reentrant" = "no"; then - CHECK_NEED_REENTRANT_GMTIME_R - fi - if test "$ac_cv_need_reentrant" = "no"; then - CHECK_NEED_REENTRANT_INET_NTOA_R - fi - if test "$ac_cv_need_reentrant" = "no"; then - CHECK_NEED_REENTRANT_GETHOSTBYADDR_R - fi - if test "$ac_cv_need_reentrant" = "no"; then - CHECK_NEED_REENTRANT_GETHOSTBYNAME_R - fi - if test "$ac_cv_need_reentrant" = "no"; then - CHECK_NEED_REENTRANT_GETPROTOBYNAME_R - fi - if test "$ac_cv_need_reentrant" = "no"; then - CHECK_NEED_REENTRANT_GETSERVBYPORT_R - fi -]) - -AC_DEFUN([CHECK_NEED_REENTRANT_FUNCTIONS_R_DEBUG], [ - CHECK_NEED_REENTRANT_STRERROR_R - CHECK_NEED_REENTRANT_STRTOK_R - CHECK_NEED_REENTRANT_LOCALTIME_R - CHECK_NEED_REENTRANT_GMTIME_R - CHECK_NEED_REENTRANT_INET_NTOA_R - CHECK_NEED_REENTRANT_GETHOSTBYADDR_R - CHECK_NEED_REENTRANT_GETHOSTBYNAME_R - CHECK_NEED_REENTRANT_GETPROTOBYNAME_R - CHECK_NEED_REENTRANT_GETSERVBYPORT_R -]) - - -dnl CONFIGURE_FROM_NOW_ON_WITH_REENTRANT -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 -dnl the generated config file will equally define it. -dnl Internal macro for CONFIGURE_REENTRANT. - -AC_DEFUN([CONFIGURE_FROM_NOW_ON_WITH_REENTRANT], [ -AH_VERBATIM([NEED_REENTRANT], -[/* Configure process defines NEED_REENTRANT to 1 when it finds out that */ -/* _REENTRANT is required or already defined for proper configuration. */ -@%:@undef NEED_REENTRANT -@%:@if defined(NEED_REENTRANT) && !defined(_REENTRANT) -@%:@ define _REENTRANT -@%:@endif]) -cat >>confdefs.h <<_ACEOF -[@%:@ifndef _REENTRANT -@%:@ define _REENTRANT -@%:@endif] -_ACEOF -AC_DEFINE(NEED_REENTRANT, 1, []) -]) - - -dnl CONFIGURE_REENTRANT -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. - -AC_DEFUN([CONFIGURE_REENTRANT], [ - # - 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]) - ac_cv_need_reentrant="no" - CHECK_NEED_REENTRANT_FUNCTIONS_R_DEBUG - if test "$ac_cv_need_reentrant" = "yes"; then - 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" || - test "$ac_cv_need_reentrant" = "yes"; then - CONFIGURE_FROM_NOW_ON_WITH_REENTRANT - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - fi - # -]) - -- cgit v1.2.3