Build file templates: Replace the use of Makefile.shared
authorRichard Levitte <levitte@openssl.org>
Mon, 4 Dec 2017 13:27:58 +0000 (14:27 +0100)
committerRichard Levitte <levitte@openssl.org>
Tue, 12 Dec 2017 16:18:07 +0000 (17:18 +0100)
commit81183680797f16bc05d39c1e9c1bf007fdbe4e19
treebeb69cd6c0f76ca8e1ac4c5f237608696d5a77ba
parentccce3e1db5132e472d1871c6a02caec5c71db72a
Build file templates: Replace the use of Makefile.shared

Because this also includes handling all sorts of non-object files when
linking a program, shared library or DSO, this also includes allowing
general recognition of files such as .res files (compiled from .rc
files), or .def / .map / .opt files (for export and possibly
versioning of public symbols only).

This does mean that there's a tangible change for all build file
templates: they must now recognise and handle the `.o` extension,
which is used internally to recognise object files internally.  This
extension was removed by common.tmpl before this change, but would
mean that the platform specific templates wouldn't know if "foo.map"
was originally "foo.map.o" (i.e. an object file in its own right) or
"foo.map" (an export definition file that should be treated as such,
not as an object file).

For the sake of simplifying things, we also modify util/mkdef.pl to
produce .def (Windows) and .opt (VMS) files that don't need additional
hackery.

Reviewed-by: Andy Polyakov <appro@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/4840)
Configurations/common.tmpl
Configurations/descrip.mms.tmpl
Configurations/unix-Makefile.tmpl
Configurations/windows-makefile.tmpl
util/mkdef.pl