summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2014-02-25 11:21:05 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2014-02-25 11:21:05 -0800
commitcc587404052a60d3d4c4bc542d5618e43e8b44ab (patch)
tree9578b559e53c3d8015db6f0662785325940eff6d /lib
parent591debed68a04fe88e4c0225fd53272d2045f327 (diff)
downloademacs-cc587404052a60d3d4c4bc542d5618e43e8b44ab.tar.gz
Merge from gnulib.
2014-02-25 unistd: port readlink to Mac OS X 10.3.9 Fixes: debbugs:16825
Diffstat (limited to 'lib')
-rw-r--r--lib/unistd.in.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/unistd.in.h b/lib/unistd.in.h
index 39b128a6da7..622b2287577 100644
--- a/lib/unistd.in.h
+++ b/lib/unistd.in.h
@@ -21,9 +21,23 @@
#endif
@PRAGMA_COLUMNS@
+#ifdef _GL_INCLUDING_UNISTD_H
+/* Special invocation convention:
+ - On Mac OS X 10.3.9 we have a sequence of nested includes
+ <unistd.h> -> <signal.h> -> <pthread.h> -> <unistd.h>
+ In this situation, the functions are not yet declared, therefore we cannot
+ provide the C++ aliases. */
+
+#@INCLUDE_NEXT@ @NEXT_UNISTD_H@
+
+#else
+/* Normal invocation convention. */
+
/* The include_next requires a split double-inclusion guard. */
#if @HAVE_UNISTD_H@
+# define _GL_INCLUDING_UNISTD_H
# @INCLUDE_NEXT@ @NEXT_UNISTD_H@
+# undef _GL_INCLUDING_UNISTD_H
#endif
/* Get all possible declarations of gethostname(). */
@@ -1539,4 +1553,5 @@ _GL_CXXALIASWARN (write);
_GL_INLINE_HEADER_END
#endif /* _@GUARD_PREFIX@_UNISTD_H */
+#endif /* _GL_INCLUDING_UNISTD_H */
#endif /* _@GUARD_PREFIX@_UNISTD_H */