1LIBS=../../libcrypto 2 3$SHA1ASM= 4IF[{- !$disabled{asm} -}] 5 $SHA1ASM_x86=sha1-586.S sha256-586.S sha512-586.S 6 $SHA1DEF_x86=SHA1_ASM SHA256_ASM SHA512_ASM 7 $SHA1ASM_x86_64=\ 8 sha1-x86_64.s sha256-x86_64.s sha512-x86_64.s sha1-mb-x86_64.s \ 9 sha256-mb-x86_64.s 10 $SHA1DEF_x86_64=SHA1_ASM SHA256_ASM SHA512_ASM 11 12 $SHA1ASM_ia64=sha1-ia64.s sha256-ia64.s sha512-ia64.s 13 $SHA1DEF_ia64=SHA1_ASM SHA256_ASM SHA512_ASM 14 15 $SHA1ASM_sparcv9=sha1-sparcv9.S sha256-sparcv9.S sha512-sparcv9.S 16 $SHA1DEF_sparcv9=SHA1_ASM SHA256_ASM SHA512_ASM 17 18 $SHA1ASM_alpha=sha1-alpha.S 19 $SHA1DEF_alpha=SHA1_ASM 20 21 $SHA1ASM_mips32=sha1-mips.S sha256-mips.S 22 $SHA1DEF_mips32=SHA1_ASM SHA256_ASM 23 $SHA1ASM_mips64=$SHA1ASM_mips32 sha512-mips.S 24 $SHA1DEF_mips64=$SHA1DEF_mips32 SHA512_ASM 25 26 $SHA1ASM_s390x=sha1-s390x.S sha256-s390x.S sha512-s390x.S 27 $SHA1DEF_s390x=SHA1_ASM SHA256_ASM SHA512_ASM 28 29 $SHA1ASM_armv4=sha1-armv4-large.S sha256-armv4.S sha512-armv4.S 30 $SHA1DEF_armv4=SHA1_ASM SHA256_ASM SHA512_ASM 31 $SHA1ASM_aarch64=sha1-armv8.S sha256-armv8.S sha512-armv8.S 32 $SHA1DEF_aarch64=SHA1_ASM SHA256_ASM SHA512_ASM 33 34 $SHA1ASM_parisc11=sha1-parisc.s sha256-parisc.s sha512-parisc.s 35 $SHA1DEF_parisc11=SHA1_ASM SHA256_ASM SHA512_ASM 36 $SHA1ASM_parisc20_64=$SHA1ASM_parisc11 37 $SHA1DEF_parisc20_64=$SHA1DEF_parisc11 38 39 $SHA1ASM_ppc32=\ 40 sha_ppc.c sha1-ppc.s sha256-ppc.s sha512-ppc.s sha256p8-ppc.s \ 41 sha512p8-ppc.s 42 $SHA1DEF_ppc32=SHA1_ASM SHA256_ASM SHA512_ASM 43 $SHA1ASM_ppc64=$SHA1ASM_ppc32 44 $SHA1DEF_ppc64=$SHA1DEF_ppc32 45 46 $SHA1ASM_c64xplus=sha1-c64xplus.s sha256-c64xplus.s sha512-c64xplus.s 47 $SHA1DEF_c64xplus=SHA1_ASM SHA256_ASM SHA512_ASM 48 49 # Now that we have defined all the arch specific variables, use the 50 # appropriate one, and define the appropriate macros 51 IF[$SHA1ASM_{- $target{asm_arch} -}] 52 $SHA1ASM=$SHA1ASM_{- $target{asm_arch} -} 53 $SHA1DEF=$SHA1DEF_{- $target{asm_arch} -} 54 ENDIF 55ENDIF 56 57$KECCAK1600ASM=keccak1600.c 58IF[{- !$disabled{asm} -}] 59 $KECCAK1600ASM_x86= 60 $KECCAK1600ASM_x86_64=keccak1600-x86_64.s 61 62 $KECCAK1600ASM_s390x=keccak1600-s390x.S 63 64 $KECCAK1600ASM_armv4=keccak1600-armv4.S 65 $KECCAK1600ASM_aarch64=keccak1600-armv8.S 66 67 $KECCAK1600ASM_ppc64=keccak1600-ppc64.s 68 69 # Now that we have defined all the arch specific variables, use the 70 # appropriate one, and define the appropriate macros 71 IF[$KECCAK1600ASM_{- $target{asm_arch} -}] 72 $KECCAK1600ASM=$KECCAK1600ASM_{- $target{asm_arch} -} 73 $KECCAK1600DEF=KECCAK1600_ASM 74 ENDIF 75ENDIF 76 77$COMMON=sha1dgst.c sha256.c sha512.c sha3.c $SHA1ASM $KECCAK1600ASM 78SOURCE[../../libcrypto]=$COMMON sha1_one.c 79SOURCE[../../providers/libfips.a]= $COMMON 80 81# Implementations are now spread across several libraries, so the defines 82# need to be applied to all affected libraries and modules. 83DEFINE[../../libcrypto]=$SHA1DEF $KECCAK1600DEF 84DEFINE[../../providers/libfips.a]=$SHA1DEF $KECCAK1600DEF 85DEFINE[../../providers/libdefault.a]=$SHA1DEF $KECCAK1600DEF 86# We only need to include the SHA1DEF and KECCAK1600DEF stuff in the 87# legacy provider when it's a separate module and it's dynamically 88# linked with libcrypto. Otherwise, it already gets everything that 89# the static libcrypto.a has, and doesn't need it added again. 90IF[{- !$disabled{module} && !$disabled{shared} -}] 91 DEFINE[../providers/liblegacy.a]=$SHA1DEF $KECCAK1600DEF 92ENDIF 93 94GENERATE[sha1-586.S]=asm/sha1-586.pl 95DEPEND[sha1-586.S]=../perlasm/x86asm.pl 96GENERATE[sha256-586.S]=asm/sha256-586.pl 97DEPEND[sha256-586.S]=../perlasm/x86asm.pl 98GENERATE[sha512-586.S]=asm/sha512-586.pl 99DEPEND[sha512-586.S]=../perlasm/x86asm.pl 100 101GENERATE[sha1-ia64.s]=asm/sha1-ia64.pl 102GENERATE[sha256-ia64.s]=asm/sha512-ia64.pl 103GENERATE[sha512-ia64.s]=asm/sha512-ia64.pl 104 105GENERATE[sha1-alpha.S]=asm/sha1-alpha.pl 106 107GENERATE[sha1-x86_64.s]=asm/sha1-x86_64.pl 108GENERATE[sha1-mb-x86_64.s]=asm/sha1-mb-x86_64.pl 109GENERATE[sha256-x86_64.s]=asm/sha512-x86_64.pl 110GENERATE[sha256-mb-x86_64.s]=asm/sha256-mb-x86_64.pl 111GENERATE[sha512-x86_64.s]=asm/sha512-x86_64.pl 112GENERATE[keccak1600-x86_64.s]=asm/keccak1600-x86_64.pl 113 114GENERATE[sha1-sparcv9a.S]=asm/sha1-sparcv9a.pl 115GENERATE[sha1-sparcv9.S]=asm/sha1-sparcv9.pl 116INCLUDE[sha1-sparcv9.o]=.. 117GENERATE[sha256-sparcv9.S]=asm/sha512-sparcv9.pl 118INCLUDE[sha256-sparcv9.o]=.. 119GENERATE[sha512-sparcv9.S]=asm/sha512-sparcv9.pl 120INCLUDE[sha512-sparcv9.o]=.. 121 122GENERATE[sha1-ppc.s]=asm/sha1-ppc.pl 123GENERATE[sha256-ppc.s]=asm/sha512-ppc.pl 124GENERATE[sha512-ppc.s]=asm/sha512-ppc.pl 125GENERATE[sha256p8-ppc.s]=asm/sha512p8-ppc.pl 126GENERATE[sha512p8-ppc.s]=asm/sha512p8-ppc.pl 127GENERATE[keccak1600-ppc64.s]=asm/keccak1600-ppc64.pl 128 129GENERATE[sha1-parisc.s]=asm/sha1-parisc.pl 130GENERATE[sha256-parisc.s]=asm/sha512-parisc.pl 131GENERATE[sha512-parisc.s]=asm/sha512-parisc.pl 132 133GENERATE[sha1-mips.S]=asm/sha1-mips.pl 134INCLUDE[sha1-mips.o]=.. 135GENERATE[sha256-mips.S]=asm/sha512-mips.pl 136INCLUDE[sha256-mips.o]=.. 137GENERATE[sha512-mips.S]=asm/sha512-mips.pl 138INCLUDE[sha512-mips.o]=.. 139 140GENERATE[sha1-armv4-large.S]=asm/sha1-armv4-large.pl 141INCLUDE[sha1-armv4-large.o]=.. 142GENERATE[sha256-armv4.S]=asm/sha256-armv4.pl 143INCLUDE[sha256-armv4.o]=.. 144GENERATE[sha512-armv4.S]=asm/sha512-armv4.pl 145INCLUDE[sha512-armv4.o]=.. 146GENERATE[keccak1600-armv4.S]=asm/keccak1600-armv4.pl 147INCLUDE[keccak1600-armv4.o]=.. 148 149GENERATE[sha1-armv8.S]=asm/sha1-armv8.pl 150INCLUDE[sha1-armv8.o]=.. 151GENERATE[sha256-armv8.S]=asm/sha512-armv8.pl 152INCLUDE[sha256-armv8.o]=.. 153GENERATE[sha512-armv8.S]=asm/sha512-armv8.pl 154INCLUDE[sha512-armv8.o]=.. 155GENERATE[keccak1600-armv8.S]=asm/keccak1600-armv8.pl 156INCLUDE[keccak1600-armv8.o]=.. 157 158GENERATE[sha1-s390x.S]=asm/sha1-s390x.pl 159INCLUDE[sha1-s390x.o]=.. 160GENERATE[sha256-s390x.S]=asm/sha512-s390x.pl 161INCLUDE[sha256-s390x.o]=.. 162GENERATE[sha512-s390x.S]=asm/sha512-s390x.pl 163INCLUDE[sha512-s390x.o]=.. 164GENERATE[keccak1600-s390x.S]=asm/keccak1600-s390x.pl 165 166GENERATE[sha1-c64xplus.S]=asm/sha1-c64xplus.pl 167GENERATE[sha256-c64xplus.S]=asm/sha256-c64xplus.pl 168GENERATE[sha512-c64xplus.S]=asm/sha512-c64xplus.pl 169GENERATE[keccak1600-c64x.S]=asm/keccak1600-c64x.pl 170 171# These are not yet used 172GENERATE[keccak1600-avx2.S]=asm/keccak1600-avx2.pl 173GENERATE[keccak1600-avx512.S]=asm/keccak1600-avx512.pl 174GENERATE[keccak1600-avx512vl.S]=asm/keccak1600-avx512vl.pl 175GENERATE[keccak1600-mmx.S]=asm/keccak1600-mmx.pl 176GENERATE[keccak1600p8-ppc.S]=asm/keccak1600p8-ppc.pl 177GENERATE[sha1-thumb.S]=asm/sha1-thumb.pl 178