Patch configure so that we dont need a seperate spec file for x86_64. Pass info about...
[AROS.git] / arch / all-unix / exec / exec_platform.h
blobcb08f55d312693e3d3fa7a1e03e1a78fcc7e6a78
1 #ifndef __EXEC_PLATFORM_H
2 #define __EXEC_PLATFORM_H
4 #ifdef HOST_OS_android
5 /* Android is not a true Linux ;-) */
6 #undef HOST_OS_linux
8 #else
10 /* On Darwin this definition is required by ucontext.h (which is marked as deprecated) */
11 #define _XOPEN_SOURCE
12 #include <ucontext.h>
14 #endif
16 #ifdef HOST_OS_linux
17 #define LIBC_NAME "libc.so.6"
18 #endif
20 #ifdef HOST_OS_darwin
21 #define LIBC_NAME "libSystem.dylib"
22 #endif
24 #ifndef LIBC_NAME
25 #define LIBC_NAME "libc.so"
26 #endif
28 struct LibCInterface
30 void (*exit)(int status);
31 #ifdef HAVE_SWAPCONTEXT
32 int (*getcontext)(ucontext_t *ucp);
33 void (*makecontext)(ucontext_t *ucp, void *func(), int argc, ...);
34 int (*swapcontext)(ucontext_t *oucp, ucontext_t *ucp);
35 #endif
38 struct Exec_PlatformData
40 APTR HostLibBase;
41 struct LibCInterface *SysIFace;
44 #define HostLibBase PD(SysBase).HostLibBase
46 #endif /* __EXEC_PLATFORM_H */