diff options
author | Pauli <paul.dale@oracle.com> | 2020-09-06 20:39:12 +1000 |
---|---|---|
committer | Pauli <paul.dale@oracle.com> | 2020-09-09 17:59:08 +1000 |
commit | e942111267f292070cbc8397e0cc5fddaf8371a0 (patch) | |
tree | 3b06d018b645a5951184c2c230bfa568befe8229 /crypto/md5 | |
parent | 5c97eeb726dac6194e7a3aecf8231a512e0243ea (diff) |
In a non-shared build, don't include the md5 object files in legacy provider
Reviewed-by: Ben Kaduk <kaduk@mit.edu>
(Merged from https://github.com/openssl/openssl/pull/11961)
Diffstat (limited to 'crypto/md5')
-rw-r--r-- | crypto/md5/build.info | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/crypto/md5/build.info b/crypto/md5/build.info index 18d5342a36..bbb70fde3c 100644 --- a/crypto/md5/build.info +++ b/crypto/md5/build.info @@ -17,7 +17,16 @@ ENDIF $COMMON=md5_dgst.c md5_one.c md5_sha1.c $MD5ASM SOURCE[../../libcrypto]=$COMMON SOURCE[../../providers/libimplementations.a]=$COMMON -SOURCE[../../providers/liblegacy.a]=$COMMON + +# A no-deprecated no-shared build ends up with double function definitions +# without conditioning this on dso. The issue is MD5 which is needed in the +# legacy provider for one of the spliced algorithms, however it resides in the +# default provider. A no-deprecated build removes the external definition from +# libcrypto and this means that the code needs to be in liblegacy. However, +# when building without 'dso', liblegacy is included in libcrypto. +IF[{- !$disabled{dso} -}] + SOURCE[../../providers/liblegacy.a]=$COMMON +ENDIF # Implementations are now spread across several libraries, so the defines # need to be applied to all affected libraries and modules. |