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_AIX_POWERPC_32)
181  #define RDM_AIX
182  #define RDM_PPC
183  #define RDM_32BIT
184  #define RDM_BIGENDIAN
185  #define RDM_ALIGN4
186  #define RDM_MUSTALIGN
187 
188 #elif defined(RDM_AIX_POWERPC_64)
189  #define RDM_AIX
190  #define RDM_PPC
191  #define RDM_64BIT
192  #define RDM_BIGENDIAN
193  #define RDM_ALIGN8
194  #define RDM_MUSTALIGN
195 
196 #elif defined(RDM_HPUX_PARISC_32)
197  #define RDM_HPUX
198  #define RDM_PARISC
199  #define RDM_UNIX
200  #define RDM_32BIT
201  #define RDM_BIGENDIAN
202  #define RDM_MUSTALIGN
203  #define RDM_ALIGN8
204  #define RDM_NO_ATOMIC
205 
206 #elif defined(RDM_HPUX_PARISC_64)
207  #define RDM_HPUX
208  #define RDM_PARISC
209  #define RDM_UNIX
210  #define RDM_64BIT
211  #define RDM_BIGENDIAN
212  #define RDM_ALIGN8
213  #define RDM_MUSTALIGN
214  #define RDM_NO_ATOMIC
215 
216 #elif defined(RDM_HPUX_ITANIUM_32)
217  #define RDM_HPUX
218  #define RDM_ITANIUM
219  #define RDM_UNIX
220  #define RDM_32BIT
221  #define RDM_BIGENDIAN
222  #define RDM_ALIGN8
223  #define RDM_MUSTALIGN
224 
225 #elif defined(RDM_HPUX_ITANIUM_64)
226  #define RDM_HPUX
227  #define RDM_ITANIUM
228  #define RDM_64BIT
229  #define RDM_BIGENDIAN
230  #define RDM_ALIGN8
231  #define RDM_MUSTALIGN
232 
233 #elif defined(RDM_WINCE)
234  #define RDM_WINCE
235  #define RDM_ARM
236  #define RDM_32BIT
237  #define RDM_LITTLEENDIAN
238  #define RDM_MUSTALIGN
239  #define RDM_ALIGN8
240 
241 #elif defined(RDM_WINDOWS_X86)
242  #define RDM_WINDOWS
243  #define RDM_X86
244  #define RDM_32BIT
245  #define RDM_LITTLEENDIAN
246  #define RDM_ALIGN8
247 
248 #elif defined(RDM_WINDOWS_X64)
249  #define RDM_WINDOWS
250  #define RDM_X64
251  #define RDM_64BIT
252  #define RDM_LITTLEENDIAN
253  #define RDM_ALIGN8
254 
255 #elif defined(RDM_FREEBSD_X86)
256  #define RDM_FREEBSD
257  #define RDM_X86
258  #define RDM_32BIT
259  #define RDM_LITTLEENDIAN
260  #define RDM_ALIGN4
261 
262 #elif defined(RDM_FREEBSD_X64)
263  #define RDM_FREEBSD
264  #define RDM_X64
265  #define RDM_64BIT
266  #define RDM_LITTLEENDIAN
267  #define RDM_ALIGN4
268 
269 #elif defined(RDM_NETBSD_X86)
270  #define RDM_NETBSD
271  #define RDM_X86
272  #define RDM_32BIT
273  #define RDM_LITTLEENDIAN
274  #define RDM_ALIGN4
275 
276 #elif defined(RDM_NETBSD_X64)
277  #define RDM_NETBSD
278  #define RDM_X64
279  #define RDM_64BIT
280  #define RDM_LITTLEENDIAN
281  #define RDM_ALIGN4
282 
283 #elif defined(RDM_OPENBSD_X86)
284  #define RDM_OPENBSD
285  #define RDM_X86
286  #define RDM_32BIT
287  #define RDM_LITTLEENDIAN
288  #define RDM_ALIGN4
289 
290 #elif defined(RDM_OPENBSD_X64)
291  #define RDM_OPENBSD
292  #define RDM_X64
293  #define RDM_64BIT
294  #define RDM_LITTLEENDIAN
295  #define RDM_ALIGN4
296 
297 #elif defined(RDM_VXWORKS_RTP_X86)
298  #define RDM_VXWORKS_RTP
299  #define RDM_X86
300  #define RDM_32BIT
301  #define RDM_LITTLEENDIAN
302  #define RDM_ALIGN4
303 
304 #elif defined(RDM_VXWORKS_RTP_POWERPC)
305  #define RDM_VXWORKS_RTP
306  #define RDM_32BIT
307  #define RDM_PPC
308  #define RDM_BIGENDIAN
309 
310 #elif defined(RDM_VXWORKS_RTP_ARM)
311  #define RDM_VXWORKS_RTP
312  #define RDM_ARM
313  #define RDM_32BIT
314  #define RDM_LITTLEENDIAN
315  #define RDM_ALIGN4
316 
317 #elif defined(RDM_VXWORKS_X86)
318  #define RDM_VXWORKS
319  #define RDM_X86
320  #define RDM_32BIT
321  #define RDM_LITTLEENDIAN
322  #define RDM_ALIGN4
323 
324 #elif defined(VXWORKS_X64)
325  #define RDM_VXWORKS
326  #define RDM_X86
327  #define RDM_64BIT
328  #define RDM_LITTLEENDIAN
329  #define RDM_ALIGN4
330 
331 #elif defined(RDM_VXWORKS_POWERPC)
332  #define RDM_VXWORKS
333  #define RDM_PPC
334  #define RDM_32BIT
335  #define RDM_BIGENDIAN
336  #define RDM_ALIGN4
337 
338 #elif defined(VXWORKS_MIPS)
339  #define RDM_VXWORKS
340  #define RDM_MIPS
341  #define RDM_32BIT
342  #define RDM_BIGENDIAN
343  #define RDM_ALIGN4
344 
345 #elif defined(RDM_VXWORKS_SH4)
346  #define RDM_VXWORKS
347  #define RDM_SH
348  #define RDM_32BIT
349  #define RDM_LITTLEENDIAN
350  #define RDM_ALIGN4
351  #define RDM_MUSTALIGN
352 
353 #elif defined(RDM_VXWORKS_ARM)
354  #define RDM_VXWORKS
355  #define RDM_ARM
356  #define RDM_32BIT
357  #define RDM_LITTLEENDIAN
358  #define RDM_ALIGN4
359 
360 #elif defined(RDM_INTEGRITY_X86)
361  #define RDM_INTEGRITY
362  #define RDM_X86
363  #define RDM_UNIX
364  #define RDM_32BIT
365  #define RDM_LITTLEENDIAN
366  #define RDM_ALIGN4
367 
368 #elif defined(RDM_INTEGRITY_ARM)
369  #define RDM_INTEGRITY
370  #define RDM_ARM
371  #define RDM_UNIX
372  #define RDM_32BIT
373  #define RDM_LITTLEENDIAN
374  #define RDM_ALIGN4
375 
376 #elif defined(RDM_INTEGRITY_POWERPC)
377  #define RDM_INTEGRITY
378  #define RDM_PPC
379  #define RDM_32BIT
380  #define RDM_BIGENDIAN
381  #define RDM_MUSTALIGN
382  #define RDM_ALIGN4
383 
384 #elif defined(RDM_ANDROID_ARM)
385  #define RDM_ANDROID
386  #define RDM_ARM
387  #define RDM_32BIT
388  #define RDM_LITTLEENDIAN
389  #define RDM_ALIGN4
390  #define RDM_MUSTALIGN
391 
392 #else
393  #error No CPU specific section found
394 #endif
395 
396 #endif /* PSPPLATCPU_H_INCLUDED_ */
Header for the Platform Support Package - Compiler dependent detection of platform.