setup.h handles definition of _REENTRANT based on NEED_REENTRANT
authorYang Tse <yangsita@gmail.com>
Sun, 27 Jul 2008 03:16:37 +0000 (03:16 +0000)
committerYang Tse <yangsita@gmail.com>
Sun, 27 Jul 2008 03:16:37 +0000 (03:16 +0000)
definition which might be defined in config.h or config-*.h files

m4/reentrant.m4
setup.h

index 5b0e89a..544987e 100644 (file)
@@ -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/setup.h b/setup.h
index 5940428..dd07ae1 100644 (file)
--- a/setup.h
+++ b/setup.h
 #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
 
 /*