• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2 ******************************************************************************
3 *
4 *   Copyright (C) 1997-2006, International Business Machines
5 *   Corporation and others.  All Rights Reserved.
6 *
7 ******************************************************************************
8 *
9 *  FILE NAME : ppalmos.h
10 *
11 *   Date        Name        Description
12 *   05/10/04    Ken Krugler Creation (copied from pwin32.h & modified).
13 ******************************************************************************
14 */
15 
16 #ifndef U_PPALMOS_H
17 #define U_PPALMOS_H
18 
19  /**
20   * \file
21   * \brief Configuration constants for the Palm OS platform
22   */
23 
24 /* Define the platform we're on. */
25 #ifndef U_PALMOS
26 #define U_PALMOS
27 #endif
28 
29 /* _MSC_VER is used to detect the Microsoft compiler. */
30 #if defined(_MSC_VER)
31 #define U_INT64_IS_LONG_LONG 0
32 #else
33 #define U_INT64_IS_LONG_LONG 1
34 #endif
35 
36 /* Define whether inttypes.h is available */
37 #ifndef U_HAVE_INTTYPES_H
38 #define U_HAVE_INTTYPES_H 1
39 #endif
40 
41 /*
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
46  * files.
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.
52  *
53  */
54 
55 #ifndef U_IOSTREAM_SOURCE
56 #define U_IOSTREAM_SOURCE 199711
57 #endif
58 
59 /* Determines whether specific types are available */
60 #ifndef U_HAVE_INT8_T
61 #define U_HAVE_INT8_T U_HAVE_INTTYPES_H
62 #endif
63 
64 #ifndef U_HAVE_UINT8_T
65 #define U_HAVE_UINT8_T U_HAVE_INTTYPES_H
66 #endif
67 
68 #ifndef U_HAVE_INT16_T
69 #define U_HAVE_INT16_T U_HAVE_INTTYPES_H
70 #endif
71 
72 #ifndef U_HAVE_UINT16_T
73 #define U_HAVE_UINT16_T U_HAVE_INTTYPES_H
74 #endif
75 
76 #ifndef U_HAVE_INT32_T
77 #define U_HAVE_INT32_T U_HAVE_INTTYPES_H
78 #endif
79 
80 #ifndef U_HAVE_UINT32_T
81 #define U_HAVE_UINT32_T U_HAVE_INTTYPES_H
82 #endif
83 
84 #ifndef U_HAVE_INT64_T
85 #define U_HAVE_INT64_T U_HAVE_INTTYPES_H
86 #endif
87 
88 #ifndef U_HAVE_UINT64_T
89 #define U_HAVE_UINT64_T U_HAVE_INTTYPES_H
90 #endif
91 
92 
93 /*===========================================================================*/
94 /* Generic data types                                                        */
95 /*===========================================================================*/
96 
97 /* If your platform does not have the <inttypes.h> header, you may
98    need to edit the typedefs below. */
99 #if U_HAVE_INTTYPES_H
100 #include <inttypes.h>
101 #else /* U_HAVE_INTTYPES_H */
102 
103 #if ! U_HAVE_INT8_T
104 typedef signed char int8_t;
105 #endif
106 
107 #if ! U_HAVE_UINT8_T
108 typedef unsigned char uint8_t;
109 #endif
110 
111 #if ! U_HAVE_INT16_T
112 typedef signed short int16_t;
113 #endif
114 
115 #if ! U_HAVE_UINT16_T
116 typedef unsigned short uint16_t;
117 #endif
118 
119 #if ! U_HAVE_INT32_T
120 typedef signed int int32_t;
121 #endif
122 
123 #if ! U_HAVE_UINT32_T
124 typedef unsigned int uint32_t;
125 #endif
126 
127 #if ! U_HAVE_INT64_T
128 #if U_INT64_IS_LONG_LONG
129     typedef signed long long int64_t;
130 #else
131     typedef signed __int64 int64_t;
132 #endif
133 #endif
134 
135 #if ! U_HAVE_UINT64_T
136 #if U_INT64_IS_LONG_LONG
137     typedef unsigned long long uint64_t;
138 #else
139     typedef unsigned __int64 uint64_t;
140 #endif
141 #endif
142 #endif
143 
144 /*===========================================================================*/
145 /* Compiler and environment features                                         */
146 /*===========================================================================*/
147 
148 /* Define whether namespace is supported */
149 #ifndef U_HAVE_NAMESPACE
150 #define U_HAVE_NAMESPACE 1
151 #endif
152 
153 /* Determines the endianness of the platform */
154 #define U_IS_BIG_ENDIAN 0
155 
156 /* 1 or 0 to enable or disable threads.  If undefined, default is: enable threads. */
157 #define ICU_USE_THREADS 1
158 
159 #ifndef U_DEBUG
160 #ifdef _DEBUG
161 #define U_DEBUG 1
162 #else
163 #define U_DEBUG 0
164 #endif
165 #endif
166 
167 #ifndef U_RELEASE
168 #ifdef NDEBUG
169 #define U_RELEASE 1
170 #else
171 #define U_RELEASE 0
172 #endif
173 #endif
174 
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
179 #endif
180 
181 /* Determine whether to override new and delete. */
182 #ifndef U_OVERRIDE_CXX_ALLOCATION
183 #define U_OVERRIDE_CXX_ALLOCATION 1
184 #endif
185 /* Determine whether to override placement new and delete for STL. */
186 #ifndef U_HAVE_PLACEMENT_NEW
187 #define U_HAVE_PLACEMENT_NEW 0
188 #endif
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
192 #endif
193 
194 /* Determine whether to enable tracing. */
195 #ifndef U_ENABLE_TRACING
196 #define U_ENABLE_TRACING 1
197 #endif
198 
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
202 #endif
203 
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 ""
208 
209 /*===========================================================================*/
210 /* Information about wchar support                                           */
211 /*===========================================================================*/
212 
213 #define U_HAVE_WCHAR_H 1
214 #define U_SIZEOF_WCHAR_T 2
215 
216 #define U_HAVE_WCSCPY    0
217 
218 /*===========================================================================*/
219 /* Information about POSIX support                                           */
220 /*===========================================================================*/
221 
222 
223 /* TODO: Fix Palm OS's determination of a timezone */
224 #if 0
225 #define U_TZSET         _tzset
226 #endif
227 #if 0
228 #define U_TIMEZONE      _timezone
229 #endif
230 #if 0
231 #define U_TZNAME        _tzname
232 #endif
233 
234 #define U_HAVE_MMAP 0
235 #define U_HAVE_POPEN 0
236 
237 /*===========================================================================*/
238 /* Symbol import-export control                                              */
239 /*===========================================================================*/
240 
241 #define U_EXPORT
242 #define U_EXPORT2
243 #define U_IMPORT
244 
245 /*===========================================================================*/
246 /* Code alignment and C function inlining                                    */
247 /*===========================================================================*/
248 
249 #ifndef U_INLINE
250 #   ifdef __cplusplus
251 #       define U_INLINE inline
252 #   else
253 #       define U_INLINE __inline
254 #   endif
255 #endif
256 
257 #if defined(_MSC_VER) && defined(_M_IX86)
258 #define U_ALIGN_CODE(val)    __asm      align val
259 #else
260 #define U_ALIGN_CODE(val)
261 #endif
262 
263 
264 /*===========================================================================*/
265 /* Programs used by ICU code                                                 */
266 /*===========================================================================*/
267 
268 #ifndef U_MAKE
269 #define U_MAKE  "nmake"
270 #define U_MAKE_IS_NMAKE 1
271 #endif
272 
273 #endif
274