2002-10-05 Roland McGrath <roland@redhat.com>
authorroland <roland>
Fri, 11 Oct 2002 10:51:55 +0000 (10:51 +0000)
committerroland <roland>
Fri, 11 Oct 2002 10:51:55 +0000 (10:51 +0000)
* include/stubs-prologue.h: New file.  Give #error under #ifdef _LIBC.
* Makefile ($(inst_includedir)/gnu/stubs.h): Depend on it.
Use that file's contents instead of literal echo's for the prologue.
* include/features.h: Include <gnu/stubs.h> unconditionally.
* include/gnu/stubs.h: New file.

include/features.h
include/gnu/stubs.h [new file with mode: 0644]
include/stubs-prologue.h [new file with mode: 0644]

index fb7925c..366fcc5 100644 (file)
 # define __USE_EXTERN_INLINES  1
 #endif
 
-/* This is here only because every header file already includes this one.  */
-#ifndef _LIBC
-/* Get the definitions of all the appropriate `__stub_FUNCTION' symbols.
-   <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub
-   which will always return failure (and set errno to ENOSYS).
 
-   We avoid including <gnu/stubs.h> when compiling the C library itself to
-   avoid a dependency loop.  stubs.h depends on every object file.  If
-   this #include were done for the library source code, then every object
-   file would depend on stubs.h.  */
+/* This is here only because every header file already includes this one.
+   Get the definitions of all the appropriate `__stub_FUNCTION' symbols.
+   <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub
+   that will always return failure (and set errno to ENOSYS).  */
+#include <gnu/stubs.h>
 
-# include <gnu/stubs.h>
-#endif
 
 #endif /* features.h  */
diff --git a/include/gnu/stubs.h b/include/gnu/stubs.h
new file mode 100644 (file)
index 0000000..6308e4e
--- /dev/null
@@ -0,0 +1,2 @@
+/* This is a placeholder used only while compiling libc.
+   The installed gnu/stubs.h file is created by make install.  */
diff --git a/include/stubs-prologue.h b/include/stubs-prologue.h
new file mode 100644 (file)
index 0000000..0577bc6
--- /dev/null
@@ -0,0 +1,14 @@
+@ These lines with @ are omitted from the generated output.
+@ This file gives the initial contents of gnu/stubs.h, to which
+@ all the #define __stub_foo lines get appended by the makefile rule.
+@
+/* This file is automatically generated.
+   It defines a symbol `__stub_FUNCTION' for each function
+   in the C library which is a stub, meaning it will fail
+   every time called, usually setting errno to ENOSYS.  */
+
+#ifdef _LIBC
+ #error Applications may not define the macro _LIBC
+#endif
+
+@ Placeholder line so we remember to keep the preceding blank line here.