diff options
author | Moritz Angermann <moritz.angermann@gmail.com> | 2016-07-20 09:53:45 +0200 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2016-07-20 15:17:50 +0200 |
commit | cac3fb06f4b282eee21159c364c4d08e8fdedce9 (patch) | |
tree | 49fb5138d4e9c33abf131e0200f8a917cc504237 /rts/posix | |
parent | 8de6e13f9ef784750e502955fcb38d4a7e179727 (diff) | |
download | haskell-cac3fb06f4b282eee21159c364c4d08e8fdedce9.tar.gz |
Cleanup PosixSource.h
When trying to build arm64-apple-iso, the build fell over
`strdup`, as the arm64-apple-ios build did not fall into `darwin_HOST_OS`,
and would need `ios_HOST_OS`.
This diff tries to clean up PosixSource.h, instead of layering another
define on top.
As we use `strnlen` in sources that include PosixSource.h, and `strnlen`
is defined in POSIX.1-2008, the `_POSIX_C_SOURCE` and `_XOPEN_SOURCE`
are increased accordingly.
Furthermore the `_DARWIN_C_SOURCE` (required for `u_char`, etc. used in
sysctl.h) define is moved into `OSThreads.h` alongside a similar ifdef
for freebsd.
Test Plan: Build on all supported platforms.
Reviewers: rwbarton, erikd, austin, hvr, simonmar, bgamari
Reviewed By: simonmar, bgamari
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D2375
Diffstat (limited to 'rts/posix')
-rw-r--r-- | rts/posix/OSThreads.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/rts/posix/OSThreads.c b/rts/posix/OSThreads.c index 112a311f79..4010c5df8e 100644 --- a/rts/posix/OSThreads.c +++ b/rts/posix/OSThreads.c @@ -14,6 +14,11 @@ * because of some specific types, like u_char, u_int, etc. */ #define __BSD_VISIBLE 1 #endif +#if defined(darwin_HOST_OS) +/* Inclusion of system headers usually requires _DARWIN_C_SOURCE on Mac OS X + * because of some specific types like u_char, u_int, etc. */ +#define _DARWIN_C_SOURCE 1 +#endif #include "Rts.h" |