openssl/providers/common
Richard Levitte dec95d7589 Rework how our providers are built
We put almost everything in these internal static libraries:

libcommon               Block building code that can be used by all
                        our implementations, legacy and non-legacy
                        alike.
libimplementations      All non-legacy algorithm implementations and
                        only them.  All the code that ends up here is
                        agnostic to the definitions of FIPS_MODE.
liblegacy               All legacy implementations.

libnonfips              Support code for the algorithm implementations.
                        Built with FIPS_MODE undefined.  Any code that
                        checks that FIPS_MODE isn't defined must end
                        up in this library.
libfips                 Support code for the algorithm implementations.
                        Built with FIPS_MODE defined.  Any code that
                        checks that FIPS_MODE is defined must end up
                        in this library.

The FIPS provider module is built from providers/fips/*.c and linked
with libimplementations, libcommon and libfips.

The Legacy provider module is built from providers/legacy/*.c and
linked with liblegacy, libcommon and libcrypto.
If module building is disabled, the object files from liblegacy and
libcommon are added to libcrypto and the Legacy provider becomes a
built-in provider.

The Default provider module is built-in, so it ends up being linked
with libimplementations, libcommon and libnonfips.  For libcrypto in
form of static library, the object files from those other libraries
are simply being added to libcrypto.

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/10088)
2019-10-10 14:12:15 +02:00
..
ciphers Rework how our providers are built 2019-10-10 14:12:15 +02:00
digests Rework how our providers are built 2019-10-10 14:12:15 +02:00
exchange Rework how our providers are built 2019-10-10 14:12:15 +02:00
include/internal Add rc2 ciphers to default provider 2019-10-08 16:42:28 +10:00
kdfs Rework how our providers are built 2019-10-10 14:12:15 +02:00
keymgmt Rework how our providers are built 2019-10-10 14:12:15 +02:00
macs Rework how our providers are built 2019-10-10 14:12:15 +02:00
signature Rework how our providers are built 2019-10-10 14:12:15 +02:00
build.info Rework how our providers are built 2019-10-10 14:12:15 +02:00
provider_err.c Add rc2 ciphers to default provider 2019-10-08 16:42:28 +10:00
provider_util.c Make the "engine" parameter to some provider algorithms (KDF/PRF) hidden. 2019-09-25 11:20:41 +10:00
provlib.c remove end of line spaces 2019-07-16 20:35:42 +10:00