• R
    Switch to MAJOR.MINOR.PATCH versioning and version 3.0.0-dev · 3a63dbef
    Richard Levitte 提交于
    We're strictly use version numbers of the form MAJOR.MINOR.PATCH.
    Letter releases are things of days past.
    
    The most central change is that we now express the version number with
    three macros, one for each part of the version number:
    
        OPENSSL_VERSION_MAJOR
        OPENSSL_VERSION_MINOR
        OPENSSL_VERSION_PATCH
    
    We also provide two additional macros to express pre-release and build
    metadata information (also specified in semantic versioning):
    
        OPENSSL_VERSION_PRE_RELEASE
        OPENSSL_VERSION_BUILD_METADATA
    
    To get the library's idea of all those values, we introduce the
    following functions:
    
        unsigned int OPENSSL_version_major(void);
        unsigned int OPENSSL_version_minor(void);
        unsigned int OPENSSL_version_patch(void);
        const char *OPENSSL_version_pre_release(void);
        const char *OPENSSL_version_build_metadata(void);
    
    Additionally, for shared library versioning (which is out of scope in
    semantic versioning, but that we still need):
    
        OPENSSL_SHLIB_VERSION
    
    We also provide a macro that contains the release date.  This is not
    part of the version number, but is extra information that we want to
    be able to display:
    
        OPENSSL_RELEASE_DATE
    
    Finally, also provide the following convenience functions:
    
        const char *OPENSSL_version_text(void);
        const char *OPENSSL_version_text_full(void);
    
    The following macros and functions are deprecated, and while currently
    existing for backward compatibility, they are expected to disappear:
    
        OPENSSL_VERSION_NUMBER
        OPENSSL_VERSION_TEXT
        OPENSSL_VERSION
        OpenSSL_version_num()
        OpenSSL_version()
    
    Also, this function is introduced to replace OpenSSL_version() for all
    indexes except for OPENSSL_VERSION:
    
        OPENSSL_info()
    
    For configuration, the option 'newversion-only' is added to disable all
    the macros and functions that are mentioned as deprecated above.
    Reviewed-by: NTim Hudson <tjh@openssl.org>
    Reviewed-by: NMatthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
    Reviewed-by: NMatt Caswell <matt@openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/7724)
    3a63dbef
speed.c 121.4 KB