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