uvernum.h 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  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 icu4c/source.
  33. *
  34. * source/allinone/Build.Windows.IcuVersion.props - Update the IcuMajorVersion
  35. * source/data/makedata.mak - change U_ICUDATA_NAME so that it contains
  36. * the new major/minor combination, and UNICODE_VERSION
  37. * for the Unicode version.
  38. */
  39. #ifndef UVERNUM_H
  40. #define UVERNUM_H
  41. /** The standard copyright notice that gets compiled into each library.
  42. * This value will change in the subsequent releases of ICU
  43. * @stable ICU 2.4
  44. */
  45. #define U_COPYRIGHT_STRING \
  46. " Copyright (C) 2016 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html "
  47. /** The current ICU major version as an integer.
  48. * This value will change in the subsequent releases of ICU
  49. * @stable ICU 2.4
  50. */
  51. #define U_ICU_VERSION_MAJOR_NUM 75
  52. /** The current ICU minor version as an integer.
  53. * This value will change in the subsequent releases of ICU
  54. * @stable ICU 2.6
  55. */
  56. #define U_ICU_VERSION_MINOR_NUM 1
  57. /** The current ICU patchlevel 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_PATCHLEVEL_NUM 0
  62. /** The current ICU build level version as an integer.
  63. * This value is for use by ICU clients. It defaults to 0.
  64. * @stable ICU 4.0
  65. */
  66. #ifndef U_ICU_VERSION_BUILDLEVEL_NUM
  67. #define U_ICU_VERSION_BUILDLEVEL_NUM 0
  68. #endif
  69. /** Glued version suffix for renamers
  70. * This value will change in the subsequent releases of ICU
  71. * @stable ICU 2.6
  72. */
  73. #define U_ICU_VERSION_SUFFIX _75
  74. /**
  75. * \def U_DEF2_ICU_ENTRY_POINT_RENAME
  76. * @internal
  77. */
  78. /**
  79. * \def U_DEF_ICU_ENTRY_POINT_RENAME
  80. * @internal
  81. */
  82. /** Glued version suffix function for renamers
  83. * This value will change in the subsequent releases of ICU.
  84. * If a custom suffix (such as matching library suffixes) is desired, this can be modified.
  85. * Note that if present, platform.h may contain an earlier definition of this macro.
  86. * \def U_ICU_ENTRY_POINT_RENAME
  87. * @stable ICU 4.2
  88. */
  89. /**
  90. * Disable the version suffix. Use the custom suffix if exists.
  91. * \def U_DISABLE_VERSION_SUFFIX
  92. * @internal
  93. */
  94. #ifndef U_DISABLE_VERSION_SUFFIX
  95. #define U_DISABLE_VERSION_SUFFIX 0
  96. #endif
  97. #ifndef U_ICU_ENTRY_POINT_RENAME
  98. #ifdef U_HAVE_LIB_SUFFIX
  99. # if !U_DISABLE_VERSION_SUFFIX
  100. # define U_DEF_ICU_ENTRY_POINT_RENAME(x,y,z) x ## y ## z
  101. # define U_DEF2_ICU_ENTRY_POINT_RENAME(x,y,z) U_DEF_ICU_ENTRY_POINT_RENAME(x,y,z)
  102. # define U_ICU_ENTRY_POINT_RENAME(x) U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_ICU_VERSION_SUFFIX,U_LIB_SUFFIX_C_NAME)
  103. # else
  104. # define U_DEF_ICU_ENTRY_POINT_RENAME(x,y) x ## y
  105. # define U_DEF2_ICU_ENTRY_POINT_RENAME(x,y) U_DEF_ICU_ENTRY_POINT_RENAME(x,y)
  106. # define U_ICU_ENTRY_POINT_RENAME(x) U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_LIB_SUFFIX_C_NAME)
  107. # endif
  108. #else
  109. # if !U_DISABLE_VERSION_SUFFIX
  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. # else
  114. # define U_ICU_ENTRY_POINT_RENAME(x) x
  115. # endif
  116. #endif
  117. #endif
  118. /** The current ICU library version as a dotted-decimal string. The patchlevel
  119. * only appears in this string if it non-zero.
  120. * This value will change in the subsequent releases of ICU
  121. * @stable ICU 2.4
  122. */
  123. #define U_ICU_VERSION "75.1"
  124. /**
  125. * The current ICU library major version number as a string, for library name suffixes.
  126. * This value will change in subsequent releases of ICU.
  127. *
  128. * Until ICU 4.8, this was the combination of the single-digit major and minor ICU version numbers
  129. * into one string without dots ("48").
  130. * Since ICU 49, it is the double-digit major ICU version number.
  131. * See https://unicode-org.github.io/icu/userguide/design#version-numbers-in-icu
  132. *
  133. * @stable ICU 2.6
  134. */
  135. #define U_ICU_VERSION_SHORT "75"
  136. #ifndef U_HIDE_INTERNAL_API
  137. /** Data version in ICU4C.
  138. * @internal ICU 4.4 Internal Use Only
  139. **/
  140. #define U_ICU_DATA_VERSION "75.1"
  141. #endif /* U_HIDE_INTERNAL_API */
  142. /*===========================================================================
  143. * ICU collation framework version information
  144. * Version info that can be obtained from a collator is affected by these
  145. * numbers in a secret and magic way. Please use collator version as whole
  146. *===========================================================================
  147. */
  148. /**
  149. * Collation runtime version (sort key generator, strcoll).
  150. * If the version is different, sort keys for the same string could be different.
  151. * This value may change in subsequent releases of ICU.
  152. * @stable ICU 2.4
  153. */
  154. #define UCOL_RUNTIME_VERSION 9
  155. /**
  156. * Collation builder code version.
  157. * When this is different, the same tailoring might result
  158. * in assigning different collation elements to code points.
  159. * This value may change in subsequent releases of ICU.
  160. * @stable ICU 2.4
  161. */
  162. #define UCOL_BUILDER_VERSION 9
  163. #ifndef U_HIDE_DEPRECATED_API
  164. /**
  165. * Constant 1.
  166. * This was intended to be the version of collation tailorings,
  167. * but instead the tailoring data carries a version number.
  168. * @deprecated ICU 54
  169. */
  170. #define UCOL_TAILORINGS_VERSION 1
  171. #endif /* U_HIDE_DEPRECATED_API */
  172. #endif