Main Page   Class Hierarchy   Compound List   File List   Header Files   Sources   Compound Members   File Members  

platform.h

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 LINUX
00021 #define LINUX
00022 #endif
00023 
00024 /* Define whether inttypes.h is available */
00025 #ifndef HAVE_INTTYPES_H
00026 #define 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 #define U_IOSTREAM_SOURCE 199711
00044 
00045 /* Determines whether specific types are available */
00046 #ifndef HAVE_INT8_T
00047 #define HAVE_INT8_T 1
00048 #endif
00049 
00050 #ifndef HAVE_UINT8_T
00051 #define HAVE_UINT8_T 0
00052 #endif
00053 
00054 #ifndef HAVE_INT16_T
00055 #define HAVE_INT16_T 1
00056 #endif
00057 
00058 #ifndef HAVE_UINT16_T
00059 #define HAVE_UINT16_T 0
00060 #endif
00061 
00062 #ifndef HAVE_INT32_T
00063 #define HAVE_INT32_T 1
00064 #endif
00065 
00066 #ifndef HAVE_UINT32_T
00067 #define HAVE_UINT32_T 0
00068 #endif
00069 
00070 #ifndef HAVE_BOOL_T
00071 #define HAVE_BOOL_T 0
00072 #endif
00073 
00074 /* Determines the endianness of the platform */
00075 #define U_IS_BIG_ENDIAN 0
00076 
00077 #define HAVE_DLOPEN 1
00078 
00079 /* 1 or 0 to enable or disable threads.  If undefined, default is: enable threads. */
00080 #define ICU_USE_THREADS 1
00081 
00082 /*===========================================================================*/
00083 /* Platform/Language determination                                           */
00084 /*===========================================================================*/
00085 
00086 #ifdef macintosh
00087 #ifdef XP_MAC
00088 #undef XP_MAC
00089 #endif
00090 #define XP_MAC 1
00091 #include <string.h>
00092 #endif
00093 
00094 /*===========================================================================*/
00095 /* Generic data types                                                        */
00096 /*===========================================================================*/
00097 
00098 /* If your platform does not have the <inttypes.h> header, you may
00099    need to edit the typedefs below. */
00100 #if HAVE_INTTYPES_H
00101 #include <inttypes.h>
00102 #else
00103 #include <sys/types.h>
00104 #if STDC_HEADERS
00105 #include <stdlib.h>
00106 #include <stddef.h>
00107 #endif
00108 
00109 #if ! HAVE_INT8_T
00110 typedef signed char int8_t;
00111 #endif
00112 
00113 #if ! HAVE_UINT8_T
00114 typedef unsigned char uint8_t;
00115 #endif
00116 
00117 #if ! HAVE_INT16_T
00118 typedef signed short int16_t;
00119 #endif
00120 
00121 #if ! HAVE_UINT16_T
00122 typedef unsigned short uint16_t;
00123 #endif
00124 
00125 #if ! HAVE_INT32_T
00126 #   if defined(_LP64)
00127       typedef signed int  int32_t;
00128 #   else
00129       typedef signed long int32_t;
00130 #   endif
00131 #endif
00132 
00133 #if ! HAVE_UINT32_T
00134 #   if defined(_LP64)
00135       typedef unsigned int  uint32_t;
00136 #   else
00137       typedef unsigned long uint32_t;
00138 #   endif
00139 #endif
00140 
00141 #endif
00142 
00143 #include <limits.h>
00144 
00145 #if defined(_LP64)
00146 #   define T_INT32_MAX (INT_MAX)
00147 #   define T_INT32_MIN (INT_MIN)
00148 #else
00149 #   define T_INT32_MAX (LONG_MAX)
00150 #   define T_INT32_MIN (LONG_MIN)
00151 #endif
00152 
00153 /*===========================================================================*/
00154 /* Character data types                                                      */
00155 /*===========================================================================*/
00156 
00157 #ifdef OS390
00158 #   define U_CHARSET_FAMILY 1
00159 #endif
00160 
00161 /*===========================================================================*/
00162 /* Information about wchar support                                           */
00163 /*===========================================================================*/
00164 
00165 #define U_HAVE_WCHAR_H          1
00166 #define U_SIZEOF_WCHAR_T        4
00167 
00168 /*===========================================================================*/
00169 /* Symbol import-export control                                              */
00170 /*===========================================================================*/
00171 
00172 #define U_EXPORT
00173 #define U_EXPORT2
00174 #define U_IMPORT

Generated at Mon Jun 5 12:53:04 2000 for ICU1.5 by doxygen 1.0.0 written by Dimitri van Heesch, © 1997-1999