LightWrap++
AC++wrapperfortheLightWave3DSDK
platform.h
Go to the documentation of this file.
1 
5 #ifndef LWPP_PLATFORM_H
6 #define LWPP_PLATFORM_H
7 
8 /*
9 __BIG_ENDIAN__ __LITTLE_ENDIAN__
10 */
11 
12 // supported platforms
13 #define LWPP_WIN 1
14 #define LWPP_OSX_CW 2
15 #define LWPP_OSX_UB 3
16 
17 #ifdef _WIN32
18  #ifndef _MSWIN
19  #define _MSWIN
20  #endif
21  #define LWPP_PLATFORM LWPP_WIN
22  #define LWPP_PLATFORM_WIN
23  #ifdef _WIN64
24  #define LWPP_PLATFORM_NAME "Win64"
25  #else
26  #define LWPP_PLATFORM_NAME "Win32"
27  #endif
28  #include "platform_win.h"
29 #endif
30 
31 #ifdef __APPLE__
32  #ifndef _MACOS
33  #define _MACOS
34  #endif
35 
36  #ifdef __GNUC__
37  #define LWPP_PLATFORM LWPP_OSX_UB
38  #define LWPP_PLATFORM_OSX_UB
39  #if __ppc64__
40  #define LWPP_PLATFORM_NAME "OSX-PPC-64"
41  #elif __x86_64__
42  #define LWPP_PLATFORM_NAME "OSX-x86-64"
43  #elif __ppc__
44  #define LWPP_PLATFORM_NAME "OSX-PPC"
45  #elif __i386__
46  #define LWPP_PLATFORM_NAME "OSX-x86"
47  #else
48  #error No valid OSX platform
49  #endif
50  #if __LP64__
51  #include "platform_osx64.h"
52  #else
53  #include "platform_osx.h"
54  #endif
55  #endif
56 #endif
57 #ifdef __MWERKS__
58  #ifndef _MACOS
59  #define _MACOS
60  #endif
61  #define LWPP_PLATFORM LWPP_OSX_CFM
62  #define LWPP_PLATFORM_OSX_CFM
63  #define LWPP_PLATFORM_NAME "OSX-CFM"
64  #include "platform_osx_cw.h"
65 #endif
66 
67 #define UNUSED(x) (x)
68 
69 #if defined(_MACOS) && defined(_MSWIN)
70  #error Both Windows and MacOS platform defined!
71 #endif
72 
73 #if !defined(LWPP_PLATFORM_OSX_CFM) && !defined(LWPP_PLATFORM_OSX_UB) && !defined(LWPP_PLATFORM_WIN)
74  #error No supported platform defined!
75 #endif
76 
77 #endif // LWPP_PLATFORM_H