1/* 2******************************************************************************* 3* Copyright (C) 2000-2014, International Business Machines 4* Corporation and others. All Rights Reserved. 5******************************************************************************* 6* 7* file name: uvernum.h 8* encoding: US-ASCII 9* tab size: 8 (not used) 10* indentation:4 11* 12* Created by: Vladimir Weinstein 13* Updated by: Steven R. Loomis 14* 15*/ 16 17/** 18 * \file 19 * \brief C API: definitions of ICU version numbers 20 * 21 * This file is included by uversion.h and other files. This file contains only 22 * macros and definitions. The actual version numbers are defined here. 23 */ 24 25 /* 26 * IMPORTANT: When updating version, the following things need to be done: 27 * source/common/unicode/uvernum.h - this file: update major, minor, 28 * patchlevel, suffix, version, short version constants, namespace, 29 * renaming macro, and copyright 30 * 31 * The following files need to be updated as well, which can be done 32 * by running the UNIX makefile target 'update-windows-makefiles' in icu/source. 33 * 34 * 35 * source/common/common.vcproj - update 'Output file name' on the link tab so 36 * that it contains the new major/minor combination 37 * source/i18n/i18n.vcproj - same as for the common.vcproj 38 * source/layout/layout.vcproj - same as for the common.vcproj 39 * source/layoutex/layoutex.vcproj - same 40 * source/stubdata/stubdata.vcproj - same as for the common.vcproj 41 * source/io/io.vcproj - same as for the common.vcproj 42 * source/data/makedata.mak - change U_ICUDATA_NAME so that it contains 43 * the new major/minor combination and the Unicode version. 44 */ 45 46#ifndef UVERNUM_H 47#define UVERNUM_H 48 49/** The standard copyright notice that gets compiled into each library. 50 * This value will change in the subsequent releases of ICU 51 * @stable ICU 2.4 52 */ 53#define U_COPYRIGHT_STRING \ 54 " Copyright (C) 2014, International Business Machines Corporation and others. All Rights Reserved. " 55 56/** The current ICU major version as an integer. 57 * This value will change in the subsequent releases of ICU 58 * @stable ICU 2.4 59 */ 60#define U_ICU_VERSION_MAJOR_NUM 53 61 62/** The current ICU minor version as an integer. 63 * This value will change in the subsequent releases of ICU 64 * @stable ICU 2.6 65 */ 66#define U_ICU_VERSION_MINOR_NUM 1 67 68/** The current ICU patchlevel version as an integer. 69 * This value will change in the subsequent releases of ICU 70 * @stable ICU 2.4 71 */ 72#define U_ICU_VERSION_PATCHLEVEL_NUM 0 73 74/** The current ICU build level version as an integer. 75 * This value is for use by ICU clients. It defaults to 0. 76 * @stable ICU 4.0 77 */ 78#ifndef U_ICU_VERSION_BUILDLEVEL_NUM 79#define U_ICU_VERSION_BUILDLEVEL_NUM 0 80#endif 81 82/** Glued version suffix for renamers 83 * This value will change in the subsequent releases of ICU 84 * @stable ICU 2.6 85 */ 86#define U_ICU_VERSION_SUFFIX _53 87 88/** 89 * \def U_DEF2_ICU_ENTRY_POINT_RENAME 90 * @internal 91 */ 92/** 93 * \def U_DEF_ICU_ENTRY_POINT_RENAME 94 * @internal 95 */ 96/** Glued version suffix function for renamers 97 * This value will change in the subsequent releases of ICU. 98 * If a custom suffix (such as matching library suffixes) is desired, this can be modified. 99 * Note that if present, platform.h may contain an earlier definition of this macro. 100 * \def U_ICU_ENTRY_POINT_RENAME 101 * @stable ICU 4.2 102 */ 103 104#ifndef U_ICU_ENTRY_POINT_RENAME 105#ifdef U_HAVE_LIB_SUFFIX 106#define U_DEF_ICU_ENTRY_POINT_RENAME(x,y,z) x ## y ## z 107#define U_DEF2_ICU_ENTRY_POINT_RENAME(x,y,z) U_DEF_ICU_ENTRY_POINT_RENAME(x,y,z) 108#define U_ICU_ENTRY_POINT_RENAME(x) U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_ICU_VERSION_SUFFIX,U_LIB_SUFFIX_C_NAME) 109#else 110#define U_DEF_ICU_ENTRY_POINT_RENAME(x,y) x ## y 111#define U_DEF2_ICU_ENTRY_POINT_RENAME(x,y) U_DEF_ICU_ENTRY_POINT_RENAME(x,y) 112#define U_ICU_ENTRY_POINT_RENAME(x) U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_ICU_VERSION_SUFFIX) 113#endif 114#endif 115 116/** The current ICU library version as a dotted-decimal string. The patchlevel 117 * only appears in this string if it non-zero. 118 * This value will change in the subsequent releases of ICU 119 * @stable ICU 2.4 120 */ 121#define U_ICU_VERSION "53.1" 122 123/** The current ICU library major/minor version as a string without dots, for library name suffixes. 124 * This value will change in the subsequent releases of ICU 125 * @stable ICU 2.6 126 */ 127#define U_ICU_VERSION_SHORT "53" 128 129#ifndef U_HIDE_INTERNAL_API 130/** Data version in ICU4C. 131 * @internal ICU 4.4 Internal Use Only 132 **/ 133#define U_ICU_DATA_VERSION "53.1" 134#endif /* U_HIDE_INTERNAL_API */ 135 136/*=========================================================================== 137 * ICU collation framework version information 138 * Version info that can be obtained from a collator is affected by these 139 * numbers in a secret and magic way. Please use collator version as whole 140 *=========================================================================== 141 */ 142 143/** 144 * Collation runtime version (sort key generator, strcoll). 145 * If the version is different, sort keys for the same string could be different. 146 * This value may change in subsequent releases of ICU. 147 * @stable ICU 2.4 148 */ 149#define UCOL_RUNTIME_VERSION 8 150 151/** 152 * Collation builder code version. 153 * When this is different, the same tailoring might result 154 * in assigning different collation elements to code points. 155 * This value may change in subsequent releases of ICU. 156 * @stable ICU 2.4 157 */ 158#define UCOL_BUILDER_VERSION 9 159 160/** 161 * This is the version of collation tailorings. 162 * This value may change in subsequent releases of ICU. 163 * @stable ICU 2.4 164 */ 165#define UCOL_TAILORINGS_VERSION 1 166 167#endif 168