|
|
1.1 ! root 1: /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- ! 2: * ! 3: * ***** BEGIN LICENSE BLOCK ***** ! 4: * Version: MPL 1.1/GPL 2.0/LGPL 2.1 ! 5: * ! 6: * The contents of this file are subject to the Mozilla Public License Version ! 7: * 1.1 (the "License"); you may not use this file except in compliance with ! 8: * the License. You may obtain a copy of the License at ! 9: * http://www.mozilla.org/MPL/ ! 10: * ! 11: * Software distributed under the License is distributed on an "AS IS" basis, ! 12: * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ! 13: * for the specific language governing rights and limitations under the ! 14: * License. ! 15: * ! 16: * The Original Code is Mozilla Communicator client code, released ! 17: * March 31, 1998. ! 18: * ! 19: * The Initial Developer of the Original Code is ! 20: * Netscape Communications Corporation. ! 21: * Portions created by the Initial Developer are Copyright (C) 1998 ! 22: * the Initial Developer. All Rights Reserved. ! 23: * ! 24: * Contributor(s): ! 25: * ! 26: * Alternatively, the contents of this file may be used under the terms of ! 27: * either of the GNU General Public License Version 2 or later (the "GPL"), ! 28: * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), ! 29: * in which case the provisions of the GPL or the LGPL are applicable instead ! 30: * of those above. If you wish to allow use of your version of this file only ! 31: * under the terms of either the GPL or the LGPL, and not to allow others to ! 32: * use your version of this file under the terms of the MPL, indicate your ! 33: * decision by deleting the provisions above and replace them with the notice ! 34: * and other provisions required by the GPL or the LGPL. If you do not delete ! 35: * the provisions above, a recipient may use your version of this file under ! 36: * the terms of any one of the MPL, the GPL or the LGPL. ! 37: * ! 38: * ***** END LICENSE BLOCK ***** */ ! 39: ! 40: #ifndef js_cpucfg___ ! 41: #define js_cpucfg___ ! 42: ! 43: #include "jsosdep.h" ! 44: ! 45: #ifdef XP_MAC ! 46: #undef IS_LITTLE_ENDIAN ! 47: #define IS_BIG_ENDIAN 1 ! 48: ! 49: #define JS_BYTES_PER_BYTE 1L ! 50: #define JS_BYTES_PER_SHORT 2L ! 51: #define JS_BYTES_PER_INT 4L ! 52: #define JS_BYTES_PER_INT64 8L ! 53: #define JS_BYTES_PER_LONG 4L ! 54: #define JS_BYTES_PER_FLOAT 4L ! 55: #define JS_BYTES_PER_DOUBLE 8L ! 56: #define JS_BYTES_PER_WORD 4L ! 57: #define JS_BYTES_PER_DWORD 8L ! 58: ! 59: #define JS_BITS_PER_BYTE 8L ! 60: #define JS_BITS_PER_SHORT 16L ! 61: #define JS_BITS_PER_INT 32L ! 62: #define JS_BITS_PER_INT64 64L ! 63: #define JS_BITS_PER_LONG 32L ! 64: #define JS_BITS_PER_FLOAT 32L ! 65: #define JS_BITS_PER_DOUBLE 64L ! 66: #define JS_BITS_PER_WORD 32L ! 67: ! 68: #define JS_BITS_PER_BYTE_LOG2 3L ! 69: #define JS_BITS_PER_SHORT_LOG2 4L ! 70: #define JS_BITS_PER_INT_LOG2 5L ! 71: #define JS_BITS_PER_INT64_LOG2 6L ! 72: #define JS_BITS_PER_LONG_LOG2 5L ! 73: #define JS_BITS_PER_FLOAT_LOG2 5L ! 74: #define JS_BITS_PER_DOUBLE_LOG2 6L ! 75: #define JS_BITS_PER_WORD_LOG2 5L ! 76: ! 77: #define JS_ALIGN_OF_SHORT 2L ! 78: #define JS_ALIGN_OF_INT 4L ! 79: #define JS_ALIGN_OF_LONG 4L ! 80: #define JS_ALIGN_OF_INT64 2L ! 81: #define JS_ALIGN_OF_FLOAT 4L ! 82: #define JS_ALIGN_OF_DOUBLE 4L ! 83: #define JS_ALIGN_OF_POINTER 4L ! 84: #define JS_ALIGN_OF_WORD 4L ! 85: ! 86: #define JS_BYTES_PER_WORD_LOG2 2L ! 87: #define JS_BYTES_PER_DWORD_LOG2 3L ! 88: #define PR_WORDS_PER_DWORD_LOG2 1L ! 89: ! 90: #elif defined(XP_WIN) || defined(XP_OS2) ! 91: ! 92: #ifdef __WATCOMC__ ! 93: #define HAVE_VA_LIST_AS_ARRAY ! 94: #endif ! 95: ! 96: #if defined( _WIN32) || defined(XP_OS2) ! 97: #define IS_LITTLE_ENDIAN 1 ! 98: #undef IS_BIG_ENDIAN ! 99: ! 100: #define JS_BYTES_PER_BYTE 1L ! 101: #define JS_BYTES_PER_SHORT 2L ! 102: #define JS_BYTES_PER_INT 4L ! 103: #define JS_BYTES_PER_INT64 8L ! 104: #define JS_BYTES_PER_LONG 4L ! 105: #define JS_BYTES_PER_FLOAT 4L ! 106: #define JS_BYTES_PER_DOUBLE 8L ! 107: #define JS_BYTES_PER_WORD 4L ! 108: #define JS_BYTES_PER_DWORD 8L ! 109: ! 110: #define JS_BITS_PER_BYTE 8L ! 111: #define JS_BITS_PER_SHORT 16L ! 112: #define JS_BITS_PER_INT 32L ! 113: #define JS_BITS_PER_INT64 64L ! 114: #define JS_BITS_PER_LONG 32L ! 115: #define JS_BITS_PER_FLOAT 32L ! 116: #define JS_BITS_PER_DOUBLE 64L ! 117: #define JS_BITS_PER_WORD 32L ! 118: ! 119: #define JS_BITS_PER_BYTE_LOG2 3L ! 120: #define JS_BITS_PER_SHORT_LOG2 4L ! 121: #define JS_BITS_PER_INT_LOG2 5L ! 122: #define JS_BITS_PER_INT64_LOG2 6L ! 123: #define JS_BITS_PER_LONG_LOG2 5L ! 124: #define JS_BITS_PER_FLOAT_LOG2 5L ! 125: #define JS_BITS_PER_DOUBLE_LOG2 6L ! 126: #define JS_BITS_PER_WORD_LOG2 5L ! 127: ! 128: #define JS_ALIGN_OF_SHORT 2L ! 129: #define JS_ALIGN_OF_INT 4L ! 130: #define JS_ALIGN_OF_LONG 4L ! 131: #define JS_ALIGN_OF_INT64 8L ! 132: #define JS_ALIGN_OF_FLOAT 4L ! 133: #define JS_ALIGN_OF_DOUBLE 4L ! 134: #define JS_ALIGN_OF_POINTER 4L ! 135: #define JS_ALIGN_OF_WORD 4L ! 136: ! 137: #define JS_BYTES_PER_WORD_LOG2 2L ! 138: #define JS_BYTES_PER_DWORD_LOG2 3L ! 139: #define PR_WORDS_PER_DWORD_LOG2 1L ! 140: #endif /* _WIN32 || XP_OS2 */ ! 141: ! 142: #if defined(_WINDOWS) && !defined(_WIN32) /* WIN16 */ ! 143: #define IS_LITTLE_ENDIAN 1 ! 144: #undef IS_BIG_ENDIAN ! 145: ! 146: #define JS_BYTES_PER_BYTE 1L ! 147: #define JS_BYTES_PER_SHORT 2L ! 148: #define JS_BYTES_PER_INT 2L ! 149: #define JS_BYTES_PER_INT64 8L ! 150: #define JS_BYTES_PER_LONG 4L ! 151: #define JS_BYTES_PER_FLOAT 4L ! 152: #define JS_BYTES_PER_DOUBLE 8L ! 153: #define JS_BYTES_PER_WORD 4L ! 154: #define JS_BYTES_PER_DWORD 8L ! 155: ! 156: #define JS_BITS_PER_BYTE 8L ! 157: #define JS_BITS_PER_SHORT 16L ! 158: #define JS_BITS_PER_INT 16L ! 159: #define JS_BITS_PER_INT64 64L ! 160: #define JS_BITS_PER_LONG 32L ! 161: #define JS_BITS_PER_FLOAT 32L ! 162: #define JS_BITS_PER_DOUBLE 64L ! 163: #define JS_BITS_PER_WORD 32L ! 164: ! 165: #define JS_BITS_PER_BYTE_LOG2 3L ! 166: #define JS_BITS_PER_SHORT_LOG2 4L ! 167: #define JS_BITS_PER_INT_LOG2 4L ! 168: #define JS_BITS_PER_INT64_LOG2 6L ! 169: #define JS_BITS_PER_LONG_LOG2 5L ! 170: #define JS_BITS_PER_FLOAT_LOG2 5L ! 171: #define JS_BITS_PER_DOUBLE_LOG2 6L ! 172: #define JS_BITS_PER_WORD_LOG2 5L ! 173: ! 174: #define JS_ALIGN_OF_SHORT 2L ! 175: #define JS_ALIGN_OF_INT 2L ! 176: #define JS_ALIGN_OF_LONG 2L ! 177: #define JS_ALIGN_OF_INT64 2L ! 178: #define JS_ALIGN_OF_FLOAT 2L ! 179: #define JS_ALIGN_OF_DOUBLE 2L ! 180: #define JS_ALIGN_OF_POINTER 2L ! 181: #define JS_ALIGN_OF_WORD 2L ! 182: ! 183: #define JS_BYTES_PER_WORD_LOG2 2L ! 184: #define JS_BYTES_PER_DWORD_LOG2 3L ! 185: #define PR_WORDS_PER_DWORD_LOG2 1L ! 186: #endif /* defined(_WINDOWS) && !defined(_WIN32) */ ! 187: ! 188: #elif defined(XP_UNIX) || defined(XP_BEOS) ! 189: ! 190: #error "This file is supposed to be auto-generated on UNIX platforms, but the" ! 191: #error "static version for Mac and Windows platforms is being used." ! 192: #error "Something's probably wrong with paths/headers/dependencies/Makefiles." ! 193: ! 194: #else ! 195: ! 196: #error "Must define one of XP_BEOS, XP_MAC, XP_OS2, XP_WIN, or XP_UNIX" ! 197: ! 198: #endif ! 199: ! 200: #ifndef JS_STACK_GROWTH_DIRECTION ! 201: #define JS_STACK_GROWTH_DIRECTION (-1) ! 202: #endif ! 203: ! 204: #endif /* js_cpucfg___ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.