/* ******************************************************************************* * * Copyright (C) 1997-1999, International Business Machines * Corporation and others. All Rights Reserved. * ******************************************************************************* * * FILE NAME : platform.h * * Date Name Description * 05/13/98 nos Creation (content moved here from ptypes.h). * 03/02/99 stephen Added AS400 support. * 03/30/99 stephen Added Linux support. * 04/13/99 stephen Reworked for autoconf. ******************************************************************************* */ /* Define the platform we're on. */ #ifndef @platform@ #define @platform@ #endif /* Define whether inttypes.h is available */ #ifndef U_HAVE_INTTYPES_H #define U_HAVE_INTTYPES_H @U_HAVE_INTTYPES_H@ #endif /* * Define what support for C++ streams is available. * If U_IOSTREAM_SOURCE is set to 199711, then is available * (1997711 is the date the ISO/IEC C++ FDIS was published), and then * one should qualify streams using the std namespace in ICU header * files. * If U_IOSTREAM_SOURCE is set to 198506, then is * available instead (198506 is the date when Stroustrup published * "An Extensible I/O Facility for C++" at the summer USENIX conference). * If U_IOSTREAM_SOURCE is 0, then C++ streams are not available and * support for them will be silently suppressed in ICU. * */ #ifndef U_IOSTREAM_SOURCE #define U_IOSTREAM_SOURCE @U_IOSTREAM_SOURCE@ #endif /* Determines whether specific types are available */ #ifndef HAVE_INT8_T #define HAVE_INT8_T @HAVE_INT8_T@ #endif #ifndef HAVE_UINT8_T #define HAVE_UINT8_T @HAVE_UINT8_T@ #endif #ifndef HAVE_INT16_T #define HAVE_INT16_T @HAVE_INT16_T@ #endif #ifndef HAVE_UINT16_T #define HAVE_UINT16_T @HAVE_UINT16_T@ #endif #ifndef HAVE_INT32_T #define HAVE_INT32_T @HAVE_INT32_T@ #endif #ifndef HAVE_UINT32_T #define HAVE_UINT32_T @HAVE_UINT32_T@ #endif #ifndef HAVE_BOOL_T #define HAVE_BOOL_T @HAVE_BOOL_T@ #endif /* Determines the endianness of the platform */ #define U_IS_BIG_ENDIAN @U_IS_BIG_ENDIAN@ #define HAVE_DLOPEN @HAVE_DLOPEN@ /* 1 or 0 to enable or disable threads. If undefined, default is: enable threads. */ #define ICU_USE_THREADS @ICU_USE_THREADS@ /*===========================================================================*/ /* Platform/Language determination */ /*===========================================================================*/ #ifdef macintosh #ifdef XP_MAC #undef XP_MAC #endif #define XP_MAC 1 #include #endif /*===========================================================================*/ /* Generic data types */ /*===========================================================================*/ /* If your platform does not have the header, you may need to edit the typedefs below. */ #if U_HAVE_INTTYPES_H #include #else #include #if STDC_HEADERS #include #include #endif #if ! HAVE_INT8_T typedef signed char int8_t; #endif #if ! HAVE_UINT8_T typedef unsigned char uint8_t; #endif #if ! HAVE_INT16_T typedef signed short int16_t; #endif #if ! HAVE_UINT16_T typedef unsigned short uint16_t; #endif #if ! HAVE_INT32_T # if defined(_LP64) typedef signed int int32_t; # else typedef signed long int32_t; # endif #endif #if ! HAVE_UINT32_T # if defined(_LP64) typedef unsigned int uint32_t; # else typedef unsigned long uint32_t; # endif #endif #endif #include #if defined(_LP64) # define T_INT32_MAX (INT_MAX) # define T_INT32_MIN (INT_MIN) #else # define T_INT32_MAX (LONG_MAX) # define T_INT32_MIN (LONG_MIN) #endif /*===========================================================================*/ /* Character data types */ /*===========================================================================*/ #ifdef OS390 # define U_CHARSET_FAMILY 1 #endif /*===========================================================================*/ /* Information about wchar support */ /*===========================================================================*/ #define U_HAVE_WCHAR_H @U_HAVE_WCHAR_H@ #define U_SIZEOF_WCHAR_T @U_SIZEOF_WCHAR_T@ #define U_HAVE_WCSCPY @U_HAVE_WCSCPY@ /*===========================================================================*/ /* Information about POSIX support */ /*===========================================================================*/ #define U_HAVE_NL_LANGINFO @U_HAVE_NL_LANGINFO@ #define U_HAVE_NL_LANGINFO_CODESET @U_HAVE_NL_LANGINFO_CODESET@ #define U_NL_LANGINFO_CODESET @U_NL_LANGINFO_CODESET@ #define U_TZSET @U_TZSET@ #define U_TIMEZONE @U_TIMEZONE@ #define U_TZNAME @U_TZNAME@ /*===========================================================================*/ /* Symbol import-export control */ /*===========================================================================*/ #define U_EXPORT #define U_EXPORT2 #define U_IMPORT /*===========================================================================*/ /* Programs used by ICU code */ /*===========================================================================*/ #define U_MAKE "@U_MAKE@"