Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

platform.h

Go to the documentation of this file.
00001 /*
00002 *******************************************************************************
00003 *
00004 *   Copyright (C) 1997-2001, International Business Machines
00005 *   Corporation and others.  All Rights Reserved.
00006 *
00007 *******************************************************************************
00008 *
00009 *  FILE NAME : platform.h
00010 *
00011 *   Date        Name        Description
00012 *   05/13/98    nos         Creation (content moved here from ptypes.h).
00013 *   03/02/99    stephen     Added AS400 support.
00014 *   03/30/99    stephen     Added Linux support.
00015 *   04/13/99    stephen     Reworked for autoconf.
00016 *******************************************************************************
00017 */
00018 
00020 #ifndef U_LINUX
00021 #define U_LINUX
00022 #endif
00023 
00025 #ifndef U_HAVE_INTTYPES_H
00026 #define U_HAVE_INTTYPES_H 1
00027 #endif
00028 
00043 #ifndef U_IOSTREAM_SOURCE
00044 #define U_IOSTREAM_SOURCE 199711
00045 #endif
00046 
00049 #ifndef U_HAVE_INT8_T
00050 #define U_HAVE_INT8_T 1
00051 #endif
00052 
00053 #ifndef U_HAVE_UINT8_T
00054 #define U_HAVE_UINT8_T 0
00055 #endif
00056 
00057 #ifndef U_HAVE_INT16_T
00058 #define U_HAVE_INT16_T 1
00059 #endif
00060 
00061 #ifndef U_HAVE_UINT16_T
00062 #define U_HAVE_UINT16_T 0
00063 #endif
00064 
00065 #ifndef U_HAVE_INT32_T
00066 #define U_HAVE_INT32_T 1
00067 #endif
00068 
00069 #ifndef U_HAVE_UINT32_T
00070 #define U_HAVE_UINT32_T 0
00071 #endif
00072 
00073 #ifndef U_HAVE_INT64_T
00074 #define U_HAVE_INT64_T 1
00075 #endif
00076 
00077 #ifndef U_HAVE_UINT64_T
00078 #define U_HAVE_UINT64_T 0
00079 #endif
00080 
00084 #ifndef U_HAVE_NAMESPACE
00085 #define U_HAVE_NAMESPACE 1
00086 #endif
00087 
00089 #define U_IS_BIG_ENDIAN 0
00090 
00092 #define ICU_USE_THREADS 1
00093 
00096 #ifndef U_DISABLE_RENAMING
00097 #define U_DISABLE_RENAMING 0
00098 #endif
00099 
00102 #ifndef U_OVERRIDE_CXX_ALLOCATION
00103 #define U_OVERRIDE_CXX_ALLOCATION 1
00104 #endif
00105 
00107 #define U_HAVE_LIB_SUFFIX 0
00108 #define U_LIB_SUFFIX_C_NAME 
00109 #define U_LIB_SUFFIX_C_NAME_STRING ""
00110 
00111 /*===========================================================================*/
00112 /* Platform/Language determination                                           */
00113 /*===========================================================================*/
00114 
00115 #ifdef macintosh
00116 #ifdef XP_MAC
00117 #undef XP_MAC
00118 #endif
00119 #define XP_MAC 1
00120 #include <string.h>
00121 #endif
00122 
00123 /*===========================================================================*/
00124 /* Generic data types                                                        */
00125 /*===========================================================================*/
00126 
00129 #if U_HAVE_INTTYPES_H
00130 
00131 /* autoconf 2.13 sometimes can't properly find the data types in <inttypes.h> */
00132 /* os/390 needs <inttypes.h>, but it doesn't have int8_t, and it sometimes */
00133 /* doesn't have uint8_t depending on the OS version. */
00134 /* So we have this work around. */
00135 #ifdef OS390
00136 /* The features header is needed to get (u)int64_t sometimes. */
00137 #include <features.h>
00138 #if ! U_HAVE_INT8_T
00139 typedef signed char int8_t;
00140 #endif
00141 #if !defined(__uint8_t)
00142 #define __uint8_t 1
00143 typedef unsigned char uint8_t;
00144 #endif
00145 #endif /* OS390 */
00146 
00147 #include <inttypes.h>
00148 
00149 #else /* U_HAVE_INTTYPES_H */
00150 
00151 #include <sys/types.h>
00152 #if STDC_HEADERS
00153 #include <stdlib.h>
00154 #include <stddef.h>
00155 #endif /* STDC_HEADERS */
00156 
00157 #if ! U_HAVE_INT8_T
00158 typedef signed char int8_t;
00159 #endif
00160 
00161 #if ! U_HAVE_UINT8_T
00162 typedef unsigned char uint8_t;
00163 #endif
00164 
00165 #if ! U_HAVE_INT16_T
00166 typedef signed short int16_t;
00167 #endif
00168 
00169 #if ! U_HAVE_UINT16_T
00170 typedef unsigned short uint16_t;
00171 #endif
00172 
00173 #if ! U_HAVE_INT32_T
00174 #   if defined(_LP64)
00175       typedef signed int  int32_t;
00176 #   else
00177       typedef signed long int32_t;
00178 #   endif
00179 #endif
00180 
00181 #if ! U_HAVE_UINT32_T
00182 #   if defined(_LP64)
00183       typedef unsigned int  uint32_t;
00184 #   else
00185       typedef unsigned long uint32_t;
00186 #   endif
00187 #endif
00188 
00189 #if ! U_HAVE_INT64_T
00190     typedef signed long long int64_t;
00191 /* else we may not have a 64-bit type */
00192 #endif
00193 
00194 #if ! U_HAVE_UINT64_T
00195     typedef unsigned long long uint64_t;
00196 /* else we may not have a 64-bit type */
00197 #endif
00198 
00199 #endif
00200 
00201 /*===========================================================================*/
00202 /* Character data types                                                      */
00203 /*===========================================================================*/
00204 
00205 #ifdef OS390
00206 #   define U_CHARSET_FAMILY 1
00207 #endif
00208 
00209 /*===========================================================================*/
00210 /* Information about wchar support                                           */
00211 /*===========================================================================*/
00212 
00213 #define U_HAVE_WCHAR_H      1
00214 #define U_SIZEOF_WCHAR_T    4
00215 
00216 #define U_HAVE_WCSCPY       1
00217 
00218 /*===========================================================================*/
00219 /* Information about POSIX support                                           */
00220 /*===========================================================================*/
00221 
00222 #define U_HAVE_NL_LANGINFO          1
00223 #define U_HAVE_NL_LANGINFO_CODESET  1
00224 #define U_NL_LANGINFO_CODESET       _NL_CTYPE_CODESET_NAME
00225 
00226 #define U_TZSET         tzset
00227 #define U_HAVE_TIMEZONE 1
00228 #if U_HAVE_TIMEZONE
00229 #   define U_TIMEZONE   timezone
00230 #endif
00231 #define U_TZNAME        tzname
00232 
00233 #define U_HAVE_MMAP     1
00234 #define U_HAVE_POPEN    1
00235 
00236 /*===========================================================================*/
00237 /* Symbol import-export control                                              */
00238 /*===========================================================================*/
00239 
00240 #define U_EXPORT
00241 /* U_CALLCONV is releated to U_EXPORT2 */
00242 #define U_EXPORT2
00243 
00244 /* cygwin needs to export/import data */
00245 #ifdef U_CYGWIN
00246 #define U_IMPORT __declspec(dllimport)
00247 #else
00248 #define U_IMPORT 
00249 #endif
00250 
00251 /*===========================================================================*/
00252 /* Code alignment and C function inlining                                    */
00253 /*===========================================================================*/
00254 
00255 #ifndef U_INLINE
00256 #define U_INLINE inline
00257 #endif
00258 
00259 #define U_ALIGN_CODE(n) 
00260 
00261 /*===========================================================================*/
00262 /* Programs used by ICU code                                                 */
00263 /*===========================================================================*/
00264 
00265 #define U_MAKE  "/usr/bin/gmake"
00266 

Generated on Thu Aug 15 14:13:27 2002 for ICU 2.2 by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001