00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _PLATFORM_H
00020 #define _PLATFORM_H
00021
00027
00028 #ifndef U_DARWIN
00029 #define U_DARWIN
00030 #endif
00031
00032
00033 #ifndef U_HAVE_DIRENT_H
00034 #define U_HAVE_DIRENT_H 1
00035 #endif
00036
00037
00038 #ifndef U_HAVE_INTTYPES_H
00039 #define U_HAVE_INTTYPES_H 1
00040 #endif
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056 #ifndef U_IOSTREAM_SOURCE
00057 #define U_IOSTREAM_SOURCE 199711
00058 #endif
00059
00060
00061 #ifndef U_HAVE_INT8_T
00062 #define U_HAVE_INT8_T 1
00063 #endif
00064
00065 #ifndef U_HAVE_UINT8_T
00066 #define U_HAVE_UINT8_T 1
00067 #endif
00068
00069 #ifndef U_HAVE_INT16_T
00070 #define U_HAVE_INT16_T 1
00071 #endif
00072
00073 #ifndef U_HAVE_UINT16_T
00074 #define U_HAVE_UINT16_T 1
00075 #endif
00076
00077 #ifndef U_HAVE_INT32_T
00078 #define U_HAVE_INT32_T 1
00079 #endif
00080
00081 #ifndef U_HAVE_UINT32_T
00082 #define U_HAVE_UINT32_T 1
00083 #endif
00084
00085 #ifndef U_HAVE_INT64_T
00086 #define U_HAVE_INT64_T 1
00087 #endif
00088
00089 #ifndef U_HAVE_UINT64_T
00090 #define U_HAVE_UINT64_T 1
00091 #endif
00092
00093
00094
00095
00096
00097 #include <sys/types.h>
00098
00099
00100
00101 #if U_HAVE_INTTYPES_H
00102
00103
00104
00105
00106
00107 #ifdef OS390
00108
00109 #include <features.h>
00110 #if ! U_HAVE_INT8_T
00111 typedef signed char int8_t;
00112 #endif
00113 #if !defined(__uint8_t)
00114 #define __uint8_t 1
00115 typedef unsigned char uint8_t;
00116 #endif
00117 #endif
00118
00119 #include <inttypes.h>
00120
00121 #else
00122
00123 #if ! U_HAVE_INT8_T
00124 typedef signed char int8_t;
00125 #endif
00126
00127 #if ! U_HAVE_UINT8_T
00128 typedef unsigned char uint8_t;
00129 #endif
00130
00131 #if ! U_HAVE_INT16_T
00132 typedef signed short int16_t;
00133 #endif
00134
00135 #if ! U_HAVE_UINT16_T
00136 typedef unsigned short uint16_t;
00137 #endif
00138
00139 #if ! U_HAVE_INT32_T
00140 typedef signed int int32_t;
00141 #endif
00142
00143 #if ! U_HAVE_UINT32_T
00144 typedef unsigned int uint32_t;
00145 #endif
00146
00147 #if ! U_HAVE_INT64_T
00148 typedef signed long long int64_t;
00149
00150 #endif
00151
00152 #if ! U_HAVE_UINT64_T
00153 typedef unsigned long long uint64_t;
00154
00155 #endif
00156
00157 #endif
00158
00159
00160
00161
00162
00163
00164 #ifndef U_HAVE_NAMESPACE
00165 #define U_HAVE_NAMESPACE 1
00166 #endif
00167
00168
00169
00170
00171 #if defined(BYTE_ORDER) && defined(BIG_ENDIAN)
00172 #define U_IS_BIG_ENDIAN (BYTE_ORDER == BIG_ENDIAN)
00173 #else
00174 #define U_IS_BIG_ENDIAN 0
00175 #endif
00176
00177
00178 #define ICU_USE_THREADS 1
00179
00180
00181 #if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
00182 #define UMTX_STRONG_MEMORY_MODEL 1
00183 #endif
00184
00185 #ifndef U_DEBUG
00186 #define U_DEBUG 0
00187 #endif
00188
00189 #ifndef U_RELEASE
00190 #define U_RELEASE 1
00191 #endif
00192
00193
00194
00195 #ifndef U_DISABLE_RENAMING
00196 #define U_DISABLE_RENAMING 0
00197 #endif
00198
00199
00200 #ifndef U_OVERRIDE_CXX_ALLOCATION
00201 #define U_OVERRIDE_CXX_ALLOCATION 1
00202 #endif
00203
00204 #ifndef U_HAVE_PLACEMENT_NEW
00205 #define U_HAVE_PLACEMENT_NEW 1
00206 #endif
00207
00208
00209 #ifndef U_ENABLE_TRACING
00210 #define U_ENABLE_TRACING 0
00211 #endif
00212
00213
00214 #ifndef U_DEFAULT_SHOW_DRAFT
00215 #define U_DEFAULT_SHOW_DRAFT 1
00216 #endif
00217
00218
00219 #define U_HAVE_LIB_SUFFIX 0
00220 #define U_LIB_SUFFIX_C_NAME
00221 #define U_LIB_SUFFIX_C_NAME_STRING ""
00222
00223
00224
00225
00226
00227 #if ((defined(OS390) && (!defined(__CHARSET_LIB) || !__CHARSET_LIB))) || defined(OS400)
00228 # define U_CHARSET_FAMILY 1
00229 #endif
00230
00231
00232
00233
00234
00235 #ifndef U_HAVE_WCHAR_H
00236 #define U_HAVE_WCHAR_H 1
00237 #endif
00238
00239 #ifndef U_SIZEOF_WCHAR_T
00240 #define U_SIZEOF_WCHAR_T 4
00241 #endif
00242
00243 #ifndef U_HAVE_WCSCPY
00244 #define U_HAVE_WCSCPY 1
00245 #endif
00246
00253 #if 1 || defined(U_CHECK_UTF16_STRING)
00254 #if (defined(__xlC__) && defined(__IBM_UTF_LITERAL) && U_SIZEOF_WCHAR_T != 2) \
00255 || (defined(__HP_aCC) && __HP_aCC >= 035000) \
00256 || (defined(__HP_cc) && __HP_cc >= 111106)
00257 #define U_DECLARE_UTF16(string) u ## string
00258 #elif (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x550)
00259
00260
00261 #define U_DECLARE_UTF16(string) U ## string
00262 #elif U_SIZEOF_WCHAR_T == 2 \
00263 && (U_CHARSET_FAMILY == 0 || ((defined(OS390) || defined(OS400)) && defined(__UCS2__)))
00264 #define U_DECLARE_UTF16(string) L ## string
00265 #endif
00266 #endif
00267
00268
00269
00270
00271
00272 #ifndef U_HAVE_NL_LANGINFO_CODESET
00273 #define U_HAVE_NL_LANGINFO_CODESET 1
00274 #endif
00275
00276 #ifndef U_NL_LANGINFO_CODESET
00277 #define U_NL_LANGINFO_CODESET CODESET
00278 #endif
00279
00280 #if 1
00281 #define U_TZSET tzset
00282 #endif
00283 #if 1
00284 #define U_TIMEZONE timezone
00285 #endif
00286 #if 1
00287 #define U_TZNAME tzname
00288 #endif
00289
00290 #define U_HAVE_MMAP 1
00291 #define U_HAVE_POPEN 1
00292
00293
00294
00295
00296
00297 #if 1
00298 #define U_EXPORT __attribute__((visibility("default")))
00299 #elif (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x550) \
00300 || (defined(__SUNPRO_C) && __SUNPRO_C >= 0x550)
00301 #define U_EXPORT __global
00302
00303
00304 #else
00305 #define U_EXPORT
00306 #endif
00307
00308
00309 #define U_EXPORT2
00310
00311
00312 #ifdef U_CYGWIN
00313 #define U_IMPORT __declspec(dllimport)
00314 #else
00315 #define U_IMPORT
00316 #endif
00317
00318
00319
00320
00321
00322 #ifndef U_INLINE
00323 # ifdef __cplusplus
00324 # define U_INLINE inline
00325 # else
00326 # define U_INLINE inline
00327 # endif
00328 #endif
00329
00330 #ifndef U_ALIGN_CODE
00331 #define U_ALIGN_CODE(n)
00332 #endif
00333
00334
00335
00336
00337
00338 #ifndef U_MAKE
00339 #define U_MAKE "/usr/bin/gnumake"
00340 #endif
00341
00342 #endif