uvernum.h 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. // © 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: UTF-8
  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. * \file
  20. * \brief C API: definitions of ICU version numbers
  21. *
  22. * This file is included by uversion.h and other files. This file contains only
  23. * macros and definitions. The actual version numbers are defined here.
  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_uwp.vcxproj
  36. * source/common/common.vcxproj - update 'Output file name' on the link tab so
  37. * that it contains the new major/minor combination
  38. * source/i18n/i18n.vcxproj - same as for the common.vcxproj
  39. * source/i18n/i18n_uwp.vcxproj - same as for the common_uwp.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. #ifndef UVERNUM_H
  47. #define UVERNUM_H
  48. /** The standard copyright notice that gets compiled into each library.
  49. * This value will change in the subsequent releases of ICU
  50. * @stable ICU 2.4
  51. */
  52. #define U_COPYRIGHT_STRING \
  53. " Copyright (C) 2016 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html "
  54. /** The current ICU major version as an integer.
  55. * This value will change in the subsequent releases of ICU
  56. * @stable ICU 2.4
  57. */
  58. #define U_ICU_VERSION_MAJOR_NUM 67
  59. /** The current ICU minor version as an integer.
  60. * This value will change in the subsequent releases of ICU
  61. * @stable ICU 2.6
  62. */
  63. #define U_ICU_VERSION_MINOR_NUM 1
  64. /** The current ICU patchlevel version as an integer.
  65. * This value will change in the subsequent releases of ICU
  66. * @stable ICU 2.4
  67. */
  68. #define U_ICU_VERSION_PATCHLEVEL_NUM 0
  69. /** The current ICU build level version as an integer.
  70. * This value is for use by ICU clients. It defaults to 0.
  71. * @stable ICU 4.0
  72. */
  73. #ifndef U_ICU_VERSION_BUILDLEVEL_NUM
  74. #define U_ICU_VERSION_BUILDLEVEL_NUM 0
  75. #endif
  76. /** Glued version suffix for renamers
  77. * This value will change in the subsequent releases of ICU
  78. * @stable ICU 2.6
  79. */
  80. #define U_ICU_VERSION_SUFFIX _67
  81. /**
  82. * \def U_DEF2_ICU_ENTRY_POINT_RENAME
  83. * @internal
  84. */
  85. /**
  86. * \def U_DEF_ICU_ENTRY_POINT_RENAME
  87. * @internal
  88. */
  89. /** Glued version suffix function for renamers
  90. * This value will change in the subsequent releases of ICU.
  91. * If a custom suffix (such as matching library suffixes) is desired, this can be modified.
  92. * Note that if present, platform.h may contain an earlier definition of this macro.
  93. * \def U_ICU_ENTRY_POINT_RENAME
  94. * @stable ICU 4.2
  95. */
  96. /**
  97. * Disable the version suffix. Use the custom suffix if exists.
  98. * \def U_DISABLE_VERSION_SUFFIX
  99. * @internal
  100. */
  101. #ifndef U_DISABLE_VERSION_SUFFIX
  102. #define U_DISABLE_VERSION_SUFFIX 0
  103. #endif
  104. #ifndef U_ICU_ENTRY_POINT_RENAME
  105. #ifdef U_HAVE_LIB_SUFFIX
  106. # if !U_DISABLE_VERSION_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_LIB_SUFFIX_C_NAME)
  114. # endif
  115. #else
  116. # if !U_DISABLE_VERSION_SUFFIX
  117. # define U_DEF_ICU_ENTRY_POINT_RENAME(x,y) x ## y
  118. # define U_DEF2_ICU_ENTRY_POINT_RENAME(x,y) U_DEF_ICU_ENTRY_POINT_RENAME(x,y)
  119. # define U_ICU_ENTRY_POINT_RENAME(x) U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_ICU_VERSION_SUFFIX)
  120. # else
  121. # define U_ICU_ENTRY_POINT_RENAME(x) x
  122. # endif
  123. #endif
  124. #endif
  125. /** The current ICU library version as a dotted-decimal string. The patchlevel
  126. * only appears in this string if it non-zero.
  127. * This value will change in the subsequent releases of ICU
  128. * @stable ICU 2.4
  129. */
  130. #define U_ICU_VERSION "67.1"
  131. /**
  132. * The current ICU library major version number as a string, for library name suffixes.
  133. * This value will change in subsequent releases of ICU.
  134. *
  135. * Until ICU 4.8, this was the combination of the single-digit major and minor ICU version numbers
  136. * into one string without dots ("48").
  137. * Since ICU 49, it is the double-digit major ICU version number.
  138. * See http://userguide.icu-project.org/design#TOC-Version-Numbers-in-ICU
  139. *
  140. * @stable ICU 2.6
  141. */
  142. #define U_ICU_VERSION_SHORT "67"
  143. #ifndef U_HIDE_INTERNAL_API
  144. /** Data version in ICU4C.
  145. * @internal ICU 4.4 Internal Use Only
  146. **/
  147. #define U_ICU_DATA_VERSION "67.1"
  148. #endif /* U_HIDE_INTERNAL_API */
  149. /*===========================================================================
  150. * ICU collation framework version information
  151. * Version info that can be obtained from a collator is affected by these
  152. * numbers in a secret and magic way. Please use collator version as whole
  153. *===========================================================================
  154. */
  155. /**
  156. * Collation runtime version (sort key generator, strcoll).
  157. * If the version is different, sort keys for the same string could be different.
  158. * This value may change in subsequent releases of ICU.
  159. * @stable ICU 2.4
  160. */
  161. #define UCOL_RUNTIME_VERSION 9
  162. /**
  163. * Collation builder code version.
  164. * When this is different, the same tailoring might result
  165. * in assigning different collation elements to code points.
  166. * This value may change in subsequent releases of ICU.
  167. * @stable ICU 2.4
  168. */
  169. #define UCOL_BUILDER_VERSION 9
  170. #ifndef U_HIDE_DEPRECATED_API
  171. /**
  172. * Constant 1.
  173. * This was intended to be the version of collation tailorings,
  174. * but instead the tailoring data carries a version number.
  175. * @deprecated ICU 54
  176. */
  177. #define UCOL_TAILORINGS_VERSION 1
  178. #endif /* U_HIDE_DEPRECATED_API */
  179. #endif