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/PosixSource.h | |
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/PosixSource.h')
-rw-r--r-- | rts/PosixSource.h | 25 |
1 files changed, 2 insertions, 23 deletions
diff --git a/rts/PosixSource.h b/rts/PosixSource.h index f4b880e525..c4e328c639 100644 --- a/rts/PosixSource.h +++ b/rts/PosixSource.h @@ -11,28 +11,7 @@ #include <ghcplatform.h> -/* We aim for C99 so we need to define following two defines in a consistent way - with what POSIX/XOPEN provide for C99. Some OSes are particularly picky about - the right versions defined here, e.g. Solaris - We also settle on lowest version of POSIX/XOPEN needed for proper C99 support - here which is POSIX.1-2001 compilation and Open Group Technical Standard, - Issue 6 (XPG6). XPG6 itself is a result of the merge of X/Open and POSIX - specification. It is also referred as IEEE Std. 1003.1-2001 or ISO/IEC - 9945:2002 or UNIX 03 and SUSv3. - Please also see trac ticket #11757 for more information about switch - to C99/C11. -*/ -#define _POSIX_C_SOURCE 200112L -#define _XOPEN_SOURCE 600 - -#define __USE_MINGW_ANSI_STDIO 1 - -#if defined(darwin_HOST_OS) -/* If we don't define this the including sysctl breaks with things like - /usr/include/bsm/audit.h:224:0: - error: syntax error before 'u_char' -*/ -#define _DARWIN_C_SOURCE 1 -#endif +#define _POSIX_C_SOURCE 200809L +#define _XOPEN_SOURCE 700 #endif /* POSIXSOURCE_H */ |