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