xref: /openssl/crypto/md5/build.info (revision 3d68e293)
1LIBS=../../libcrypto
2
3$MD5ASM=
4IF[{- !$disabled{asm} -}]
5  $MD5ASM_x86=md5-586.S
6  $MD5ASM_x86_64=md5-x86_64.s
7  $MD5ASM_aarch64=md5-aarch64.S
8  $MD5ASM_loongarch64=md5-loongarch64.S
9  $MD5ASM_sparcv9=md5-sparcv9.S
10
11  # Now that we have defined all the arch specific variables, use the
12  # appropriate one, and define the appropriate macros
13  IF[$MD5ASM_{- $target{asm_arch} -}]
14    $MD5ASM=$MD5ASM_{- $target{asm_arch} -}
15    $MD5DEF=MD5_ASM
16  ENDIF
17ENDIF
18
19$COMMON=md5_dgst.c md5_one.c md5_sha1.c $MD5ASM
20SOURCE[../../libcrypto]=$COMMON
21
22# A no-deprecated no-shared build ends up with double function definitions
23# without conditioning this on dso. The issue is MD5 which is needed in the
24# legacy provider for one of the spliced algorithms, however it resides in the
25# default provider.  A no-deprecated build removes the external definition from
26# libcrypto and this means that the code needs to be in liblegacy.  However,
27# when building without 'dso', liblegacy is included in libcrypto.
28IF[{- !$disabled{module} && !$disabled{shared} -}]
29  SOURCE[../../providers/liblegacy.a]=$COMMON
30ENDIF
31
32# Implementations are now spread across several libraries, so the defines
33# need to be applied to all affected libraries and modules.
34DEFINE[../../libcrypto]=$MD5DEF
35DEFINE[../../providers/liblegacy.a]=$MD5DEF
36
37GENERATE[md5-586.S]=asm/md5-586.pl
38
39GENERATE[md5-x86_64.s]=asm/md5-x86_64.pl
40GENERATE[md5-aarch64.S]=asm/md5-aarch64.pl
41INCLUDE[md5-aarch64.o]=..
42
43GENERATE[md5-loongarch64.S]=asm/md5-loongarch64.pl
44INCLUDE[md5-loongarch64.o]=..
45
46GENERATE[md5-sparcv9.S]=asm/md5-sparcv9.pl
47INCLUDE[md5-sparcv9.o]=..
48