Revert "Cleanup PosixSource.h"
[ghc.git] / rts / PosixSource.h
1 /* -----------------------------------------------------------------------------
2 *
3 * (c) The GHC Team, 1998-2005
4 *
5 * Include this file into sources which should not need any non-Posix services.
6 * That includes most RTS C sources.
7 * ---------------------------------------------------------------------------*/
8
9 #ifndef POSIXSOURCE_H
10 #define POSIXSOURCE_H
11
12 #include <ghcplatform.h>
13
14 /* We aim for C99 so we need to define following two defines in a consistent way
15 with what POSIX/XOPEN provide for C99. Some OSes are particularly picky about
16 the right versions defined here, e.g. Solaris
17 We also settle on lowest version of POSIX/XOPEN needed for proper C99 support
18 here which is POSIX.1-2001 compilation and Open Group Technical Standard,
19 Issue 6 (XPG6). XPG6 itself is a result of the merge of X/Open and POSIX
20 specification. It is also referred as IEEE Std. 1003.1-2001 or ISO/IEC
21 9945:2002 or UNIX 03 and SUSv3.
22 Please also see trac ticket #11757 for more information about switch
23 to C99/C11.
24 */
25 #define _POSIX_C_SOURCE 200112L
26 #define _XOPEN_SOURCE 600
27
28 #define __USE_MINGW_ANSI_STDIO 1
29
30 #if defined(darwin_HOST_OS)
31 /* If we don't define this the including sysctl breaks with things like
32 /usr/include/bsm/audit.h:224:0:
33 error: syntax error before 'u_char'
34 */
35 #define _DARWIN_C_SOURCE 1
36 #endif
37
38 #endif /* POSIXSOURCE_H */