Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(387)

Side by Side Diff: public/common/unicode/pwin32.h

Issue 18836004: Move ICU headers from public/{common,i18n} to source/{common,i18n} (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/icu46.git@master
Patch Set: same as ps #3. retry uploading Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « public/common/unicode/putil.h ('k') | public/common/unicode/rbbi.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /*
2 ******************************************************************************
3 *
4 * Copyright (C) 1997-2010, International Business Machines
5 * Corporation and others. All Rights Reserved.
6 *
7 ******************************************************************************
8 *
9 * FILE NAME : platform.h
10 *
11 * Date Name Description
12 * 05/13/98 nos Creation (content moved here from ptypes.h).
13 * 03/02/99 stephen Added AS400 support.
14 * 03/30/99 stephen Added Linux support.
15 * 04/13/99 stephen Reworked for autoconf.
16 ******************************************************************************
17 */
18
19 /**
20 * \file
21 * \brief Configuration constants for the Windows platform
22 */
23
24 /** Define the platform we're on. */
25 #ifndef U_WINDOWS
26 #define U_WINDOWS
27 #endif
28
29 #if _MSC_VER >= 1700
30 #include <stdint.h>
31 #endif
32
33 #if defined(__BORLANDC__)
34 #define U_HAVE_PLACEMENT_NEW 0
35 #define __STDC_CONSTANT_MACROS
36 #endif
37
38 /** _MSC_VER is used to detect the Microsoft compiler. */
39 #if defined(_MSC_VER)
40 #define U_INT64_IS_LONG_LONG 0
41 #else
42 #define U_INT64_IS_LONG_LONG 1
43 #endif
44
45 /** Define whether inttypes.h is available */
46 #ifndef U_HAVE_INTTYPES_H
47 # if defined(__BORLANDC__) || defined(__MINGW32__)
48 # define U_HAVE_INTTYPES_H 1
49 # else
50 # define U_HAVE_INTTYPES_H 0
51 # endif
52 #endif
53
54 /**
55 * Define what support for C++ streams is available.
56 * If U_IOSTREAM_SOURCE is set to 199711, then &lt;iostream&gt; is available
57 * (1997711 is the date the ISO/IEC C++ FDIS was published), and then
58 * one should qualify streams using the std namespace in ICU header
59 * files.
60 * If U_IOSTREAM_SOURCE is set to 198506, then &lt;iostream.h&gt; is
61 * available instead (198506 is the date when Stroustrup published
62 * "An Extensible I/O Facility for C++" at the summer USENIX conference).
63 * If U_IOSTREAM_SOURCE is 0, then C++ streams are not available and
64 * support for them will be silently suppressed in ICU.
65 *
66 */
67
68 #ifndef U_IOSTREAM_SOURCE
69 #define U_IOSTREAM_SOURCE 199711
70 #endif
71
72 /** @{
73 * Determines whether specific types are available */
74 #ifndef U_HAVE_INT8_T
75 #define U_HAVE_INT8_T U_HAVE_INTTYPES_H
76 #endif
77
78 #ifndef U_HAVE_UINT8_T
79 #define U_HAVE_UINT8_T U_HAVE_INTTYPES_H
80 #endif
81
82 #ifndef U_HAVE_INT16_T
83 #define U_HAVE_INT16_T U_HAVE_INTTYPES_H
84 #endif
85
86 #ifndef U_HAVE_UINT16_T
87 #define U_HAVE_UINT16_T U_HAVE_INTTYPES_H
88 #endif
89
90 #ifndef U_HAVE_INT32_T
91 #define U_HAVE_INT32_T U_HAVE_INTTYPES_H
92 #endif
93
94 #ifndef U_HAVE_UINT32_T
95 #define U_HAVE_UINT32_T U_HAVE_INTTYPES_H
96 #endif
97
98 #ifndef U_HAVE_INT64_T
99 #define U_HAVE_INT64_T U_HAVE_INTTYPES_H
100 #endif
101
102 #ifndef U_HAVE_UINT64_T
103 #define U_HAVE_UINT64_T U_HAVE_INTTYPES_H
104 #endif
105
106 /** @} */
107
108 /** Define 64 bit limits */
109 #if !U_INT64_IS_LONG_LONG
110 # ifndef INT64_C
111 # define INT64_C(x) ((int64_t)x)
112 # endif
113 # ifndef UINT64_C
114 # define UINT64_C(x) ((uint64_t)x)
115 # endif
116 /** else use the umachine.h definition */
117 #endif
118
119 /*===========================================================================*/
120 /** @{
121 * Generic data types */
122 /*===========================================================================*/
123
124 /** If your platform does not have the <inttypes.h> header, you may
125 need to edit the typedefs below. */
126 #if U_HAVE_INTTYPES_H
127 #include <inttypes.h>
128 #else /* U_HAVE_INTTYPES_H */
129
130 #if ! U_HAVE_INT8_T
131 typedef signed char int8_t;
132 #endif
133
134 #if ! U_HAVE_UINT8_T
135 typedef unsigned char uint8_t;
136 #endif
137
138 #if ! U_HAVE_INT16_T
139 typedef signed short int16_t;
140 #endif
141
142 #if ! U_HAVE_UINT16_T
143 typedef unsigned short uint16_t;
144 #endif
145
146 #if ! U_HAVE_INT32_T
147 typedef signed int int32_t;
148 #endif
149
150 #if ! U_HAVE_UINT32_T
151 typedef unsigned int uint32_t;
152 #endif
153
154 #if ! U_HAVE_INT64_T
155 #if U_INT64_IS_LONG_LONG
156 typedef signed long long int64_t;
157 #else
158 typedef signed __int64 int64_t;
159 #endif
160 #endif
161
162 #if ! U_HAVE_UINT64_T
163 #if U_INT64_IS_LONG_LONG
164 typedef unsigned long long uint64_t;
165 #else
166 typedef unsigned __int64 uint64_t;
167 #endif
168 #endif
169 #endif
170
171 /**
172 * @}
173 */
174
175 /*===========================================================================*/
176 /** Compiler and environment features */
177 /*===========================================================================*/
178
179 /** Define whether namespace is supported */
180 #ifndef U_HAVE_NAMESPACE
181 #define U_HAVE_NAMESPACE 1
182 #endif
183
184 /** Determines the endianness of the platform */
185 #define U_IS_BIG_ENDIAN 0
186
187 /** 1 or 0 to enable or disable threads. If undefined, default is: enable threa ds. */
188 #ifndef ICU_USE_THREADS
189 #define ICU_USE_THREADS 1
190 #endif
191
192 /** 0 or 1 to enable or disable auto cleanup of libraries. If undefined, default is: disabled. */
193 #ifndef UCLN_NO_AUTO_CLEANUP
194 #define UCLN_NO_AUTO_CLEANUP 1
195 #endif
196
197 /* On strong memory model CPUs (e.g. x86 CPUs), we use a safe & quick double che ck mutex lock. */
198 /**
199 Microsoft can define _M_IX86, _M_AMD64 (before Visual Studio 8) or _M_X64 (start ing in Visual Studio 8).
200 Intel can define _M_IX86 or _M_X64
201 */
202 #if defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || (defined(__GNUC_ _) && (defined(__i386__) || defined(__x86_64__)))
203 #define UMTX_STRONG_MEMORY_MODEL 1
204 #endif
205
206 /** Enable or disable debugging options **/
207 #ifndef U_DEBUG
208 #ifdef _DEBUG
209 #define U_DEBUG 1
210 #else
211 #define U_DEBUG 0
212 #endif
213 #endif
214
215 /** Enable or disable release options **/
216 #ifndef U_RELEASE
217 #ifdef NDEBUG
218 #define U_RELEASE 1
219 #else
220 #define U_RELEASE 0
221 #endif
222 #endif
223
224 /** Determine whether to disable renaming or not. This overrides the
225 setting in umachine.h which is for all platforms. */
226 #ifndef U_DISABLE_RENAMING
227 #define U_DISABLE_RENAMING 0
228 #endif
229
230 /** Determine whether to override new and delete. */
231 #ifndef U_OVERRIDE_CXX_ALLOCATION
232 #define U_OVERRIDE_CXX_ALLOCATION 1
233 #endif
234 /** Determine whether to override placement new and delete for STL. */
235 #ifndef U_HAVE_PLACEMENT_NEW
236 #define U_HAVE_PLACEMENT_NEW 1
237 #endif
238 /** Determine whether to override new and delete for MFC. */
239 #if !defined(U_HAVE_DEBUG_LOCATION_NEW) && defined(_MSC_VER)
240 #define U_HAVE_DEBUG_LOCATION_NEW 1
241 #endif
242
243 /** Determine whether to enable tracing. */
244 #ifndef U_ENABLE_TRACING
245 #define U_ENABLE_TRACING 0
246 #endif
247
248 /** Do we allow ICU users to use the draft APIs by default? */
249 #ifndef U_DEFAULT_SHOW_DRAFT
250 #define U_DEFAULT_SHOW_DRAFT 1
251 #endif
252
253 /** @{ Define the library suffix in a C syntax. */
254 #ifndef U_HAVE_LIB_SUFFIX
255 #define U_HAVE_LIB_SUFFIX 0
256 #endif
257 #ifndef U_LIB_SUFFIX_C_NAME
258 #define U_LIB_SUFFIX_C_NAME
259 #endif
260 #ifndef U_LIB_SUFFIX_C_NAME_STRING
261 #define U_LIB_SUFFIX_C_NAME_STRING ""
262 #endif
263 /** @} */
264
265 /*===========================================================================*/
266 /** @{ Information about wchar support */
267 /*===========================================================================*/
268
269 #define U_HAVE_WCHAR_H 1
270 #define U_SIZEOF_WCHAR_T 2
271
272 #define U_HAVE_WCSCPY 1
273
274 /** @} */
275
276 /**
277 * \def U_DECLARE_UTF16
278 * Do not use this macro. Use the UNICODE_STRING or U_STRING_DECL macros
279 * instead.
280 * @internal
281 */
282 #if 1
283 #define U_DECLARE_UTF16(string) L ## string
284 #endif
285
286 /*===========================================================================*/
287 /** @{ Information about POSIX support */
288 /*===========================================================================*/
289
290 /**
291 * @internal
292 */
293 #if 1
294 #define U_TZSET _tzset
295 #endif
296 /**
297 * @internal
298 */
299 #if 1
300 #define U_TIMEZONE _timezone
301 #endif
302 /**
303 * @internal
304 */
305 #if 1
306 #define U_TZNAME _tzname
307 #endif
308 /**
309 * @internal
310 */
311 #if 1
312 #define U_DAYLIGHT _daylight
313 #endif
314
315 #define U_HAVE_MMAP 0
316 #define U_HAVE_POPEN 0
317
318 #ifndef U_ENABLE_DYLOAD
319 #define U_ENABLE_DYLOAD 1
320 #endif
321
322
323 /** @} */
324
325 /*===========================================================================*/
326 /** @{ Symbol import-export control */
327 /*===========================================================================*/
328
329 #ifdef U_STATIC_IMPLEMENTATION
330 #define U_EXPORT
331 #else
332 #define U_EXPORT __declspec(dllexport)
333 #endif
334 #define U_EXPORT2 __cdecl
335 #define U_IMPORT __declspec(dllimport)
336 /** @} */
337
338 /*===========================================================================*/
339 /** @{ Code alignment and C function inlining */
340 /*===========================================================================*/
341
342 #ifndef U_INLINE
343 # ifdef __cplusplus
344 # define U_INLINE inline
345 # else
346 # define U_INLINE __inline
347 # endif
348 #endif
349
350 #if defined(_MSC_VER) && defined(_M_IX86) && !defined(_MANAGED)
351 #define U_ALIGN_CODE(val) __asm align val
352 #else
353 #define U_ALIGN_CODE(val)
354 #endif
355
356 /**
357 * Flag for workaround of MSVC 2003 optimization bugs
358 */
359 #if defined(_MSC_VER) && (_MSC_VER < 1400)
360 #define U_HAVE_MSVC_2003_OR_EARLIER
361 #endif
362
363
364 /** @} */
365
366 /*===========================================================================*/
367 /** @{ Programs used by ICU code */
368 /*===========================================================================*/
369
370 #ifndef U_MAKE
371 #define U_MAKE "nmake"
372 #define U_MAKE_IS_NMAKE 1
373 #endif
374
375 /** @} */
376
OLDNEW
« no previous file with comments | « public/common/unicode/putil.h ('k') | public/common/unicode/rbbi.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698