diff options
author | Paul Eggert <eggert@penguin.cs.ucla.edu> | 2014-02-25 11:16:27 -0800 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2014-02-25 11:16:47 -0800 |
commit | 546ff8206b4366d46f9d1fcc08030c2a33a085fa (patch) | |
tree | 98dc37105540e5624c5bacb1f595d19306ba15f8 | |
parent | 1aed559952395ff1eff24263701b349eb77a4e06 (diff) | |
download | gnulib-546ff8206b4366d46f9d1fcc08030c2a33a085fa.tar.gz |
unistd: port readlink to Mac OS X 10.3.9
* lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
around self-include problem in Mac OS X 10.3.9 when combined with
readlink module. Problem reported by Klaus Zietler in
<http://bugs.gnu.org/16825>.
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | lib/unistd.in.h | 15 |
2 files changed, 23 insertions, 0 deletions
@@ -1,3 +1,11 @@ +2014-02-25 Paul Eggert <eggert@penguin.cs.ucla.edu> + + unistd: port readlink to Mac OS X 10.3.9 + * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work + around self-include problem in Mac OS X 10.3.9 when combined with + readlink module. Problem reported by Klaus Zietler in + <http://bugs.gnu.org/16825>. + 2014-02-23 Paul Eggert <eggert@cs.ucla.edu> diffseq: remove TOO_EXPENSIVE heuristic diff --git a/lib/unistd.in.h b/lib/unistd.in.h index 8d9e73e61a..58ca184647 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 */ |