ICU-3319 Merge changes in branch to trunk.

X-SVN-Rev: 26609
This commit is contained in:
Michael Ow 2009-09-08 05:31:42 +00:00
parent 1ad7caa833
commit 9e239fd9f0
10 changed files with 2337 additions and 2156 deletions

View file

@ -1720,6 +1720,46 @@
/>
</FileConfiguration>
</File>
<File
RelativePath=".\unicode\uverdefs.h"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCustomBuildTool"
CommandLine="copy &quot;$(InputPath)&quot; ..\..\include\unicode&#x0D;&#x0A;"
Outputs="..\..\include\unicode\$(InputFileName)"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCustomBuildTool"
CommandLine="copy &quot;$(InputPath)&quot; ..\..\include\unicode&#x0D;&#x0A;"
Outputs="..\..\include\unicode\$(InputFileName)"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCustomBuildTool"
CommandLine="copy &quot;$(InputPath)&quot; ..\..\include\unicode&#x0D;&#x0A;"
Outputs="..\..\include\unicode\$(InputFileName)"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCustomBuildTool"
CommandLine="copy &quot;$(InputPath)&quot; ..\..\include\unicode&#x0D;&#x0A;"
Outputs="..\..\include\unicode\$(InputFileName)"
/>
</FileConfiguration>
</File>
<File
RelativePath=".\unicode\uversion.h"
>

View file

@ -6,6 +6,10 @@
*
******************************************************************************
*
* Note: autoconf creates platform.h from platform.h.in at configure time.
*
******************************************************************************
*
* FILE NAME : platform.h
*
* Date Name Description
@ -24,6 +28,11 @@
* \brief Basic types for the platform
*/
/* This file should be included before uverdefs.h. */
#if defined(UVERDEFS_H)
# error Do not include unicode/uverdefs.h before #including unicode/platform.h. Instead of unicode/uverdefs,h, #include unicode/uversion.h
#endif
/* 1 or 0 to enable or disable threads. If undefined, default is: enable threads. */
#define ICU_USE_THREADS @ICU_USE_THREADS@
@ -118,75 +127,14 @@
/** @} */
/*===========================================================================*/
/** @{ Generic data types */
/** @{ Generic data types */
/* NOTE: type definitions have moved to ptypes.h */
/*===========================================================================*/
#include <sys/types.h>
/* If your platform does not have the <inttypes.h> header, you may
need to edit the typedefs below. */
#if U_HAVE_INTTYPES_H
/* autoconf 2.13 sometimes can't properly find the data types in <inttypes.h> */
/* os/390 needs <inttypes.h>, but it doesn't have int8_t, and it sometimes */
/* doesn't have uint8_t depending on the OS version. */
/* So we have this work around. */
#ifdef OS390
/* The features header is needed to get (u)int64_t sometimes. */
#include <features.h>
#if ! U_HAVE_INT8_T
typedef signed char int8_t;
#endif
#if !defined(__uint8_t)
#define __uint8_t 1
typedef unsigned char uint8_t;
#endif
#endif /* OS390 */
#include <inttypes.h>
#else /* U_HAVE_INTTYPES_H */
#if ! U_HAVE_INT8_T
typedef signed char int8_t;
#endif
#if ! U_HAVE_UINT8_T
typedef unsigned char uint8_t;
#endif
#if ! U_HAVE_INT16_T
typedef signed short int16_t;
#endif
#if ! U_HAVE_UINT16_T
typedef unsigned short uint16_t;
#endif
#if ! U_HAVE_INT32_T
typedef signed int int32_t;
#endif
#if ! U_HAVE_UINT32_T
typedef unsigned int uint32_t;
#endif
#if ! U_HAVE_INT64_T
typedef signed long long int64_t;
/* else we may not have a 64-bit type */
#endif
#if ! U_HAVE_UINT64_T
typedef unsigned long long uint64_t;
/* else we may not have a 64-bit type */
#endif
#endif
/** @} */
/*===========================================================================*/
/** @{ Compiler and environment features */
/** @{ Compiler and environment features */
/*===========================================================================*/
/* Define whether namespace is supported */
@ -389,6 +337,22 @@ typedef unsigned int uint32_t;
#endif
/** @} */
/*===========================================================================*/
/* Custom function renaming */
/*===========================================================================*/
#ifndef U_HAVE_LIB_SUFFIX
# define U_HAVE_LIB_SUFFIX @U_HAVE_LIB_SUFFIX@
#endif
#if U_HAVE_LIB_SUFFIX
# ifndef U_ICU_FUNCTION_RENAME
/* Renaming pattern: u_strcpy_41_suffix */
# define U_ICU_FUNCTION_RENAME(x) x ## _ ## @LIB_VERSION_MAJOR@ ## @ICULIBSUFFIXCNAME@
# define U_DEF_ICUDATA_ENTRY_POINT(major, minor) icudt##@ICULIBSUFFIXCNAME@##major##minor##_dat
# endif
#endif
#endif /* CYGWINMSVC */
#endif

View file

@ -0,0 +1,91 @@
/*
******************************************************************************
*
* Copyright (C) 1997-2009, International Business Machines
* Corporation and others. All Rights Reserved.
*
******************************************************************************
*
* FILE NAME : ptypes.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.
* 09/18/08 srl Moved basic types back to ptypes.h from platform.h
******************************************************************************
*/
#ifndef _PTYPES_H
#define _PTYPES_H
/*===========================================================================*/
/* Generic data types */
/*===========================================================================*/
#include <sys/types.h>
/* If your platform does not have the <inttypes.h> header, you may
need to edit the typedefs below. */
#if U_HAVE_INTTYPES_H
/* autoconf 2.13 sometimes can't properly find the data types in <inttypes.h> */
/* os/390 needs <inttypes.h>, but it doesn't have int8_t, and it sometimes */
/* doesn't have uint8_t depending on the OS version. */
/* So we have this work around. */
#ifdef OS390
/* The features header is needed to get (u)int64_t sometimes. */
#include <features.h>
#if ! U_HAVE_INT8_T
typedef signed char int8_t;
#endif
#if !defined(__uint8_t)
#define __uint8_t 1
typedef unsigned char uint8_t;
#endif
#endif /* OS390 */
#include <inttypes.h>
#else /* U_HAVE_INTTYPES_H */
#if ! U_HAVE_INT8_T
typedef signed char int8_t;
#endif
#if ! U_HAVE_UINT8_T
typedef unsigned char uint8_t;
#endif
#if ! U_HAVE_INT16_T
typedef signed short int16_t;
#endif
#if ! U_HAVE_UINT16_T
typedef unsigned short uint16_t;
#endif
#if ! U_HAVE_INT32_T
typedef signed int int32_t;
#endif
#if ! U_HAVE_UINT32_T
typedef unsigned int uint32_t;
#endif
#if ! U_HAVE_INT64_T
typedef signed long long int64_t;
/* else we may not have a 64-bit type */
#endif
#if ! U_HAVE_UINT64_T
typedef unsigned long long uint64_t;
/* else we may not have a 64-bit type */
#endif
#endif /* U_HAVE_INTTYPES_H */
#endif /* _PTYPES_H */

View file

@ -50,6 +50,7 @@
# include "unicode/pwin32.h"
#else
# include "unicode/platform.h"
# include "unicode/ptypes.h"
#endif
/*

File diff suppressed because it is too large Load diff

View file

@ -235,7 +235,10 @@
* Do not use.
* @internal
*/
#ifndef U_DEF_ICUDATA_ENTRY_POINT
/* affected by symbol renaming. See platform.h */
#define U_DEF_ICUDATA_ENTRY_POINT(major, minor) icudt##major##minor##_dat
#endif
/**
* \def U_CALLCONV

View file

@ -0,0 +1,193 @@
/*
*******************************************************************************
* Copyright (C) 2000-2009, International Business Machines
* Corporation and others. All Rights Reserved.
*******************************************************************************
*
* file name: uverdefs.h
* encoding: US-ASCII
* tab size: 8 (not used)
* indentation:4
*
* Created by: Vladimir Weinstein
* Updated by: Steven R. Loomis
*
* Gets included by utypes.h and Windows .rc files
*/
#ifndef UVERDEFS_H
#define UVERDEFS_H
/** The standard copyright notice that gets compiled into each library.
* This value will change in the subsequent releases of ICU
* @stable ICU 2.4
*/
#define U_COPYRIGHT_STRING \
" Copyright (C) 2009, International Business Machines Corporation and others. All Rights Reserved. "
/** The current ICU major version as an integer.
* This value will change in the subsequent releases of ICU
* @stable ICU 2.4
*/
#define U_ICU_VERSION_MAJOR_NUM 4
/** The current ICU minor version as an integer.
* This value will change in the subsequent releases of ICU
* @stable ICU 2.6
*/
#define U_ICU_VERSION_MINOR_NUM 3
/** The current ICU patchlevel version as an integer.
* This value will change in the subsequent releases of ICU
* @stable ICU 2.4
*/
#define U_ICU_VERSION_PATCHLEVEL_NUM 2
/** The current ICU build level version as an integer.
* This value is for use by ICU clients. It defaults to 0.
* @draft ICU 4.0
*/
#ifndef U_ICU_VERSION_BUILDLEVEL_NUM
#define U_ICU_VERSION_BUILDLEVEL_NUM 0
#endif
/** Glued version suffix for renamers
* This value will change in the subsequent releases of ICU
* @stable ICU 2.6
*/
#define U_ICU_VERSION_SUFFIX _4_3
/** Glued version suffix function for renamers
* This value will change in the subsequent releases of ICU.
* If a custom suffix (such as matching library suffixes) is desired, this can be modified.
* Note that if present, platform.h may contain an earlier definition of this macro.
* @draft ICU 4.2
*/
#ifndef U_ICU_FUNCTION_RENAME
#define U_ICU_FUNCTION_RENAME(x) x ## _4_3
#endif
/** The current ICU library version as a dotted-decimal string. The patchlevel
* only appears in this string if it non-zero.
* This value will change in the subsequent releases of ICU
* @stable ICU 2.4
*/
#define U_ICU_VERSION "4.3.2"
/** The current ICU library major/minor version as a string without dots, for library name suffixes.
* This value will change in the subsequent releases of ICU
* @stable ICU 2.6
*/
#define U_ICU_VERSION_SHORT "43"
/** Data version in ICU4C.
* * @draft ICU 4.4
* */
#define U_ICU_DATA_VERSION "4.3.2"
/*===========================================================================*/
/* C++ namespace if supported. Versioned unless versioning is disabled. */
/*===========================================================================*/
/**
* \def U_NAMESPACE_BEGIN
* This is used to begin a declaration of a public ICU C++ API.
* If the compiler doesn't support namespaces, this does nothing.
* @stable ICU 2.4
*/
/**
* \def U_NAMESPACE_END
* This is used to end a declaration of a public ICU C++ API
* If the compiler doesn't support namespaces, this does nothing.
* @stable ICU 2.4
*/
/**
* \def U_NAMESPACE_USE
* This is used to specify that the rest of the code uses the
* public ICU C++ API namespace.
* If the compiler doesn't support namespaces, this does nothing.
* @stable ICU 2.4
*/
/**
* \def U_NAMESPACE_QUALIFIER
* This is used to qualify that a function or class is part of
* the public ICU C++ API namespace.
* If the compiler doesn't support namespaces, this does nothing.
* @stable ICU 2.4
*/
/* Define namespace symbols if the compiler supports it. */
#if U_HAVE_NAMESPACE && defined(XP_CPLUSPLUS)
# if U_DISABLE_RENAMING
# define U_ICU_NAMESPACE icu
namespace U_ICU_NAMESPACE { }
# else
# define U_ICU_NAMESPACE icu_4_1
namespace U_ICU_NAMESPACE { }
namespace icu = U_ICU_NAMESPACE;
# endif
# define U_NAMESPACE_BEGIN namespace U_ICU_NAMESPACE {
# define U_NAMESPACE_END }
# define U_NAMESPACE_USE using namespace U_ICU_NAMESPACE;
# define U_NAMESPACE_QUALIFIER U_ICU_NAMESPACE::
# ifndef U_USING_ICU_NAMESPACE
# define U_USING_ICU_NAMESPACE 1
# endif
# if U_USING_ICU_NAMESPACE
U_NAMESPACE_USE
# endif
#else
# define U_NAMESPACE_BEGIN
# define U_NAMESPACE_END
# define U_NAMESPACE_USE
# define U_NAMESPACE_QUALIFIER
#endif
/*===========================================================================
* ICU collation framework version information
* Version info that can be obtained from a collator is affected by these
* numbers in a secret and magic way. Please use collator version as whole
*===========================================================================
*/
/** Collation runtime version (sort key generator, strcoll).
* If the version is different, sortkeys for the same string could be different
* version 2 was in ICU 1.8.1. changed is: compression intervals, French secondary
* compression, generating quad level always when strength is quad or more
* version 4 - ICU 2.2 - tracking UCA changes, ignore completely ignorables
* in contractions, ignore primary ignorables after shifted
* version 5 - ICU 2.8 - changed implicit generation code
* version 6 - ICU 3.4 - with the UCA 4.1, Thai tag is no longer generated or used
* This value may change in the subsequent releases of ICU
* @stable ICU 2.4
*/
#define UCOL_RUNTIME_VERSION 6
/** Builder code version. When this is different, same tailoring might result
* in assigning different collation elements to code points
* version 2 was in ICU 1.8.1. added support for prefixes, tweaked canonical
* closure. However, the tailorings should probably get same CEs assigned
* version 5 - ICU 2.2 - fixed some bugs, renamed some indirect values.
* version 6 - ICU 2.8 - fixed bug in builder that allowed 0xFF in primary values
* version 7 - ICU 3.4 - with the UCA 4.1 Thai tag is no longer processed, complete ignorables
* now break contractions
* Backward compatible with the old rules.
* This value may change in the subsequent releases of ICU
* @stable ICU 2.4
*/
#define UCOL_BUILDER_VERSION 7
/** This is the version of the tailorings
* This value may change in the subsequent releases of ICU
* @stable ICU 2.4
*/
#define UCOL_TAILORINGS_VERSION 1
#endif

View file

@ -11,13 +11,12 @@
*
* Created by: Vladimir Weinstein
*
* Contains all the important version numbers for ICU.
* Gets included by utypes.h and Windows .rc files
*/
/**
* \file
* \brief C API: Contains all the important version numbers for ICU.
* \brief C API: API for accessing ICU version numbers.
*/
/*===========================================================================*/
/* Main ICU version information */
@ -46,63 +45,14 @@
#include "unicode/umachine.h"
/** The standard copyright notice that gets compiled into each library.
* This value will change in the subsequent releases of ICU
* @stable ICU 2.4
*/
#define U_COPYRIGHT_STRING \
" Copyright (C) 2009, International Business Machines Corporation and others. All Rights Reserved. "
/* Actual version info lives in uverdefs.h */
#include "unicode/uverdefs.h"
/** Maximum length of the copyright string.
* @stable ICU 2.4
*/
#define U_COPYRIGHT_STRING_LENGTH 128
/** The current ICU major version as an integer.
* This value will change in the subsequent releases of ICU
* @stable ICU 2.4
*/
#define U_ICU_VERSION_MAJOR_NUM 4
/** The current ICU minor version as an integer.
* This value will change in the subsequent releases of ICU
* @stable ICU 2.6
*/
#define U_ICU_VERSION_MINOR_NUM 3
/** The current ICU patchlevel version as an integer.
* This value will change in the subsequent releases of ICU
* @stable ICU 2.4
*/
#define U_ICU_VERSION_PATCHLEVEL_NUM 2
/** The current ICU build level version as an integer.
* This value is for use by ICU clients. It defaults to 0.
* @stable ICU 4.0
*/
#ifndef U_ICU_VERSION_BUILDLEVEL_NUM
#define U_ICU_VERSION_BUILDLEVEL_NUM 0
#endif
/** Glued version suffix for renamers
* This value will change in the subsequent releases of ICU
* @stable ICU 2.6
*/
#define U_ICU_VERSION_SUFFIX _4_3
/** The current ICU library version as a dotted-decimal string. The patchlevel
* only appears in this string if it non-zero.
* This value will change in the subsequent releases of ICU
* @stable ICU 2.4
*/
#define U_ICU_VERSION "4.3.2"
/** The current ICU library major/minor version as a string without dots, for library name suffixes.
* This value will change in the subsequent releases of ICU
* @stable ICU 2.6
*/
#define U_ICU_VERSION_SHORT "43"
/** An ICU version consists of up to 4 numbers from 0..255.
* @stable ICU 2.4
*/
@ -119,78 +69,10 @@
#define U_MAX_VERSION_STRING_LENGTH 20
/** The binary form of a version on ICU APIs is an array of 4 uint8_t.
* To compare two versions, use memcmp(v1,v2,sizeof(UVersionInfo)).
* @stable ICU 2.4
*/
typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
/** Data version in ICU4C.
* @draft ICU 4.4
*/
#define U_ICU_DATA_VERSION "4.3.2"
/*===========================================================================*/
/* C++ namespace if supported. Versioned unless versioning is disabled. */
/*===========================================================================*/
/**
* \def U_NAMESPACE_BEGIN
* This is used to begin a declaration of a public ICU C++ API.
* If the compiler doesn't support namespaces, this does nothing.
* @stable ICU 2.4
*/
/**
* \def U_NAMESPACE_END
* This is used to end a declaration of a public ICU C++ API
* If the compiler doesn't support namespaces, this does nothing.
* @stable ICU 2.4
*/
/**
* \def U_NAMESPACE_USE
* This is used to specify that the rest of the code uses the
* public ICU C++ API namespace.
* If the compiler doesn't support namespaces, this does nothing.
* @stable ICU 2.4
*/
/**
* \def U_NAMESPACE_QUALIFIER
* This is used to qualify that a function or class is part of
* the public ICU C++ API namespace.
* If the compiler doesn't support namespaces, this does nothing.
* @stable ICU 2.4
*/
/* Define namespace symbols if the compiler supports it. */
#if U_HAVE_NAMESPACE && defined(XP_CPLUSPLUS)
# if U_DISABLE_RENAMING
# define U_ICU_NAMESPACE icu
namespace U_ICU_NAMESPACE { }
# else
# define U_ICU_NAMESPACE icu_4_3
namespace U_ICU_NAMESPACE { }
namespace icu = U_ICU_NAMESPACE;
# endif
# define U_NAMESPACE_BEGIN namespace U_ICU_NAMESPACE {
# define U_NAMESPACE_END }
# define U_NAMESPACE_USE using namespace U_ICU_NAMESPACE;
# define U_NAMESPACE_QUALIFIER U_ICU_NAMESPACE::
# ifndef U_USING_ICU_NAMESPACE
# define U_USING_ICU_NAMESPACE 1
# endif
# if U_USING_ICU_NAMESPACE
U_NAMESPACE_USE
# endif
#else
# define U_NAMESPACE_BEGIN
# define U_NAMESPACE_END
# define U_NAMESPACE_USE
# define U_NAMESPACE_QUALIFIER
#endif
/*===========================================================================*/
@ -211,20 +93,6 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
U_STABLE void U_EXPORT2
u_versionFromString(UVersionInfo versionArray, const char *versionString);
/**
* Parse a Unicode string with dotted-decimal version information and
* fill in a UVersionInfo structure with the result.
* Definition of this function lives in putil.c
*
* @param versionArray The destination structure for the version information.
* @param versionString A Unicode string with dotted-decimal version
* information, with up to four non-negative number
* fields with values of up to 255 each.
* @draft ICU 4.2
*/
U_STABLE void U_EXPORT2
u_versionFromUString(UVersionInfo versionArray, const UChar *versionString);
/**
* Write a string with dotted-decimal version information according
* to the input UVersionInfo.
@ -251,53 +119,5 @@ u_versionToString(UVersionInfo versionArray, char *versionString);
U_STABLE void U_EXPORT2
u_getVersion(UVersionInfo versionArray);
/* TODO: Add description */
U_CAPI int32_t U_EXPORT2
u_versionCompare(UVersionInfo version1, UVersionInfo version2);
/* TODO: Add description */
U_CAPI void U_EXPORT2
u_versionCopy(UVersionInfo versionDest, UVersionInfo versionSrc);
/*===========================================================================
* ICU collation framework version information
* Version info that can be obtained from a collator is affected by these
* numbers in a secret and magic way. Please use collator version as whole
*===========================================================================
*/
/** Collation runtime version (sort key generator, strcoll).
* If the version is different, sortkeys for the same string could be different
* version 2 was in ICU 1.8.1. changed is: compression intervals, French secondary
* compression, generating quad level always when strength is quad or more
* version 4 - ICU 2.2 - tracking UCA changes, ignore completely ignorables
* in contractions, ignore primary ignorables after shifted
* version 5 - ICU 2.8 - changed implicit generation code
* version 6 - ICU 3.4 - with the UCA 4.1, Thai tag is no longer generated or used
* This value may change in the subsequent releases of ICU
* @stable ICU 2.4
*/
#define UCOL_RUNTIME_VERSION 6
/** Builder code version. When this is different, same tailoring might result
* in assigning different collation elements to code points
* version 2 was in ICU 1.8.1. added support for prefixes, tweaked canonical
* closure. However, the tailorings should probably get same CEs assigned
* version 5 - ICU 2.2 - fixed some bugs, renamed some indirect values.
* version 6 - ICU 2.8 - fixed bug in builder that allowed 0xFF in primary values
* version 7 - ICU 3.4 - with the UCA 4.1 Thai tag is no longer processed, complete ignorables
* now break contractions
* Backward compatible with the old rules.
* This value may change in the subsequent releases of ICU
* @stable ICU 2.4
*/
#define UCOL_BUILDER_VERSION 7
/** This is the version of the tailorings
* This value may change in the subsequent releases of ICU
* @stable ICU 2.4
*/
#define UCOL_TAILORINGS_VERSION 1
#endif

View file

@ -48,7 +48,8 @@ SO_TARGET_VERSION_MAJOR = @LIB_VERSION_MAJOR@
ICUDATA_DIR = @pkgicudatadir@/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION)
ICUDATA_BASENAME_VERSION = $(ICUPREFIX)dt@LIB_VERSION_MAJOR@
ICUDATA_ENTRY_POINT = $(ICUDATA_BASENAME_VERSION)
# the entry point is almost like the basename, but has the lib suffix.
ICUDATA_ENTRY_POINT = $(ICUPREFIX)dt@ICULIBSUFFIXCNAME@@LIB_VERSION_MAJOR@
ICUDATA_CHAR = @ICUDATA_CHAR@
ICUDATA_PLATFORM_NAME = $(ICUDATA_BASENAME_VERSION)$(ICUDATA_CHAR)
PKGDATA_LIBSTATICNAME = -L $(STATIC_PREFIX)$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)

View file

@ -25,7 +25,7 @@ $path = substr($0, 0, rindex($0, "/")+1)."../../common/unicode/uversion.h";
$nmopts = '-Cg -f s';
$post = '';
$mode = 'LINUX';
$mode = 'POSIX';
(-e $path) || die "Cannot find uversion.h";
@ -68,7 +68,6 @@ $HEADERDEF =~ s/\./_/;
#We will print our copyright here + warnings
$YEAR = strftime "%Y",localtime;
print HEADER <<"EndOfHeaderComment";
@ -100,6 +99,36 @@ print HEADER <<"EndOfHeaderComment";
/* #define U_DISABLE_RENAMING 1 */
#if !U_DISABLE_RENAMING
/* We need the U_ICU_FUNCTION_RENAME definition. There's a default one in unicode/uverdefs.h we can use, but we will give
the platform a chance to define it first.
Normally (if utypes.h or umachine.h was included first) this will not be necessary as it will already be defined.
*/
#ifndef U_ICU_FUNCTION_RENAME
/**
* Are we using platform.h? If so, include platform.h here.
* NOTE: this logic was copied from umachine.h and must be kept in sync with it.
*/
#if defined(U_PALMOS)
/* No equivalent platform.h. Was: include "unicode/ppalmos.h" */
#elif defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
/* No equivalent platform.h. Was: include "unicode/pwin32.h" */
#else
# include "unicode/platform.h" /* platform.h is 'pure defines' */
/* Do not include "unicode/ptypes.h" - ptypes.h contains typedefs and other includes */
#endif
#endif
/* If we still don't have U_ICU_FUNCTION_RENAME use the default. */
#ifndef U_ICU_FUNCTION_RENAME
#include "unicode/uverdefs.h"
#endif
/* Error out before the following defines cause very strange and unexpected code breakage */
#ifndef U_ICU_FUNCTION_RENAME
#error U_ICU_FUNCTION_RENAME is not defined - cannot continue. Consider defining U_DISABLE_RENAMING if renaming should not be used.
#endif
EndOfHeaderComment
for(;@ARGV; shift(@ARGV)) {
@ -169,14 +198,15 @@ for(;@ARGV; shift(@ARGV)) {
print HEADER "\n/* C exports renaming data */\n\n";
foreach(sort keys(%CFuncs)) {
print HEADER "#define $_ $_$U_ICU_VERSION_SUFFIX\n";
print HEADER "#define $_ U_ICU_FUNCTION_RENAME($_)\n";
# print HEADER "#define $_ $_$U_ICU_VERSION_SUFFIX\n";
}
print HEADER "/* C++ class names renaming defines */\n\n";
print HEADER "#ifdef XP_CPLUSPLUS\n";
print HEADER "#if !U_HAVE_NAMESPACE\n\n";
foreach(sort keys(%CppClasses)) {
print HEADER "#define $_ $_$U_ICU_VERSION_SUFFIX\n";
print HEADER "#define $_ U_ICU_FUNCTION_RENAME($_)\n";
}
print HEADER "\n#endif\n";
print HEADER "#endif\n";