]>
git.saurik.com Git - apple/icu.git/blob - icuSources/common/unicode/ppalmos.h
2 ******************************************************************************
4 * Copyright (C) 1997-2006, International Business Machines
5 * Corporation and others. All Rights Reserved.
7 ******************************************************************************
9 * FILE NAME : ppalmos.h
11 * Date Name Description
12 * 05/10/04 Ken Krugler Creation (copied from pwin32.h & modified).
13 ******************************************************************************
21 * \brief Configuration constants for the Palm OS platform
24 /* Define the platform we're on. */
29 /* _MSC_VER is used to detect the Microsoft compiler. */
31 #define U_INT64_IS_LONG_LONG 0
33 #define U_INT64_IS_LONG_LONG 1
36 /* Define whether inttypes.h is available */
37 #ifndef U_HAVE_INTTYPES_H
38 #define U_HAVE_INTTYPES_H 1
42 * Define what support for C++ streams is available.
43 * If U_IOSTREAM_SOURCE is set to 199711, then <iostream> is available
44 * (1997711 is the date the ISO/IEC C++ FDIS was published), and then
45 * one should qualify streams using the std namespace in ICU header
47 * If U_IOSTREAM_SOURCE is set to 198506, then <iostream.h> is
48 * available instead (198506 is the date when Stroustrup published
49 * "An Extensible I/O Facility for C++" at the summer USENIX conference).
50 * If U_IOSTREAM_SOURCE is 0, then C++ streams are not available and
51 * support for them will be silently suppressed in ICU.
55 #ifndef U_IOSTREAM_SOURCE
56 #define U_IOSTREAM_SOURCE 199711
59 /* Determines whether specific types are available */
61 #define U_HAVE_INT8_T U_HAVE_INTTYPES_H
64 #ifndef U_HAVE_UINT8_T
65 #define U_HAVE_UINT8_T U_HAVE_INTTYPES_H
68 #ifndef U_HAVE_INT16_T
69 #define U_HAVE_INT16_T U_HAVE_INTTYPES_H
72 #ifndef U_HAVE_UINT16_T
73 #define U_HAVE_UINT16_T U_HAVE_INTTYPES_H
76 #ifndef U_HAVE_INT32_T
77 #define U_HAVE_INT32_T U_HAVE_INTTYPES_H
80 #ifndef U_HAVE_UINT32_T
81 #define U_HAVE_UINT32_T U_HAVE_INTTYPES_H
84 #ifndef U_HAVE_INT64_T
85 #define U_HAVE_INT64_T U_HAVE_INTTYPES_H
88 #ifndef U_HAVE_UINT64_T
89 #define U_HAVE_UINT64_T U_HAVE_INTTYPES_H
93 /*===========================================================================*/
94 /* Generic data types */
95 /*===========================================================================*/
97 /* If your platform does not have the <inttypes.h> header, you may
98 need to edit the typedefs below. */
100 #include <inttypes.h>
101 #else /* U_HAVE_INTTYPES_H */
104 typedef signed char int8_t;
108 typedef unsigned char uint8_t;
112 typedef signed short int16_t;
115 #if ! U_HAVE_UINT16_T
116 typedef unsigned short uint16_t;
120 typedef signed int int32_t;
123 #if ! U_HAVE_UINT32_T
124 typedef unsigned int uint32_t;
128 #if U_INT64_IS_LONG_LONG
129 typedef signed long long int64_t;
131 typedef signed __int64
int64_t;
135 #if ! U_HAVE_UINT64_T
136 #if U_INT64_IS_LONG_LONG
137 typedef unsigned long long uint64_t;
139 typedef unsigned __int64
uint64_t;
144 /*===========================================================================*/
145 /* Compiler and environment features */
146 /*===========================================================================*/
148 /* Define whether namespace is supported */
149 #ifndef U_HAVE_NAMESPACE
150 #define U_HAVE_NAMESPACE 1
153 /* Determines the endianness of the platform */
154 #define U_IS_BIG_ENDIAN 0
156 /* 1 or 0 to enable or disable threads. If undefined, default is: enable threads. */
157 #define ICU_USE_THREADS 1
175 /* Determine whether to disable renaming or not. This overrides the
176 setting in umachine.h which is for all platforms. */
177 #ifndef U_DISABLE_RENAMING
178 #define U_DISABLE_RENAMING 0
181 /* Determine whether to override new and delete. */
182 #ifndef U_OVERRIDE_CXX_ALLOCATION
183 #define U_OVERRIDE_CXX_ALLOCATION 1
185 /* Determine whether to override placement new and delete for STL. */
186 #ifndef U_HAVE_PLACEMENT_NEW
187 #define U_HAVE_PLACEMENT_NEW 0
189 /* Determine whether to override new and delete for MFC. */
190 #if !defined(U_HAVE_DEBUG_LOCATION_NEW) && defined(_MSC_VER)
191 #define U_HAVE_DEBUG_LOCATION_NEW 0
194 /* Determine whether to enable tracing. */
195 #ifndef U_ENABLE_TRACING
196 #define U_ENABLE_TRACING 1
199 /* Do we allow ICU users to use the draft APIs by default? */
200 #ifndef U_DEFAULT_SHOW_DRAFT
201 #define U_DEFAULT_SHOW_DRAFT 1
204 /* Define the library suffix in a C syntax. */
205 #define U_HAVE_LIB_SUFFIX 0
206 #define U_LIB_SUFFIX_C_NAME
207 #define U_LIB_SUFFIX_C_NAME_STRING ""
209 /*===========================================================================*/
210 /* Information about wchar support */
211 /*===========================================================================*/
213 #define U_HAVE_WCHAR_H 1
214 #define U_SIZEOF_WCHAR_T 2
216 #define U_HAVE_WCSCPY 0
218 /*===========================================================================*/
219 /* Information about POSIX support */
220 /*===========================================================================*/
223 /* TODO: Fix Palm OS's determination of a timezone */
225 #define U_TZSET _tzset
228 #define U_TIMEZONE _timezone
231 #define U_TZNAME _tzname
234 #define U_HAVE_MMAP 0
235 #define U_HAVE_POPEN 0
237 /*===========================================================================*/
238 /* Symbol import-export control */
239 /*===========================================================================*/
245 /*===========================================================================*/
246 /* Code alignment and C function inlining */
247 /*===========================================================================*/
251 # define U_INLINE inline
253 # define U_INLINE __inline
257 #if defined(_MSC_VER) && defined(_M_IX86)
258 #define U_ALIGN_CODE(val) __asm align val
260 #define U_ALIGN_CODE(val)
264 /*===========================================================================*/
265 /* Programs used by ICU code */
266 /*===========================================================================*/
269 #define U_MAKE "nmake"
270 #define U_MAKE_IS_NMAKE 1