X-Git-Url: https://git.openssl.org/?a=blobdiff_plain;f=crypto%2Fmd5%2Fbuild.info;h=bbb70fde3c1cb84f1327b98e76a67ad682e357ff;hb=e942111267f292070cbc8397e0cc5fddaf8371a0;hp=3a038534e701e0d9a378ee4d4032463f8f918a39;hpb=777a288270cb4c3671f9095630415207d867396b;p=openssl.git diff --git a/crypto/md5/build.info b/crypto/md5/build.info index 3a038534e7..bbb70fde3c 100644 --- a/crypto/md5/build.info +++ b/crypto/md5/build.info @@ -1,3 +1,42 @@ LIBS=../../libcrypto -SOURCE[../../libcrypto]=\ - md5_dgst.c md5_one.c {- $target{md5_asm_src} -} + +$MD5ASM= +IF[{- !$disabled{asm} -}] + $MD5ASM_x86=md5-586.s + $MD5ASM_x86_64=md5-x86_64.s + $MD5ASM_sparcv9=md5-sparcv9.S + + # Now that we have defined all the arch specific variables, use the + # appropriate one, and define the appropriate macros + IF[$MD5ASM_{- $target{asm_arch} -}] + $MD5ASM=$MD5ASM_{- $target{asm_arch} -} + $MD5DEF=MD5_ASM + ENDIF +ENDIF + +$COMMON=md5_dgst.c md5_one.c md5_sha1.c $MD5ASM +SOURCE[../../libcrypto]=$COMMON +SOURCE[../../providers/libimplementations.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. +DEFINE[../../libcrypto]=$MD5DEF +DEFINE[../../providers/libimplementations.a]=$MD5DEF +DEFINE[../../providers/liblegacy.a]=$MD5DEF + +GENERATE[md5-586.s]=asm/md5-586.pl + +GENERATE[md5-x86_64.s]=asm/md5-x86_64.pl + +GENERATE[md5-sparcv9.S]=asm/md5-sparcv9.pl +INCLUDE[md5-sparcv9.o]=..