home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / nspr30-e.zip / nspr30-e / include / md / _netbsd.cfg < prev    next >
Text File  |  1998-07-21  |  8KB  |  263 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 NETBSD
  27. #define NETBSD
  28. #endif
  29.  
  30. #if defined(__i386__) || defined(__arm32__)
  31.  
  32. #define IS_LITTLE_ENDIAN 1
  33. #undef  IS_BIG_ENDIAN
  34. #define    HAVE_LONG_LONG
  35. #undef    HAVE_ALIGNED_DOUBLES
  36. #undef    HAVE_ALIGNED_LONGLONGS
  37.  
  38. #define PR_BYTES_PER_BYTE   1
  39. #define PR_BYTES_PER_SHORT  2
  40. #define PR_BYTES_PER_INT    4
  41. #define PR_BYTES_PER_INT64  8
  42. #define PR_BYTES_PER_LONG   4
  43. #define PR_BYTES_PER_FLOAT  4
  44. #define PR_BYTES_PER_DOUBLE 8
  45. #define PR_BYTES_PER_WORD   4
  46. #define PR_BYTES_PER_DWORD  8
  47. #define PR_BYTES_PER_WORD_LOG2   2
  48. #define PR_BYTES_PER_DWORD_LOG2  3
  49.  
  50. #define PR_BITS_PER_BYTE    8
  51. #define PR_BITS_PER_SHORT   16
  52. #define PR_BITS_PER_INT     32
  53. #define PR_BITS_PER_INT64   64
  54. #define PR_BITS_PER_LONG    32
  55. #define PR_BITS_PER_FLOAT   32
  56. #define PR_BITS_PER_DOUBLE  64
  57. #define PR_BITS_PER_WORD    32
  58.  
  59. #define PR_BITS_PER_BYTE_LOG2   3
  60. #define PR_BITS_PER_SHORT_LOG2  4
  61. #define PR_BITS_PER_INT_LOG2    5
  62. #define PR_BITS_PER_INT64_LOG2  6
  63. #define PR_BITS_PER_LONG_LOG2   5
  64. #define PR_BITS_PER_FLOAT_LOG2  5
  65. #define PR_BITS_PER_DOUBLE_LOG2 6
  66. #define PR_BITS_PER_WORD_LOG2   5
  67.  
  68. #define PR_ALIGN_OF_SHORT   2
  69. #define PR_ALIGN_OF_INT     4
  70. #define PR_ALIGN_OF_LONG    4
  71. #define PR_ALIGN_OF_INT64   4
  72. #define PR_ALIGN_OF_FLOAT   4
  73. #define PR_ALIGN_OF_DOUBLE  4
  74. #define PR_ALIGN_OF_POINTER 4
  75.  
  76. #elif defined(__sparc__)
  77.  
  78. #undef IS_LITTLE_ENDIAN 1
  79. #define  IS_BIG_ENDIAN 1
  80. #define HAVE_LONG_LONG
  81. #define  HAVE_ALIGNED_DOUBLES
  82. #define  HAVE_ALIGNED_LONGLONGS
  83.  
  84. #define PR_BYTES_PER_BYTE   1
  85. #define PR_BYTES_PER_SHORT  2
  86. #define PR_BYTES_PER_INT    4
  87. #define PR_BYTES_PER_INT64  8
  88. #define PR_BYTES_PER_LONG   4
  89. #define PR_BYTES_PER_FLOAT  4
  90. #define PR_BYTES_PER_DOUBLE 8
  91. #define PR_BYTES_PER_WORD   4
  92. #define PR_BYTES_PER_DWORD  8
  93. #define PR_BYTES_PER_WORD_LOG2   2
  94. #define PR_BYTES_PER_DWORD_LOG2  3
  95.  
  96. #define PR_BITS_PER_BYTE    8
  97. #define PR_BITS_PER_SHORT   16
  98. #define PR_BITS_PER_INT     32
  99. #define PR_BITS_PER_INT64   64
  100. #define PR_BITS_PER_LONG    32
  101. #define PR_BITS_PER_FLOAT   32
  102. #define PR_BITS_PER_DOUBLE  64
  103. #define PR_BITS_PER_WORD    32
  104.  
  105. #define PR_BITS_PER_BYTE_LOG2   3
  106. #define PR_BITS_PER_SHORT_LOG2  4
  107. #define PR_BITS_PER_INT_LOG2    5
  108. #define PR_BITS_PER_INT64_LOG2  6
  109. #define PR_BITS_PER_LONG_LOG2   5
  110. #define PR_BITS_PER_FLOAT_LOG2  5
  111. #define PR_BITS_PER_DOUBLE_LOG2 6
  112. #define PR_BITS_PER_WORD_LOG2   5
  113.  
  114. #define PR_ALIGN_OF_SHORT   2
  115. #define PR_ALIGN_OF_INT     4
  116. #define PR_ALIGN_OF_LONG    4
  117. #define PR_ALIGN_OF_INT64   8
  118. #define PR_ALIGN_OF_FLOAT   4
  119. #define PR_ALIGN_OF_DOUBLE  8
  120. #define PR_ALIGN_OF_POINTER 4
  121.  
  122. #elif defined(__alpha__)
  123. #define IS_LITTLE_ENDIAN 1
  124. #undef  IS_BIG_ENDIAN
  125. #define IS_64
  126.  
  127. #define PR_BYTES_PER_BYTE   1
  128. #define PR_BYTES_PER_SHORT  2
  129. #define PR_BYTES_PER_INT    4
  130. #define PR_BYTES_PER_INT64  8
  131. #define PR_BYTES_PER_LONG   8
  132. #define PR_BYTES_PER_FLOAT  4
  133. #define PR_BYTES_PER_DOUBLE 8
  134. #define PR_BYTES_PER_WORD   8
  135. #define PR_BYTES_PER_DWORD  8
  136.  
  137. #define PR_BITS_PER_BYTE    8
  138. #define PR_BITS_PER_SHORT   16
  139. #define PR_BITS_PER_INT     32
  140. #define PR_BITS_PER_INT64   64
  141. #define PR_BITS_PER_LONG    64
  142. #define PR_BITS_PER_FLOAT   32
  143. #define PR_BITS_PER_DOUBLE  64
  144. #define PR_BITS_PER_WORD    64
  145.  
  146. #define PR_BITS_PER_BYTE_LOG2   3
  147. #define PR_BITS_PER_SHORT_LOG2  4
  148. #define PR_BITS_PER_INT_LOG2    5
  149. #define PR_BITS_PER_INT64_LOG2  6
  150. #define PR_BITS_PER_LONG_LOG2   6
  151. #define PR_BITS_PER_FLOAT_LOG2  5
  152. #define PR_BITS_PER_DOUBLE_LOG2 6
  153. #define PR_BITS_PER_WORD_LOG2   6
  154.  
  155. #define PR_ALIGN_OF_SHORT   2
  156. #define PR_ALIGN_OF_INT     4
  157. #define PR_ALIGN_OF_LONG    8
  158. #define PR_ALIGN_OF_INT64   8
  159. #define PR_ALIGN_OF_FLOAT   4
  160. #define PR_ALIGN_OF_DOUBLE  8
  161. #define PR_ALIGN_OF_POINTER 8
  162.  
  163. #define PR_BYTES_PER_WORD_LOG2  3
  164. #define PR_BYTES_PER_DWORD_LOG2 3
  165.  
  166. #elif defined(__powerpc__) || defined(__m68k__)
  167.  
  168. #undef  IS_LITTLE_ENDIAN
  169. #define IS_BIG_ENDIAN    1
  170.  
  171. #define PR_BYTES_PER_BYTE   1
  172. #define PR_BYTES_PER_SHORT  2
  173. #define PR_BYTES_PER_INT    4
  174. #define PR_BYTES_PER_INT64  8
  175. #define PR_BYTES_PER_LONG   4
  176. #define PR_BYTES_PER_FLOAT  4
  177. #define PR_BYTES_PER_DOUBLE 8
  178. #define PR_BYTES_PER_WORD   4
  179. #define PR_BYTES_PER_DWORD  8
  180.  
  181. #define PR_BITS_PER_BYTE    8
  182. #define PR_BITS_PER_SHORT   16
  183. #define PR_BITS_PER_INT     32
  184. #define PR_BITS_PER_INT64   64
  185. #define PR_BITS_PER_LONG    32
  186. #define PR_BITS_PER_FLOAT   32
  187. #define PR_BITS_PER_DOUBLE  64
  188. #define PR_BITS_PER_WORD    32
  189.  
  190. #define PR_BITS_PER_BYTE_LOG2   3
  191. #define PR_BITS_PER_SHORT_LOG2  4
  192. #define PR_BITS_PER_INT_LOG2    5
  193. #define PR_BITS_PER_INT64_LOG2  6
  194. #define PR_BITS_PER_LONG_LOG2   5
  195. #define PR_BITS_PER_FLOAT_LOG2  5
  196. #define PR_BITS_PER_DOUBLE_LOG2 6
  197. #define PR_BITS_PER_WORD_LOG2   5
  198.  
  199. #define PR_ALIGN_OF_SHORT   2
  200. #define PR_ALIGN_OF_INT     4
  201. #define PR_ALIGN_OF_LONG    4
  202. #define PR_ALIGN_OF_INT64   4
  203. #define PR_ALIGN_OF_FLOAT   4
  204. #define PR_ALIGN_OF_DOUBLE  4
  205. #define PR_ALIGN_OF_POINTER 4
  206.  
  207. #define PR_BYTES_PER_WORD_LOG2   2
  208. #define PR_BYTES_PER_DWORD_LOG2  3
  209.  
  210. #else
  211.  
  212. #error Must define constants for type sizes here.
  213.  
  214. #endif
  215.  
  216.  
  217. #ifndef NO_NSPR_10_SUPPORT
  218.  
  219. #define BYTES_PER_BYTE        PR_BYTES_PER_BYTE
  220. #define BYTES_PER_SHORT     PR_BYTES_PER_SHORT
  221. #define BYTES_PER_INT         PR_BYTES_PER_INT
  222. #define BYTES_PER_INT64        PR_BYTES_PER_INT64
  223. #define BYTES_PER_LONG        PR_BYTES_PER_LONG
  224. #define BYTES_PER_FLOAT        PR_BYTES_PER_FLOAT
  225. #define BYTES_PER_DOUBLE    PR_BYTES_PER_DOUBLE
  226. #define BYTES_PER_WORD        PR_BYTES_PER_WORD
  227. #define BYTES_PER_DWORD        PR_BYTES_PER_DWORD
  228.  
  229. #define BITS_PER_BYTE        PR_BITS_PER_BYTE
  230. #define BITS_PER_SHORT        PR_BITS_PER_SHORT
  231. #define BITS_PER_INT        PR_BITS_PER_INT
  232. #define BITS_PER_INT64        PR_BITS_PER_INT64
  233. #define BITS_PER_LONG        PR_BITS_PER_LONG
  234. #define BITS_PER_FLOAT        PR_BITS_PER_FLOAT
  235. #define BITS_PER_DOUBLE        PR_BITS_PER_DOUBLE
  236. #define BITS_PER_WORD        PR_BITS_PER_WORD
  237.  
  238. #define BITS_PER_BYTE_LOG2    PR_BITS_PER_BYTE_LOG2
  239. #define BITS_PER_SHORT_LOG2    PR_BITS_PER_SHORT_LOG2
  240. #define BITS_PER_INT_LOG2    PR_BITS_PER_INT_LOG2
  241. #define BITS_PER_INT64_LOG2    PR_BITS_PER_INT64_LOG2
  242. #define BITS_PER_LONG_LOG2    PR_BITS_PER_LONG_LOG2
  243. #define BITS_PER_FLOAT_LOG2    PR_BITS_PER_FLOAT_LOG2
  244. #define BITS_PER_DOUBLE_LOG2     PR_BITS_PER_DOUBLE_LOG2
  245. #define BITS_PER_WORD_LOG2    PR_BITS_PER_WORD_LOG2
  246.  
  247. #define ALIGN_OF_SHORT        PR_ALIGN_OF_SHORT
  248. #define ALIGN_OF_INT        PR_ALIGN_OF_INT
  249. #define ALIGN_OF_LONG        PR_ALIGN_OF_LONG
  250. #define ALIGN_OF_INT64        PR_ALIGN_OF_INT64
  251. #define ALIGN_OF_FLOAT        PR_ALIGN_OF_FLOAT
  252. #define ALIGN_OF_DOUBLE        PR_ALIGN_OF_DOUBLE
  253. #define ALIGN_OF_POINTER    PR_ALIGN_OF_POINTER
  254. #define ALIGN_OF_WORD        PR_ALIGN_OF_WORD
  255.  
  256. #define BYTES_PER_WORD_LOG2    PR_BYTES_PER_WORD_LOG2
  257. #define BYTES_PER_DWORD_LOG2    PR_BYTES_PER_DWORD_LOG2
  258. #define WORDS_PER_DWORD_LOG2    PR_WORDS_PER_DWORD_LOG2
  259.  
  260. #endif /* NO_NSPR_10_SUPPORT */
  261.  
  262. #endif /* nspr_cpucfg___ */
  263.