3 $AESASM=aes_core.c aes_cbc.c
4 IF[{- !$disabled{asm} -}]
7 $AESASM_x86_sse2=vpaes-x86.s aesni-x86.s
8 $AESDEF_x86_sse2=VPAES_ASM
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 $AESDEF_x86_64=AES_ASM VPAES_ASM BSAES_ASM
15 $AESASM_ia64=aes_core.c aes_cbc.c aes-ia64.s
19 aes_core.c aes_cbc.c aes-sparcv9.S aest4-sparcv9.S aesfx-sparcv9.S
20 $AESDEF_sparcv9=AES_ASM
22 $AESASM_mips32=aes_cbc.c aes-mips.S
23 $AESDEF_mips32=AES_ASM
24 $AESASM_mips64=$AESASM_mips32
25 $AESDEF_mips64=$AESDEF_mips32
27 $AESASM_s390x=aes-s390x.S
28 # aes-390x.S implements AES_ctr32_encrypt and AES_xts_[en|de]crypt
29 $AESDEF_s390x=AES_ASM AES_CTR_ASM AES_XTS_ASM
31 $AESASM_armv4=aes_cbc.c aes-armv4.S bsaes-armv7.S aesv8-armx.S
32 $AESDEF_armv4=AES_ASM BSAES_ASM
33 $AESASM_aarch64=aes_core.c aes_cbc.c aesv8-armx.S vpaes-armv8.S
34 $AESDEF_aarch64=VPAES_ASM
36 $AESASM_parisc11=aes_core.c aes_cbc.c aes-parisc.s
37 $AESDEF_parisc11=AES_ASM
38 $AESASM_parisc20_64=$AESASM_parisc11
39 $AESDEF_parisc20_64=$AESDEF_parisc11
41 $AESASM_ppc32=aes_core.c aes_cbc.c aes-ppc.s vpaes-ppc.s aesp8-ppc.s
42 $AESDEF_ppc32=AES_ASM VPAES_ASM
43 $AESASM_ppc64=$AESASM_ppc32
44 $AESDEF_ppc64=$AESDEF_ppc32
46 $AESASM_c64xplus=aes-c64xplus.s aes_cbc.c
47 # aes-c64xplus.s implements AES_ctr32_encrypt
48 $AESDEF_c64xplus=AES_ASM AES_CTR_ASM
50 # Now that we have defined all the arch specific variables, use the
51 # appropriate one, and define the appropriate macros
52 IF[$AESASM_{- $target{asm_arch} -}]
53 $AESASM=$AESASM_{- $target{asm_arch} -}
54 $AESDEF=$AESDEF_{- $target{asm_arch} -}
55 IF[{- !$disabled{sse2} -}]
56 $AESASM=$AESASM $AESASM_{- $target{asm_arch} -}_sse2
57 $AESDEF=$AESDEF $AESDEF_{- $target{asm_arch} -}_sse2
62 $COMMON=aes_misc.c aes_ecb.c $AESASM
63 SOURCE[../../libcrypto]=$COMMON aes_cfb.c aes_ofb.c aes_ige.c aes_wrap.c
64 SOURCE[../../providers/libfips.a]=$COMMON
66 # Implementations are now spread across several libraries, so the defines
67 # need to be applied to all affected libraries and modules.
68 DEFINE[../../libcrypto]=$AESDEF
69 DEFINE[../../providers/libfips.a]=$AESDEF
70 DEFINE[../../providers/libimplementations.a]=$AESDEF
72 GENERATE[aes-ia64.s]=asm/aes-ia64.S
74 GENERATE[aes-586.s]=asm/aes-586.pl
75 DEPEND[aes-586.s]=../perlasm/x86asm.pl
76 GENERATE[vpaes-x86.s]=asm/vpaes-x86.pl
77 DEPEND[vpaes-586.s]=../perlasm/x86asm.pl
78 GENERATE[aesni-x86.s]=asm/aesni-x86.pl
79 DEPEND[aesni-586.s]=../perlasm/x86asm.pl
81 GENERATE[aes-x86_64.s]=asm/aes-x86_64.pl
82 GENERATE[vpaes-x86_64.s]=asm/vpaes-x86_64.pl
83 GENERATE[bsaes-x86_64.s]=asm/bsaes-x86_64.pl
84 GENERATE[aesni-x86_64.s]=asm/aesni-x86_64.pl
85 GENERATE[aesni-sha1-x86_64.s]=asm/aesni-sha1-x86_64.pl
86 GENERATE[aesni-sha256-x86_64.s]=asm/aesni-sha256-x86_64.pl
87 GENERATE[aesni-mb-x86_64.s]=asm/aesni-mb-x86_64.pl
89 GENERATE[aes-sparcv9.S]=asm/aes-sparcv9.pl
90 INCLUDE[aes-sparcv9.o]=..
91 GENERATE[aest4-sparcv9.S]=asm/aest4-sparcv9.pl
92 INCLUDE[aest4-sparcv9.o]=..
93 DEPEND[aest4-sparcv9.S]=../perlasm/sparcv9_modes.pl
94 GENERATE[aesfx-sparcv9.S]=asm/aesfx-sparcv9.pl
95 INCLUDE[aesfx-sparcv9.o]=..
97 GENERATE[aes-ppc.s]=asm/aes-ppc.pl
98 GENERATE[vpaes-ppc.s]=asm/vpaes-ppc.pl
99 GENERATE[aesp8-ppc.s]=asm/aesp8-ppc.pl
101 GENERATE[aes-parisc.s]=asm/aes-parisc.pl
103 GENERATE[aes-mips.S]=asm/aes-mips.pl
104 INCLUDE[aes-mips.o]=..
106 GENERATE[aesv8-armx.S]=asm/aesv8-armx.pl
107 INCLUDE[aesv8-armx.o]=..
108 GENERATE[vpaes-armv8.S]=asm/vpaes-armv8.pl
110 GENERATE[aes-armv4.S]=asm/aes-armv4.pl
111 INCLUDE[aes-armv4.o]=..
112 GENERATE[bsaes-armv7.S]=asm/bsaes-armv7.pl
113 INCLUDE[bsaes-armv7.o]=..
115 GENERATE[aes-s390x.S]=asm/aes-s390x.pl
116 INCLUDE[aes-s390x.o]=..
118 GENERATE[aes-c64xplus.S]=asm/aes-c64xplus.pl