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 | |
parent | e805c2d6d36d6be3db8141abc98f3ce5c6fa9776 (diff) | |
download | openssl-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')
-rw-r--r-- | crypto/aes/build.info | 4 | ||||
-rw-r--r-- | crypto/bn/build.info | 4 | ||||
-rw-r--r-- | crypto/buffer/build.info | 2 | ||||
-rw-r--r-- | crypto/build.info | 6 | ||||
-rw-r--r-- | crypto/cmac/build.info | 2 | ||||
-rw-r--r-- | crypto/des/build.info | 2 | ||||
-rw-r--r-- | crypto/ec/build.info | 4 | ||||
-rw-r--r-- | crypto/evp/build.info | 2 | ||||
-rw-r--r-- | crypto/hmac/build.info | 2 | ||||
-rw-r--r-- | crypto/lhash/build.info | 2 | ||||
-rw-r--r-- | crypto/modes/build.info | 4 | ||||
-rw-r--r-- | crypto/property/build.info | 2 | ||||
-rw-r--r-- | crypto/rand/build.info | 2 | ||||
-rw-r--r-- | crypto/sha/build.info | 4 | ||||
-rw-r--r-- | crypto/stack/build.info | 2 |
15 files changed, 22 insertions, 22 deletions
diff --git a/crypto/aes/build.info b/crypto/aes/build.info index aac88012b4..59c009761e 100644 --- a/crypto/aes/build.info +++ b/crypto/aes/build.info @@ -62,8 +62,8 @@ ENDIF $COMMON=aes_misc.c aes_ecb.c $AESASM SOURCE[../../libcrypto]=$COMMON aes_cfb.c aes_ofb.c aes_ige.c aes_wrap.c DEFINE[../../libcrypto]=$AESDEF -SOURCE[../../providers/fips]=$COMMON -DEFINE[../../providers/fips]=$AESDEF +SOURCE[../../providers/libfips.a]=$COMMON +DEFINE[../../providers/libfips.a]=$AESDEF GENERATE[aes-ia64.s]=asm/aes-ia64.S diff --git a/crypto/bn/build.info b/crypto/bn/build.info index 18b5950f6d..75b84d0df6 100644 --- a/crypto/bn/build.info +++ b/crypto/bn/build.info @@ -109,8 +109,8 @@ $COMMON=bn_add.c bn_div.c bn_exp.c bn_lib.c bn_ctx.c bn_mul.c \ bn_rsa_fips186_4.c $BNASM SOURCE[../../libcrypto]=$COMMON bn_print.c bn_err.c bn_depr.c bn_srp.c DEFINE[../../libcrypto]=$BNDEF -SOURCE[../../providers/fips]=$COMMON -DEFINE[../../providers/fips]=$BNDEF +SOURCE[../../providers/libfips.a]=$COMMON +DEFINE[../../providers/libfips.a]=$BNDEF INCLUDE[../../libcrypto]=../../crypto/include diff --git a/crypto/buffer/build.info b/crypto/buffer/build.info index 63de1a570f..6f31397be7 100644 --- a/crypto/buffer/build.info +++ b/crypto/buffer/build.info @@ -1,3 +1,3 @@ LIBS=../../libcrypto SOURCE[../../libcrypto]=buffer.c buf_err.c -SOURCE[../../providers/fips]=buffer.c +SOURCE[../../providers/libfips.a]=buffer.c 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 diff --git a/crypto/cmac/build.info b/crypto/cmac/build.info index f6c8bfabbc..a2f6f218c2 100644 --- a/crypto/cmac/build.info +++ b/crypto/cmac/build.info @@ -3,4 +3,4 @@ LIBS=../../libcrypto $COMMON=cmac.c SOURCE[../../libcrypto]=$COMMON cm_ameth.c -SOURCE[../../providers/fips]=$COMMON +SOURCE[../../providers/libfips.a]=$COMMON diff --git a/crypto/des/build.info b/crypto/des/build.info index 774bad754b..b1c1e624c2 100644 --- a/crypto/des/build.info +++ b/crypto/des/build.info @@ -20,7 +20,7 @@ SOURCE[../../libcrypto]=$COMMON\ ofb64ede.c ofb64enc.c ofb_enc.c \ str2key.c pcbc_enc.c qud_cksm.c rand_key.c \ fcrypt.c xcbc_enc.c cbc_cksm.c -SOURCE[../../providers/fips]=$COMMON +SOURCE[../../providers/libfips.a]=$COMMON GENERATE[des_enc-sparc.S]=asm/des_enc.m4 GENERATE[dest4-sparcv9.S]=asm/dest4-sparcv9.pl diff --git a/crypto/ec/build.info b/crypto/ec/build.info index d140b5d64b..40aef36798 100644 --- a/crypto/ec/build.info +++ b/crypto/ec/build.info @@ -57,8 +57,8 @@ $COMMON=ec_lib.c ecp_smpl.c ecp_mont.c ecp_nist.c ec_cvt.c ec_mult.c \ SOURCE[../../libcrypto]=$COMMON ec_ameth.c ec_pmeth.c ecx_meth.c ec_err.c \ ecdh_kdf.c eck_prn.c DEFINE[../../libcrypto]=$ECDEF -SOURCE[../../providers/fips]=$COMMON -DEFINE[../../providers/fips]=$ECDEF +SOURCE[../../providers/libfips.a]=$COMMON +DEFINE[../../providers/libfips.a]=$ECDEF GENERATE[ecp_nistz256-x86.s]=asm/ecp_nistz256-x86.pl diff --git a/crypto/evp/build.info b/crypto/evp/build.info index 9c71930c05..94f033bbc1 100644 --- a/crypto/evp/build.info +++ b/crypto/evp/build.info @@ -18,7 +18,7 @@ SOURCE[../../libcrypto]=$COMMON\ e_chacha20_poly1305.c \ pkey_mac.c exchange.c \ legacy_sha.c legacy_md5_sha1.c -SOURCE[../../providers/fips]=$COMMON +SOURCE[../../providers/libfips.a]=$COMMON INCLUDE[e_aes.o]=.. ../modes INCLUDE[e_aes_cbc_hmac_sha1.o]=../modes diff --git a/crypto/hmac/build.info b/crypto/hmac/build.info index 56ad67ef8f..4ed90c09f4 100644 --- a/crypto/hmac/build.info +++ b/crypto/hmac/build.info @@ -3,4 +3,4 @@ LIBS=../../libcrypto $COMMON=hmac.c SOURCE[../../libcrypto]=$COMMON hm_ameth.c -SOURCE[../../providers/fips]=$COMMON +SOURCE[../../providers/libfips.a]=$COMMON diff --git a/crypto/lhash/build.info b/crypto/lhash/build.info index 0aa12a1eb3..b3176b8358 100644 --- a/crypto/lhash/build.info +++ b/crypto/lhash/build.info @@ -1,5 +1,5 @@ LIBS=../../libcrypto SOURCE[../../libcrypto]=\ lhash.c lh_stats.c -SOURCE[../../providers/fips]=\ +SOURCE[../../providers/libfips.a]=\ lhash.c diff --git a/crypto/modes/build.info b/crypto/modes/build.info index 8a8aead651..4ae0d8b011 100644 --- a/crypto/modes/build.info +++ b/crypto/modes/build.info @@ -54,8 +54,8 @@ SOURCE[../../libcrypto]=$COMMON \ cts128.c ocb128.c siv128.c DEFINE[../../libcrypto]=$MODESDEF -SOURCE[../../providers/fips]=$COMMON -DEFINE[../../providers/fips]=$MODESDEF +SOURCE[../../providers/libfips.a]=$COMMON +DEFINE[../../providers/libfips.a]=$MODESDEF INCLUDE[gcm128.o]=.. diff --git a/crypto/property/build.info b/crypto/property/build.info index db3c944498..bfa1f0602f 100644 --- a/crypto/property/build.info +++ b/crypto/property/build.info @@ -1,4 +1,4 @@ LIBS=../../libcrypto $COMMON=property_string.c property_parse.c property.c defn_cache.c SOURCE[../../libcrypto]=$COMMON property_err.c -SOURCE[../../providers/fips]=$COMMON +SOURCE[../../providers/libfips.a]=$COMMON diff --git a/crypto/rand/build.info b/crypto/rand/build.info index 3e0a9c7432..0925c4b2de 100644 --- a/crypto/rand/build.info +++ b/crypto/rand/build.info @@ -4,4 +4,4 @@ $COMMON=rand_lib.c rand_crng_test.c rand_win.c rand_unix.c rand_vms.c \ drbg_lib.c drbg_ctr.c rand_vxworks.c drbg_hash.c drbg_hmac.c SOURCE[../../libcrypto]=$COMMON randfile.c rand_err.c rand_egd.c -SOURCE[../../providers/fips]=$COMMON +SOURCE[../../providers/libfips.a]=$COMMON diff --git a/crypto/sha/build.info b/crypto/sha/build.info index 67d9fd4723..25c64a0e2c 100644 --- a/crypto/sha/build.info +++ b/crypto/sha/build.info @@ -76,8 +76,8 @@ ENDIF $COMMON=sha1dgst.c sha256.c sha512.c sha3.c $SHA1ASM $KECCAK1600ASM SOURCE[../../libcrypto]=$COMMON sha1_one.c DEFINE[../../libcrypto]=$SHA1DEF $KECCAK1600DEF -SOURCE[../../providers/fips]= $COMMON -DEFINE[../../providers/fips]= $SHA1DEF $KECCAK1600DEF +SOURCE[../../providers/libfips.a]= $COMMON +DEFINE[../../providers/libfips.a]= $SHA1DEF $KECCAK1600DEF GENERATE[sha1-586.s]=asm/sha1-586.pl DEPEND[sha1-586.s]=../perlasm/x86asm.pl diff --git a/crypto/stack/build.info b/crypto/stack/build.info index e4183e089c..23d83a6f11 100644 --- a/crypto/stack/build.info +++ b/crypto/stack/build.info @@ -1,3 +1,3 @@ LIBS=../../libcrypto SOURCE[../../libcrypto]=stack.c -SOURCE[../../providers/fips]=stack.c +SOURCE[../../providers/libfips.a]=stack.c |