1e1051a39Sopenharmony_ciLIBS=../../libcrypto 2e1051a39Sopenharmony_ci 3e1051a39Sopenharmony_ci$AESASM=aes_core.c aes_cbc.c 4e1051a39Sopenharmony_ciIF[{- !$disabled{asm} -}] 5e1051a39Sopenharmony_ci $AESASM_x86=aes-586.S 6e1051a39Sopenharmony_ci $AESDEF_x86=AES_ASM 7e1051a39Sopenharmony_ci $AESASM_x86_sse2=vpaes-x86.S aesni-x86.S 8e1051a39Sopenharmony_ci $AESDEF_x86_sse2=VPAES_ASM OPENSSL_IA32_SSE2 9e1051a39Sopenharmony_ci 10e1051a39Sopenharmony_ci $AESASM_x86_64=\ 11e1051a39Sopenharmony_ci aes-x86_64.s vpaes-x86_64.s bsaes-x86_64.s aesni-x86_64.s \ 12e1051a39Sopenharmony_ci aesni-sha1-x86_64.s aesni-sha256-x86_64.s aesni-mb-x86_64.s 13e1051a39Sopenharmony_ci $AESDEF_x86_64=AES_ASM VPAES_ASM BSAES_ASM 14e1051a39Sopenharmony_ci 15e1051a39Sopenharmony_ci $AESASM_ia64=aes_core.c aes_cbc.c aes-ia64.s 16e1051a39Sopenharmony_ci $AESDEF_ia64=AES_ASM 17e1051a39Sopenharmony_ci 18e1051a39Sopenharmony_ci $AESASM_sparcv9=\ 19e1051a39Sopenharmony_ci aes_core.c aes_cbc.c aes-sparcv9.S aest4-sparcv9.S aesfx-sparcv9.S 20e1051a39Sopenharmony_ci $AESDEF_sparcv9=AES_ASM 21e1051a39Sopenharmony_ci 22e1051a39Sopenharmony_ci $AESASM_mips32=aes_cbc.c aes-mips.S 23e1051a39Sopenharmony_ci $AESDEF_mips32=AES_ASM 24e1051a39Sopenharmony_ci $AESASM_mips64=$AESASM_mips32 25e1051a39Sopenharmony_ci $AESDEF_mips64=$AESDEF_mips32 26e1051a39Sopenharmony_ci 27e1051a39Sopenharmony_ci $AESASM_s390x=aes-s390x.S 28e1051a39Sopenharmony_ci # aes-390x.S implements AES_ctr32_encrypt and AES_xts_[en|de]crypt 29e1051a39Sopenharmony_ci $AESDEF_s390x=AES_ASM AES_CTR_ASM AES_XTS_ASM 30e1051a39Sopenharmony_ci 31e1051a39Sopenharmony_ci $AESASM_armv4=aes_cbc.c aes-armv4.S bsaes-armv7.S aesv8-armx.S 32e1051a39Sopenharmony_ci $AESDEF_armv4=AES_ASM BSAES_ASM 33e1051a39Sopenharmony_ci $AESASM_aarch64=aes_core.c aes_cbc.c aesv8-armx.S vpaes-armv8.S 34e1051a39Sopenharmony_ci $AESDEF_aarch64=VPAES_ASM 35e1051a39Sopenharmony_ci 36e1051a39Sopenharmony_ci $AESASM_parisc11=aes_core.c aes_cbc.c aes-parisc.s 37e1051a39Sopenharmony_ci $AESDEF_parisc11=AES_ASM 38e1051a39Sopenharmony_ci $AESASM_parisc20_64=$AESASM_parisc11 39e1051a39Sopenharmony_ci $AESDEF_parisc20_64=$AESDEF_parisc11 40e1051a39Sopenharmony_ci 41e1051a39Sopenharmony_ci $AESASM_ppc32=aes_core.c aes_cbc.c aes-ppc.s vpaes-ppc.s aesp8-ppc.s 42e1051a39Sopenharmony_ci $AESDEF_ppc32=AES_ASM VPAES_ASM 43e1051a39Sopenharmony_ci $AESASM_ppc64=$AESASM_ppc32 44e1051a39Sopenharmony_ci $AESDEF_ppc64=$AESDEF_ppc32 45e1051a39Sopenharmony_ci 46e1051a39Sopenharmony_ci $AESASM_c64xplus=aes-c64xplus.s aes_cbc.c 47e1051a39Sopenharmony_ci # aes-c64xplus.s implements AES_ctr32_encrypt 48e1051a39Sopenharmony_ci $AESDEF_c64xplus=AES_ASM AES_CTR_ASM 49e1051a39Sopenharmony_ci 50e1051a39Sopenharmony_ci # Now that we have defined all the arch specific variables, use the 51e1051a39Sopenharmony_ci # appropriate one, and define the appropriate macros 52e1051a39Sopenharmony_ci IF[$AESASM_{- $target{asm_arch} -}] 53e1051a39Sopenharmony_ci $AESASM=$AESASM_{- $target{asm_arch} -} 54e1051a39Sopenharmony_ci $AESDEF=$AESDEF_{- $target{asm_arch} -} 55e1051a39Sopenharmony_ci IF[{- !$disabled{sse2} -}] 56e1051a39Sopenharmony_ci $AESASM=$AESASM $AESASM_{- $target{asm_arch} -}_sse2 57e1051a39Sopenharmony_ci $AESDEF=$AESDEF $AESDEF_{- $target{asm_arch} -}_sse2 58e1051a39Sopenharmony_ci ENDIF 59e1051a39Sopenharmony_ci ENDIF 60e1051a39Sopenharmony_ciENDIF 61e1051a39Sopenharmony_ci 62e1051a39Sopenharmony_ci$COMMON=aes_misc.c aes_ecb.c $AESASM 63e1051a39Sopenharmony_ciSOURCE[../../libcrypto]=$COMMON aes_cfb.c aes_ofb.c aes_wrap.c 64e1051a39Sopenharmony_ciIF[{- !$disabled{'deprecated-3.0'} -}] 65e1051a39Sopenharmony_ci SOURCE[../../libcrypto]=aes_ige.c 66e1051a39Sopenharmony_ciENDIF 67e1051a39Sopenharmony_ciSOURCE[../../providers/libfips.a]=$COMMON 68e1051a39Sopenharmony_ci 69e1051a39Sopenharmony_ci# Implementations are now spread across several libraries, so the defines 70e1051a39Sopenharmony_ci# need to be applied to all affected libraries and modules. 71e1051a39Sopenharmony_ciDEFINE[../../libcrypto]=$AESDEF 72e1051a39Sopenharmony_ciDEFINE[../../providers/libfips.a]=$AESDEF 73e1051a39Sopenharmony_ciDEFINE[../../providers/libdefault.a]=$AESDEF 74e1051a39Sopenharmony_ci# We only need to include the AESDEF stuff in the legacy provider when it's a 75e1051a39Sopenharmony_ci# separate module and it's dynamically linked with libcrypto. Otherwise, it 76e1051a39Sopenharmony_ci# already gets everything that the static libcrypto.a has, and doesn't need it 77e1051a39Sopenharmony_ci# added again. 78e1051a39Sopenharmony_ciIF[{- !$disabled{module} && !$disabled{shared} -}] 79e1051a39Sopenharmony_ci DEFINE[../providers/liblegacy.a]=$AESDEF 80e1051a39Sopenharmony_ciENDIF 81e1051a39Sopenharmony_ci 82e1051a39Sopenharmony_ciGENERATE[aes-ia64.s]=asm/aes-ia64.S 83e1051a39Sopenharmony_ci 84e1051a39Sopenharmony_ciGENERATE[aes-586.S]=asm/aes-586.pl 85e1051a39Sopenharmony_ciDEPEND[aes-586.S]=../perlasm/x86asm.pl 86e1051a39Sopenharmony_ciGENERATE[vpaes-x86.S]=asm/vpaes-x86.pl 87e1051a39Sopenharmony_ciDEPEND[vpaes-586.S]=../perlasm/x86asm.pl 88e1051a39Sopenharmony_ciGENERATE[aesni-x86.S]=asm/aesni-x86.pl 89e1051a39Sopenharmony_ciDEPEND[aesni-586.S]=../perlasm/x86asm.pl 90e1051a39Sopenharmony_ci 91e1051a39Sopenharmony_ciGENERATE[aes-x86_64.s]=asm/aes-x86_64.pl 92e1051a39Sopenharmony_ciGENERATE[vpaes-x86_64.s]=asm/vpaes-x86_64.pl 93e1051a39Sopenharmony_ciGENERATE[bsaes-x86_64.s]=asm/bsaes-x86_64.pl 94e1051a39Sopenharmony_ciGENERATE[aesni-x86_64.s]=asm/aesni-x86_64.pl 95e1051a39Sopenharmony_ciGENERATE[aesni-sha1-x86_64.s]=asm/aesni-sha1-x86_64.pl 96e1051a39Sopenharmony_ciGENERATE[aesni-sha256-x86_64.s]=asm/aesni-sha256-x86_64.pl 97e1051a39Sopenharmony_ciGENERATE[aesni-mb-x86_64.s]=asm/aesni-mb-x86_64.pl 98e1051a39Sopenharmony_ci 99e1051a39Sopenharmony_ciGENERATE[aes-sparcv9.S]=asm/aes-sparcv9.pl 100e1051a39Sopenharmony_ciINCLUDE[aes-sparcv9.o]=.. 101e1051a39Sopenharmony_ciGENERATE[aest4-sparcv9.S]=asm/aest4-sparcv9.pl 102e1051a39Sopenharmony_ciINCLUDE[aest4-sparcv9.o]=.. 103e1051a39Sopenharmony_ciDEPEND[aest4-sparcv9.S]=../perlasm/sparcv9_modes.pl 104e1051a39Sopenharmony_ciGENERATE[aesfx-sparcv9.S]=asm/aesfx-sparcv9.pl 105e1051a39Sopenharmony_ciINCLUDE[aesfx-sparcv9.o]=.. 106e1051a39Sopenharmony_ci 107e1051a39Sopenharmony_ciGENERATE[aes-ppc.s]=asm/aes-ppc.pl 108e1051a39Sopenharmony_ciGENERATE[vpaes-ppc.s]=asm/vpaes-ppc.pl 109e1051a39Sopenharmony_ciGENERATE[aesp8-ppc.s]=asm/aesp8-ppc.pl 110e1051a39Sopenharmony_ci 111e1051a39Sopenharmony_ciGENERATE[aes-parisc.s]=asm/aes-parisc.pl 112e1051a39Sopenharmony_ci 113e1051a39Sopenharmony_ciGENERATE[aes-mips.S]=asm/aes-mips.pl 114e1051a39Sopenharmony_ciINCLUDE[aes-mips.o]=.. 115e1051a39Sopenharmony_ci 116e1051a39Sopenharmony_ciGENERATE[aesv8-armx.S]=asm/aesv8-armx.pl 117e1051a39Sopenharmony_ciINCLUDE[aesv8-armx.o]=.. 118e1051a39Sopenharmony_ciGENERATE[vpaes-armv8.S]=asm/vpaes-armv8.pl 119e1051a39Sopenharmony_ci 120e1051a39Sopenharmony_ciGENERATE[aes-armv4.S]=asm/aes-armv4.pl 121e1051a39Sopenharmony_ciINCLUDE[aes-armv4.o]=.. 122e1051a39Sopenharmony_ciGENERATE[bsaes-armv7.S]=asm/bsaes-armv7.pl 123e1051a39Sopenharmony_ciINCLUDE[bsaes-armv7.o]=.. 124e1051a39Sopenharmony_ci 125e1051a39Sopenharmony_ciGENERATE[aes-s390x.S]=asm/aes-s390x.pl 126e1051a39Sopenharmony_ciINCLUDE[aes-s390x.o]=.. 127e1051a39Sopenharmony_ci 128e1051a39Sopenharmony_ciGENERATE[aes-c64xplus.S]=asm/aes-c64xplus.pl 129