From 60476354064eca98d52d2d18da9cbb9b3ddb9e5c Mon Sep 17 00:00:00 2001
From: Yang Tse <yangsita@gmail.com>
Date: Tue, 14 Oct 2008 18:44:27 +0000
Subject: [PATCH] With this change Solaris target builds will now be done with
 _REENTRANT defined.

---
 ares/m4/cares-reentrant.m4 | 28 +++++++++++++++++++++++-----
 m4/curl-reentrant.m4       | 28 +++++++++++++++++++++++-----
 2 files changed, 46 insertions(+), 10 deletions(-)

diff --git a/ares/m4/cares-reentrant.m4 b/ares/m4/cares-reentrant.m4
index e19867d137..8962da47c7 100644
--- a/ares/m4/cares-reentrant.m4
+++ b/ares/m4/cares-reentrant.m4
@@ -16,7 +16,7 @@
 #***************************************************************************
 
 # File version for 'aclocal' use. Keep it a single number.
-# serial 2
+# serial 3
 
 dnl Note 1
 dnl ------
@@ -333,9 +333,6 @@ dnl makes several _r functions compiler visible.
 dnl Internal macro for CARES_CONFIGURE_REENTRANT.
 
 AC_DEFUN([CARES_CHECK_NEED_REENTRANT_FUNCTIONS_R], [
-  #
-  tmp_need_reentrant="no"
-  #
   if test "$tmp_need_reentrant" = "no"; then
     CARES_CHECK_NEED_REENTRANT_GMTIME_R
   fi
@@ -366,6 +363,24 @@ AC_DEFUN([CARES_CHECK_NEED_REENTRANT_FUNCTIONS_R], [
 ])
 
 
+dnl CARES_CHECK_NEED_REENTRANT_SYSTEM
+dnl -------------------------------------------------
+dnl Checks if the preprocessor _REENTRANT definition
+dnl must be unconditionally done for this platform.
+dnl Internal macro for CARES_CONFIGURE_REENTRANT.
+
+AC_DEFUN([CARES_CHECK_NEED_REENTRANT_SYSTEM], [
+  case $host in
+    *-*-solaris*)
+      tmp_need_reentrant="yes"
+      ;;
+    *)
+      tmp_need_reentrant="no"
+      ;;
+  esac
+])
+
+
 dnl CARES_CONFIGURE_FROM_NOW_ON_WITH_REENTRANT
 dnl -------------------------------------------------
 dnl This macro ensures that configuration tests done
@@ -421,7 +436,10 @@ AC_DEFUN([CARES_CONFIGURE_REENTRANT], [
   #
   if test "$tmp_reentrant_initially_defined" = "no"; then
     AC_MSG_CHECKING([if _REENTRANT is actually needed])
-    CARES_CHECK_NEED_REENTRANT_FUNCTIONS_R
+    CARES_CHECK_NEED_REENTRANT_SYSTEM
+    if test "$tmp_need_reentrant" = "no"; then
+      CARES_CHECK_NEED_REENTRANT_FUNCTIONS_R
+    fi
     if test "$tmp_need_reentrant" = "yes"; then
       AC_MSG_RESULT([yes])
     else
diff --git a/m4/curl-reentrant.m4 b/m4/curl-reentrant.m4
index e185bdf862..9b6c9663fc 100644
--- a/m4/curl-reentrant.m4
+++ b/m4/curl-reentrant.m4
@@ -22,7 +22,7 @@
 #***************************************************************************
 
 # File version for 'aclocal' use. Keep it a single number.
-# serial 2
+# serial 3
 
 dnl Note 1
 dnl ------
@@ -339,9 +339,6 @@ dnl makes several _r functions compiler visible.
 dnl Internal macro for CURL_CONFIGURE_REENTRANT.
 
 AC_DEFUN([CURL_CHECK_NEED_REENTRANT_FUNCTIONS_R], [
-  #
-  tmp_need_reentrant="no"
-  #
   if test "$tmp_need_reentrant" = "no"; then
     CURL_CHECK_NEED_REENTRANT_GMTIME_R
   fi
@@ -372,6 +369,24 @@ AC_DEFUN([CURL_CHECK_NEED_REENTRANT_FUNCTIONS_R], [
 ])
 
 
+dnl CURL_CHECK_NEED_REENTRANT_SYSTEM
+dnl -------------------------------------------------
+dnl Checks if the preprocessor _REENTRANT definition
+dnl must be unconditionally done for this platform.
+dnl Internal macro for CURL_CONFIGURE_REENTRANT.
+
+AC_DEFUN([CURL_CHECK_NEED_REENTRANT_SYSTEM], [
+  case $host in
+    *-*-solaris*)
+      tmp_need_reentrant="yes"
+      ;;
+    *)
+      tmp_need_reentrant="no"
+      ;;
+  esac
+])
+
+
 dnl CURL_CONFIGURE_FROM_NOW_ON_WITH_REENTRANT
 dnl -------------------------------------------------
 dnl This macro ensures that configuration tests done
@@ -427,7 +442,10 @@ AC_DEFUN([CURL_CONFIGURE_REENTRANT], [
   #
   if test "$tmp_reentrant_initially_defined" = "no"; then
     AC_MSG_CHECKING([if _REENTRANT is actually needed])
-    CURL_CHECK_NEED_REENTRANT_FUNCTIONS_R
+    CURL_CHECK_NEED_REENTRANT_SYSTEM
+    if test "$tmp_need_reentrant" = "no"; then
+      CURL_CHECK_NEED_REENTRANT_FUNCTIONS_R
+    fi
     if test "$tmp_need_reentrant" = "yes"; then
       AC_MSG_RESULT([yes])
     else
-- 
GitLab