~ubuntu-branches/ubuntu/precise/djview4/precise-updates

« back to all changes in this revision

Viewing changes to nsdejavu/npsdk/prcpucfg.h

  • Committer: Bazaar Package Importer
  • Author(s): Barak A. Pearlmutter
  • Date: 2007-04-26 17:50:46 UTC
  • Revision ID: james.westby@ubuntu.com-20070426175046-gz96aovvx53ztv0w
Tags: 4.0-1
* Initial release.
* Binary dependency on libdjvulibre should be deb-o-matic!
* License clarification of mozilla plugin code.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 
2
/* ***** BEGIN LICENSE BLOCK *****
 
3
 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
 
4
 *
 
5
 * The contents of this file are subject to the Mozilla Public License Version
 
6
 * 1.1 (the "License"); you may not use this file except in compliance with
 
7
 * the License. You may obtain a copy of the License at
 
8
 * http://www.mozilla.org/MPL/
 
9
 *
 
10
 * Software distributed under the License is distributed on an "AS IS" basis,
 
11
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 
12
 * for the specific language governing rights and limitations under the
 
13
 * License.
 
14
 *
 
15
 * The Original Code is the Netscape Portable Runtime (NSPR).
 
16
 *
 
17
 * The Initial Developer of the Original Code is
 
18
 * Netscape Communications Corporation.
 
19
 * Portions created by the Initial Developer are Copyright (C) 1998-2000
 
20
 * the Initial Developer. All Rights Reserved.
 
21
 *
 
22
 * Contributor(s):
 
23
 *
 
24
 * Alternatively, the contents of this file may be used under the terms of
 
25
 * either the GNU General Public License Version 2 or later (the "GPL"), or
 
26
 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 
27
 * in which case the provisions of the GPL or the LGPL are applicable instead
 
28
 * of those above. If you wish to allow use of your version of this file only
 
29
 * under the terms of either the GPL or the LGPL, and not to allow others to
 
30
 * use your version of this file under the terms of the MPL, indicate your
 
31
 * decision by deleting the provisions above and replace them with the notice
 
32
 * and other provisions required by the GPL or the LGPL. If you do not delete
 
33
 * the provisions above, a recipient may use your version of this file under
 
34
 * the terms of any one of the MPL, the GPL or the LGPL.
 
35
 *
 
36
 * ***** END LICENSE BLOCK ***** */
 
37
 
 
38
#ifndef nspr_cpucfg___
 
39
#define nspr_cpucfg___
 
40
 
 
41
#ifndef XP_UNIX
 
42
#define XP_UNIX
 
43
#endif
 
44
 
 
45
#ifndef LINUX
 
46
#define LINUX
 
47
#endif
 
48
 
 
49
#define PR_AF_INET6 10  /* same as AF_INET6 */
 
50
 
 
51
#ifdef __powerpc64__
 
52
 
 
53
#undef  IS_LITTLE_ENDIAN
 
54
#define IS_BIG_ENDIAN    1
 
55
#define IS_64
 
56
 
 
57
#define PR_BYTES_PER_BYTE   1
 
58
#define PR_BYTES_PER_SHORT  2
 
59
#define PR_BYTES_PER_INT    4
 
60
#define PR_BYTES_PER_INT64  8
 
61
#define PR_BYTES_PER_LONG   8
 
62
#define PR_BYTES_PER_FLOAT  4
 
63
#define PR_BYTES_PER_DOUBLE 8
 
64
#define PR_BYTES_PER_WORD   8
 
65
#define PR_BYTES_PER_DWORD  8
 
66
 
 
67
#define PR_BITS_PER_BYTE    8
 
68
#define PR_BITS_PER_SHORT   16
 
69
#define PR_BITS_PER_INT     32
 
70
#define PR_BITS_PER_INT64   64
 
71
#define PR_BITS_PER_LONG    64
 
72
#define PR_BITS_PER_FLOAT   32
 
73
#define PR_BITS_PER_DOUBLE  64
 
74
#define PR_BITS_PER_WORD    64
 
75
 
 
76
#define PR_BITS_PER_BYTE_LOG2   3
 
77
#define PR_BITS_PER_SHORT_LOG2  4
 
78
#define PR_BITS_PER_INT_LOG2    5
 
79
#define PR_BITS_PER_INT64_LOG2  6
 
80
#define PR_BITS_PER_LONG_LOG2   6
 
81
#define PR_BITS_PER_FLOAT_LOG2  5
 
82
#define PR_BITS_PER_DOUBLE_LOG2 6
 
83
#define PR_BITS_PER_WORD_LOG2   6
 
84
 
 
85
#define PR_ALIGN_OF_SHORT   2
 
86
#define PR_ALIGN_OF_INT     4
 
87
#define PR_ALIGN_OF_LONG    8
 
88
#define PR_ALIGN_OF_INT64   8
 
89
#define PR_ALIGN_OF_FLOAT   4
 
90
#define PR_ALIGN_OF_DOUBLE  8
 
91
#define PR_ALIGN_OF_POINTER 8
 
92
#define PR_ALIGN_OF_WORD    8
 
93
 
 
94
#define PR_BYTES_PER_WORD_LOG2   3
 
95
#define PR_BYTES_PER_DWORD_LOG2  3
 
96
 
 
97
#elif defined(__powerpc__)
 
98
 
 
99
#undef  IS_LITTLE_ENDIAN
 
100
#define IS_BIG_ENDIAN    1
 
101
 
 
102
#define PR_BYTES_PER_BYTE   1
 
103
#define PR_BYTES_PER_SHORT  2
 
104
#define PR_BYTES_PER_INT    4
 
105
#define PR_BYTES_PER_INT64  8
 
106
#define PR_BYTES_PER_LONG   4
 
107
#define PR_BYTES_PER_FLOAT  4
 
108
#define PR_BYTES_PER_DOUBLE 8
 
109
#define PR_BYTES_PER_WORD   4
 
110
#define PR_BYTES_PER_DWORD  8
 
111
 
 
112
#define PR_BITS_PER_BYTE    8
 
113
#define PR_BITS_PER_SHORT   16
 
114
#define PR_BITS_PER_INT     32
 
115
#define PR_BITS_PER_INT64   64
 
116
#define PR_BITS_PER_LONG    32
 
117
#define PR_BITS_PER_FLOAT   32
 
118
#define PR_BITS_PER_DOUBLE  64
 
119
#define PR_BITS_PER_WORD    32
 
120
 
 
121
#define PR_BITS_PER_BYTE_LOG2   3
 
122
#define PR_BITS_PER_SHORT_LOG2  4
 
123
#define PR_BITS_PER_INT_LOG2    5
 
124
#define PR_BITS_PER_INT64_LOG2  6
 
125
#define PR_BITS_PER_LONG_LOG2   5
 
126
#define PR_BITS_PER_FLOAT_LOG2  5
 
127
#define PR_BITS_PER_DOUBLE_LOG2 6
 
128
#define PR_BITS_PER_WORD_LOG2   5
 
129
 
 
130
#define PR_ALIGN_OF_SHORT   2
 
131
#define PR_ALIGN_OF_INT     4
 
132
#define PR_ALIGN_OF_LONG    4
 
133
#define PR_ALIGN_OF_INT64   8
 
134
#define PR_ALIGN_OF_FLOAT   4
 
135
#define PR_ALIGN_OF_DOUBLE  8
 
136
#define PR_ALIGN_OF_POINTER 4
 
137
#define PR_ALIGN_OF_WORD    4
 
138
 
 
139
#define PR_BYTES_PER_WORD_LOG2   2
 
140
#define PR_BYTES_PER_DWORD_LOG2  3
 
141
 
 
142
#elif defined(__alpha)
 
143
 
 
144
#define IS_LITTLE_ENDIAN 1
 
145
#undef  IS_BIG_ENDIAN
 
146
#define IS_64
 
147
 
 
148
#define PR_BYTES_PER_BYTE   1
 
149
#define PR_BYTES_PER_SHORT  2
 
150
#define PR_BYTES_PER_INT    4
 
151
#define PR_BYTES_PER_INT64  8
 
152
#define PR_BYTES_PER_LONG   8
 
153
#define PR_BYTES_PER_FLOAT  4
 
154
#define PR_BYTES_PER_DOUBLE 8
 
155
#define PR_BYTES_PER_WORD   8
 
156
#define PR_BYTES_PER_DWORD  8
 
157
 
 
158
#define PR_BITS_PER_BYTE    8
 
159
#define PR_BITS_PER_SHORT   16
 
160
#define PR_BITS_PER_INT     32
 
161
#define PR_BITS_PER_INT64   64
 
162
#define PR_BITS_PER_LONG    64
 
163
#define PR_BITS_PER_FLOAT   32
 
164
#define PR_BITS_PER_DOUBLE  64
 
165
#define PR_BITS_PER_WORD    64
 
166
 
 
167
#define PR_BITS_PER_BYTE_LOG2   3
 
168
#define PR_BITS_PER_SHORT_LOG2  4
 
169
#define PR_BITS_PER_INT_LOG2    5
 
170
#define PR_BITS_PER_INT64_LOG2  6
 
171
#define PR_BITS_PER_LONG_LOG2   6
 
172
#define PR_BITS_PER_FLOAT_LOG2  5
 
173
#define PR_BITS_PER_DOUBLE_LOG2 6
 
174
#define PR_BITS_PER_WORD_LOG2   6
 
175
 
 
176
#define PR_ALIGN_OF_SHORT   2
 
177
#define PR_ALIGN_OF_INT     4
 
178
#define PR_ALIGN_OF_LONG    8
 
179
#define PR_ALIGN_OF_INT64   8
 
180
#define PR_ALIGN_OF_FLOAT   4
 
181
#define PR_ALIGN_OF_DOUBLE  8
 
182
#define PR_ALIGN_OF_POINTER 8
 
183
#define PR_ALIGN_OF_WORD    8
 
184
 
 
185
#define PR_BYTES_PER_WORD_LOG2  3
 
186
#define PR_BYTES_PER_DWORD_LOG2 3
 
187
 
 
188
#elif defined(__ia64__)
 
189
 
 
190
#define IS_LITTLE_ENDIAN 1
 
191
#undef  IS_BIG_ENDIAN
 
192
#define IS_64
 
193
 
 
194
#define PR_BYTES_PER_BYTE   1
 
195
#define PR_BYTES_PER_SHORT  2
 
196
#define PR_BYTES_PER_INT    4
 
197
#define PR_BYTES_PER_INT64  8
 
198
#define PR_BYTES_PER_LONG   8
 
199
#define PR_BYTES_PER_FLOAT  4
 
200
#define PR_BYTES_PER_DOUBLE 8
 
201
#define PR_BYTES_PER_WORD   8
 
202
#define PR_BYTES_PER_DWORD  8
 
203
 
 
204
#define PR_BITS_PER_BYTE    8
 
205
#define PR_BITS_PER_SHORT   16
 
206
#define PR_BITS_PER_INT     32
 
207
#define PR_BITS_PER_INT64   64
 
208
#define PR_BITS_PER_LONG    64
 
209
#define PR_BITS_PER_FLOAT   32
 
210
#define PR_BITS_PER_DOUBLE  64
 
211
#define PR_BITS_PER_WORD    64
 
212
 
 
213
#define PR_BITS_PER_BYTE_LOG2   3
 
214
#define PR_BITS_PER_SHORT_LOG2  4
 
215
#define PR_BITS_PER_INT_LOG2    5
 
216
#define PR_BITS_PER_INT64_LOG2  6
 
217
#define PR_BITS_PER_LONG_LOG2   6
 
218
#define PR_BITS_PER_FLOAT_LOG2  5
 
219
#define PR_BITS_PER_DOUBLE_LOG2 6
 
220
#define PR_BITS_PER_WORD_LOG2   6
 
221
 
 
222
#define PR_ALIGN_OF_SHORT   2
 
223
#define PR_ALIGN_OF_INT     4
 
224
#define PR_ALIGN_OF_LONG    8
 
225
#define PR_ALIGN_OF_INT64   8
 
226
#define PR_ALIGN_OF_FLOAT   4
 
227
#define PR_ALIGN_OF_DOUBLE  8
 
228
#define PR_ALIGN_OF_POINTER 8
 
229
#define PR_ALIGN_OF_WORD    8
 
230
 
 
231
#define PR_BYTES_PER_WORD_LOG2  3
 
232
#define PR_BYTES_PER_DWORD_LOG2 3
 
233
 
 
234
#elif defined(__x86_64__)
 
235
 
 
236
#define IS_LITTLE_ENDIAN 1
 
237
#undef  IS_BIG_ENDIAN
 
238
#define IS_64
 
239
 
 
240
#define PR_BYTES_PER_BYTE   1
 
241
#define PR_BYTES_PER_SHORT  2
 
242
#define PR_BYTES_PER_INT    4
 
243
#define PR_BYTES_PER_INT64  8
 
244
#define PR_BYTES_PER_LONG   8
 
245
#define PR_BYTES_PER_FLOAT  4
 
246
#define PR_BYTES_PER_DOUBLE 8
 
247
#define PR_BYTES_PER_WORD   8
 
248
#define PR_BYTES_PER_DWORD  8
 
249
 
 
250
#define PR_BITS_PER_BYTE    8
 
251
#define PR_BITS_PER_SHORT   16
 
252
#define PR_BITS_PER_INT     32
 
253
#define PR_BITS_PER_INT64   64
 
254
#define PR_BITS_PER_LONG    64
 
255
#define PR_BITS_PER_FLOAT   32
 
256
#define PR_BITS_PER_DOUBLE  64
 
257
#define PR_BITS_PER_WORD    64
 
258
 
 
259
#define PR_BITS_PER_BYTE_LOG2   3
 
260
#define PR_BITS_PER_SHORT_LOG2  4
 
261
#define PR_BITS_PER_INT_LOG2    5
 
262
#define PR_BITS_PER_INT64_LOG2  6
 
263
#define PR_BITS_PER_LONG_LOG2   6
 
264
#define PR_BITS_PER_FLOAT_LOG2  5
 
265
#define PR_BITS_PER_DOUBLE_LOG2 6
 
266
#define PR_BITS_PER_WORD_LOG2   6
 
267
 
 
268
#define PR_ALIGN_OF_SHORT   2
 
269
#define PR_ALIGN_OF_INT     4
 
270
#define PR_ALIGN_OF_LONG    8
 
271
#define PR_ALIGN_OF_INT64   8
 
272
#define PR_ALIGN_OF_FLOAT   4
 
273
#define PR_ALIGN_OF_DOUBLE  8
 
274
#define PR_ALIGN_OF_POINTER 8
 
275
#define PR_ALIGN_OF_WORD    8
 
276
 
 
277
#define PR_BYTES_PER_WORD_LOG2  3
 
278
#define PR_BYTES_PER_DWORD_LOG2 3
 
279
 
 
280
#elif defined(__mc68000__)
 
281
 
 
282
#undef  IS_LITTLE_ENDIAN
 
283
#define IS_BIG_ENDIAN 1
 
284
 
 
285
#define PR_BYTES_PER_BYTE   1
 
286
#define PR_BYTES_PER_SHORT  2
 
287
#define PR_BYTES_PER_INT    4
 
288
#define PR_BYTES_PER_INT64  8
 
289
#define PR_BYTES_PER_LONG   4
 
290
#define PR_BYTES_PER_FLOAT  4
 
291
#define PR_BYTES_PER_DOUBLE 8
 
292
#define PR_BYTES_PER_WORD   4
 
293
#define PR_BYTES_PER_DWORD  8
 
294
 
 
295
#define PR_BITS_PER_BYTE    8
 
296
#define PR_BITS_PER_SHORT   16
 
297
#define PR_BITS_PER_INT     32
 
298
#define PR_BITS_PER_INT64   64
 
299
#define PR_BITS_PER_LONG    32
 
300
#define PR_BITS_PER_FLOAT   32
 
301
#define PR_BITS_PER_DOUBLE  64
 
302
#define PR_BITS_PER_WORD    32
 
303
 
 
304
#define PR_BITS_PER_BYTE_LOG2   3
 
305
#define PR_BITS_PER_SHORT_LOG2  4
 
306
#define PR_BITS_PER_INT_LOG2    5
 
307
#define PR_BITS_PER_INT64_LOG2  6
 
308
#define PR_BITS_PER_LONG_LOG2   5
 
309
#define PR_BITS_PER_FLOAT_LOG2  5
 
310
#define PR_BITS_PER_DOUBLE_LOG2 6
 
311
#define PR_BITS_PER_WORD_LOG2   5
 
312
 
 
313
#define PR_ALIGN_OF_SHORT   2
 
314
#define PR_ALIGN_OF_INT     2
 
315
#define PR_ALIGN_OF_LONG    2
 
316
#define PR_ALIGN_OF_INT64   2
 
317
#define PR_ALIGN_OF_FLOAT   2
 
318
#define PR_ALIGN_OF_DOUBLE  2
 
319
#define PR_ALIGN_OF_POINTER 2
 
320
#define PR_ALIGN_OF_WORD    2
 
321
 
 
322
#define PR_BYTES_PER_WORD_LOG2   2
 
323
#define PR_BYTES_PER_DWORD_LOG2  3
 
324
 
 
325
#elif defined(__sparc__)
 
326
 
 
327
#undef  IS_LITTLE_ENDIAN
 
328
#define IS_BIG_ENDIAN 1
 
329
 
 
330
#define PR_BYTES_PER_BYTE   1
 
331
#define PR_BYTES_PER_SHORT  2
 
332
#define PR_BYTES_PER_INT    4
 
333
#define PR_BYTES_PER_INT64  8
 
334
#define PR_BYTES_PER_LONG   4
 
335
#define PR_BYTES_PER_FLOAT  4
 
336
#define PR_BYTES_PER_DOUBLE 8
 
337
#define PR_BYTES_PER_WORD   4
 
338
#define PR_BYTES_PER_DWORD  8
 
339
 
 
340
#define PR_BITS_PER_BYTE    8
 
341
#define PR_BITS_PER_SHORT   16
 
342
#define PR_BITS_PER_INT     32
 
343
#define PR_BITS_PER_INT64   64
 
344
#define PR_BITS_PER_LONG    32
 
345
#define PR_BITS_PER_FLOAT   32
 
346
#define PR_BITS_PER_DOUBLE  64
 
347
#define PR_BITS_PER_WORD    32
 
348
 
 
349
#define PR_BITS_PER_BYTE_LOG2   3
 
350
#define PR_BITS_PER_SHORT_LOG2  4
 
351
#define PR_BITS_PER_INT_LOG2    5
 
352
#define PR_BITS_PER_INT64_LOG2  6
 
353
#define PR_BITS_PER_LONG_LOG2   5
 
354
#define PR_BITS_PER_FLOAT_LOG2  5
 
355
#define PR_BITS_PER_DOUBLE_LOG2 6
 
356
#define PR_BITS_PER_WORD_LOG2   5
 
357
 
 
358
#define PR_ALIGN_OF_SHORT   2
 
359
#define PR_ALIGN_OF_INT     4
 
360
#define PR_ALIGN_OF_LONG    4
 
361
#define PR_ALIGN_OF_INT64   8
 
362
#define PR_ALIGN_OF_FLOAT   4
 
363
#define PR_ALIGN_OF_DOUBLE  8
 
364
#define PR_ALIGN_OF_POINTER 4
 
365
#define PR_ALIGN_OF_WORD    4
 
366
 
 
367
#define PR_BYTES_PER_WORD_LOG2   2
 
368
#define PR_BYTES_PER_DWORD_LOG2  3
 
369
 
 
370
#elif defined(__i386__)
 
371
 
 
372
#define IS_LITTLE_ENDIAN 1
 
373
#undef  IS_BIG_ENDIAN
 
374
 
 
375
#define PR_BYTES_PER_BYTE   1
 
376
#define PR_BYTES_PER_SHORT  2
 
377
#define PR_BYTES_PER_INT    4
 
378
#define PR_BYTES_PER_INT64  8
 
379
#define PR_BYTES_PER_LONG   4
 
380
#define PR_BYTES_PER_FLOAT  4
 
381
#define PR_BYTES_PER_DOUBLE 8
 
382
#define PR_BYTES_PER_WORD   4
 
383
#define PR_BYTES_PER_DWORD  8
 
384
 
 
385
#define PR_BITS_PER_BYTE    8
 
386
#define PR_BITS_PER_SHORT   16
 
387
#define PR_BITS_PER_INT     32
 
388
#define PR_BITS_PER_INT64   64
 
389
#define PR_BITS_PER_LONG    32
 
390
#define PR_BITS_PER_FLOAT   32
 
391
#define PR_BITS_PER_DOUBLE  64
 
392
#define PR_BITS_PER_WORD    32
 
393
 
 
394
#define PR_BITS_PER_BYTE_LOG2   3
 
395
#define PR_BITS_PER_SHORT_LOG2  4
 
396
#define PR_BITS_PER_INT_LOG2    5
 
397
#define PR_BITS_PER_INT64_LOG2  6
 
398
#define PR_BITS_PER_LONG_LOG2   5
 
399
#define PR_BITS_PER_FLOAT_LOG2  5
 
400
#define PR_BITS_PER_DOUBLE_LOG2 6
 
401
#define PR_BITS_PER_WORD_LOG2   5
 
402
 
 
403
#define PR_ALIGN_OF_SHORT   2
 
404
#define PR_ALIGN_OF_INT     4
 
405
#define PR_ALIGN_OF_LONG    4
 
406
#define PR_ALIGN_OF_INT64   4
 
407
#define PR_ALIGN_OF_FLOAT   4
 
408
#define PR_ALIGN_OF_DOUBLE  4
 
409
#define PR_ALIGN_OF_POINTER 4
 
410
#define PR_ALIGN_OF_WORD    4
 
411
 
 
412
#define PR_BYTES_PER_WORD_LOG2   2
 
413
#define PR_BYTES_PER_DWORD_LOG2  3
 
414
 
 
415
#elif defined(__mips__)
 
416
 
 
417
#ifdef __MIPSEB__
 
418
#define IS_BIG_ENDIAN 1
 
419
#undef  IS_LITTLE_ENDIAN
 
420
#elif defined(__MIPSEL__)
 
421
#define IS_LITTLE_ENDIAN 1
 
422
#undef  IS_BIG_ENDIAN
 
423
#else
 
424
#error "Unknown MIPS endianness."
 
425
#endif
 
426
 
 
427
#define PR_BYTES_PER_BYTE   1
 
428
#define PR_BYTES_PER_SHORT  2
 
429
#define PR_BYTES_PER_INT    4
 
430
#define PR_BYTES_PER_INT64  8
 
431
#define PR_BYTES_PER_LONG   4
 
432
#define PR_BYTES_PER_FLOAT  4
 
433
#define PR_BYTES_PER_DOUBLE 8
 
434
#define PR_BYTES_PER_WORD   4
 
435
#define PR_BYTES_PER_DWORD  8
 
436
 
 
437
#define PR_BITS_PER_BYTE    8
 
438
#define PR_BITS_PER_SHORT   16
 
439
#define PR_BITS_PER_INT     32
 
440
#define PR_BITS_PER_INT64   64
 
441
#define PR_BITS_PER_LONG    32
 
442
#define PR_BITS_PER_FLOAT   32
 
443
#define PR_BITS_PER_DOUBLE  64
 
444
#define PR_BITS_PER_WORD    32
 
445
 
 
446
#define PR_BITS_PER_BYTE_LOG2   3
 
447
#define PR_BITS_PER_SHORT_LOG2  4
 
448
#define PR_BITS_PER_INT_LOG2    5
 
449
#define PR_BITS_PER_INT64_LOG2  6
 
450
#define PR_BITS_PER_LONG_LOG2   5
 
451
#define PR_BITS_PER_FLOAT_LOG2  5
 
452
#define PR_BITS_PER_DOUBLE_LOG2 6
 
453
#define PR_BITS_PER_WORD_LOG2   5
 
454
 
 
455
#define PR_ALIGN_OF_SHORT   2
 
456
#define PR_ALIGN_OF_INT     4
 
457
#define PR_ALIGN_OF_LONG    4
 
458
#define PR_ALIGN_OF_INT64   8
 
459
#define PR_ALIGN_OF_FLOAT   4
 
460
#define PR_ALIGN_OF_DOUBLE  8
 
461
#define PR_ALIGN_OF_POINTER 4
 
462
#define PR_ALIGN_OF_WORD    4
 
463
 
 
464
#define PR_BYTES_PER_WORD_LOG2   2
 
465
#define PR_BYTES_PER_DWORD_LOG2  3
 
466
 
 
467
#elif defined(__arm__)
 
468
 
 
469
#define IS_LITTLE_ENDIAN 1
 
470
#undef  IS_BIG_ENDIAN
 
471
 
 
472
#define PR_BYTES_PER_BYTE   1
 
473
#define PR_BYTES_PER_SHORT  2
 
474
#define PR_BYTES_PER_INT    4
 
475
#define PR_BYTES_PER_INT64  8
 
476
#define PR_BYTES_PER_LONG   4
 
477
#define PR_BYTES_PER_FLOAT  4
 
478
#define PR_BYTES_PER_DOUBLE 8
 
479
#define PR_BYTES_PER_WORD   4
 
480
#define PR_BYTES_PER_DWORD  8
 
481
 
 
482
#define PR_BITS_PER_BYTE    8
 
483
#define PR_BITS_PER_SHORT   16
 
484
#define PR_BITS_PER_INT     32
 
485
#define PR_BITS_PER_INT64   64
 
486
#define PR_BITS_PER_LONG    32
 
487
#define PR_BITS_PER_FLOAT   32
 
488
#define PR_BITS_PER_DOUBLE  64
 
489
#define PR_BITS_PER_WORD    32
 
490
 
 
491
#define PR_BITS_PER_BYTE_LOG2   3
 
492
#define PR_BITS_PER_SHORT_LOG2  4
 
493
#define PR_BITS_PER_INT_LOG2    5
 
494
#define PR_BITS_PER_INT64_LOG2  6
 
495
#define PR_BITS_PER_LONG_LOG2   5
 
496
#define PR_BITS_PER_FLOAT_LOG2  5
 
497
#define PR_BITS_PER_DOUBLE_LOG2 6
 
498
#define PR_BITS_PER_WORD_LOG2   5
 
499
 
 
500
#define PR_ALIGN_OF_SHORT   2
 
501
#define PR_ALIGN_OF_INT     4
 
502
#define PR_ALIGN_OF_LONG    4
 
503
#define PR_ALIGN_OF_INT64   4
 
504
#define PR_ALIGN_OF_FLOAT   4
 
505
#define PR_ALIGN_OF_DOUBLE  4
 
506
#define PR_ALIGN_OF_POINTER 4
 
507
#define PR_ALIGN_OF_WORD    4
 
508
 
 
509
#define PR_BYTES_PER_WORD_LOG2   2
 
510
#define PR_BYTES_PER_DWORD_LOG2  3
 
511
 
 
512
#elif defined(__hppa__)
 
513
 
 
514
#undef  IS_LITTLE_ENDIAN
 
515
#define IS_BIG_ENDIAN    1
 
516
 
 
517
#define PR_BYTES_PER_BYTE   1
 
518
#define PR_BYTES_PER_SHORT  2
 
519
#define PR_BYTES_PER_INT    4
 
520
#define PR_BYTES_PER_INT64  8
 
521
#define PR_BYTES_PER_LONG   4
 
522
#define PR_BYTES_PER_FLOAT  4
 
523
#define PR_BYTES_PER_DOUBLE 8
 
524
#define PR_BYTES_PER_WORD   4
 
525
#define PR_BYTES_PER_DWORD  8
 
526
 
 
527
#define PR_BITS_PER_BYTE    8
 
528
#define PR_BITS_PER_SHORT   16
 
529
#define PR_BITS_PER_INT     32
 
530
#define PR_BITS_PER_INT64   64
 
531
#define PR_BITS_PER_LONG    32
 
532
#define PR_BITS_PER_FLOAT   32
 
533
#define PR_BITS_PER_DOUBLE  64
 
534
#define PR_BITS_PER_WORD    32
 
535
 
 
536
#define PR_BITS_PER_BYTE_LOG2   3
 
537
#define PR_BITS_PER_SHORT_LOG2  4
 
538
#define PR_BITS_PER_INT_LOG2    5
 
539
#define PR_BITS_PER_INT64_LOG2  6
 
540
#define PR_BITS_PER_LONG_LOG2   5
 
541
#define PR_BITS_PER_FLOAT_LOG2  5
 
542
#define PR_BITS_PER_DOUBLE_LOG2 6
 
543
#define PR_BITS_PER_WORD_LOG2   5
 
544
 
 
545
#define PR_ALIGN_OF_SHORT   2
 
546
#define PR_ALIGN_OF_INT     4
 
547
#define PR_ALIGN_OF_LONG    4
 
548
#define PR_ALIGN_OF_INT64   8
 
549
#define PR_ALIGN_OF_FLOAT   4
 
550
#define PR_ALIGN_OF_DOUBLE  8
 
551
#define PR_ALIGN_OF_POINTER 4
 
552
#define PR_ALIGN_OF_WORD    4
 
553
 
 
554
#define PR_BYTES_PER_WORD_LOG2   2
 
555
#define PR_BYTES_PER_DWORD_LOG2  3
 
556
 
 
557
#elif defined(__s390x__)
 
558
 
 
559
#define IS_BIG_ENDIAN 1
 
560
#undef  IS_LITTLE_ENDIAN
 
561
#define IS_64
 
562
 
 
563
#define PR_BYTES_PER_BYTE   1
 
564
#define PR_BYTES_PER_SHORT  2
 
565
#define PR_BYTES_PER_INT    4
 
566
#define PR_BYTES_PER_INT64  8
 
567
#define PR_BYTES_PER_LONG   8
 
568
#define PR_BYTES_PER_FLOAT  4
 
569
#define PR_BYTES_PER_DOUBLE 8
 
570
#define PR_BYTES_PER_WORD   8
 
571
#define PR_BYTES_PER_DWORD  8
 
572
 
 
573
#define PR_BITS_PER_BYTE    8
 
574
#define PR_BITS_PER_SHORT   16
 
575
#define PR_BITS_PER_INT     32
 
576
#define PR_BITS_PER_INT64   64
 
577
#define PR_BITS_PER_LONG    64
 
578
#define PR_BITS_PER_FLOAT   32
 
579
#define PR_BITS_PER_DOUBLE  64
 
580
#define PR_BITS_PER_WORD    64
 
581
 
 
582
#define PR_BITS_PER_BYTE_LOG2   3
 
583
#define PR_BITS_PER_SHORT_LOG2  4
 
584
#define PR_BITS_PER_INT_LOG2    5
 
585
#define PR_BITS_PER_INT64_LOG2  6
 
586
#define PR_BITS_PER_LONG_LOG2   6
 
587
#define PR_BITS_PER_FLOAT_LOG2  5
 
588
#define PR_BITS_PER_DOUBLE_LOG2 6
 
589
#define PR_BITS_PER_WORD_LOG2   6
 
590
 
 
591
#define PR_ALIGN_OF_SHORT   2
 
592
#define PR_ALIGN_OF_INT     4
 
593
#define PR_ALIGN_OF_LONG    8
 
594
#define PR_ALIGN_OF_INT64   8
 
595
#define PR_ALIGN_OF_FLOAT   4
 
596
#define PR_ALIGN_OF_DOUBLE  8
 
597
#define PR_ALIGN_OF_POINTER 8
 
598
#define PR_ALIGN_OF_WORD    8
 
599
 
 
600
#define PR_BYTES_PER_WORD_LOG2   3
 
601
#define PR_BYTES_PER_DWORD_LOG2  3
 
602
 
 
603
#elif defined(__s390__)
 
604
 
 
605
#define IS_BIG_ENDIAN 1
 
606
#undef  IS_LITTLE_ENDIAN
 
607
 
 
608
#define PR_BYTES_PER_BYTE   1
 
609
#define PR_BYTES_PER_SHORT  2
 
610
#define PR_BYTES_PER_INT    4
 
611
#define PR_BYTES_PER_INT64  8
 
612
#define PR_BYTES_PER_LONG   4
 
613
#define PR_BYTES_PER_FLOAT  4
 
614
#define PR_BYTES_PER_DOUBLE 8
 
615
#define PR_BYTES_PER_WORD   4
 
616
#define PR_BYTES_PER_DWORD  8
 
617
 
 
618
#define PR_BITS_PER_BYTE    8
 
619
#define PR_BITS_PER_SHORT   16
 
620
#define PR_BITS_PER_INT     32
 
621
#define PR_BITS_PER_INT64   64
 
622
#define PR_BITS_PER_LONG    32
 
623
#define PR_BITS_PER_FLOAT   32
 
624
#define PR_BITS_PER_DOUBLE  64
 
625
#define PR_BITS_PER_WORD    32
 
626
 
 
627
#define PR_BITS_PER_BYTE_LOG2   3
 
628
#define PR_BITS_PER_SHORT_LOG2  4
 
629
#define PR_BITS_PER_INT_LOG2    5
 
630
#define PR_BITS_PER_INT64_LOG2  6
 
631
#define PR_BITS_PER_LONG_LOG2   5
 
632
#define PR_BITS_PER_FLOAT_LOG2  5
 
633
#define PR_BITS_PER_DOUBLE_LOG2 6
 
634
#define PR_BITS_PER_WORD_LOG2   5
 
635
 
 
636
#define PR_ALIGN_OF_SHORT   2
 
637
#define PR_ALIGN_OF_INT     4
 
638
#define PR_ALIGN_OF_LONG    4
 
639
#define PR_ALIGN_OF_INT64   4
 
640
#define PR_ALIGN_OF_FLOAT   4
 
641
#define PR_ALIGN_OF_DOUBLE  4
 
642
#define PR_ALIGN_OF_POINTER 4
 
643
#define PR_ALIGN_OF_WORD    4
 
644
 
 
645
#define PR_BYTES_PER_WORD_LOG2   2
 
646
#define PR_BYTES_PER_DWORD_LOG2  3
 
647
 
 
648
#else
 
649
 
 
650
#error "Unknown CPU architecture"
 
651
 
 
652
#endif
 
653
 
 
654
#define HAVE_LONG_LONG
 
655
#if PR_ALIGN_OF_DOUBLE == 8
 
656
#define HAVE_ALIGNED_DOUBLES
 
657
#endif
 
658
#if PR_ALIGN_OF_INT64 == 8
 
659
#define HAVE_ALIGNED_LONGLONGS
 
660
#endif
 
661
 
 
662
#ifndef NO_NSPR_10_SUPPORT
 
663
 
 
664
#define BYTES_PER_BYTE          PR_BYTES_PER_BYTE
 
665
#define BYTES_PER_SHORT         PR_BYTES_PER_SHORT
 
666
#define BYTES_PER_INT           PR_BYTES_PER_INT
 
667
#define BYTES_PER_INT64         PR_BYTES_PER_INT64
 
668
#define BYTES_PER_LONG          PR_BYTES_PER_LONG
 
669
#define BYTES_PER_FLOAT         PR_BYTES_PER_FLOAT
 
670
#define BYTES_PER_DOUBLE        PR_BYTES_PER_DOUBLE
 
671
#define BYTES_PER_WORD          PR_BYTES_PER_WORD
 
672
#define BYTES_PER_DWORD         PR_BYTES_PER_DWORD
 
673
 
 
674
#define BITS_PER_BYTE           PR_BITS_PER_BYTE
 
675
#define BITS_PER_SHORT          PR_BITS_PER_SHORT
 
676
#define BITS_PER_INT            PR_BITS_PER_INT
 
677
#define BITS_PER_INT64          PR_BITS_PER_INT64
 
678
#define BITS_PER_LONG           PR_BITS_PER_LONG
 
679
#define BITS_PER_FLOAT          PR_BITS_PER_FLOAT
 
680
#define BITS_PER_DOUBLE         PR_BITS_PER_DOUBLE
 
681
#define BITS_PER_WORD           PR_BITS_PER_WORD
 
682
 
 
683
#define BITS_PER_BYTE_LOG2      PR_BITS_PER_BYTE_LOG2
 
684
#define BITS_PER_SHORT_LOG2     PR_BITS_PER_SHORT_LOG2
 
685
#define BITS_PER_INT_LOG2       PR_BITS_PER_INT_LOG2
 
686
#define BITS_PER_INT64_LOG2     PR_BITS_PER_INT64_LOG2
 
687
#define BITS_PER_LONG_LOG2      PR_BITS_PER_LONG_LOG2
 
688
#define BITS_PER_FLOAT_LOG2     PR_BITS_PER_FLOAT_LOG2
 
689
#define BITS_PER_DOUBLE_LOG2    PR_BITS_PER_DOUBLE_LOG2
 
690
#define BITS_PER_WORD_LOG2      PR_BITS_PER_WORD_LOG2
 
691
 
 
692
#define ALIGN_OF_SHORT          PR_ALIGN_OF_SHORT
 
693
#define ALIGN_OF_INT            PR_ALIGN_OF_INT
 
694
#define ALIGN_OF_LONG           PR_ALIGN_OF_LONG
 
695
#define ALIGN_OF_INT64          PR_ALIGN_OF_INT64
 
696
#define ALIGN_OF_FLOAT          PR_ALIGN_OF_FLOAT
 
697
#define ALIGN_OF_DOUBLE         PR_ALIGN_OF_DOUBLE
 
698
#define ALIGN_OF_POINTER        PR_ALIGN_OF_POINTER
 
699
#define ALIGN_OF_WORD           PR_ALIGN_OF_WORD
 
700
 
 
701
#define BYTES_PER_WORD_LOG2     PR_BYTES_PER_WORD_LOG2
 
702
#define BYTES_PER_DWORD_LOG2    PR_BYTES_PER_DWORD_LOG2
 
703
#define WORDS_PER_DWORD_LOG2    PR_WORDS_PER_DWORD_LOG2
 
704
 
 
705
#endif /* NO_NSPR_10_SUPPORT */
 
706
 
 
707
#endif /* nspr_cpucfg___ */