mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-15 01:42:37 +00:00
ICU-3319 Merge changes in branch to trunk.
X-SVN-Rev: 26609
This commit is contained in:
parent
1ad7caa833
commit
9e239fd9f0
10 changed files with 2337 additions and 2156 deletions
|
@ -1720,6 +1720,46 @@
|
|||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\unicode\uverdefs.h"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="copy "$(InputPath)" ..\..\include\unicode
"
|
||||
Outputs="..\..\include\unicode\$(InputFileName)"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="copy "$(InputPath)" ..\..\include\unicode
"
|
||||
Outputs="..\..\include\unicode\$(InputFileName)"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="copy "$(InputPath)" ..\..\include\unicode
"
|
||||
Outputs="..\..\include\unicode\$(InputFileName)"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="copy "$(InputPath)" ..\..\include\unicode
"
|
||||
Outputs="..\..\include\unicode\$(InputFileName)"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\unicode\uversion.h"
|
||||
>
|
||||
|
|
|
@ -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
|
||||
|
|
91
icu4c/source/common/unicode/ptypes.h
Normal file
91
icu4c/source/common/unicode/ptypes.h
Normal 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 */
|
||||
|
|
@ -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
|
@ -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
|
||||
|
|
193
icu4c/source/common/unicode/uverdefs.h
Normal file
193
icu4c/source/common/unicode/uverdefs.h
Normal 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
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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";
|
||||
|
|
Loading…
Add table
Reference in a new issue