diff options
author | Richard Levitte <levitte@openssl.org> | 2019-10-04 01:38:17 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2019-10-10 14:12:15 +0200 |
commit | dec95d75897125133380c7ce3c6ce58c93c06f10 (patch) | |
tree | c95ecfb434a58251f6f422d413eda49f1ac53857 /crypto/build.info | |
parent | Build files: Make it possible to source libraries into other libraries (diff) | |
download | openssl-dec95d75897125133380c7ce3c6ce58c93c06f10.tar.xz openssl-dec95d75897125133380c7ce3c6ce58c93c06f10.zip |
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)
Diffstat (limited to 'crypto/build.info')
-rw-r--r-- | crypto/build.info | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/crypto/build.info b/crypto/build.info index 5d3b123d69..f41ecf448f 100644 --- a/crypto/build.info +++ b/crypto/build.info @@ -63,7 +63,7 @@ $CORE_COMMON=provider_core.c provider_predefined.c \ core_fetch.c core_algorithm.c core_namemap.c SOURCE[../libcrypto]=$CORE_COMMON provider_conf.c -SOURCE[../providers/fips]=$CORE_COMMON +SOURCE[../providers/libfips.a]=$CORE_COMMON # Central utilities $UTIL_COMMON=\ @@ -78,8 +78,8 @@ SOURCE[../libcrypto]=$UTIL_COMMON \ o_fopen.c getenv.c o_init.c o_fips.c init.c trace.c provider.c \ $UPLINKSRC DEFINE[../libcrypto]=$UTIL_DEFINE $UPLINKDEF -SOURCE[../providers/fips]=$UTIL_COMMON -DEFINE[../providers/fips]=$UTIL_DEFINE +SOURCE[../providers/libfips.a]=$UTIL_COMMON +DEFINE[../providers/libfips.a]=$UTIL_DEFINE DEPEND[info.o]=buildinf.h |