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