1LIBS=../../libcrypto 2 3$AESASM=aes_core.c aes_cbc.c 4IF[{- !$disabled{asm} -}] 5 $AESASM_x86=aes-586.S 6 $AESDEF_x86=AES_ASM 7 $AESASM_x86_sse2=vpaes-x86.S aesni-x86.S 8 $AESDEF_x86_sse2=VPAES_ASM OPENSSL_IA32_SSE2 9 10 $AESASM_x86_64=\ 11 aes-x86_64.s vpaes-x86_64.s bsaes-x86_64.s aesni-x86_64.s \ 12 aesni-sha1-x86_64.s aesni-sha256-x86_64.s aesni-mb-x86_64.s \ 13 aesni-xts-avx512.s 14 $AESDEF_x86_64=AES_ASM VPAES_ASM BSAES_ASM 15 16 $AESASM_ia64=aes_core.c aes_cbc.c aes-ia64.s 17 $AESDEF_ia64=AES_ASM 18 19 $AESASM_sparcv9=\ 20 aes_core.c aes_cbc.c aes-sparcv9.S aest4-sparcv9.S aesfx-sparcv9.S 21 $AESDEF_sparcv9=AES_ASM 22 23 $AESASM_mips32=aes_cbc.c aes-mips.S 24 $AESDEF_mips32=AES_ASM 25 $AESASM_mips64=$AESASM_mips32 26 $AESDEF_mips64=$AESDEF_mips32 27 28 $AESASM_s390x=aes-s390x.S 29 # aes-390x.S implements AES_ctr32_encrypt and AES_xts_[en|de]crypt 30 $AESDEF_s390x=AES_ASM AES_CTR_ASM AES_XTS_ASM 31 32 $AESASM_armv4=aes_cbc.c aes-armv4.S bsaes-armv7.S aesv8-armx.S 33 $AESDEF_armv4=AES_ASM BSAES_ASM 34 $AESASM_aarch64=aes_core.c aes_cbc.c aesv8-armx.S bsaes-armv8.S vpaes-armv8.S 35 $AESDEF_aarch64=BSAES_ASM VPAES_ASM 36 37 $AESASM_parisc11=aes_core.c aes_cbc.c aes-parisc.s 38 $AESDEF_parisc11=AES_ASM 39 $AESASM_parisc20_64=$AESASM_parisc11 40 $AESDEF_parisc20_64=$AESDEF_parisc11 41 42 IF[{- $target{sys_id} ne "MACOSX" -}] 43 $AESASM_ppc32=aes_core.c aes_cbc.c aes-ppc.s vpaes-ppc.s aesp8-ppc.s 44 ELSE 45 $AESASM_ppc32=aes_core.c aes_cbc.c aes-ppc.s vpaes-ppc.s 46 ENDIF 47 $AESDEF_ppc32=AES_ASM VPAES_ASM 48 $AESASM_ppc64=$AESASM_ppc32 49 $AESDEF_ppc64=$AESDEF_ppc32 50 51 $AESASM_c64xplus=aes-c64xplus.s aes_cbc.c 52 # aes-c64xplus.s implements AES_ctr32_encrypt 53 $AESDEF_c64xplus=AES_ASM AES_CTR_ASM 54 55 $AESASM_riscv64=aes_cbc.c aes-riscv64.s aes-riscv64-zkn.s aes-riscv64-zvkb-zvkned.s aes-riscv64-zvkned.s aes-riscv64-zvbb-zvkg-zvkned.s 56 $AESDEF_riscv64=AES_ASM 57 $AESASM_riscv32=aes_core.c aes_cbc.c aes-riscv32-zkn.s 58 59 $AESASM_loongarch64=aes_core.c aes_cbc.c vpaes-loongarch64.S 60 $AESDEF_loongarch64=VPAES_ASM 61 62 # Now that we have defined all the arch specific variables, use the 63 # appropriate one, and define the appropriate macros 64 IF[$AESASM_{- $target{asm_arch} -}] 65 $AESASM=$AESASM_{- $target{asm_arch} -} 66 $AESDEF=$AESDEF_{- $target{asm_arch} -} 67 IF[{- !$disabled{sse2} -}] 68 $AESASM=$AESASM $AESASM_{- $target{asm_arch} -}_sse2 69 $AESDEF=$AESDEF $AESDEF_{- $target{asm_arch} -}_sse2 70 ENDIF 71 ENDIF 72ENDIF 73 74$COMMON=aes_misc.c aes_ecb.c $AESASM 75SOURCE[../../libcrypto]=$COMMON aes_cfb.c aes_ofb.c aes_wrap.c 76IF[{- !$disabled{'deprecated-3.0'} -}] 77 SOURCE[../../libcrypto]=aes_ige.c 78ENDIF 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]=$AESDEF 84DEFINE[../../providers/libfips.a]=$AESDEF 85DEFINE[../../providers/libdefault.a]=$AESDEF 86# We only need to include the AESDEF stuff in the legacy provider when it's a 87# separate module and it's dynamically linked with libcrypto. Otherwise, it 88# already gets everything that the static libcrypto.a has, and doesn't need it 89# added again. 90IF[{- !$disabled{module} && !$disabled{shared} -}] 91 DEFINE[../../providers/liblegacy.a]=$AESDEF 92ENDIF 93 94GENERATE[aes-ia64.s]=asm/aes-ia64.S 95GENERATE[bsaes-armv8.S]=asm/bsaes-armv8.pl 96 97GENERATE[aes-586.S]=asm/aes-586.pl 98DEPEND[aes-586.S]=../perlasm/x86asm.pl 99GENERATE[vpaes-x86.S]=asm/vpaes-x86.pl 100DEPEND[vpaes-586.S]=../perlasm/x86asm.pl 101GENERATE[aesni-x86.S]=asm/aesni-x86.pl 102DEPEND[aesni-586.S]=../perlasm/x86asm.pl 103 104GENERATE[aes-x86_64.s]=asm/aes-x86_64.pl 105GENERATE[vpaes-x86_64.s]=asm/vpaes-x86_64.pl 106GENERATE[bsaes-x86_64.s]=asm/bsaes-x86_64.pl 107GENERATE[aesni-x86_64.s]=asm/aesni-x86_64.pl 108GENERATE[aesni-sha1-x86_64.s]=asm/aesni-sha1-x86_64.pl 109GENERATE[aesni-sha256-x86_64.s]=asm/aesni-sha256-x86_64.pl 110GENERATE[aesni-mb-x86_64.s]=asm/aesni-mb-x86_64.pl 111 112GENERATE[aes-sparcv9.S]=asm/aes-sparcv9.pl 113INCLUDE[aes-sparcv9.o]=.. 114GENERATE[aest4-sparcv9.S]=asm/aest4-sparcv9.pl 115INCLUDE[aest4-sparcv9.o]=.. 116DEPEND[aest4-sparcv9.S]=../perlasm/sparcv9_modes.pl 117GENERATE[aesfx-sparcv9.S]=asm/aesfx-sparcv9.pl 118INCLUDE[aesfx-sparcv9.o]=.. 119 120GENERATE[aes-ppc.s]=asm/aes-ppc.pl 121GENERATE[vpaes-ppc.s]=asm/vpaes-ppc.pl 122GENERATE[aesp8-ppc.s]=asm/aesp8-ppc.pl 123 124GENERATE[aes-parisc.s]=asm/aes-parisc.pl 125 126GENERATE[aes-mips.S]=asm/aes-mips.pl 127INCLUDE[aes-mips.o]=.. 128 129GENERATE[aes-riscv64.s]=asm/aes-riscv64.pl 130GENERATE[aes-riscv64-zkn.s]=asm/aes-riscv64-zkn.pl 131GENERATE[aes-riscv32-zkn.s]=asm/aes-riscv32-zkn.pl 132GENERATE[aes-riscv64-zvkb-zvkned.s]=asm/aes-riscv64-zvkb-zvkned.pl 133GENERATE[aes-riscv64-zvkned.s]=asm/aes-riscv64-zvkned.pl 134GENERATE[aes-riscv64-zvbb-zvkg-zvkned.s]=asm/aes-riscv64-zvbb-zvkg-zvkned.pl 135 136GENERATE[aesv8-armx.S]=asm/aesv8-armx.pl 137INCLUDE[aesv8-armx.o]=.. 138GENERATE[vpaes-armv8.S]=asm/vpaes-armv8.pl 139INCLUDE[vpaes-armv8.o]=.. 140 141GENERATE[aes-armv4.S]=asm/aes-armv4.pl 142INCLUDE[aes-armv4.o]=.. 143GENERATE[bsaes-armv7.S]=asm/bsaes-armv7.pl 144INCLUDE[bsaes-armv7.o]=.. 145 146GENERATE[aes-s390x.S]=asm/aes-s390x.pl 147INCLUDE[aes-s390x.o]=.. 148 149GENERATE[aesni-xts-avx512.s]=asm/aesni-xts-avx512.pl 150 151GENERATE[aes-c64xplus.S]=asm/aes-c64xplus.pl 152 153GENERATE[vpaes-loongarch64.S]=asm/vpaes-loongarch64.pl 154INCLUDE[vpaes-loongarch64.o]=.. 155