about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1999-10-05 18:31:06 +0000
committerRoland McGrath <roland@gnu.org>1999-10-05 18:31:06 +0000
commit6c7b18958bb173f76049cf3a3f553e6b173c8fd3 (patch)
tree872d54cad9028f415e892eef1aad407cac3b504d
parenta2d63612259fb70828b95b982ba21f1d01abe802 (diff)
downloadglibc-6c7b18958bb173f76049cf3a3f553e6b173c8fd3.tar.gz
glibc-6c7b18958bb173f76049cf3a3f553e6b173c8fd3.tar.xz
glibc-6c7b18958bb173f76049cf3a3f553e6b173c8fd3.zip
1999-10-05 Roland McGrath <roland@baalperazim.frob.com>
	* mach/mach/mig_support.h [! __USE_GNU]: Use #error to insist that
	_GNU_SOURCE be defined.
-rw-r--r--mach/mach/mig_support.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/mach/mach/mig_support.h b/mach/mach/mig_support.h
index 8fe443157a..bd01fd328f 100644
--- a/mach/mach/mig_support.h
+++ b/mach/mach/mig_support.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1994, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1994, 1997, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -27,6 +27,19 @@
 #include <sys/types.h>
 #include <string.h>
 
+#ifndef __USE_GNU
+/* The only problem that has come up so far is __stpncpy being undeclared
+   below because <string.h> doesn't declare it without __USE_GNU.  We could
+   work around that problem by just adding the declaration there, or by
+   eliding the inline functions in the absence of __USE_GNU.  But either of
+   these would result in unoptimized calls (because no inline version of
+   __stpncpy will have been defined), and there may be other niggling
+   problems lurking.  Instead we simply insist on _GNU_SOURCE for
+   compiling mig output; anyway, that better reflects the fact that mig
+   output requires nonstandard special support code not found elsewhere.  */
+# error mig stubs must be compiled with -D_GNU_SOURCE
+#endif
+
 /* MiG initialization.  */
 extern void __mig_init (void *__first);
 extern void mig_init (void *__first);