home *** CD-ROM | disk | FTP | other *** search
/ Tools / WinSN5.0Ver.iso / NETSCAP.50 / WIN1998.ZIP / ns / nsprpub / pr / include / md / _linux.cfg < prev    next >
Encoding:
Text File  |  1998-04-08  |  6.3 KB  |  218 lines

  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 Netscape Public License
  4.  * Version 1.0 (the "NPL"); you may not use this file except in
  5.  * compliance with the NPL.  You may obtain a copy of the NPL at
  6.  * http://www.mozilla.org/NPL/
  7.  * 
  8.  * Software distributed under the NPL is distributed on an "AS IS" basis,
  9.  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
  10.  * for the specific language governing rights and limitations under the
  11.  * NPL.
  12.  * 
  13.  * The Initial Developer of this code under the NPL is Netscape
  14.  * Communications Corporation.  Portions created by Netscape are
  15.  * Copyright (C) 1998 Netscape Communications Corporation.  All Rights
  16.  * Reserved.
  17.  */
  18.  
  19. #ifndef nspr_cpucfg___
  20. #define nspr_cpucfg___
  21.  
  22. #ifndef XP_UNIX
  23. #define XP_UNIX
  24. #endif
  25.  
  26. #ifndef LINUX
  27. #define LINUX
  28. #endif
  29.  
  30. #ifdef __powerpc__
  31.  
  32. #undef  IS_LITTLE_ENDIAN
  33. #define IS_BIG_ENDIAN    1
  34.  
  35. #define PR_BYTES_PER_BYTE   1
  36. #define PR_BYTES_PER_SHORT  2
  37. #define PR_BYTES_PER_INT    4
  38. #define PR_BYTES_PER_INT64  8
  39. #define PR_BYTES_PER_LONG   4
  40. #define PR_BYTES_PER_FLOAT  4
  41. #define PR_BYTES_PER_DOUBLE 8
  42. #define PR_BYTES_PER_WORD   4
  43. #define PR_BYTES_PER_DWORD  8
  44.  
  45. #define PR_BITS_PER_BYTE    8
  46. #define PR_BITS_PER_SHORT   16
  47. #define PR_BITS_PER_INT     32
  48. #define PR_BITS_PER_INT64   64
  49. #define PR_BITS_PER_LONG    32
  50. #define PR_BITS_PER_FLOAT   32
  51. #define PR_BITS_PER_DOUBLE  64
  52. #define PR_BITS_PER_WORD    32
  53.  
  54. #define PR_BITS_PER_BYTE_LOG2   3
  55. #define PR_BITS_PER_SHORT_LOG2  4
  56. #define PR_BITS_PER_INT_LOG2    5
  57. #define PR_BITS_PER_INT64_LOG2  6
  58. #define PR_BITS_PER_LONG_LOG2   5
  59. #define PR_BITS_PER_FLOAT_LOG2  5
  60. #define PR_BITS_PER_DOUBLE_LOG2 6
  61. #define PR_BITS_PER_WORD_LOG2   5
  62.  
  63. #define PR_ALIGN_OF_SHORT   2
  64. #define PR_ALIGN_OF_INT     4
  65. #define PR_ALIGN_OF_LONG    4
  66. #define PR_ALIGN_OF_INT64   4
  67. #define PR_ALIGN_OF_FLOAT   4
  68. #define PR_ALIGN_OF_DOUBLE  4
  69. #define PR_ALIGN_OF_POINTER 4
  70.  
  71. #define PR_BYTES_PER_WORD_LOG2   2
  72. #define PR_BYTES_PER_DWORD_LOG2  3
  73.  
  74. #elif defined(__alpha)
  75.  
  76. #define IS_LITTLE_ENDIAN 1
  77. #undef  IS_BIG_ENDIAN
  78. #define IS_64
  79.  
  80. #define PR_BYTES_PER_BYTE   1
  81. #define PR_BYTES_PER_SHORT  2
  82. #define PR_BYTES_PER_INT    4
  83. #define PR_BYTES_PER_INT64  8
  84. #define PR_BYTES_PER_LONG   8
  85. #define PR_BYTES_PER_FLOAT  4
  86. #define PR_BYTES_PER_DOUBLE 8
  87. #define PR_BYTES_PER_WORD   8
  88. #define PR_BYTES_PER_DWORD  8
  89.  
  90. #define PR_BITS_PER_BYTE    8
  91. #define PR_BITS_PER_SHORT   16
  92. #define PR_BITS_PER_INT     32
  93. #define PR_BITS_PER_INT64   64
  94. #define PR_BITS_PER_LONG    64
  95. #define PR_BITS_PER_FLOAT   32
  96. #define PR_BITS_PER_DOUBLE  64
  97. #define PR_BITS_PER_WORD    64
  98.  
  99. #define PR_BITS_PER_BYTE_LOG2   3
  100. #define PR_BITS_PER_SHORT_LOG2  4
  101. #define PR_BITS_PER_INT_LOG2    5
  102. #define PR_BITS_PER_INT64_LOG2  6
  103. #define PR_BITS_PER_LONG_LOG2   6
  104. #define PR_BITS_PER_FLOAT_LOG2  5
  105. #define PR_BITS_PER_DOUBLE_LOG2 6
  106. #define PR_BITS_PER_WORD_LOG2   6
  107.  
  108. #define PR_ALIGN_OF_SHORT   2
  109. #define PR_ALIGN_OF_INT     4
  110. #define PR_ALIGN_OF_LONG    8
  111. #define PR_ALIGN_OF_INT64   8
  112. #define PR_ALIGN_OF_FLOAT   4
  113. #define PR_ALIGN_OF_DOUBLE  8
  114. #define PR_ALIGN_OF_POINTER 8
  115.  
  116. #define PR_BYTES_PER_WORD_LOG2  3
  117. #define PR_BYTES_PER_DWORD_LOG2 3
  118.  
  119. #else
  120.  
  121. #define IS_LITTLE_ENDIAN 1
  122. #undef  IS_BIG_ENDIAN
  123.  
  124. #define PR_BYTES_PER_BYTE   1
  125. #define PR_BYTES_PER_SHORT  2
  126. #define PR_BYTES_PER_INT    4
  127. #define PR_BYTES_PER_INT64  8
  128. #define PR_BYTES_PER_LONG   4
  129. #define PR_BYTES_PER_FLOAT  4
  130. #define PR_BYTES_PER_DOUBLE 8
  131. #define PR_BYTES_PER_WORD   4
  132. #define PR_BYTES_PER_DWORD  8
  133.  
  134. #define PR_BITS_PER_BYTE    8
  135. #define PR_BITS_PER_SHORT   16
  136. #define PR_BITS_PER_INT     32
  137. #define PR_BITS_PER_INT64   64
  138. #define PR_BITS_PER_LONG    32
  139. #define PR_BITS_PER_FLOAT   32
  140. #define PR_BITS_PER_DOUBLE  64
  141. #define PR_BITS_PER_WORD    32
  142.  
  143. #define PR_BITS_PER_BYTE_LOG2   3
  144. #define PR_BITS_PER_SHORT_LOG2  4
  145. #define PR_BITS_PER_INT_LOG2    5
  146. #define PR_BITS_PER_INT64_LOG2  6
  147. #define PR_BITS_PER_LONG_LOG2   5
  148. #define PR_BITS_PER_FLOAT_LOG2  5
  149. #define PR_BITS_PER_DOUBLE_LOG2 6
  150. #define PR_BITS_PER_WORD_LOG2   5
  151.  
  152. #define PR_ALIGN_OF_SHORT   2
  153. #define PR_ALIGN_OF_INT     4
  154. #define PR_ALIGN_OF_LONG    4
  155. #define PR_ALIGN_OF_INT64   4
  156. #define PR_ALIGN_OF_FLOAT   4
  157. #define PR_ALIGN_OF_DOUBLE  4
  158. #define PR_ALIGN_OF_POINTER 4
  159.  
  160. #define PR_BYTES_PER_WORD_LOG2   2
  161. #define PR_BYTES_PER_DWORD_LOG2  3
  162.  
  163. #endif
  164.  
  165. #define    HAVE_LONG_LONG
  166. /*
  167.  * XXX These two macros need to be investigated for different architectures.
  168.  */
  169. #undef    HAVE_ALIGNED_DOUBLES
  170. #undef    HAVE_ALIGNED_LONGLONGS
  171.  
  172. #ifndef NO_NSPR_10_SUPPORT
  173.  
  174. #define BYTES_PER_BYTE        PR_BYTES_PER_BYTE
  175. #define BYTES_PER_SHORT     PR_BYTES_PER_SHORT
  176. #define BYTES_PER_INT         PR_BYTES_PER_INT
  177. #define BYTES_PER_INT64        PR_BYTES_PER_INT64
  178. #define BYTES_PER_LONG        PR_BYTES_PER_LONG
  179. #define BYTES_PER_FLOAT        PR_BYTES_PER_FLOAT
  180. #define BYTES_PER_DOUBLE    PR_BYTES_PER_DOUBLE
  181. #define BYTES_PER_WORD        PR_BYTES_PER_WORD
  182. #define BYTES_PER_DWORD        PR_BYTES_PER_DWORD
  183.  
  184. #define BITS_PER_BYTE        PR_BITS_PER_BYTE
  185. #define BITS_PER_SHORT        PR_BITS_PER_SHORT
  186. #define BITS_PER_INT        PR_BITS_PER_INT
  187. #define BITS_PER_INT64        PR_BITS_PER_INT64
  188. #define BITS_PER_LONG        PR_BITS_PER_LONG
  189. #define BITS_PER_FLOAT        PR_BITS_PER_FLOAT
  190. #define BITS_PER_DOUBLE        PR_BITS_PER_DOUBLE
  191. #define BITS_PER_WORD        PR_BITS_PER_WORD
  192.  
  193. #define BITS_PER_BYTE_LOG2    PR_BITS_PER_BYTE_LOG2
  194. #define BITS_PER_SHORT_LOG2    PR_BITS_PER_SHORT_LOG2
  195. #define BITS_PER_INT_LOG2    PR_BITS_PER_INT_LOG2
  196. #define BITS_PER_INT64_LOG2    PR_BITS_PER_INT64_LOG2
  197. #define BITS_PER_LONG_LOG2    PR_BITS_PER_LONG_LOG2
  198. #define BITS_PER_FLOAT_LOG2    PR_BITS_PER_FLOAT_LOG2
  199. #define BITS_PER_DOUBLE_LOG2     PR_BITS_PER_DOUBLE_LOG2
  200. #define BITS_PER_WORD_LOG2    PR_BITS_PER_WORD_LOG2
  201.  
  202. #define ALIGN_OF_SHORT        PR_ALIGN_OF_SHORT
  203. #define ALIGN_OF_INT        PR_ALIGN_OF_INT
  204. #define ALIGN_OF_LONG        PR_ALIGN_OF_LONG
  205. #define ALIGN_OF_INT64        PR_ALIGN_OF_INT64
  206. #define ALIGN_OF_FLOAT        PR_ALIGN_OF_FLOAT
  207. #define ALIGN_OF_DOUBLE        PR_ALIGN_OF_DOUBLE
  208. #define ALIGN_OF_POINTER    PR_ALIGN_OF_POINTER
  209. #define ALIGN_OF_WORD        PR_ALIGN_OF_WORD
  210.  
  211. #define BYTES_PER_WORD_LOG2    PR_BYTES_PER_WORD_LOG2
  212. #define BYTES_PER_DWORD_LOG2    PR_BYTES_PER_DWORD_LOG2
  213. #define WORDS_PER_DWORD_LOG2    PR_WORDS_PER_DWORD_LOG2
  214.  
  215. #endif /* NO_NSPR_10_SUPPORT */
  216.  
  217. #endif /* nspr_cpucfg___ */
  218.