Upload Tizen:Base source
[toolchains/nspr.git] / mozilla / nsprpub / pr / include / md / _winnt.cfg
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
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 the Netscape Portable Runtime (NSPR).
17  *
18  * The Initial Developer of the Original Code is
19  * Netscape Communications Corporation.
20  * Portions created by the Initial Developer are Copyright (C) 1998-2000
21  * the Initial Developer. All Rights Reserved.
22  *
23  * Contributor(s):
24  *
25  * Alternatively, the contents of this file may be used under the terms of
26  * either the GNU General Public License Version 2 or later (the "GPL"), or
27  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
28  * in which case the provisions of the GPL or the LGPL are applicable instead
29  * of those above. If you wish to allow use of your version of this file only
30  * under the terms of either the GPL or the LGPL, and not to allow others to
31  * use your version of this file under the terms of the MPL, indicate your
32  * decision by deleting the provisions above and replace them with the notice
33  * and other provisions required by the GPL or the LGPL. If you do not delete
34  * the provisions above, a recipient may use your version of this file under
35  * the terms of any one of the MPL, the GPL or the LGPL.
36  *
37  * ***** END LICENSE BLOCK ***** */
38 #ifndef nspr_cpucfg___
39 #define nspr_cpucfg___
40
41 #ifndef XP_PC
42 #define XP_PC
43 #endif
44
45 #ifndef WIN32
46 #define WIN32
47 #endif
48
49 #ifndef WINNT
50 #define WINNT
51 #endif
52
53 #define PR_AF_INET6 23  /* same as AF_INET6 */
54
55 #if defined(_M_IX86) || defined(_X86_)
56
57 #define IS_LITTLE_ENDIAN 1
58 #undef  IS_BIG_ENDIAN
59
60 #define PR_BYTES_PER_BYTE   1
61 #define PR_BYTES_PER_SHORT  2
62 #define PR_BYTES_PER_INT    4
63 #define PR_BYTES_PER_INT64  8
64 #define PR_BYTES_PER_LONG   4
65 #define PR_BYTES_PER_FLOAT  4
66 #define PR_BYTES_PER_WORD       4
67 #define PR_BYTES_PER_DWORD      8
68 #define PR_BYTES_PER_DOUBLE 8
69
70 #define PR_BITS_PER_BYTE    8
71 #define PR_BITS_PER_SHORT   16
72 #define PR_BITS_PER_INT     32
73 #define PR_BITS_PER_INT64   64
74 #define PR_BITS_PER_LONG    32
75 #define PR_BITS_PER_FLOAT   32
76 #define PR_BITS_PER_WORD        32
77 #define PR_BITS_PER_DWORD       64
78 #define PR_BITS_PER_DOUBLE  64
79
80 #define PR_BITS_PER_BYTE_LOG2   3
81 #define PR_BITS_PER_SHORT_LOG2  4
82 #define PR_BITS_PER_INT_LOG2    5
83 #define PR_BITS_PER_INT64_LOG2  6
84 #define PR_BITS_PER_LONG_LOG2   5
85 #define PR_BITS_PER_FLOAT_LOG2  5
86 #define PR_BITS_PER_WORD_LOG2   5
87 #define PR_BITS_PER_DWORD_LOG2  6
88 #define PR_BITS_PER_DOUBLE_LOG2 6
89
90 #define PR_ALIGN_OF_SHORT   2
91 #define PR_ALIGN_OF_INT     4
92 #define PR_ALIGN_OF_LONG    4
93 #define PR_ALIGN_OF_INT64   8
94 #define PR_ALIGN_OF_FLOAT   4
95 #define PR_ALIGN_OF_WORD        4
96 #define PR_ALIGN_OF_DWORD       8
97 #define PR_ALIGN_OF_DOUBLE  4
98 #define PR_ALIGN_OF_POINTER 4
99
100 #define PR_BYTES_PER_WORD_LOG2  2
101 #define PR_BYTES_PER_DWORD_LOG2 2
102
103 #elif defined(_M_X64) || defined(_M_AMD64) || defined(_AMD64_)
104
105 #define IS_LITTLE_ENDIAN 1
106 #undef  IS_BIG_ENDIAN
107 #define IS_64
108
109 #define PR_BYTES_PER_BYTE   1
110 #define PR_BYTES_PER_SHORT  2
111 #define PR_BYTES_PER_INT    4
112 #define PR_BYTES_PER_INT64  8
113 #define PR_BYTES_PER_LONG   4
114 #define PR_BYTES_PER_FLOAT  4
115 #define PR_BYTES_PER_WORD   8
116 #define PR_BYTES_PER_DWORD  8
117 #define PR_BYTES_PER_DOUBLE 8
118
119 #define PR_BITS_PER_BYTE    8
120 #define PR_BITS_PER_SHORT   16
121 #define PR_BITS_PER_INT     32
122 #define PR_BITS_PER_INT64   64
123 #define PR_BITS_PER_LONG    32
124 #define PR_BITS_PER_FLOAT   32
125 #define PR_BITS_PER_WORD    64
126 #define PR_BITS_PER_DWORD   64
127 #define PR_BITS_PER_DOUBLE  64
128
129 #define PR_BITS_PER_BYTE_LOG2   3
130 #define PR_BITS_PER_SHORT_LOG2  4
131 #define PR_BITS_PER_INT_LOG2    5
132 #define PR_BITS_PER_INT64_LOG2  6
133 #define PR_BITS_PER_LONG_LOG2   5
134 #define PR_BITS_PER_FLOAT_LOG2  5
135 #define PR_BITS_PER_WORD_LOG2   6
136 #define PR_BITS_PER_DWORD_LOG2  6
137 #define PR_BITS_PER_DOUBLE_LOG2 6
138
139 #define PR_ALIGN_OF_SHORT   2
140 #define PR_ALIGN_OF_INT     4
141 #define PR_ALIGN_OF_LONG    4
142 #define PR_ALIGN_OF_INT64   8
143 #define PR_ALIGN_OF_FLOAT   4
144 #define PR_ALIGN_OF_WORD    8
145 #define PR_ALIGN_OF_DWORD   8
146 #define PR_ALIGN_OF_DOUBLE  8
147 #define PR_ALIGN_OF_POINTER 8
148
149 #define PR_BYTES_PER_WORD_LOG2  3
150 #define PR_BYTES_PER_DWORD_LOG2 3
151
152 #elif defined(_M_IA64) || defined(_IA64_)
153
154 #define IS_LITTLE_ENDIAN 1
155 #undef  IS_BIG_ENDIAN
156 #define IS_64
157
158 #define PR_BYTES_PER_BYTE   1
159 #define PR_BYTES_PER_SHORT  2
160 #define PR_BYTES_PER_INT    4
161 #define PR_BYTES_PER_INT64  8
162 #define PR_BYTES_PER_LONG   4
163 #define PR_BYTES_PER_FLOAT  4
164 #define PR_BYTES_PER_WORD   8
165 #define PR_BYTES_PER_DWORD  8
166 #define PR_BYTES_PER_DOUBLE 8
167
168 #define PR_BITS_PER_BYTE    8
169 #define PR_BITS_PER_SHORT   16
170 #define PR_BITS_PER_INT     32
171 #define PR_BITS_PER_INT64   64
172 #define PR_BITS_PER_LONG    32
173 #define PR_BITS_PER_FLOAT   32
174 #define PR_BITS_PER_WORD    64
175 #define PR_BITS_PER_DWORD   64
176 #define PR_BITS_PER_DOUBLE  64
177
178 #define PR_BITS_PER_BYTE_LOG2   3
179 #define PR_BITS_PER_SHORT_LOG2  4
180 #define PR_BITS_PER_INT_LOG2    5
181 #define PR_BITS_PER_INT64_LOG2  6
182 #define PR_BITS_PER_LONG_LOG2   5
183 #define PR_BITS_PER_FLOAT_LOG2  5
184 #define PR_BITS_PER_WORD_LOG2   6
185 #define PR_BITS_PER_DWORD_LOG2  6
186 #define PR_BITS_PER_DOUBLE_LOG2 6
187
188 #define PR_ALIGN_OF_SHORT   2
189 #define PR_ALIGN_OF_INT     4
190 #define PR_ALIGN_OF_LONG    4
191 #define PR_ALIGN_OF_INT64   8
192 #define PR_ALIGN_OF_FLOAT   4
193 #define PR_ALIGN_OF_WORD    8
194 #define PR_ALIGN_OF_DWORD   8
195 #define PR_ALIGN_OF_DOUBLE  8
196 #define PR_ALIGN_OF_POINTER 8
197
198 #define PR_BYTES_PER_WORD_LOG2  3
199 #define PR_BYTES_PER_DWORD_LOG2 3
200
201 #else /* defined(_M_IX86) || defined(_X86_) */
202
203 #error unknown processor architecture
204
205 #endif /* defined(_M_IX86) || defined(_X86_) */
206
207 #ifndef HAVE_LONG_LONG
208 #define HAVE_LONG_LONG
209 #endif
210
211 #ifndef NO_NSPR_10_SUPPORT
212
213 #define BYTES_PER_BYTE      PR_BYTES_PER_BYTE
214 #define BYTES_PER_SHORT     PR_BYTES_PER_SHORT
215 #define BYTES_PER_INT       PR_BYTES_PER_INT
216 #define BYTES_PER_INT64     PR_BYTES_PER_INT64
217 #define BYTES_PER_LONG      PR_BYTES_PER_LONG
218 #define BYTES_PER_FLOAT     PR_BYTES_PER_FLOAT
219 #define BYTES_PER_DOUBLE    PR_BYTES_PER_DOUBLE
220 #define BYTES_PER_WORD      PR_BYTES_PER_WORD
221 #define BYTES_PER_DWORD     PR_BYTES_PER_DWORD
222
223 #define BITS_PER_BYTE       PR_BITS_PER_BYTE
224 #define BITS_PER_SHORT      PR_BITS_PER_SHORT
225 #define BITS_PER_INT        PR_BITS_PER_INT
226 #define BITS_PER_INT64      PR_BITS_PER_INT64
227 #define BITS_PER_LONG       PR_BITS_PER_LONG
228 #define BITS_PER_FLOAT      PR_BITS_PER_FLOAT
229 #define BITS_PER_DOUBLE     PR_BITS_PER_DOUBLE
230 #define BITS_PER_WORD       PR_BITS_PER_WORD
231
232 #define BITS_PER_BYTE_LOG2  PR_BITS_PER_BYTE_LOG2
233 #define BITS_PER_SHORT_LOG2 PR_BITS_PER_SHORT_LOG2
234 #define BITS_PER_INT_LOG2   PR_BITS_PER_INT_LOG2
235 #define BITS_PER_INT64_LOG2 PR_BITS_PER_INT64_LOG2
236 #define BITS_PER_LONG_LOG2  PR_BITS_PER_LONG_LOG2
237 #define BITS_PER_FLOAT_LOG2 PR_BITS_PER_FLOAT_LOG2
238 #define BITS_PER_DOUBLE_LOG2    PR_BITS_PER_DOUBLE_LOG2
239 #define BITS_PER_WORD_LOG2  PR_BITS_PER_WORD_LOG2
240
241 #define ALIGN_OF_SHORT      PR_ALIGN_OF_SHORT
242 #define ALIGN_OF_INT        PR_ALIGN_OF_INT
243 #define ALIGN_OF_LONG       PR_ALIGN_OF_LONG
244 #define ALIGN_OF_INT64      PR_ALIGN_OF_INT64
245 #define ALIGN_OF_FLOAT      PR_ALIGN_OF_FLOAT
246 #define ALIGN_OF_DOUBLE     PR_ALIGN_OF_DOUBLE
247 #define ALIGN_OF_POINTER    PR_ALIGN_OF_POINTER
248 #define ALIGN_OF_WORD       PR_ALIGN_OF_WORD
249
250 #define BYTES_PER_WORD_LOG2             PR_BYTES_PER_WORD_LOG2
251 #define BYTES_PER_DWORD_LOG2    PR_BYTES_PER_DWORD_LOG2
252 #define WORDS_PER_DWORD_LOG2    PR_WORDS_PER_DWORD_LOG2
253
254 #endif /* NO_NSPR_10_SUPPORT */
255
256 #endif /* nspr_cpucfg___ */