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

platform.h

Go to the documentation of this file.
00001 /*
00002 *******************************************************************************
00003 *
00004 *   Copyright (C) 1997-1999, 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 
00019 /* Define the platform we're on. */
00020 #ifndef U_LINUX
00021 #define U_LINUX
00022 #endif
00023 
00024 /* Define whether inttypes.h is available */
00025 #ifndef U_HAVE_INTTYPES_H
00026 #define U_HAVE_INTTYPES_H 1
00027 #endif
00028 
00029 /*
00030  * Define what support for C++ streams is available.
00031  *     If U_IOSTREAM_SOURCE is set to 199711, then <iostream> is available
00032  * (1997711 is the date the ISO/IEC C++ FDIS was published), and then
00033  * one should qualify streams using the std namespace in ICU header
00034  * files.
00035  *     If U_IOSTREAM_SOURCE is set to 198506, then <iostream.h> is
00036  * available instead (198506 is the date when Stroustrup published
00037  * "An Extensible I/O Facility for C++" at the summer USENIX conference).
00038  *     If U_IOSTREAM_SOURCE is 0, then C++ streams are not available and
00039  * support for them will be silently suppressed in ICU.
00040  *
00041  */
00042 
00043 #ifndef U_IOSTREAM_SOURCE
00044 #define U_IOSTREAM_SOURCE 199711
00045 #endif
00046 
00047 /* Determines whether specific types are available */
00048 #ifndef HAVE_INT8_T
00049 #define HAVE_INT8_T 1
00050 #endif
00051 
00052 #ifndef HAVE_UINT8_T
00053 #define HAVE_UINT8_T 0
00054 #endif
00055 
00056 #ifndef HAVE_INT16_T
00057 #define HAVE_INT16_T 1
00058 #endif
00059 
00060 #ifndef HAVE_UINT16_T
00061 #define HAVE_UINT16_T 0
00062 #endif
00063 
00064 #ifndef HAVE_INT32_T
00065 #define HAVE_INT32_T 1
00066 #endif
00067 
00068 #ifndef HAVE_UINT32_T
00069 #define HAVE_UINT32_T 0
00070 #endif
00071 
00072 #ifndef HAVE_BOOL_T
00073 #define HAVE_BOOL_T 0
00074 #endif
00075 
00076 /* Determines the endianness of the platform */
00077 #define U_IS_BIG_ENDIAN 0
00078 
00079 #define HAVE_DLOPEN 1
00080 
00081 /* 1 or 0 to enable or disable threads.  If undefined, default is: enable threads. */
00082 #define ICU_USE_THREADS 1
00083 
00084 /*===========================================================================*/
00085 /* Platform/Language determination                                           */
00086 /*===========================================================================*/
00087 
00088 #ifdef macintosh
00089 #ifdef XP_MAC
00090 #undef XP_MAC
00091 #endif
00092 #define XP_MAC 1
00093 #include <string.h>
00094 #endif
00095 
00096 /*===========================================================================*/
00097 /* Generic data types                                                        */
00098 /*===========================================================================*/
00099 
00100 /* If your platform does not have the <inttypes.h> header, you may
00101    need to edit the typedefs below. */
00102 #if U_HAVE_INTTYPES_H
00103 #include <inttypes.h>
00104 #else
00105 #include <sys/types.h>
00106 #if STDC_HEADERS
00107 #include <stdlib.h>
00108 #include <stddef.h>
00109 #endif
00110 
00111 #if ! HAVE_INT8_T
00112 typedef signed char int8_t;
00113 #endif
00114 
00115 #if ! HAVE_UINT8_T
00116 typedef unsigned char uint8_t;
00117 #endif
00118 
00119 #if ! HAVE_INT16_T
00120 typedef signed short int16_t;
00121 #endif
00122 
00123 #if ! HAVE_UINT16_T
00124 typedef unsigned short uint16_t;
00125 #endif
00126 
00127 #if ! HAVE_INT32_T
00128 #   if defined(_LP64)
00129       typedef signed int  int32_t;
00130 #   else
00131       typedef signed long int32_t;
00132 #   endif
00133 #endif
00134 
00135 #if ! HAVE_UINT32_T
00136 #   if defined(_LP64)
00137       typedef unsigned int  uint32_t;
00138 #   else
00139       typedef unsigned long uint32_t;
00140 #   endif
00141 #endif
00142 
00143 #endif
00144 
00145 #include <limits.h>
00146 
00147 #if defined(_LP64)
00148 #   define T_INT32_MAX (INT_MAX)
00149 #   define T_INT32_MIN (INT_MIN)
00150 #else
00151 #   define T_INT32_MAX (LONG_MAX)
00152 #   define T_INT32_MIN (LONG_MIN)
00153 #endif
00154 
00155 /*===========================================================================*/
00156 /* Character data types                                                      */
00157 /*===========================================================================*/
00158 
00159 #ifdef OS390
00160 #   define U_CHARSET_FAMILY 1
00161 #endif
00162 
00163 /*===========================================================================*/
00164 /* Information about wchar support                                           */
00165 /*===========================================================================*/
00166 
00167 #define U_HAVE_WCHAR_H          1
00168 #define U_SIZEOF_WCHAR_T        4
00169 
00170 #define U_HAVE_WCSCPY           1
00171 
00172 /*===========================================================================*/
00173 /* Information about POSIX support                                           */
00174 /*===========================================================================*/
00175 
00176 #define U_HAVE_NL_LANGINFO              1
00177 #define U_HAVE_NL_LANGINFO_CODESET      1
00178 #define U_NL_LANGINFO_CODESET           _NL_CTYPE_CODESET_NAME
00179 
00180 #define U_TZSET                 tzset
00181 #define U_TIMEZONE              timezone
00182 #define U_TZNAME                tzname
00183 
00184 /*===========================================================================*/
00185 /* Symbol import-export control                                              */
00186 /*===========================================================================*/
00187 
00188 #define U_EXPORT
00189 #define U_EXPORT2
00190 #define U_IMPORT
00191 
00192 /*===========================================================================*/
00193 /* Programs used by ICU code                                                 */
00194 /*===========================================================================*/
00195 
00196 #define U_MAKE  "/usr/bin/gmake"
00197 

Generated at Fri Dec 15 12:12:34 2000 for ICU 1.7 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000