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