summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2013-01-09 18:19:44 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2013-01-09 18:19:44 -0800
commit6466e676b9e7d102e36f043df92351fe235b82f5 (patch)
tree14a4b884efa0cc1bbee91cc3094760a1b33674af /lib
parent51fb5578777d1041feaab31651b65e09e1731d33 (diff)
downloademacs-6466e676b9e7d102e36f043df92351fe235b82f5.tar.gz
Merge from gnulib.
Diffstat (limited to 'lib')
-rw-r--r--lib/getopt.in.h2
-rw-r--r--lib/stdlib.in.h5
-rw-r--r--lib/unistd.in.h2
3 files changed, 7 insertions, 2 deletions
diff --git a/lib/getopt.in.h b/lib/getopt.in.h
index 490994f860f..d9c7d8144ae 100644
--- a/lib/getopt.in.h
+++ b/lib/getopt.in.h
@@ -49,7 +49,9 @@
linkers. */
#if defined __GETOPT_PREFIX && !defined __need_getopt
# if !@HAVE_GETOPT_H@
+# define __need_system_stdlib_h
# include <stdlib.h>
+# undef __need_system_stdlib_h
# include <stdio.h>
# include <unistd.h>
# endif
diff --git a/lib/stdlib.in.h b/lib/stdlib.in.h
index 3b3b4b1bd43..422ad714c32 100644
--- a/lib/stdlib.in.h
+++ b/lib/stdlib.in.h
@@ -20,8 +20,9 @@
#endif
@PRAGMA_COLUMNS@
-#if defined __need_malloc_and_calloc
-/* Special invocation convention inside glibc header files. */
+#if defined __need_system_stdlib_h || defined __need_malloc_and_calloc
+/* Special invocation conventions inside some gnulib header files,
+ and inside some glibc header files, respectively. */
#@INCLUDE_NEXT@ @NEXT_STDLIB_H@
diff --git a/lib/unistd.in.h b/lib/unistd.in.h
index 5127eecd603..f011b71d5f5 100644
--- a/lib/unistd.in.h
+++ b/lib/unistd.in.h
@@ -79,7 +79,9 @@
/* Solaris declares getcwd not only in <unistd.h> but also in <stdlib.h>. */
/* But avoid namespace pollution on glibc systems. */
#ifndef __GLIBC__
+# define __need_system_stdlib_h
# include <stdlib.h>
+# undef __need_system_stdlib_h
#endif
/* Native Windows platforms declare chdir, getcwd, rmdir in