Rework building: Unix changes to handle extensions and product names
authorRichard Levitte <levitte@openssl.org>
Tue, 23 Oct 2018 13:09:57 +0000 (15:09 +0200)
committerRichard Levitte <levitte@openssl.org>
Mon, 21 Jan 2019 18:31:32 +0000 (19:31 +0100)
commit9dd4ed28eb5972f62723985429b57f42eefda124
tree6c5d9d1cba152032d08725e885a532f82332beae
parentc162a8c344f12b2e0e788920358f51181ddf168f
Rework building: Unix changes to handle extensions and product names

Add platform::Unix, which is a generic Unix module to support product
name and extensions functionlity.  However, this isn't quite enough,
as mingw and Cygwin builds are done using the same templates, but
since shared libraries work as on Windows and are named accordingly,
platform::mingw and platform::Cygwin were also added to provide the
necessary tweaks.

This reworks Configurations/unix-Makefile.tmpl to work out product
names in platform::Unix et al terms.  In this one, we currently do
care about the *_extension config attributes, and the modules adapt
accordingly where it matters.

This change also affected crypto/include/internal/dso_conf.h.in, since
the DSO extension is meant to be the same as the short shared library
extension, which isn't '.so' everywhere.

'shared_extension' attributes that had the value
'.so.\$(SHLIB_VERSION_NUMBER)' are removed, platform::Unix provides
an extension where the shared library version number is hard-coded
instead.

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/7473)
Configurations/00-base-templates.conf
Configurations/10-main.conf
Configurations/50-haiku.conf
Configurations/90-team.norelease.conf
Configurations/platform/Cygwin.pm [new file with mode: 0644]
Configurations/platform/Unix.pm [new file with mode: 0644]
Configurations/platform/mingw.pm [new file with mode: 0644]
Configurations/unix-Makefile.tmpl
Configure
crypto/include/internal/dso_conf.h.in