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 
17 #if !defined(PSPPLATCPU_H_INCLUDED_)
18 #define PSPPLATCPU_H_INCLUDED_
19 
20 #include "pspplatdetect.h"
21 
22 #if defined(RDM_DOXYGEN)
23 
24 #define RDM_32BIT
25 #undef RDM_32BIT
26 
27 #define RDM_64BIT
28 #undef RDM_64BIT
29 
31 #define RDM_LITTLEENDIAN
32 #undef RDM_LITTLEENDIAN
33 
34 #define RDM_BIGENDIAN
35 #undef RDM_BIGENDIAN
36 
38 #define RDM_ALIGN4
39 #undef RDM_ALIGN4
40 
41 #define RDM_ALIGN8
42 #undef RDM_ALIGN8
43 
45 #define RDM_MUSTALIGN
46 #undef RDM_MUSTALIGN
47 
49 #define RDM_ANDROID
50 #undef RDM_ANDROID
51 
52 #define RDM_INTEGRITY
53 #undef RDM_INTEGRITY
54 
55 #define RDM_IPHONE
56 #undef RDM_IPHONE
57 
58 #define RDM_LINUX
59 #undef RDM_LINUX
60 
61 #define RDM_NEUTRINO
62 #undef RDM_NEUTRINO
63 
64 #define RDM_NO_OS
65 #undef RDM_NO_OS
66 
67 #define RDM_OSX
68 #undef RDM_OSX
69 
70 #define RDM_SOLARIS
71 #undef RDM_SOLARIS
72 
73 #define RDM_UNIX
74 #undef RDM_UNIX
75 
76 #define RDM_VXWORKS
77 #undef RDM_VXWORKS
78 
79 #define RDM_VXWORKS_RTP
80 #undef RDM_VXWORKS_RTP
81 
82 #define RDM_WINDOWS
83 #undef RDM_WINDOWS
84 
86 #define RDM_ARM
87 #undef RDM_ARM
88 
89 #define RDM_ITANIUM
90 #undef RDM_ITANIUM
91 
92 #define RDM_MIPS
93 #undef RDM_MIPS
94 
95 #define RDM_PPC
96 #undef RDM_PPC
97 
98 #define RDM_SH
99 #undef RDM_SH
100 
101 #define RDM_SPARC
102 #undef RDM_SPARC
103 
104 #define RDM_X64
105 #undef RDM_X64
106 
107 #define RDM_X86
108 #undef RDM_X86
109 
110 /* In this section we set:
111  RDM_<OS>
112  RDM_<CPU>
113  RDM_32BIT or RDM_64BIT
114  RDM_LITTLEENDIAN or RDM_BIGENDIAN
115  RDM_ALIGN4 or RDM_ALIGN8
116  RDM_MUSTALIGN where needed
117 */
118 
119 #elif defined(RDM_NO_OS_32)
120 #define RDM_NO_OS
121 #define RDM_LITTLEENDIAN
122 #define RDM_X86
123 #define RDM_32BIT
124 #define RDM_ALIGN4
125 
126 #elif defined(RDM_NO_OS_64)
127 #define RDM_NO_OS
128 #define RDM_LITTLEENDIAN
129 #define RDM_X64
130 #define RDM_64BIT
131 #define RDM_ALIGN8
132 
133 #elif defined(RDM_LINUX_X86)
134 #define RDM_LINUX
135 #define RDM_X86
136 #define RDM_32BIT
137 #define RDM_LITTLEENDIAN
138 #define RDM_ALIGN4
139 
140 #elif defined(RDM_LINUX_X64)
141 #define RDM_LINUX
142 #define RDM_X64
143 #define RDM_64BIT
144 #define RDM_LITTLEENDIAN
145 #define RDM_ALIGN8
146 
147 #elif defined(RDM_LINUX_ITANIUM_64)
148 #define RDM_LINUX
149 #define RDM_ITANIUM
150 #define RDM_64BIT
151 #define RDM_LITTLEENDIAN
152 #define RDM_ALIGN8
153 
154 #elif defined(RDM_LINUX_ARM)
155 #define RDM_LINUX
156 #define RDM_ARM
157 #define RDM_32BIT
158 #define RDM_LITTLEENDIAN
159 #define RDM_ALIGN4
160 #define RDM_MUSTALIGN
161 
162 #elif defined(RDM_LINUX_AARCH64)
163 #define RDM_LINUX
164 #define RDM_ARM
165 #define RDM_64BIT
166 #define RDM_LITTLEENDIAN
167 #define RDM_ALIGN8
168 #define RDM_MUSTALIGN
169 
170 #elif defined(RDM_LINUX_POWERPC)
171 #define RDM_LINUX
172 #define RDM_PPC
173 #define RDM_32BIT
174 #define RDM_BIGENDIAN
175 #define RDM_ALIGN4
176 #define RDM_MUSTALIGN
177 
178 #elif defined(RDM_NEUTRINO_X86)
179 #define RDM_NEUTRINO
180 #define RDM_X86
181 #define RDM_32BIT
182 #define RDM_LITTLEENDIAN
183 #define RDM_ALIGN4
184 
185 #elif defined(RDM_NEUTRINO_X86_64)
186 #define RDM_NEUTRINO
187 #define RDM_X64
188 #define RDM_64BIT
189 #define RDM_LITTLEENDIAN
190 #define RDM_ALIGN8
191 
192 #elif defined(RDM_NEUTRINO_ARM)
193 #define RDM_NEUTRINO
194 #define RDM_ARM
195 #define RDM_32BIT
196 #define RDM_LITTLEENDIAN
197 #define RDM_ALIGN4
198 #define RDM_MUSTALIGN
199 
200 #elif defined(RDM_NEUTRINO_ARM64)
201 #define RDM_NEUTRINO
202 #define RDM_ARM
203 #define RDM_64BIT
204 #define RDM_LITTLEENDIAN
205 #define RDM_ALIGN8
206 #define RDM_MUSTALIGN
207 
208 #elif defined(RDM_NEUTRINO_PPC)
209 #define RDM_NEUTRINO
210 #define RDM_PPC
211 #define RDM_32BIT
212 #define RDM_BIGENDIAN
213 #define RDM_ALIGN4
214 #define RDM_MUSTALIGN
215 
216 #elif defined(RDM_IPHONE_ARM)
217 #define RDM_IPHONE
218 #define RDM_ARM
219 #define RDM_32BIT
220 #define RDM_LITTLEENDIAN
221 #define RDM_ALIGN4
222 #define RDM_MUSTALIGN
223 
224 #elif defined(RDM_OSX_X86)
225 #define RDM_OSX
226 #define RDM_X86
227 #define RDM_32BIT
228 #define RDM_LITTLEENDIAN
229 #define RDM_ALIGN4
230 
231 #elif defined(RDM_OSX_X64)
232 #define RDM_OSX
233 #define RDM_X64
234 #define RDM_64BIT
235 #define RDM_LITTLEENDIAN
236 #define RDM_ALIGN8
237 
238 #elif defined(RDM_SOLARIS_X86)
239 #define RDM_SOLARIS
240 #define RDM_X86
241 #define RDM_32BIT
242 #define RDM_LITTLEENDIAN
243 #define RDM_ALIGN4
244 
245 #elif defined(RDM_SOLARIS_X64)
246 #define RDM_SOLARIS
247 #define RDM_X64
248 #define RDM_64BIT
249 #define RDM_LITTLEENDIAN
250 #define RDM_ALIGN4
251 
252 #elif defined(RDM_SOLARIS_SPARC_32)
253 #define RDM_SOLARIS
254 #define RDM_SPARC
255 #define RDM_32BIT
256 #define RDM_BIGENDIAN
257 #define RDM_ALIGN8
258 #define RDM_MUSTALIGN
259 
260 #elif defined(RDM_SOLARIS_SPARC_64)
261 #define RDM_SOLARIS
262 #define RDM_SPARC
263 #define RDM_64BIT
264 #define RDM_BIGENDIAN
265 #define RDM_ALIGN8
266 #define RDM_MUSTALIGN
267 
268 #elif defined(RDM_WINDOWS_X86)
269 #define RDM_WINDOWS
270 #define RDM_X86
271 #define RDM_32BIT
272 #define RDM_LITTLEENDIAN
273 #define RDM_ALIGN8
274 
275 #elif defined(RDM_WINDOWS_X64)
276 #define RDM_WINDOWS
277 #define RDM_X64
278 #define RDM_64BIT
279 #define RDM_LITTLEENDIAN
280 #define RDM_ALIGN8
281 
282 #elif defined(RDM_VXWORKS_RTP_X86)
283 #define RDM_VXWORKS_RTP
284 #define RDM_X86
285 #define RDM_32BIT
286 #define RDM_LITTLEENDIAN
287 #define RDM_ALIGN4
288 
289 #elif defined(RDM_VXWORKS_RTP_POWERPC)
290 #define RDM_VXWORKS_RTP
291 #define RDM_PPC
292 #define RDM_32BIT
293 #define RDM_BIGENDIAN
294 #define RDM_ALIGN4
295 
296 #elif defined(RDM_VXWORKS_RTP_ARM)
297 #define RDM_VXWORKS_RTP
298 #define RDM_ARM
299 #define RDM_32BIT
300 #define RDM_LITTLEENDIAN
301 #define RDM_ALIGN4
302 
303 #elif defined(RDM_VXWORKS_X86)
304 #define RDM_VXWORKS
305 #define RDM_X86
306 #define RDM_32BIT
307 #define RDM_LITTLEENDIAN
308 #define RDM_ALIGN4
309 
310 #elif defined(VXWORKS_X64)
311 #define RDM_VXWORKS
312 #define RDM_X86
313 #define RDM_64BIT
314 #define RDM_LITTLEENDIAN
315 #define RDM_ALIGN4
316 
317 #elif defined(RDM_VXWORKS_POWERPC)
318 #define RDM_VXWORKS
319 #define RDM_PPC
320 #define RDM_32BIT
321 #define RDM_BIGENDIAN
322 #define RDM_ALIGN4
323 
324 #elif defined(VXWORKS_MIPS)
325 #define RDM_VXWORKS
326 #define RDM_MIPS
327 #define RDM_32BIT
328 #define RDM_BIGENDIAN
329 #define RDM_ALIGN4
330 
331 #elif defined(RDM_VXWORKS_SH4)
332 #define RDM_VXWORKS
333 #define RDM_SH
334 #define RDM_32BIT
335 #define RDM_LITTLEENDIAN
336 #define RDM_ALIGN4
337 #define RDM_MUSTALIGN
338 
339 #elif defined(RDM_VXWORKS_ARM)
340 #define RDM_VXWORKS
341 #define RDM_ARM
342 #define RDM_32BIT
343 #define RDM_LITTLEENDIAN
344 #define RDM_ALIGN4
345 
346 #elif defined(RDM_INTEGRITY_X86)
347 #define RDM_INTEGRITY
348 #define RDM_X86
349 #define RDM_UNIX
350 #define RDM_32BIT
351 #define RDM_LITTLEENDIAN
352 #define RDM_ALIGN4
353 
354 #elif defined(RDM_INTEGRITY_ARM)
355 #define RDM_INTEGRITY
356 #define RDM_ARM
357 #define RDM_UNIX
358 #define RDM_32BIT
359 #define RDM_LITTLEENDIAN
360 #define RDM_ALIGN4
361 
362 #elif defined(RDM_INTEGRITY_POWERPC)
363 #define RDM_INTEGRITY
364 #define RDM_PPC
365 #define RDM_32BIT
366 #define RDM_BIGENDIAN
367 #define RDM_MUSTALIGN
368 #define RDM_ALIGN4
369 
370 #elif defined(RDM_ANDROID_ARM)
371 #define RDM_ANDROID
372 #define RDM_ARM
373 #define RDM_32BIT
374 #define RDM_LITTLEENDIAN
375 #define RDM_ALIGN4
376 #define RDM_MUSTALIGN
377 
378 #else
379 #error No CPU specific section found
380 #endif
381 
382 #endif /* PSPPLATCPU_H_INCLUDED_ */
Header for the Platform Support Package - Compiler dependent detection of platform.