uvernum.h 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  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. * \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.vcxproj - update 'Output file name' on the link tab so
  36. * that it contains the new major/minor combination
  37. * source/i18n/i18n.vcxproj - same as for the common.vcxproj
  38. * source/layoutex/layoutex.vcproj - same
  39. * source/stubdata/stubdata.vcproj - same as for the common.vcxproj
  40. * source/io/io.vcproj - same as for the common.vcxproj
  41. * source/data/makedata.mak - change U_ICUDATA_NAME so that it contains
  42. * the new major/minor combination and the Unicode version.
  43. */
  44. #ifndef UVERNUM_H
  45. #define UVERNUM_H
  46. /** The standard copyright notice that gets compiled into each library.
  47. * This value will change in the subsequent releases of ICU
  48. * @stable ICU 2.4
  49. */
  50. #define U_COPYRIGHT_STRING \
  51. " Copyright (C) 2016 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html "
  52. /** The current ICU major version as an integer.
  53. * This value will change in the subsequent releases of ICU
  54. * @stable ICU 2.4
  55. */
  56. #define U_ICU_VERSION_MAJOR_NUM 58
  57. /** The current ICU minor version as an integer.
  58. * This value will change in the subsequent releases of ICU
  59. * @stable ICU 2.6
  60. */
  61. #define U_ICU_VERSION_MINOR_NUM 2
  62. /** The current ICU patchlevel version as an integer.
  63. * This value will change in the subsequent releases of ICU
  64. * @stable ICU 2.4
  65. */
  66. #define U_ICU_VERSION_PATCHLEVEL_NUM 0
  67. /** The current ICU build level version as an integer.
  68. * This value is for use by ICU clients. It defaults to 0.
  69. * @stable ICU 4.0
  70. */
  71. #ifndef U_ICU_VERSION_BUILDLEVEL_NUM
  72. #define U_ICU_VERSION_BUILDLEVEL_NUM 0
  73. #endif
  74. /** Glued version suffix for renamers
  75. * This value will change in the subsequent releases of ICU
  76. * @stable ICU 2.6
  77. */
  78. #define U_ICU_VERSION_SUFFIX _58
  79. /**
  80. * \def U_DEF2_ICU_ENTRY_POINT_RENAME
  81. * @internal
  82. */
  83. /**
  84. * \def U_DEF_ICU_ENTRY_POINT_RENAME
  85. * @internal
  86. */
  87. /** Glued version suffix function for renamers
  88. * This value will change in the subsequent releases of ICU.
  89. * If a custom suffix (such as matching library suffixes) is desired, this can be modified.
  90. * Note that if present, platform.h may contain an earlier definition of this macro.
  91. * \def U_ICU_ENTRY_POINT_RENAME
  92. * @stable ICU 4.2
  93. */
  94. #ifndef U_ICU_ENTRY_POINT_RENAME
  95. #ifdef U_HAVE_LIB_SUFFIX
  96. #define U_DEF_ICU_ENTRY_POINT_RENAME(x,y,z) x ## y ## z
  97. #define U_DEF2_ICU_ENTRY_POINT_RENAME(x,y,z) U_DEF_ICU_ENTRY_POINT_RENAME(x,y,z)
  98. #define U_ICU_ENTRY_POINT_RENAME(x) U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_ICU_VERSION_SUFFIX,U_LIB_SUFFIX_C_NAME)
  99. #else
  100. #define U_DEF_ICU_ENTRY_POINT_RENAME(x,y) x ## y
  101. #define U_DEF2_ICU_ENTRY_POINT_RENAME(x,y) U_DEF_ICU_ENTRY_POINT_RENAME(x,y)
  102. #define U_ICU_ENTRY_POINT_RENAME(x) U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_ICU_VERSION_SUFFIX)
  103. #endif
  104. #endif
  105. /** The current ICU library version as a dotted-decimal string. The patchlevel
  106. * only appears in this string if it non-zero.
  107. * This value will change in the subsequent releases of ICU
  108. * @stable ICU 2.4
  109. */
  110. #define U_ICU_VERSION "58.2"
  111. /** The current ICU library major/minor version as a string without dots, for library name suffixes.
  112. * This value will change in the subsequent releases of ICU
  113. * @stable ICU 2.6
  114. */
  115. #define U_ICU_VERSION_SHORT "58"
  116. #ifndef U_HIDE_INTERNAL_API
  117. /** Data version in ICU4C.
  118. * @internal ICU 4.4 Internal Use Only
  119. **/
  120. #define U_ICU_DATA_VERSION "58.2"
  121. #endif /* U_HIDE_INTERNAL_API */
  122. /*===========================================================================
  123. * ICU collation framework version information
  124. * Version info that can be obtained from a collator is affected by these
  125. * numbers in a secret and magic way. Please use collator version as whole
  126. *===========================================================================
  127. */
  128. /**
  129. * Collation runtime version (sort key generator, strcoll).
  130. * If the version is different, sort keys for the same string could be different.
  131. * This value may change in subsequent releases of ICU.
  132. * @stable ICU 2.4
  133. */
  134. #define UCOL_RUNTIME_VERSION 9
  135. /**
  136. * Collation builder code version.
  137. * When this is different, the same tailoring might result
  138. * in assigning different collation elements to code points.
  139. * This value may change in subsequent releases of ICU.
  140. * @stable ICU 2.4
  141. */
  142. #define UCOL_BUILDER_VERSION 9
  143. #ifndef U_HIDE_DEPRECATED_API
  144. /**
  145. * Constant 1.
  146. * This was intended to be the version of collation tailorings,
  147. * but instead the tailoring data carries a version number.
  148. * @deprecated ICU 54
  149. */
  150. #define UCOL_TAILORINGS_VERSION 1
  151. #endif /* U_HIDE_DEPRECATED_API */
  152. #endif