2 Copyright © 1995-2014, The AROS Development Team. All rights reserved.
7 * Some really black magic. Adjusts compilation for various UNIX weirdness.
8 * This stuff is placed in a separate file because it needs to be included
9 * before any UNIX headers.
16 * Under ARM iOS quadwords are long-aligned, however in AROS (according to AAPCS)
17 * they are quad-aligned. This macro turns on some tricks which bypass this problem
19 #define HOST_LONG_ALIGNED
23 * Under i386 we pick up MacOS' libSystem.dylib instead of Simulator's libSystem.dylib,
24 * so we have to use special versions of certain functions. We can't simply #define _DARWIN_NO_64_BIT_INODE
25 * because iOS SDK forbids this (in iOS inode_t is always 64-bit wide)
27 #define INODE64_SUFFIX "$INODE64"
33 * Use 32-bit inode_t on Darwin. Otherwise we are expected to use "stat$INODE64"
34 * instead of "stat" function which is available only on MacOS 10.6.
36 #define _DARWIN_NO_64_BIT_INODE
43 * Under i386 there are both POSIX-conformant and non-POSIX-conformant
44 * variants of certain functions, the former suffixed by $UNIX2003. Bugs
45 * occur if we use non-conformant versions of some functions (e.g. rewinddir()
46 * doesn't rewind), so we always use the conformant functions where there is a
49 #define UNIX2003_SUFFIX "$UNIX2003"
53 #ifndef INODE64_SUFFIX
54 #define INODE64_SUFFIX
57 #ifndef UNIX2003_SUFFIX
58 #define UNIX2003_SUFFIX