From: Yang Tse <yangsita@gmail.com>
Date: Sun, 27 Jul 2008 03:16:37 +0000 (+0000)
Subject: setup.h handles definition of _REENTRANT based on NEED_REENTRANT
X-Git-Tag: cares-1_5_3~303
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1ac121292590a0678bf3d23f99e4ec8f4f96a477;p=curl

setup.h handles definition of _REENTRANT based on NEED_REENTRANT
definition which might be defined in config.h or config-*.h files
---

diff --git a/ares/m4/reentrant.m4 b/ares/m4/reentrant.m4
index 5b0e89aba..544987e8e 100644
--- a/ares/m4/reentrant.m4
+++ b/ares/m4/reentrant.m4
@@ -310,7 +310,7 @@ dnl CARES_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.
+dnl Internal macro for CARES_CONFIGURE_REENTRANT.
 
 AC_DEFUN([CARES_CHECK_NEED_REENTRANT_FUNCTIONS_R], [
   #
@@ -351,23 +351,18 @@ 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.
+dnl the generated config file defines NEED_REENTRANT
+dnl and that in turn setup.h will define _REENTRANT.
+dnl Internal macro for CARES_CONFIGURE_REENTRANT.
 
 AC_DEFUN([CARES_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])
+AC_DEFINE(NEED_REENTRANT, 1,
+  [Define to 1 if _REENTRANT preprocessor symbol must be defined.])
 cat >>confdefs.h <<_ACEOF
 [@%:@ifndef _REENTRANT
 @%:@ define _REENTRANT
 @%:@endif]
 _ACEOF
-AC_DEFINE(NEED_REENTRANT, 1, [])
 ])
 
 
diff --git a/ares/setup.h b/ares/setup.h
index 594042836..dd07ae184 100644
--- a/ares/setup.h
+++ b/ares/setup.h
@@ -40,13 +40,15 @@
 #endif /* HAVE_CONFIG_H */
 
 /*
- * Solaris needs _REENTRANT set for a few function prototypes and
+ * HP-UX needs _REENTRANT set for a few function prototypes and
  * things to appear in the system header files. Unixware needs it
  * to build proper reentrant code. Others may also need it.
  */
 
-#ifndef _REENTRANT
-#  define _REENTRANT
+#ifdef NEED_REENTRANT
+#  ifndef _REENTRANT
+#    define _REENTRANT
+#  endif
 #endif
 
 /*
diff --git a/lib/setup.h b/lib/setup.h
index 1b5c6782c..35ff052e8 100644
--- a/lib/setup.h
+++ b/lib/setup.h
@@ -73,13 +73,15 @@
 #endif /* HAVE_CONFIG_H */
 
 /*
- * Solaris needs _REENTRANT set for a few function prototypes and
+ * HP-UX needs _REENTRANT set for a few function prototypes and
  * things to appear in the system header files. Unixware needs it
  * to build proper reentrant code. Others may also need it.
  */
 
-#ifndef _REENTRANT
-#  define _REENTRANT
+#ifdef NEED_REENTRANT
+#  ifndef _REENTRANT
+#    define _REENTRANT
+#  endif
 #endif
 
 /*
diff --git a/m4/reentrant.m4 b/m4/reentrant.m4
index 37a3923d3..61267c411 100644
--- a/m4/reentrant.m4
+++ b/m4/reentrant.m4
@@ -332,7 +332,7 @@ dnl CURL_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.
+dnl Internal macro for CURL_CONFIGURE_REENTRANT.
 
 AC_DEFUN([CURL_CHECK_NEED_REENTRANT_FUNCTIONS_R], [
   #
@@ -373,23 +373,18 @@ 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.
+dnl the generated config file defines NEED_REENTRANT
+dnl and that in turn setup.h will define _REENTRANT.
+dnl Internal macro for CURL_CONFIGURE_REENTRANT.
 
 AC_DEFUN([CURL_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])
+AC_DEFINE(NEED_REENTRANT, 1,
+  [Define to 1 if _REENTRANT preprocessor symbol must be defined.])
 cat >>confdefs.h <<_ACEOF
 [@%:@ifndef _REENTRANT
 @%:@ define _REENTRANT
 @%:@endif]
 _ACEOF
-AC_DEFINE(NEED_REENTRANT, 1, [])
 ])
 
 
diff --git a/src/setup.h b/src/setup.h
index b6a30b957..4d2e2d106 100644
--- a/src/setup.h
+++ b/src/setup.h
@@ -72,11 +72,16 @@
 
 #endif /* HAVE_CONFIG_H */
 
-#if defined(CURLDEBUG) && defined(CURLTOOLDEBUG)
-/* This is an ugly hack for CURLDEBUG conditions only. We need to include
-   the file here, since it might set the _FILE_OFFSET_BITS define, which must
-   be set BEFORE all normal system headers. */
-#include "../lib/setup.h"
+/*
+ * HP-UX needs _REENTRANT set for a few function prototypes and
+ * things to appear in the system header files. Unixware needs it
+ * to build proper reentrant code. Others may also need it.
+ */
+
+#ifdef NEED_REENTRANT
+#  ifndef _REENTRANT
+#    define _REENTRANT
+#  endif
 #endif
 
 /*