summaryrefslogtreecommitdiffstats
path: root/VMS/openssl_shutdown.com.in
AgeCommit message (Collapse)Author
2018-12-06Switch to MAJOR.MINOR.PATCH versioning and version 3.0.0-devRichard 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: Tim Hudson <tjh@openssl.org> Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/7724)
2017-07-26Simplify the handling of shared library version numbersRichard Levitte
$(SHLIB_MAJOR).$(SHLIB_MINOR) is really a synonym for $(SHLIB_VERSION_NUMBER), and is therefore an added complexity, so better to use $(SHLIB_VERSION_NUMBER) directly. SHLIB_MAJOR and SHLIB_MINOR are now unused, but are kept around purely as information in case someone relies on their existence. At the same time, add support for custom shared library extensions with the three new Makefile variables SHLIB_EXT, SHLIB_EXT_SIMPLE and SHLIB_EXT_IMPORT. By default, they hold the variants of shared library extensions we support. On mingw and cygwin, SHLIB_EXT_IMPORT is defined; on all other Unix platforms, it's empty. An example to get shared libraries with a slightly different SOVER name: $ make SHLIB_EXT='.$(SHLIB_VERSION_NUMBER).so' Fixes #3902 Reviewed-by: Andy Polyakov <appro@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3964)
2016-08-03VMS: If configured no-shared, don't provide shareable image logical namesRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-10VMS: Simplify the spec of the default certs & keys area.Richard Levitte
We previously had a number of logical names for the different parts. There's really no need for that, the default directories are in one directory tree. So we only define OSSL$DATAROOT: and make everything related to that one. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-07VMS: defined the logical name OPENSSL at all timesRichard Levitte
This logical names permits '#include <openssl/foo.h>' to work properly. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-07Versioning engines default location: the VMS caseRichard Levitte
OpenSSL engines are tied to the OpenSSL shared library versions, starting with OpenSSL 1.1. We therefore need to install them in directories which have the shared library version in it's name, to easily allow multiple OpenSSL versions to be installed at the same time. For VMS, the change is a bit more involved, primarly because the top installation directory was already versioned, *as well as* some of the files inside. That's a bit too much. Version numbering in files is also a bit different on VMS. The engines for shared library version 1.1 will therefore end up in OSSL$INSTROOT:[ENGINES0101.'arch'] ('arch' is the architecture we build for) Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-02Have the VMS shared library file names contain the shared versionRichard Levitte
Also, have the static library file names contain the pointer size when applicable. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-02Pass down correct information to the VMS startup script templatesRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-05-10Fix VMS/openssl_{startup,shutddown}.com.inRichard Levitte
They were using the wrong variables. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-02-22Clean away $config{no_shared} since we have $disabled{shared}Richard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-10unified build scheme: add a "unified" template for VMS descrip.mmsRichard Levitte
As part of this, change util/mkdef.pl to stop adding libraries to depend on in its output. mkdef.pl should ONLY output a symbol vector. Because symbol names can't be longer than 31 characters, we use the compiler to shorten those that are longer down to 23 characters plus an 8 character CRC. To make sure users of our header files will pick up on that automatically, add the DEC C supported extra headers files __decc_include_prologue.h and __decc_include_epilogue.h. Furthermore, we add a config.com, so VMS people can configure just as comfortably as any Unix folks, thusly: @config Reviewed-by: Rich Salz <rsalz@openssl.org>