1 /* 2 ******************************************************************************* 3 * Copyright (C) 2000-2015, 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) 2015, 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 56 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 _56 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 "56.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 "56" 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 "56.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 9 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 #ifndef U_HIDE_DEPRECATED_API 161 /** 162 * Constant 1. 163 * This was intended to be the version of collation tailorings, 164 * but instead the tailoring data carries a version number. 165 * @deprecated ICU 54 166 */ 167 #define UCOL_TAILORINGS_VERSION 1 168 #endif /* U_HIDE_DEPRECATED_API */ 169 170 #endif 171