PageRenderTime 72ms CodeModel.GetById 6ms RepoModel.GetById 0ms app.codeStats 0ms

/gecko_api/include/md/_linux.cfg

http://firefox-mac-pdf.googlecode.com/
Unknown | 718 lines | 610 code | 108 blank | 0 comment | 0 complexity | c198a238de0fa138ecda39f8f59d082c MD5 | raw file
  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. * This file is used by not only Linux but also other glibc systems
  39. * such as GNU/Hurd and GNU/k*BSD.
  40. */
  41. #ifndef nspr_cpucfg___
  42. #define nspr_cpucfg___
  43. #ifndef XP_UNIX
  44. #define XP_UNIX
  45. #endif
  46. #if !defined(LINUX) && defined(__linux__)
  47. #define LINUX
  48. #endif
  49. #ifdef __FreeBSD_kernel__
  50. #define PR_AF_INET6 28 /* same as AF_INET6 */
  51. #else
  52. #define PR_AF_INET6 10 /* same as AF_INET6 */
  53. #endif
  54. #ifdef __powerpc64__
  55. #undef IS_LITTLE_ENDIAN
  56. #define IS_BIG_ENDIAN 1
  57. #define IS_64
  58. #define PR_BYTES_PER_BYTE 1
  59. #define PR_BYTES_PER_SHORT 2
  60. #define PR_BYTES_PER_INT 4
  61. #define PR_BYTES_PER_INT64 8
  62. #define PR_BYTES_PER_LONG 8
  63. #define PR_BYTES_PER_FLOAT 4
  64. #define PR_BYTES_PER_DOUBLE 8
  65. #define PR_BYTES_PER_WORD 8
  66. #define PR_BYTES_PER_DWORD 8
  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. #define PR_BITS_PER_BYTE_LOG2 3
  76. #define PR_BITS_PER_SHORT_LOG2 4
  77. #define PR_BITS_PER_INT_LOG2 5
  78. #define PR_BITS_PER_INT64_LOG2 6
  79. #define PR_BITS_PER_LONG_LOG2 6
  80. #define PR_BITS_PER_FLOAT_LOG2 5
  81. #define PR_BITS_PER_DOUBLE_LOG2 6
  82. #define PR_BITS_PER_WORD_LOG2 6
  83. #define PR_ALIGN_OF_SHORT 2
  84. #define PR_ALIGN_OF_INT 4
  85. #define PR_ALIGN_OF_LONG 8
  86. #define PR_ALIGN_OF_INT64 8
  87. #define PR_ALIGN_OF_FLOAT 4
  88. #define PR_ALIGN_OF_DOUBLE 8
  89. #define PR_ALIGN_OF_POINTER 8
  90. #define PR_ALIGN_OF_WORD 8
  91. #define PR_BYTES_PER_WORD_LOG2 3
  92. #define PR_BYTES_PER_DWORD_LOG2 3
  93. #elif defined(__powerpc__)
  94. #undef IS_LITTLE_ENDIAN
  95. #define IS_BIG_ENDIAN 1
  96. #define PR_BYTES_PER_BYTE 1
  97. #define PR_BYTES_PER_SHORT 2
  98. #define PR_BYTES_PER_INT 4
  99. #define PR_BYTES_PER_INT64 8
  100. #define PR_BYTES_PER_LONG 4
  101. #define PR_BYTES_PER_FLOAT 4
  102. #define PR_BYTES_PER_DOUBLE 8
  103. #define PR_BYTES_PER_WORD 4
  104. #define PR_BYTES_PER_DWORD 8
  105. #define PR_BITS_PER_BYTE 8
  106. #define PR_BITS_PER_SHORT 16
  107. #define PR_BITS_PER_INT 32
  108. #define PR_BITS_PER_INT64 64
  109. #define PR_BITS_PER_LONG 32
  110. #define PR_BITS_PER_FLOAT 32
  111. #define PR_BITS_PER_DOUBLE 64
  112. #define PR_BITS_PER_WORD 32
  113. #define PR_BITS_PER_BYTE_LOG2 3
  114. #define PR_BITS_PER_SHORT_LOG2 4
  115. #define PR_BITS_PER_INT_LOG2 5
  116. #define PR_BITS_PER_INT64_LOG2 6
  117. #define PR_BITS_PER_LONG_LOG2 5
  118. #define PR_BITS_PER_FLOAT_LOG2 5
  119. #define PR_BITS_PER_DOUBLE_LOG2 6
  120. #define PR_BITS_PER_WORD_LOG2 5
  121. #define PR_ALIGN_OF_SHORT 2
  122. #define PR_ALIGN_OF_INT 4
  123. #define PR_ALIGN_OF_LONG 4
  124. #define PR_ALIGN_OF_INT64 8
  125. #define PR_ALIGN_OF_FLOAT 4
  126. #define PR_ALIGN_OF_DOUBLE 8
  127. #define PR_ALIGN_OF_POINTER 4
  128. #define PR_ALIGN_OF_WORD 4
  129. #define PR_BYTES_PER_WORD_LOG2 2
  130. #define PR_BYTES_PER_DWORD_LOG2 3
  131. #elif defined(__alpha)
  132. #define IS_LITTLE_ENDIAN 1
  133. #undef IS_BIG_ENDIAN
  134. #define IS_64
  135. #define PR_BYTES_PER_BYTE 1
  136. #define PR_BYTES_PER_SHORT 2
  137. #define PR_BYTES_PER_INT 4
  138. #define PR_BYTES_PER_INT64 8
  139. #define PR_BYTES_PER_LONG 8
  140. #define PR_BYTES_PER_FLOAT 4
  141. #define PR_BYTES_PER_DOUBLE 8
  142. #define PR_BYTES_PER_WORD 8
  143. #define PR_BYTES_PER_DWORD 8
  144. #define PR_BITS_PER_BYTE 8
  145. #define PR_BITS_PER_SHORT 16
  146. #define PR_BITS_PER_INT 32
  147. #define PR_BITS_PER_INT64 64
  148. #define PR_BITS_PER_LONG 64
  149. #define PR_BITS_PER_FLOAT 32
  150. #define PR_BITS_PER_DOUBLE 64
  151. #define PR_BITS_PER_WORD 64
  152. #define PR_BITS_PER_BYTE_LOG2 3
  153. #define PR_BITS_PER_SHORT_LOG2 4
  154. #define PR_BITS_PER_INT_LOG2 5
  155. #define PR_BITS_PER_INT64_LOG2 6
  156. #define PR_BITS_PER_LONG_LOG2 6
  157. #define PR_BITS_PER_FLOAT_LOG2 5
  158. #define PR_BITS_PER_DOUBLE_LOG2 6
  159. #define PR_BITS_PER_WORD_LOG2 6
  160. #define PR_ALIGN_OF_SHORT 2
  161. #define PR_ALIGN_OF_INT 4
  162. #define PR_ALIGN_OF_LONG 8
  163. #define PR_ALIGN_OF_INT64 8
  164. #define PR_ALIGN_OF_FLOAT 4
  165. #define PR_ALIGN_OF_DOUBLE 8
  166. #define PR_ALIGN_OF_POINTER 8
  167. #define PR_ALIGN_OF_WORD 8
  168. #define PR_BYTES_PER_WORD_LOG2 3
  169. #define PR_BYTES_PER_DWORD_LOG2 3
  170. #elif defined(__ia64__)
  171. #define IS_LITTLE_ENDIAN 1
  172. #undef IS_BIG_ENDIAN
  173. #define IS_64
  174. #define PR_BYTES_PER_BYTE 1
  175. #define PR_BYTES_PER_SHORT 2
  176. #define PR_BYTES_PER_INT 4
  177. #define PR_BYTES_PER_INT64 8
  178. #define PR_BYTES_PER_LONG 8
  179. #define PR_BYTES_PER_FLOAT 4
  180. #define PR_BYTES_PER_DOUBLE 8
  181. #define PR_BYTES_PER_WORD 8
  182. #define PR_BYTES_PER_DWORD 8
  183. #define PR_BITS_PER_BYTE 8
  184. #define PR_BITS_PER_SHORT 16
  185. #define PR_BITS_PER_INT 32
  186. #define PR_BITS_PER_INT64 64
  187. #define PR_BITS_PER_LONG 64
  188. #define PR_BITS_PER_FLOAT 32
  189. #define PR_BITS_PER_DOUBLE 64
  190. #define PR_BITS_PER_WORD 64
  191. #define PR_BITS_PER_BYTE_LOG2 3
  192. #define PR_BITS_PER_SHORT_LOG2 4
  193. #define PR_BITS_PER_INT_LOG2 5
  194. #define PR_BITS_PER_INT64_LOG2 6
  195. #define PR_BITS_PER_LONG_LOG2 6
  196. #define PR_BITS_PER_FLOAT_LOG2 5
  197. #define PR_BITS_PER_DOUBLE_LOG2 6
  198. #define PR_BITS_PER_WORD_LOG2 6
  199. #define PR_ALIGN_OF_SHORT 2
  200. #define PR_ALIGN_OF_INT 4
  201. #define PR_ALIGN_OF_LONG 8
  202. #define PR_ALIGN_OF_INT64 8
  203. #define PR_ALIGN_OF_FLOAT 4
  204. #define PR_ALIGN_OF_DOUBLE 8
  205. #define PR_ALIGN_OF_POINTER 8
  206. #define PR_ALIGN_OF_WORD 8
  207. #define PR_BYTES_PER_WORD_LOG2 3
  208. #define PR_BYTES_PER_DWORD_LOG2 3
  209. #elif defined(__x86_64__)
  210. #define IS_LITTLE_ENDIAN 1
  211. #undef IS_BIG_ENDIAN
  212. #define IS_64
  213. #define PR_BYTES_PER_BYTE 1
  214. #define PR_BYTES_PER_SHORT 2
  215. #define PR_BYTES_PER_INT 4
  216. #define PR_BYTES_PER_INT64 8
  217. #define PR_BYTES_PER_LONG 8
  218. #define PR_BYTES_PER_FLOAT 4
  219. #define PR_BYTES_PER_DOUBLE 8
  220. #define PR_BYTES_PER_WORD 8
  221. #define PR_BYTES_PER_DWORD 8
  222. #define PR_BITS_PER_BYTE 8
  223. #define PR_BITS_PER_SHORT 16
  224. #define PR_BITS_PER_INT 32
  225. #define PR_BITS_PER_INT64 64
  226. #define PR_BITS_PER_LONG 64
  227. #define PR_BITS_PER_FLOAT 32
  228. #define PR_BITS_PER_DOUBLE 64
  229. #define PR_BITS_PER_WORD 64
  230. #define PR_BITS_PER_BYTE_LOG2 3
  231. #define PR_BITS_PER_SHORT_LOG2 4
  232. #define PR_BITS_PER_INT_LOG2 5
  233. #define PR_BITS_PER_INT64_LOG2 6
  234. #define PR_BITS_PER_LONG_LOG2 6
  235. #define PR_BITS_PER_FLOAT_LOG2 5
  236. #define PR_BITS_PER_DOUBLE_LOG2 6
  237. #define PR_BITS_PER_WORD_LOG2 6
  238. #define PR_ALIGN_OF_SHORT 2
  239. #define PR_ALIGN_OF_INT 4
  240. #define PR_ALIGN_OF_LONG 8
  241. #define PR_ALIGN_OF_INT64 8
  242. #define PR_ALIGN_OF_FLOAT 4
  243. #define PR_ALIGN_OF_DOUBLE 8
  244. #define PR_ALIGN_OF_POINTER 8
  245. #define PR_ALIGN_OF_WORD 8
  246. #define PR_BYTES_PER_WORD_LOG2 3
  247. #define PR_BYTES_PER_DWORD_LOG2 3
  248. #elif defined(__mc68000__)
  249. #undef IS_LITTLE_ENDIAN
  250. #define IS_BIG_ENDIAN 1
  251. #define PR_BYTES_PER_BYTE 1
  252. #define PR_BYTES_PER_SHORT 2
  253. #define PR_BYTES_PER_INT 4
  254. #define PR_BYTES_PER_INT64 8
  255. #define PR_BYTES_PER_LONG 4
  256. #define PR_BYTES_PER_FLOAT 4
  257. #define PR_BYTES_PER_DOUBLE 8
  258. #define PR_BYTES_PER_WORD 4
  259. #define PR_BYTES_PER_DWORD 8
  260. #define PR_BITS_PER_BYTE 8
  261. #define PR_BITS_PER_SHORT 16
  262. #define PR_BITS_PER_INT 32
  263. #define PR_BITS_PER_INT64 64
  264. #define PR_BITS_PER_LONG 32
  265. #define PR_BITS_PER_FLOAT 32
  266. #define PR_BITS_PER_DOUBLE 64
  267. #define PR_BITS_PER_WORD 32
  268. #define PR_BITS_PER_BYTE_LOG2 3
  269. #define PR_BITS_PER_SHORT_LOG2 4
  270. #define PR_BITS_PER_INT_LOG2 5
  271. #define PR_BITS_PER_INT64_LOG2 6
  272. #define PR_BITS_PER_LONG_LOG2 5
  273. #define PR_BITS_PER_FLOAT_LOG2 5
  274. #define PR_BITS_PER_DOUBLE_LOG2 6
  275. #define PR_BITS_PER_WORD_LOG2 5
  276. #define PR_ALIGN_OF_SHORT 2
  277. #define PR_ALIGN_OF_INT 2
  278. #define PR_ALIGN_OF_LONG 2
  279. #define PR_ALIGN_OF_INT64 2
  280. #define PR_ALIGN_OF_FLOAT 2
  281. #define PR_ALIGN_OF_DOUBLE 2
  282. #define PR_ALIGN_OF_POINTER 2
  283. #define PR_ALIGN_OF_WORD 2
  284. #define PR_BYTES_PER_WORD_LOG2 2
  285. #define PR_BYTES_PER_DWORD_LOG2 3
  286. #elif defined(__sparc__)
  287. #undef IS_LITTLE_ENDIAN
  288. #define IS_BIG_ENDIAN 1
  289. #define PR_BYTES_PER_BYTE 1
  290. #define PR_BYTES_PER_SHORT 2
  291. #define PR_BYTES_PER_INT 4
  292. #define PR_BYTES_PER_INT64 8
  293. #define PR_BYTES_PER_LONG 4
  294. #define PR_BYTES_PER_FLOAT 4
  295. #define PR_BYTES_PER_DOUBLE 8
  296. #define PR_BYTES_PER_WORD 4
  297. #define PR_BYTES_PER_DWORD 8
  298. #define PR_BITS_PER_BYTE 8
  299. #define PR_BITS_PER_SHORT 16
  300. #define PR_BITS_PER_INT 32
  301. #define PR_BITS_PER_INT64 64
  302. #define PR_BITS_PER_LONG 32
  303. #define PR_BITS_PER_FLOAT 32
  304. #define PR_BITS_PER_DOUBLE 64
  305. #define PR_BITS_PER_WORD 32
  306. #define PR_BITS_PER_BYTE_LOG2 3
  307. #define PR_BITS_PER_SHORT_LOG2 4
  308. #define PR_BITS_PER_INT_LOG2 5
  309. #define PR_BITS_PER_INT64_LOG2 6
  310. #define PR_BITS_PER_LONG_LOG2 5
  311. #define PR_BITS_PER_FLOAT_LOG2 5
  312. #define PR_BITS_PER_DOUBLE_LOG2 6
  313. #define PR_BITS_PER_WORD_LOG2 5
  314. #define PR_ALIGN_OF_SHORT 2
  315. #define PR_ALIGN_OF_INT 4
  316. #define PR_ALIGN_OF_LONG 4
  317. #define PR_ALIGN_OF_INT64 8
  318. #define PR_ALIGN_OF_FLOAT 4
  319. #define PR_ALIGN_OF_DOUBLE 8
  320. #define PR_ALIGN_OF_POINTER 4
  321. #define PR_ALIGN_OF_WORD 4
  322. #define PR_BYTES_PER_WORD_LOG2 2
  323. #define PR_BYTES_PER_DWORD_LOG2 3
  324. #elif defined(__i386__)
  325. #define IS_LITTLE_ENDIAN 1
  326. #undef IS_BIG_ENDIAN
  327. #define PR_BYTES_PER_BYTE 1
  328. #define PR_BYTES_PER_SHORT 2
  329. #define PR_BYTES_PER_INT 4
  330. #define PR_BYTES_PER_INT64 8
  331. #define PR_BYTES_PER_LONG 4
  332. #define PR_BYTES_PER_FLOAT 4
  333. #define PR_BYTES_PER_DOUBLE 8
  334. #define PR_BYTES_PER_WORD 4
  335. #define PR_BYTES_PER_DWORD 8
  336. #define PR_BITS_PER_BYTE 8
  337. #define PR_BITS_PER_SHORT 16
  338. #define PR_BITS_PER_INT 32
  339. #define PR_BITS_PER_INT64 64
  340. #define PR_BITS_PER_LONG 32
  341. #define PR_BITS_PER_FLOAT 32
  342. #define PR_BITS_PER_DOUBLE 64
  343. #define PR_BITS_PER_WORD 32
  344. #define PR_BITS_PER_BYTE_LOG2 3
  345. #define PR_BITS_PER_SHORT_LOG2 4
  346. #define PR_BITS_PER_INT_LOG2 5
  347. #define PR_BITS_PER_INT64_LOG2 6
  348. #define PR_BITS_PER_LONG_LOG2 5
  349. #define PR_BITS_PER_FLOAT_LOG2 5
  350. #define PR_BITS_PER_DOUBLE_LOG2 6
  351. #define PR_BITS_PER_WORD_LOG2 5
  352. #define PR_ALIGN_OF_SHORT 2
  353. #define PR_ALIGN_OF_INT 4
  354. #define PR_ALIGN_OF_LONG 4
  355. #define PR_ALIGN_OF_INT64 4
  356. #define PR_ALIGN_OF_FLOAT 4
  357. #define PR_ALIGN_OF_DOUBLE 4
  358. #define PR_ALIGN_OF_POINTER 4
  359. #define PR_ALIGN_OF_WORD 4
  360. #define PR_BYTES_PER_WORD_LOG2 2
  361. #define PR_BYTES_PER_DWORD_LOG2 3
  362. #elif defined(__mips__)
  363. #ifdef __MIPSEB__
  364. #define IS_BIG_ENDIAN 1
  365. #undef IS_LITTLE_ENDIAN
  366. #elif defined(__MIPSEL__)
  367. #define IS_LITTLE_ENDIAN 1
  368. #undef IS_BIG_ENDIAN
  369. #else
  370. #error "Unknown MIPS endianness."
  371. #endif
  372. #define PR_BYTES_PER_BYTE 1
  373. #define PR_BYTES_PER_SHORT 2
  374. #define PR_BYTES_PER_INT 4
  375. #define PR_BYTES_PER_INT64 8
  376. #define PR_BYTES_PER_LONG 4
  377. #define PR_BYTES_PER_FLOAT 4
  378. #define PR_BYTES_PER_DOUBLE 8
  379. #define PR_BYTES_PER_WORD 4
  380. #define PR_BYTES_PER_DWORD 8
  381. #define PR_BITS_PER_BYTE 8
  382. #define PR_BITS_PER_SHORT 16
  383. #define PR_BITS_PER_INT 32
  384. #define PR_BITS_PER_INT64 64
  385. #define PR_BITS_PER_LONG 32
  386. #define PR_BITS_PER_FLOAT 32
  387. #define PR_BITS_PER_DOUBLE 64
  388. #define PR_BITS_PER_WORD 32
  389. #define PR_BITS_PER_BYTE_LOG2 3
  390. #define PR_BITS_PER_SHORT_LOG2 4
  391. #define PR_BITS_PER_INT_LOG2 5
  392. #define PR_BITS_PER_INT64_LOG2 6
  393. #define PR_BITS_PER_LONG_LOG2 5
  394. #define PR_BITS_PER_FLOAT_LOG2 5
  395. #define PR_BITS_PER_DOUBLE_LOG2 6
  396. #define PR_BITS_PER_WORD_LOG2 5
  397. #define PR_ALIGN_OF_SHORT 2
  398. #define PR_ALIGN_OF_INT 4
  399. #define PR_ALIGN_OF_LONG 4
  400. #define PR_ALIGN_OF_INT64 8
  401. #define PR_ALIGN_OF_FLOAT 4
  402. #define PR_ALIGN_OF_DOUBLE 8
  403. #define PR_ALIGN_OF_POINTER 4
  404. #define PR_ALIGN_OF_WORD 4
  405. #define PR_BYTES_PER_WORD_LOG2 2
  406. #define PR_BYTES_PER_DWORD_LOG2 3
  407. #elif defined(__arm__)
  408. #define IS_LITTLE_ENDIAN 1
  409. #undef IS_BIG_ENDIAN
  410. #define PR_BYTES_PER_BYTE 1
  411. #define PR_BYTES_PER_SHORT 2
  412. #define PR_BYTES_PER_INT 4
  413. #define PR_BYTES_PER_INT64 8
  414. #define PR_BYTES_PER_LONG 4
  415. #define PR_BYTES_PER_FLOAT 4
  416. #define PR_BYTES_PER_DOUBLE 8
  417. #define PR_BYTES_PER_WORD 4
  418. #define PR_BYTES_PER_DWORD 8
  419. #define PR_BITS_PER_BYTE 8
  420. #define PR_BITS_PER_SHORT 16
  421. #define PR_BITS_PER_INT 32
  422. #define PR_BITS_PER_INT64 64
  423. #define PR_BITS_PER_LONG 32
  424. #define PR_BITS_PER_FLOAT 32
  425. #define PR_BITS_PER_DOUBLE 64
  426. #define PR_BITS_PER_WORD 32
  427. #define PR_BITS_PER_BYTE_LOG2 3
  428. #define PR_BITS_PER_SHORT_LOG2 4
  429. #define PR_BITS_PER_INT_LOG2 5
  430. #define PR_BITS_PER_INT64_LOG2 6
  431. #define PR_BITS_PER_LONG_LOG2 5
  432. #define PR_BITS_PER_FLOAT_LOG2 5
  433. #define PR_BITS_PER_DOUBLE_LOG2 6
  434. #define PR_BITS_PER_WORD_LOG2 5
  435. #define PR_ALIGN_OF_SHORT 2
  436. #define PR_ALIGN_OF_INT 4
  437. #define PR_ALIGN_OF_LONG 4
  438. #define PR_ALIGN_OF_INT64 4
  439. #define PR_ALIGN_OF_FLOAT 4
  440. #define PR_ALIGN_OF_DOUBLE 4
  441. #define PR_ALIGN_OF_POINTER 4
  442. #define PR_ALIGN_OF_WORD 4
  443. #define PR_BYTES_PER_WORD_LOG2 2
  444. #define PR_BYTES_PER_DWORD_LOG2 3
  445. #elif defined(__hppa__)
  446. #undef IS_LITTLE_ENDIAN
  447. #define IS_BIG_ENDIAN 1
  448. #define PR_BYTES_PER_BYTE 1
  449. #define PR_BYTES_PER_SHORT 2
  450. #define PR_BYTES_PER_INT 4
  451. #define PR_BYTES_PER_INT64 8
  452. #define PR_BYTES_PER_LONG 4
  453. #define PR_BYTES_PER_FLOAT 4
  454. #define PR_BYTES_PER_DOUBLE 8
  455. #define PR_BYTES_PER_WORD 4
  456. #define PR_BYTES_PER_DWORD 8
  457. #define PR_BITS_PER_BYTE 8
  458. #define PR_BITS_PER_SHORT 16
  459. #define PR_BITS_PER_INT 32
  460. #define PR_BITS_PER_INT64 64
  461. #define PR_BITS_PER_LONG 32
  462. #define PR_BITS_PER_FLOAT 32
  463. #define PR_BITS_PER_DOUBLE 64
  464. #define PR_BITS_PER_WORD 32
  465. #define PR_BITS_PER_BYTE_LOG2 3
  466. #define PR_BITS_PER_SHORT_LOG2 4
  467. #define PR_BITS_PER_INT_LOG2 5
  468. #define PR_BITS_PER_INT64_LOG2 6
  469. #define PR_BITS_PER_LONG_LOG2 5
  470. #define PR_BITS_PER_FLOAT_LOG2 5
  471. #define PR_BITS_PER_DOUBLE_LOG2 6
  472. #define PR_BITS_PER_WORD_LOG2 5
  473. #define PR_ALIGN_OF_SHORT 2
  474. #define PR_ALIGN_OF_INT 4
  475. #define PR_ALIGN_OF_LONG 4
  476. #define PR_ALIGN_OF_INT64 8
  477. #define PR_ALIGN_OF_FLOAT 4
  478. #define PR_ALIGN_OF_DOUBLE 8
  479. #define PR_ALIGN_OF_POINTER 4
  480. #define PR_ALIGN_OF_WORD 4
  481. #define PR_BYTES_PER_WORD_LOG2 2
  482. #define PR_BYTES_PER_DWORD_LOG2 3
  483. #elif defined(__s390x__)
  484. #define IS_BIG_ENDIAN 1
  485. #undef IS_LITTLE_ENDIAN
  486. #define IS_64
  487. #define PR_BYTES_PER_BYTE 1
  488. #define PR_BYTES_PER_SHORT 2
  489. #define PR_BYTES_PER_INT 4
  490. #define PR_BYTES_PER_INT64 8
  491. #define PR_BYTES_PER_LONG 8
  492. #define PR_BYTES_PER_FLOAT 4
  493. #define PR_BYTES_PER_DOUBLE 8
  494. #define PR_BYTES_PER_WORD 8
  495. #define PR_BYTES_PER_DWORD 8
  496. #define PR_BITS_PER_BYTE 8
  497. #define PR_BITS_PER_SHORT 16
  498. #define PR_BITS_PER_INT 32
  499. #define PR_BITS_PER_INT64 64
  500. #define PR_BITS_PER_LONG 64
  501. #define PR_BITS_PER_FLOAT 32
  502. #define PR_BITS_PER_DOUBLE 64
  503. #define PR_BITS_PER_WORD 64
  504. #define PR_BITS_PER_BYTE_LOG2 3
  505. #define PR_BITS_PER_SHORT_LOG2 4
  506. #define PR_BITS_PER_INT_LOG2 5
  507. #define PR_BITS_PER_INT64_LOG2 6
  508. #define PR_BITS_PER_LONG_LOG2 6
  509. #define PR_BITS_PER_FLOAT_LOG2 5
  510. #define PR_BITS_PER_DOUBLE_LOG2 6
  511. #define PR_BITS_PER_WORD_LOG2 6
  512. #define PR_ALIGN_OF_SHORT 2
  513. #define PR_ALIGN_OF_INT 4
  514. #define PR_ALIGN_OF_LONG 8
  515. #define PR_ALIGN_OF_INT64 8
  516. #define PR_ALIGN_OF_FLOAT 4
  517. #define PR_ALIGN_OF_DOUBLE 8
  518. #define PR_ALIGN_OF_POINTER 8
  519. #define PR_ALIGN_OF_WORD 8
  520. #define PR_BYTES_PER_WORD_LOG2 3
  521. #define PR_BYTES_PER_DWORD_LOG2 3
  522. #elif defined(__s390__)
  523. #define IS_BIG_ENDIAN 1
  524. #undef IS_LITTLE_ENDIAN
  525. #define PR_BYTES_PER_BYTE 1
  526. #define PR_BYTES_PER_SHORT 2
  527. #define PR_BYTES_PER_INT 4
  528. #define PR_BYTES_PER_INT64 8
  529. #define PR_BYTES_PER_LONG 4
  530. #define PR_BYTES_PER_FLOAT 4
  531. #define PR_BYTES_PER_DOUBLE 8
  532. #define PR_BYTES_PER_WORD 4
  533. #define PR_BYTES_PER_DWORD 8
  534. #define PR_BITS_PER_BYTE 8
  535. #define PR_BITS_PER_SHORT 16
  536. #define PR_BITS_PER_INT 32
  537. #define PR_BITS_PER_INT64 64
  538. #define PR_BITS_PER_LONG 32
  539. #define PR_BITS_PER_FLOAT 32
  540. #define PR_BITS_PER_DOUBLE 64
  541. #define PR_BITS_PER_WORD 32
  542. #define PR_BITS_PER_BYTE_LOG2 3
  543. #define PR_BITS_PER_SHORT_LOG2 4
  544. #define PR_BITS_PER_INT_LOG2 5
  545. #define PR_BITS_PER_INT64_LOG2 6
  546. #define PR_BITS_PER_LONG_LOG2 5
  547. #define PR_BITS_PER_FLOAT_LOG2 5
  548. #define PR_BITS_PER_DOUBLE_LOG2 6
  549. #define PR_BITS_PER_WORD_LOG2 5
  550. #define PR_ALIGN_OF_SHORT 2
  551. #define PR_ALIGN_OF_INT 4
  552. #define PR_ALIGN_OF_LONG 4
  553. #define PR_ALIGN_OF_INT64 4
  554. #define PR_ALIGN_OF_FLOAT 4
  555. #define PR_ALIGN_OF_DOUBLE 4
  556. #define PR_ALIGN_OF_POINTER 4
  557. #define PR_ALIGN_OF_WORD 4
  558. #define PR_BYTES_PER_WORD_LOG2 2
  559. #define PR_BYTES_PER_DWORD_LOG2 3
  560. #else
  561. #error "Unknown CPU architecture"
  562. #endif
  563. #ifndef HAVE_LONG_LONG
  564. #define HAVE_LONG_LONG
  565. #endif
  566. #if PR_ALIGN_OF_DOUBLE == 8
  567. #define HAVE_ALIGNED_DOUBLES
  568. #endif
  569. #if PR_ALIGN_OF_INT64 == 8
  570. #define HAVE_ALIGNED_LONGLONGS
  571. #endif
  572. #ifndef NO_NSPR_10_SUPPORT
  573. #define BYTES_PER_BYTE PR_BYTES_PER_BYTE
  574. #define BYTES_PER_SHORT PR_BYTES_PER_SHORT
  575. #define BYTES_PER_INT PR_BYTES_PER_INT
  576. #define BYTES_PER_INT64 PR_BYTES_PER_INT64
  577. #define BYTES_PER_LONG PR_BYTES_PER_LONG
  578. #define BYTES_PER_FLOAT PR_BYTES_PER_FLOAT
  579. #define BYTES_PER_DOUBLE PR_BYTES_PER_DOUBLE
  580. #define BYTES_PER_WORD PR_BYTES_PER_WORD
  581. #define BYTES_PER_DWORD PR_BYTES_PER_DWORD
  582. #define BITS_PER_BYTE PR_BITS_PER_BYTE
  583. #define BITS_PER_SHORT PR_BITS_PER_SHORT
  584. #define BITS_PER_INT PR_BITS_PER_INT
  585. #define BITS_PER_INT64 PR_BITS_PER_INT64
  586. #define BITS_PER_LONG PR_BITS_PER_LONG
  587. #define BITS_PER_FLOAT PR_BITS_PER_FLOAT
  588. #define BITS_PER_DOUBLE PR_BITS_PER_DOUBLE
  589. #define BITS_PER_WORD PR_BITS_PER_WORD
  590. #define BITS_PER_BYTE_LOG2 PR_BITS_PER_BYTE_LOG2
  591. #define BITS_PER_SHORT_LOG2 PR_BITS_PER_SHORT_LOG2
  592. #define BITS_PER_INT_LOG2 PR_BITS_PER_INT_LOG2
  593. #define BITS_PER_INT64_LOG2 PR_BITS_PER_INT64_LOG2
  594. #define BITS_PER_LONG_LOG2 PR_BITS_PER_LONG_LOG2
  595. #define BITS_PER_FLOAT_LOG2 PR_BITS_PER_FLOAT_LOG2
  596. #define BITS_PER_DOUBLE_LOG2 PR_BITS_PER_DOUBLE_LOG2
  597. #define BITS_PER_WORD_LOG2 PR_BITS_PER_WORD_LOG2
  598. #define ALIGN_OF_SHORT PR_ALIGN_OF_SHORT
  599. #define ALIGN_OF_INT PR_ALIGN_OF_INT
  600. #define ALIGN_OF_LONG PR_ALIGN_OF_LONG
  601. #define ALIGN_OF_INT64 PR_ALIGN_OF_INT64
  602. #define ALIGN_OF_FLOAT PR_ALIGN_OF_FLOAT
  603. #define ALIGN_OF_DOUBLE PR_ALIGN_OF_DOUBLE
  604. #define ALIGN_OF_POINTER PR_ALIGN_OF_POINTER
  605. #define ALIGN_OF_WORD PR_ALIGN_OF_WORD
  606. #define BYTES_PER_WORD_LOG2 PR_BYTES_PER_WORD_LOG2
  607. #define BYTES_PER_DWORD_LOG2 PR_BYTES_PER_DWORD_LOG2
  608. #define WORDS_PER_DWORD_LOG2 PR_WORDS_PER_DWORD_LOG2
  609. #endif /* NO_NSPR_10_SUPPORT */
  610. #endif /* nspr_cpucfg___ */