Products Support Documentation Download
pspplatcpu.h
Go to the documentation of this file.
1 /*
2  * Raima Database Manager
3  *
4  * Copyright (C) 2016 Raims Inc., All rights reserved.
5  *
6  * Use of this software, whether in source code format, or in executable,
7  * binary object code form, is governed by the Raima LICENSE which
8  * is fully described in the LICENSE.TXT file, included within this
9  * distribution of files.
10  */
11 
16 #if !defined(PSPPLATCPU_H_INCLUDED_)
17 #define PSPPLATCPU_H_INCLUDED_
18 
19 #include "pspplatdetect.h"
20 
21 /* In this section we set:
22  RDM_<OS>
23  RDM_<CPU>
24  RDM_32BIT or RDM_64BIT
25  RDM_LITTLEENDIAN or RDM_BIGENDIAN
26  RDM_ALIGN4 or RDM_ALIGN8
27  RDM_MUSTALIGN where needed
28 */
29 
30 #if defined(RDM_NO_OS_32)
31  #define RDM_NO_OS
32  #define RDM_LITTLEENDIAN
33  #define RDM_X86
34  #define RDM_32BIT
35  #define RDM_ALIGN4
36 
37 #elif defined(RDM_NO_OS_64)
38  #define RDM_NO_OS
39  #define RDM_LITTLEENDIAN
40  #define RDM_X64
41  #define RDM_64BIT
42  #define RDM_ALIGN8
43 
44 #elif defined(RDM_LINUX_X86)
45  #define RDM_LINUX
46  #define RDM_X86
47  #define RDM_32BIT
48  #define RDM_LITTLEENDIAN
49  #define RDM_ALIGN4
50 
51 #elif defined(RDM_LINUX_X64)
52  #define RDM_LINUX
53  #define RDM_X64
54  #define RDM_64BIT
55  #define RDM_LITTLEENDIAN
56  #define RDM_ALIGN8
57  #define RDM_MAP_MAX_FILE_SIZE
58 
59 #elif defined(RDM_LINUX_ITANIUM_64)
60  #define RDM_LINUX
61  #define RDM_ITANIUM
62  #define RDM_64BIT
63  #define RDM_LITTLEENDIAN
64  #define RDM_ALIGN8
65 
66 #elif defined(RDM_LINUX_ARM)
67  #define RDM_LINUX
68  #define RDM_ARM
69  #define RDM_32BIT
70  #define RDM_LITTLEENDIAN
71  #define RDM_ALIGN4
72  #define RDM_MUSTALIGN
73 
74 #elif defined(RDM_LINUX_AARCH64)
75  #define RDM_LINUX
76  #define RDM_ARM
77  #define RDM_64BIT
78  #define RDM_LITTLEENDIAN
79  #define RDM_ALIGN8
80  #define RDM_MUSTALIGN
81 
82 #elif defined(RDM_LINUX_POWERPC)
83  #define RDM_LINUX
84  #define RDM_PPC
85  #define RDM_32BIT
86  #define RDM_BIGENDIAN
87  #define RDM_ALIGN4
88  #define RDM_MUSTALIGN
89 
90 #elif defined(RDM_NEUTRINO_X86)
91  #define RDM_NEUTRINO
92  #define RDM_X86
93  #define RDM_32BIT
94  #define RDM_LITTLEENDIAN
95  #define RDM_ALIGN4
96 
97 #elif defined(RDM_NEUTRINO_X86_64)
98  #define RDM_NEUTRINO
99  #define RDM_X64
100  #define RDM_64BIT
101  #define RDM_LITTLEENDIAN
102  #define RDM_ALIGN8
103 
104 #elif defined(RDM_NEUTRINO_ARM)
105  #define RDM_NEUTRINO
106  #define RDM_ARM
107  #define RDM_32BIT
108  #define RDM_LITTLEENDIAN
109  #define RDM_ALIGN4
110  #define RDM_MUSTALIGN
111 
112 #elif defined(RDM_NEUTRINO_ARM64)
113  #define RDM_NEUTRINO
114  #define RDM_ARM
115  #define RDM_64BIT
116  #define RDM_LITTLEENDIAN
117  #define RDM_ALIGN8
118  #define RDM_MUSTALIGN
119 
120 #elif defined(RDM_NEUTRINO_PPC)
121  #define RDM_NEUTRINO
122  #define RDM_PPC
123  #define RDM_32BIT
124  #define RDM_BIGENDIAN
125  #define RDM_ALIGN4
126  #define RDM_MUSTALIGN
127 
128 #elif defined(RDM_IPHONE_ARM)
129  #define RDM_IPHONE
130  #define RDM_ARM
131  #define RDM_32BIT
132  #define RDM_LITTLEENDIAN
133  #define RDM_ALIGN4
134  #define RDM_MUSTALIGN
135 
136 #elif defined(RDM_OSX_X86)
137  #define RDM_OSX
138  #define RDM_X86
139  #define RDM_32BIT
140  #define RDM_LITTLEENDIAN
141  #define RDM_ALIGN4
142 
143 #elif defined(RDM_OSX_X64)
144  #define RDM_OSX
145  #define RDM_X64
146  #define RDM_64BIT
147  #define RDM_LITTLEENDIAN
148  #define RDM_ALIGN8
149 
150 #elif defined(RDM_SOLARIS_X86)
151  #define RDM_SOLARIS
152  #define RDM_X86
153  #define RDM_32BIT
154  #define RDM_LITTLEENDIAN
155  #define RDM_ALIGN4
156 
157 #elif defined(RDM_SOLARIS_X64)
158  #define RDM_SOLARIS
159  #define RDM_X64
160  #define RDM_64BIT
161  #define RDM_LITTLEENDIAN
162  #define RDM_ALIGN4
163 
164 #elif defined(RDM_SOLARIS_SPARC_32)
165  #define RDM_SOLARIS
166  #define RDM_SPARC
167  #define RDM_32BIT
168  #define RDM_BIGENDIAN
169  #define RDM_ALIGN8
170  #define RDM_MUSTALIGN
171 
172 #elif defined(RDM_SOLARIS_SPARC_64)
173  #define RDM_SOLARIS
174  #define RDM_SPARC
175  #define RDM_64BIT
176  #define RDM_BIGENDIAN
177  #define RDM_ALIGN8
178  #define RDM_MUSTALIGN
179 
180 #elif defined(RDM_WINDOWS_X86)
181  #define RDM_WINDOWS
182  #define RDM_X86
183  #define RDM_32BIT
184  #define RDM_LITTLEENDIAN
185  #define RDM_ALIGN8
186 
187 #elif defined(RDM_WINDOWS_X64)
188  #define RDM_WINDOWS
189  #define RDM_X64
190  #define RDM_64BIT
191  #define RDM_LITTLEENDIAN
192  #define RDM_ALIGN8
193 
194 #elif defined(RDM_FREEBSD_X86)
195  #define RDM_FREEBSD
196  #define RDM_X86
197  #define RDM_32BIT
198  #define RDM_LITTLEENDIAN
199  #define RDM_ALIGN4
200 
201 #elif defined(RDM_FREEBSD_X64)
202  #define RDM_FREEBSD
203  #define RDM_X64
204  #define RDM_64BIT
205  #define RDM_LITTLEENDIAN
206  #define RDM_ALIGN4
207 
208 #elif defined(RDM_VXWORKS_RTP_X86)
209  #define RDM_VXWORKS_RTP
210  #define RDM_X86
211  #define RDM_32BIT
212  #define RDM_LITTLEENDIAN
213  #define RDM_ALIGN4
214 
215 #elif defined(RDM_VXWORKS_RTP_POWERPC)
216  #define RDM_VXWORKS_RTP
217  #define RDM_32BIT
218  #define RDM_PPC
219  #define RDM_BIGENDIAN
220 
221 #elif defined(RDM_VXWORKS_RTP_ARM)
222  #define RDM_VXWORKS_RTP
223  #define RDM_ARM
224  #define RDM_32BIT
225  #define RDM_LITTLEENDIAN
226  #define RDM_ALIGN4
227 
228 #elif defined(RDM_VXWORKS_X86)
229  #define RDM_VXWORKS
230  #define RDM_X86
231  #define RDM_32BIT
232  #define RDM_LITTLEENDIAN
233  #define RDM_ALIGN4
234 
235 #elif defined(VXWORKS_X64)
236  #define RDM_VXWORKS
237  #define RDM_X86
238  #define RDM_64BIT
239  #define RDM_LITTLEENDIAN
240  #define RDM_ALIGN4
241 
242 #elif defined(RDM_VXWORKS_POWERPC)
243  #define RDM_VXWORKS
244  #define RDM_PPC
245  #define RDM_32BIT
246  #define RDM_BIGENDIAN
247  #define RDM_ALIGN4
248 
249 #elif defined(VXWORKS_MIPS)
250  #define RDM_VXWORKS
251  #define RDM_MIPS
252  #define RDM_32BIT
253  #define RDM_BIGENDIAN
254  #define RDM_ALIGN4
255 
256 #elif defined(RDM_VXWORKS_SH4)
257  #define RDM_VXWORKS
258  #define RDM_SH
259  #define RDM_32BIT
260  #define RDM_LITTLEENDIAN
261  #define RDM_ALIGN4
262  #define RDM_MUSTALIGN
263 
264 #elif defined(RDM_VXWORKS_ARM)
265  #define RDM_VXWORKS
266  #define RDM_ARM
267  #define RDM_32BIT
268  #define RDM_LITTLEENDIAN
269  #define RDM_ALIGN4
270 
271 #elif defined(RDM_INTEGRITY_X86)
272  #define RDM_INTEGRITY
273  #define RDM_X86
274  #define RDM_UNIX
275  #define RDM_32BIT
276  #define RDM_LITTLEENDIAN
277  #define RDM_ALIGN4
278 
279 #elif defined(RDM_INTEGRITY_ARM)
280  #define RDM_INTEGRITY
281  #define RDM_ARM
282  #define RDM_UNIX
283  #define RDM_32BIT
284  #define RDM_LITTLEENDIAN
285  #define RDM_ALIGN4
286 
287 #elif defined(RDM_INTEGRITY_POWERPC)
288  #define RDM_INTEGRITY
289  #define RDM_PPC
290  #define RDM_32BIT
291  #define RDM_BIGENDIAN
292  #define RDM_MUSTALIGN
293  #define RDM_ALIGN4
294 
295 #elif defined(RDM_ANDROID_ARM)
296  #define RDM_ANDROID
297  #define RDM_ARM
298  #define RDM_32BIT
299  #define RDM_LITTLEENDIAN
300  #define RDM_ALIGN4
301  #define RDM_MUSTALIGN
302 
303 #else
304  #error No CPU specific section found
305 #endif
306 
307 #endif /* PSPPLATCPU_H_INCLUDED_ */
Header for the Platform Support Package - Compiler dependent detection of platform.