Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _PLATFORM_H
00024 #define _PLATFORM_H
00025
00031
00032 #if defined(UVERNUM_H)
00033 # error Do not include unicode/uvernum.h before #including unicode/platform.h. Instead of unicode/uvernum.h, #include unicode/uversion.h
00034 #endif
00035
00040 #ifndef UCLN_NO_AUTO_CLEANUP
00041 #define UCLN_NO_AUTO_CLEANUP 1
00042 #endif
00043
00044
00045 #ifndef CYGWINMSVC
00046
00048 #ifndef U_LINUX
00049 #define U_LINUX
00050 #endif
00051
00057 #ifndef U_HAVE_DIRENT_H
00058 #define U_HAVE_DIRENT_H 1
00059 #endif
00060
00062 #ifndef U_HAVE_INTTYPES_H
00063 #define U_HAVE_INTTYPES_H 1
00064 #endif
00065
00080 #ifndef U_IOSTREAM_SOURCE
00081 #define U_IOSTREAM_SOURCE 199711
00082 #endif
00083
00092 #ifndef U_HAVE_STD_STRING
00093 #define U_HAVE_STD_STRING 1
00094 #endif
00095
00097 #ifndef U_HAVE_INT8_T
00098 #define U_HAVE_INT8_T 1
00099 #endif
00100
00101 #ifndef U_HAVE_UINT8_T
00102 #define U_HAVE_UINT8_T 1
00103 #endif
00104
00105 #ifndef U_HAVE_INT16_T
00106 #define U_HAVE_INT16_T 1
00107 #endif
00108
00109 #ifndef U_HAVE_UINT16_T
00110 #define U_HAVE_UINT16_T 1
00111 #endif
00112
00113 #ifndef U_HAVE_INT32_T
00114 #define U_HAVE_INT32_T 1
00115 #endif
00116
00117 #ifndef U_HAVE_UINT32_T
00118 #define U_HAVE_UINT32_T 1
00119 #endif
00120
00121 #ifndef U_HAVE_INT64_T
00122 #define U_HAVE_INT64_T 1
00123 #endif
00124
00125 #ifndef U_HAVE_UINT64_T
00126 #define U_HAVE_UINT64_T 1
00127 #endif
00128
00131
00133
00134
00135
00136 #ifndef U_HAVE_NAMESPACE
00137 #define U_HAVE_NAMESPACE 1
00138 #endif
00139
00140
00141
00142
00143 #if defined(BYTE_ORDER) && defined(BIG_ENDIAN)
00144 #define U_IS_BIG_ENDIAN (BYTE_ORDER == BIG_ENDIAN)
00145 #else
00146 #define U_IS_BIG_ENDIAN 0
00147 #endif
00148
00149
00150 #ifndef ICU_USE_THREADS
00151 #define ICU_USE_THREADS 1
00152 #endif
00153
00154
00155 #if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
00156 #define UMTX_STRONG_MEMORY_MODEL 1
00157 #endif
00158
00159 #ifndef U_DEBUG
00160 #define U_DEBUG 0
00161 #endif
00162
00163 #ifndef U_RELEASE
00164 #define U_RELEASE 1
00165 #endif
00166
00167
00168
00169 #ifndef U_DISABLE_RENAMING
00170 #define U_DISABLE_RENAMING 0
00171 #endif
00172
00173
00174 #ifndef U_OVERRIDE_CXX_ALLOCATION
00175 #define U_OVERRIDE_CXX_ALLOCATION 1
00176 #endif
00177
00178 #ifndef U_HAVE_PLACEMENT_NEW
00179 #define U_HAVE_PLACEMENT_NEW 1
00180 #endif
00181
00182
00183 #ifndef U_ENABLE_TRACING
00184 #define U_ENABLE_TRACING 0
00185 #endif
00186
00191 #ifndef U_ENABLE_DYLOAD
00192 #define U_ENABLE_DYLOAD 1
00193 #endif
00194
00199 #ifndef U_CHECK_DYLOAD
00200 #define U_CHECK_DYLOAD 1
00201 #endif
00202
00203
00205 #ifndef U_DEFAULT_SHOW_DRAFT
00206 #define U_DEFAULT_SHOW_DRAFT 1
00207 #endif
00208
00211
00213
00214
00215 #if ((defined(OS390) && (!defined(__CHARSET_LIB) || !__CHARSET_LIB))) || defined(OS400)
00216 # define U_CHARSET_FAMILY 1
00217 #endif
00218
00221
00223
00224
00225 #ifndef U_HAVE_WCHAR_H
00226 #define U_HAVE_WCHAR_H 1
00227 #endif
00228
00229 #ifndef U_SIZEOF_WCHAR_T
00230 #define U_SIZEOF_WCHAR_T 4
00231 #endif
00232
00233 #ifndef U_HAVE_WCSCPY
00234 #define U_HAVE_WCSCPY 1
00235 #endif
00236
00249 #ifndef U_GNUC_UTF16_STRING
00250 #define U_GNUC_UTF16_STRING 0
00251 #endif
00252 #if 1 || defined(U_CHECK_UTF16_STRING)
00253 #if (defined(__xlC__) && defined(__IBM_UTF_LITERAL) && U_SIZEOF_WCHAR_T != 2) \
00254 || (defined(__HP_aCC) && __HP_aCC >= 035000) \
00255 || (defined(__HP_cc) && __HP_cc >= 111106) \
00256 || U_GNUC_UTF16_STRING
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
00270
00272
00273
00274 #ifndef U_HAVE_NL_LANGINFO_CODESET
00275 #define U_HAVE_NL_LANGINFO_CODESET 1
00276 #endif
00277
00278 #ifndef U_NL_LANGINFO_CODESET
00279 #define U_NL_LANGINFO_CODESET CODESET
00280 #endif
00281
00282 #if 1
00283 #define U_TZSET tzset
00284 #endif
00285 #if 1
00286 #define U_TIMEZONE __timezone
00287 #endif
00288 #if 1
00289 #define U_TZNAME tzname
00290 #endif
00291
00292 #define U_HAVE_MMAP 1
00293 #define U_HAVE_POPEN 1
00294
00297
00299
00300
00301 #if 1
00302 #define U_EXPORT __attribute__((visibility("default")))
00303 #elif (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x550) \
00304 || (defined(__SUNPRO_C) && __SUNPRO_C >= 0x550)
00305 #define U_EXPORT __global
00306
00307
00308 #else
00309 #define U_EXPORT
00310 #endif
00311
00312
00313 #define U_EXPORT2
00314
00315
00316 #if defined(U_CYGWIN) && !defined(__GNUC__)
00317 #define U_IMPORT __declspec(dllimport)
00318 #else
00319 #define U_IMPORT
00320 #endif
00321
00322
00323
00324
00326
00327
00328 #ifndef U_INLINE
00329 # ifdef __cplusplus
00330 # define U_INLINE inline
00331 # else
00332 # define U_INLINE __inline__
00333 # endif
00334 #endif
00335
00336 #ifndef U_ALIGN_CODE
00337 #define U_ALIGN_CODE(n)
00338 #endif
00339
00342
00344
00345
00350 #ifndef U_HAVE_GCC_ATOMICS
00351 #define U_HAVE_GCC_ATOMICS 0
00352 #endif
00353
00356
00358
00359
00364 #ifndef U_MAKE
00365 #define U_MAKE "make"
00366 #endif
00367
00370 #endif
00371
00372
00373
00374
00375
00380 # define U_LIB_SUFFIX_C_NAME
00381
00385 # define U_LIB_SUFFIX_C_NAME_STRING ""
00386
00390 # define U_HAVE_LIB_SUFFIX 0
00391
00392 #if U_HAVE_LIB_SUFFIX
00393 # ifndef U_ICU_ENTRY_POINT_RENAME
00394
00395 # define U_ICU_ENTRY_POINT_RENAME(x) x ## _ ## 44 ##
00396 # define U_DEF_ICUDATA_ENTRY_POINT(major, minor) icudt####major##minor##_dat
00397
00398 # endif
00399 #endif
00400
00401 #endif