Home | History | Annotate | Download | only in unicode
      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 /**
     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 60
     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 _60
     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 "60.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 "60"
    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 "60.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