Mon Jun 24 19:57:01 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
[kopensolaris-gnu/glibc.git] / features.h
index 675eac5..4aee806 100644 (file)
@@ -50,7 +50,6 @@ Cambridge, MA 02139, USA.  */
 
    The macro `__GNU_LIBRARY__' is defined by this file unconditionally.
 
-   All macros defined by this file are defined as 1.
    All macros listed above as possibly being defined by this file are
    explicitly undefined if they are not explicitly defined.
    Feature-test macros that are not defined by the user or compiler
@@ -67,7 +66,13 @@ Cambridge, MA 02139, USA.  */
 #undef __USE_GNU
 #undef __USE_REENTRANT
 #undef __FAVOR_BSD
+#undef __KERNEL_STRICT_NAMES
 
+/* Suppress kernel-name space pollution unless user expressedly asks
+   for it: */
+#ifndef _LOOSE_KERNEL_NAMES
+# define __KERNEL_STRICT_NAMES
+#endif
 
 /* Always use ANSI things.  */
 #define        __USE_ANSI      1
@@ -75,37 +80,48 @@ Cambridge, MA 02139, USA.  */
 
 /* If _BSD_SOURCE was defined by the user, favor BSD over POSIX.  */
 #if defined (_BSD_SOURCE) && \
-    !(defined (_POSIX_SOURCE) || defined (_POSIX_C_SOURCE) ||
-      defiend (_GNU_SOURCE) || defined (_SVID_SOURCE))
+    !(defined (_POSIX_SOURCE) || defined (_POSIX_C_SOURCE) || \
+      defined (_GNU_SOURCE) || defined (_SVID_SOURCE))
 #define        __FAVOR_BSD     1
 #endif
 
+/* If _GNU_SOURCE was defined by the user, turn on all the other features.  */
+#ifdef _GNU_SOURCE
+#undef _POSIX_SOURCE
+#define        _POSIX_SOURCE   1
+#undef _POSIX_C_SOURCE
+#define        _POSIX_C_SOURCE 2
+#undef _BSD_SOURCE
+#define        _BSD_SOURCE     1
+#undef _SVID_SOURCE
+#define        _SVID_SOURCE    1
+#endif
 
 /* If nothing (other than _GNU_SOURCE) is defined,
    define _BSD_SOURCE and _SVID_SOURCE.  */
-#if (!defined(__STRICT_ANSI__) && !defined(_POSIX_SOURCE) && \
-     !defined(_POSIX_C_SOURCE) && !defined(_BSD_SOURCE) && \
-     !defined(_SVID_SOURCE))
+#if (!defined (__STRICT_ANSI__) && !defined (_POSIX_SOURCE) && \
+     !defined (_POSIX_C_SOURCE) && !defined (_BSD_SOURCE) && \
+     !defined (_SVID_SOURCE))
 #define        _BSD_SOURCE     1
 #define        _SVID_SOURCE    1
 #endif
 
 /* If none of the ANSI/POSIX macros are defined, use POSIX.1 and POSIX.2.  */
-#if (!defined(__STRICT_ANSI__) && !defined(_POSIX_SOURCE) && \
-     !defined(_POSIX_C_SOURCE))
+#if (!defined (__STRICT_ANSI__) && !defined (_POSIX_SOURCE) && \
+     !defined (_POSIX_C_SOURCE))
 #define        _POSIX_SOURCE   1
 #define        _POSIX_C_SOURCE 2
 #endif
 
-#if    defined(_POSIX_SOURCE) || _POSIX_C_SOURCE >= 1
+#if    defined (_POSIX_SOURCE) || _POSIX_C_SOURCE >= 1
 #define        __USE_POSIX     1
 #endif
 
-#if    defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 2
+#if    defined (_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 2
 #define        __USE_POSIX2    1
 #endif
 
-#if defined(_BSD_SOURCE) || defined(_SVID_SOURCE)
+#if defined (_BSD_SOURCE) || defined (_SVID_SOURCE)
 #define        __USE_MISC      1
 #endif
 
@@ -133,10 +149,10 @@ Cambridge, MA 02139, USA.  */
    the shared C library corresponding to this set of header files.  */
 
 #undef __GNU_LIBRARY__
-#define        __GNU_LIBRARY__ 5
+#define        __GNU_LIBRARY__ 6
 
 
-#if    !defined(__GNUC__) || __GNUC__ < 2
+#if    !defined (__GNUC__) || __GNUC__ < 2
 /* In GCC version 2, (__extension__ EXPR) will not complain
    about GCC extensions used in EXPR under -ansi or -pedantic.  */
 #define        __extension__