ppalmos.h

Go to the documentation of this file.
00001 /*
00002 ******************************************************************************
00003 *
00004 *   Copyright (C) 1997-2005, International Business Machines
00005 *   Corporation and others.  All Rights Reserved.
00006 *
00007 ******************************************************************************
00008 *
00009 *  FILE NAME : ppalmos.h
00010 *
00011 *   Date        Name        Description
00012 *   05/10/04    Ken Krugler Creation (copied from pwin32.h & modified).
00013 ******************************************************************************
00014 */
00015 
00016 #ifndef U_PPALMOS_H
00017 #define U_PPALMOS_H
00018 
00024 /* Define the platform we're on. */
00025 #ifndef U_PALMOS
00026 #define U_PALMOS
00027 #endif
00028 
00029 /* _MSC_VER is used to detect the Microsoft compiler. */
00030 #if defined(_MSC_VER)
00031 #define U_INT64_IS_LONG_LONG 0
00032 #else
00033 #define U_INT64_IS_LONG_LONG 1
00034 #endif
00035 
00036 /* Define whether inttypes.h is available */
00037 #ifndef U_HAVE_INTTYPES_H
00038 #define U_HAVE_INTTYPES_H 1
00039 #endif
00040 
00041 /*
00042  * Define what support for C++ streams is available.
00043  *     If U_IOSTREAM_SOURCE is set to 199711, then <iostream> is available
00044  * (1997711 is the date the ISO/IEC C++ FDIS was published), and then
00045  * one should qualify streams using the std namespace in ICU header
00046  * files.
00047  *     If U_IOSTREAM_SOURCE is set to 198506, then <iostream.h> is
00048  * available instead (198506 is the date when Stroustrup published
00049  * "An Extensible I/O Facility for C++" at the summer USENIX conference).
00050  *     If U_IOSTREAM_SOURCE is 0, then C++ streams are not available and
00051  * support for them will be silently suppressed in ICU.
00052  *
00053  */
00054 
00055 #ifndef U_IOSTREAM_SOURCE
00056 #define U_IOSTREAM_SOURCE 199711
00057 #endif
00058 
00059 /* Determines whether specific types are available */
00060 #ifndef U_HAVE_INT8_T
00061 #define U_HAVE_INT8_T U_HAVE_INTTYPES_H
00062 #endif
00063 
00064 #ifndef U_HAVE_UINT8_T
00065 #define U_HAVE_UINT8_T U_HAVE_INTTYPES_H
00066 #endif
00067 
00068 #ifndef U_HAVE_INT16_T
00069 #define U_HAVE_INT16_T U_HAVE_INTTYPES_H
00070 #endif
00071 
00072 #ifndef U_HAVE_UINT16_T
00073 #define U_HAVE_UINT16_T U_HAVE_INTTYPES_H
00074 #endif
00075 
00076 #ifndef U_HAVE_INT32_T
00077 #define U_HAVE_INT32_T U_HAVE_INTTYPES_H
00078 #endif
00079 
00080 #ifndef U_HAVE_UINT32_T
00081 #define U_HAVE_UINT32_T U_HAVE_INTTYPES_H
00082 #endif
00083 
00084 #ifndef U_HAVE_INT64_T
00085 #define U_HAVE_INT64_T U_HAVE_INTTYPES_H
00086 #endif
00087 
00088 #ifndef U_HAVE_UINT64_T
00089 #define U_HAVE_UINT64_T U_HAVE_INTTYPES_H
00090 #endif
00091 
00092 
00093 /*===========================================================================*/
00094 /* Generic data types                                                        */
00095 /*===========================================================================*/
00096 
00097 /* If your platform does not have the <inttypes.h> header, you may
00098    need to edit the typedefs below. */
00099 #if U_HAVE_INTTYPES_H
00100 #include <inttypes.h>
00101 #else /* U_HAVE_INTTYPES_H */
00102 
00103 #if ! U_HAVE_INT8_T
00104 typedef signed char int8_t;
00105 #endif
00106 
00107 #if ! U_HAVE_UINT8_T
00108 typedef unsigned char uint8_t;
00109 #endif
00110 
00111 #if ! U_HAVE_INT16_T
00112 typedef signed short int16_t;
00113 #endif
00114 
00115 #if ! U_HAVE_UINT16_T
00116 typedef unsigned short uint16_t;
00117 #endif
00118 
00119 #if ! U_HAVE_INT32_T
00120 typedef signed int int32_t;
00121 #endif
00122 
00123 #if ! U_HAVE_UINT32_T
00124 typedef unsigned int uint32_t;
00125 #endif
00126 
00127 #if ! U_HAVE_INT64_T
00128 #if U_INT64_IS_LONG_LONG
00129     typedef signed long long int64_t;
00130 #else
00131     typedef signed __int64 int64_t;
00132 #endif
00133 #endif
00134 
00135 #if ! U_HAVE_UINT64_T
00136 #if U_INT64_IS_LONG_LONG
00137     typedef unsigned long long uint64_t;
00138 #else
00139     typedef unsigned __int64 uint64_t;
00140 #endif
00141 #endif
00142 #endif
00143 
00144 /*===========================================================================*/
00145 /* Compiler and environment features                                         */
00146 /*===========================================================================*/
00147 
00148 /* Define whether namespace is supported */
00149 #ifndef U_HAVE_NAMESPACE
00150 #define U_HAVE_NAMESPACE 1
00151 #endif
00152 
00153 /* Determines the endianness of the platform */
00154 #define U_IS_BIG_ENDIAN 0
00155 
00156 /* 1 or 0 to enable or disable threads.  If undefined, default is: enable threads. */
00157 #define ICU_USE_THREADS 1
00158 
00159 #ifndef U_DEBUG
00160 #ifdef _DEBUG
00161 #define U_DEBUG 1
00162 #else
00163 #define U_DEBUG 0
00164 #endif
00165 #endif
00166 
00167 #ifndef U_RELEASE
00168 #ifdef NDEBUG
00169 #define U_RELEASE 1
00170 #else
00171 #define U_RELEASE 0
00172 #endif
00173 #endif
00174 
00175 /* Determine whether to disable renaming or not. This overrides the
00176    setting in umachine.h which is for all platforms. */
00177 #ifndef U_DISABLE_RENAMING
00178 #define U_DISABLE_RENAMING 0
00179 #endif
00180 
00181 /* Determine whether to override new and delete. */
00182 #ifndef U_OVERRIDE_CXX_ALLOCATION
00183 #define U_OVERRIDE_CXX_ALLOCATION 1
00184 #endif
00185 /* Determine whether to override placement new and delete for STL. */
00186 #ifndef U_HAVE_PLACEMENT_NEW
00187 #define U_HAVE_PLACEMENT_NEW 0
00188 #endif
00189 /* Determine whether to override new and delete for MFC. */
00190 #if !defined(U_HAVE_DEBUG_LOCATION_NEW) && defined(_MSC_VER)
00191 #define U_HAVE_DEBUG_LOCATION_NEW 0
00192 #endif
00193 
00194 /* Determine whether to enable tracing. */
00195 #ifndef U_ENABLE_TRACING
00196 #define U_ENABLE_TRACING 1
00197 #endif
00198 
00199 /* Do we allow ICU users to use the draft APIs by default? */
00200 #ifndef U_DEFAULT_SHOW_DRAFT
00201 #define U_DEFAULT_SHOW_DRAFT 1
00202 #endif
00203 
00204 /* Define the library suffix in a C syntax. */
00205 #define U_HAVE_LIB_SUFFIX 0
00206 #define U_LIB_SUFFIX_C_NAME 
00207 #define U_LIB_SUFFIX_C_NAME_STRING ""
00208 
00209 /*===========================================================================*/
00210 /* Information about wchar support                                           */
00211 /*===========================================================================*/
00212 
00213 #define U_HAVE_WCHAR_H 1
00214 #define U_SIZEOF_WCHAR_T 2
00215 
00216 #define U_HAVE_WCSCPY    0
00217 
00218 /*===========================================================================*/
00219 /* Information about POSIX support                                           */
00220 /*===========================================================================*/
00221 
00222 
00223 /* TODO: Fix Palm OS's determination of a timezone */
00224 #if 0
00225 #define U_TZSET         _tzset
00226 #endif
00227 #if 0
00228 #define U_TIMEZONE      _timezone
00229 #endif
00230 #if 0
00231 #define U_TZNAME        _tzname
00232 #endif
00233 
00234 #define U_HAVE_MMAP 0
00235 #define U_HAVE_POPEN 0
00236 
00237 /*===========================================================================*/
00238 /* Symbol import-export control                                              */
00239 /*===========================================================================*/
00240 
00241 #define U_EXPORT
00242 #define U_EXPORT2
00243 #define U_IMPORT
00244 
00245 /*===========================================================================*/
00246 /* Code alignment and C function inlining                                    */
00247 /*===========================================================================*/
00248 
00249 #ifndef U_INLINE
00250 #   ifdef __cplusplus
00251 #       define U_INLINE inline
00252 #   else
00253 #       define U_INLINE __inline
00254 #   endif
00255 #endif
00256 
00257 #if defined(_MSC_VER) && defined(_M_IX86)
00258 #define U_ALIGN_CODE(val)    __asm      align val
00259 #else
00260 #define U_ALIGN_CODE(val)
00261 #endif
00262 
00263 
00264 /*===========================================================================*/
00265 /* Programs used by ICU code                                                 */
00266 /*===========================================================================*/
00267 
00268 #ifndef U_MAKE
00269 #define U_MAKE  "nmake"
00270 #define U_MAKE_IS_NMAKE 1
00271 #endif
00272 
00273 #endif

Generated on Sat Feb 11 17:42:28 2006 for ICU 3.4 by  doxygen 1.4.6