summaryrefslogtreecommitdiff
path: root/crypto/build.info
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2019-10-04 01:38:17 +0200
committerRichard Levitte <levitte@openssl.org>2019-10-10 14:12:15 +0200
commitdec95d75897125133380c7ce3c6ce58c93c06f10 (patch)
treec95ecfb434a58251f6f422d413eda49f1ac53857 /crypto/build.info
parente805c2d6d36d6be3db8141abc98f3ce5c6fa9776 (diff)
downloadopenssl-new-dec95d75897125133380c7ce3c6ce58c93c06f10.tar.gz
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.info6
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