18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project****************************************************************************** 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Copyright (C) 1997-2004, International Business Machines 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Corporation and others. All Rights Reserved. 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project****************************************************************************** 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* FILE NAME : platform.h 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Date Name Description 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 05/13/98 nos Creation (content moved here from ptypes.h). 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 03/02/99 stephen Added AS400 support. 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 03/30/99 stephen Added Linux support. 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 04/13/99 stephen Reworked for autoconf. 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project****************************************************************************** 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/ 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Define the platform we're on. */ 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef U_DARWIN 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_DARWIN 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Define whether inttypes.h is available */ 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef U_HAVE_INTTYPES_H 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_HAVE_INTTYPES_H 1 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Define what support for C++ streams is available. 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * If U_IOSTREAM_SOURCE is set to 199711, then <iostream> is available 328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (1997711 is the date the ISO/IEC C++ FDIS was published), and then 338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * one should qualify streams using the std namespace in ICU header 348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * files. 358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * If U_IOSTREAM_SOURCE is set to 198506, then <iostream.h> is 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * available instead (198506 is the date when Stroustrup published 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * "An Extensible I/O Facility for C++" at the summer USENIX conference). 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * If U_IOSTREAM_SOURCE is 0, then C++ streams are not available and 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * support for them will be silently suppressed in ICU. 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef U_IOSTREAM_SOURCE 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_IOSTREAM_SOURCE 199711 458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Determines whether specific types are available */ 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef U_HAVE_INT8_T 498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_HAVE_INT8_T 1 508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef U_HAVE_UINT8_T 538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_HAVE_UINT8_T 0 548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef U_HAVE_INT16_T 578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_HAVE_INT16_T 1 588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef U_HAVE_UINT16_T 618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_HAVE_UINT16_T 0 628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef U_HAVE_INT32_T 658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_HAVE_INT32_T 1 668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef U_HAVE_UINT32_T 698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_HAVE_UINT32_T 0 708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef U_HAVE_INT64_T 738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_HAVE_INT64_T 1 748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef U_HAVE_UINT64_T 778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_HAVE_UINT64_T 0 788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*===========================================================================*/ 818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Generic data types */ 828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*===========================================================================*/ 838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <sys/types.h> 858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* If your platform does not have the <inttypes.h> header, you may 878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project need to edit the typedefs below. */ 888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if U_HAVE_INTTYPES_H 898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* autoconf 2.13 sometimes can't properly find the data types in <inttypes.h> */ 918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* os/390 needs <inttypes.h>, but it doesn't have int8_t, and it sometimes */ 928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* doesn't have uint8_t depending on the OS version. */ 938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* So we have this work around. */ 948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifdef OS390 958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* The features header is needed to get (u)int64_t sometimes. */ 968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <features.h> 978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if ! U_HAVE_INT8_T 988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef signed char int8_t; 998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if !defined(__uint8_t) 1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define __uint8_t 1 1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef unsigned char uint8_t; 1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif /* OS390 */ 1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <inttypes.h> 1078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#else /* U_HAVE_INTTYPES_H */ 1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if ! U_HAVE_INT8_T 1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef signed char int8_t; 1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if ! U_HAVE_UINT8_T 1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef unsigned char uint8_t; 1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if ! U_HAVE_INT16_T 1198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef signed short int16_t; 1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if ! U_HAVE_UINT16_T 1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef unsigned short uint16_t; 1248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if ! U_HAVE_INT32_T 1278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef signed int int32_t; 1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if ! U_HAVE_UINT32_T 1318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttypedef unsigned int uint32_t; 1328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if ! U_HAVE_INT64_T 1358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project typedef signed long long int64_t; 1368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* else we may not have a 64-bit type */ 1378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if ! U_HAVE_UINT64_T 1408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project typedef unsigned long long uint64_t; 1418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* else we may not have a 64-bit type */ 1428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*===========================================================================*/ 1478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Compiler and environment features */ 1488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*===========================================================================*/ 1498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Define whether namespace is supported */ 1518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef U_HAVE_NAMESPACE 1528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_HAVE_NAMESPACE 1 1538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Determines the endianness of the platform 1568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project It's done this way in case multiple architectures are being built at once. 1578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project For example, Darwin supports fat binaries, which can be both PPC and x86 based. */ 1588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if defined(BYTE_ORDER) && defined(BIG_ENDIAN) 1598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_IS_BIG_ENDIAN (BYTE_ORDER == BIG_ENDIAN) 1608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#else 1618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_IS_BIG_ENDIAN 1 1628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 1 or 0 to enable or disable threads. If undefined, default is: enable threads. */ 1658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define ICU_USE_THREADS 1 1668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef U_DEBUG 1688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_DEBUG 0 1698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef U_RELEASE 1728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_RELEASE 1 1738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Determine whether to disable renaming or not. This overrides the 1768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project setting in umachine.h which is for all platforms. */ 1778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef U_DISABLE_RENAMING 1788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_DISABLE_RENAMING 1 1798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Determine whether to override new and delete. */ 1828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef U_OVERRIDE_CXX_ALLOCATION 1838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_OVERRIDE_CXX_ALLOCATION 1 1848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Determine whether to override placement new and delete for STL. */ 1868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef U_HAVE_PLACEMENT_NEW 1878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_HAVE_PLACEMENT_NEW 1 1888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Determine whether to enable tracing. */ 1918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef U_ENABLE_TRACING 1928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_ENABLE_TRACING 1 1938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 1948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Define the library suffix in a C syntax. */ 1968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_HAVE_LIB_SUFFIX 0 1978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_LIB_SUFFIX_C_NAME 1988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_LIB_SUFFIX_C_NAME_STRING "" 1998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*===========================================================================*/ 2018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Character data types */ 2028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*===========================================================================*/ 2038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if defined(OS390) || defined(OS400) 2058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project# define U_CHARSET_FAMILY 1 2068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 2078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*===========================================================================*/ 2098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Information about wchar support */ 2108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*===========================================================================*/ 2118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_HAVE_WCHAR_H 1 2138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_SIZEOF_WCHAR_T 4 2148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_HAVE_WCSCPY 1 2168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*===========================================================================*/ 2188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Information about POSIX support */ 2198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*===========================================================================*/ 2208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_HAVE_NL_LANGINFO 1 2228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_HAVE_NL_LANGINFO_CODESET 1 2238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_NL_LANGINFO_CODESET CODESET 2248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if 1 2268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_TZSET tzset 2278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 2288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if 0 2298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_TIMEZONE 2308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 2318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if 1 2328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_TZNAME tzname 2338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 2348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_HAVE_MMAP 1 2368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_HAVE_POPEN 1 2378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*===========================================================================*/ 2398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Symbol import-export control */ 2408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*===========================================================================*/ 2418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_EXPORT 2438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* U_CALLCONV is releated to U_EXPORT2 */ 2448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_EXPORT2 2458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* cygwin needs to export/import data */ 2478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifdef U_CYGWIN 2488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_IMPORT __declspec(dllimport) 2498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#else 2508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_IMPORT 2518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 2528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*===========================================================================*/ 2548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Code alignment and C function inlining */ 2558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*===========================================================================*/ 2568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef U_INLINE 2588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_INLINE inline 2598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 2608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_ALIGN_CODE(n) 2628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*===========================================================================*/ 2648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Programs used by ICU code */ 2658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*===========================================================================*/ 2668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define U_MAKE "/usr/bin/gnumake" 268