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