c7fab5720d38c521339b21a6410e0656bbb64746
[openssl.git] / crypto / aes / build.info
1 LIBS=../../libcrypto
2
3 $AESASM=aes_core.c aes_cbc.c
4 IF[{- !$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   $AESDEF_x86_64=AES_ASM VPAES_ASM BSAES_ASM
14
15   $AESASM_ia64=aes_core.c aes_cbc.c aes-ia64.s
16   $AESDEF_ia64=AES_ASM
17
18   $AESASM_sparcv9=\
19         aes_core.c aes_cbc.c aes-sparcv9.S aest4-sparcv9.S aesfx-sparcv9.S
20   $AESDEF_sparcv9=AES_ASM
21
22   $AESASM_mips32=aes_cbc.c aes-mips.S
23   $AESDEF_mips32=AES_ASM
24   $AESASM_mips64=$AESASM_mips32
25   $AESDEF_mips64=$AESDEF_mips32
26
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
30
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 bsaes-armv8.S vpaes-armv8.S
34   $AESDEF_aarch64=BSAES_ASM VPAES_ASM
35
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
40
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
45
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
49
50   $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
51   $AESDEF_riscv64=AES_ASM
52   $AESASM_riscv32=aes_core.c aes_cbc.c aes-riscv32-zkn.s
53
54   $AESASM_loongarch64=aes_core.c aes_cbc.c vpaes-loongarch64.S
55   $AESDEF_loongarch64=VPAES_ASM
56
57   # Now that we have defined all the arch specific variables, use the
58   # appropriate one, and define the appropriate macros
59   IF[$AESASM_{- $target{asm_arch} -}]
60     $AESASM=$AESASM_{- $target{asm_arch} -}
61     $AESDEF=$AESDEF_{- $target{asm_arch} -}
62     IF[{- !$disabled{sse2} -}]
63       $AESASM=$AESASM $AESASM_{- $target{asm_arch} -}_sse2
64       $AESDEF=$AESDEF $AESDEF_{- $target{asm_arch} -}_sse2
65     ENDIF
66   ENDIF
67 ENDIF
68
69 $COMMON=aes_misc.c aes_ecb.c $AESASM
70 SOURCE[../../libcrypto]=$COMMON aes_cfb.c aes_ofb.c aes_wrap.c
71 IF[{- !$disabled{'deprecated-3.0'} -}]
72   SOURCE[../../libcrypto]=aes_ige.c
73 ENDIF
74 SOURCE[../../providers/libfips.a]=$COMMON
75
76 # Implementations are now spread across several libraries, so the defines
77 # need to be applied to all affected libraries and modules.
78 DEFINE[../../libcrypto]=$AESDEF
79 DEFINE[../../providers/libfips.a]=$AESDEF
80 DEFINE[../../providers/libdefault.a]=$AESDEF
81 # We only need to include the AESDEF stuff in the legacy provider when it's a
82 # separate module and it's dynamically linked with libcrypto.  Otherwise, it
83 # already gets everything that the static libcrypto.a has, and doesn't need it
84 # added again.
85 IF[{- !$disabled{module} && !$disabled{shared} -}]
86   DEFINE[../providers/liblegacy.a]=$AESDEF
87 ENDIF
88
89 GENERATE[aes-ia64.s]=asm/aes-ia64.S
90 GENERATE[bsaes-armv8.S]=asm/bsaes-armv8.pl
91
92 GENERATE[aes-586.S]=asm/aes-586.pl
93 DEPEND[aes-586.S]=../perlasm/x86asm.pl
94 GENERATE[vpaes-x86.S]=asm/vpaes-x86.pl
95 DEPEND[vpaes-586.S]=../perlasm/x86asm.pl
96 GENERATE[aesni-x86.S]=asm/aesni-x86.pl
97 DEPEND[aesni-586.S]=../perlasm/x86asm.pl
98
99 GENERATE[aes-x86_64.s]=asm/aes-x86_64.pl
100 GENERATE[vpaes-x86_64.s]=asm/vpaes-x86_64.pl
101 GENERATE[bsaes-x86_64.s]=asm/bsaes-x86_64.pl
102 GENERATE[aesni-x86_64.s]=asm/aesni-x86_64.pl
103 GENERATE[aesni-sha1-x86_64.s]=asm/aesni-sha1-x86_64.pl
104 GENERATE[aesni-sha256-x86_64.s]=asm/aesni-sha256-x86_64.pl
105 GENERATE[aesni-mb-x86_64.s]=asm/aesni-mb-x86_64.pl
106
107 GENERATE[aes-sparcv9.S]=asm/aes-sparcv9.pl
108 INCLUDE[aes-sparcv9.o]=..
109 GENERATE[aest4-sparcv9.S]=asm/aest4-sparcv9.pl
110 INCLUDE[aest4-sparcv9.o]=..
111 DEPEND[aest4-sparcv9.S]=../perlasm/sparcv9_modes.pl
112 GENERATE[aesfx-sparcv9.S]=asm/aesfx-sparcv9.pl
113 INCLUDE[aesfx-sparcv9.o]=..
114
115 GENERATE[aes-ppc.s]=asm/aes-ppc.pl
116 GENERATE[vpaes-ppc.s]=asm/vpaes-ppc.pl
117 GENERATE[aesp8-ppc.s]=asm/aesp8-ppc.pl
118
119 GENERATE[aes-parisc.s]=asm/aes-parisc.pl
120
121 GENERATE[aes-mips.S]=asm/aes-mips.pl
122 INCLUDE[aes-mips.o]=..
123
124 GENERATE[aes-riscv64.s]=asm/aes-riscv64.pl
125 GENERATE[aes-riscv64-zkn.s]=asm/aes-riscv64-zkn.pl
126 GENERATE[aes-riscv32-zkn.s]=asm/aes-riscv32-zkn.pl
127 GENERATE[aes-riscv64-zvkb-zvkned.s]=asm/aes-riscv64-zvkb-zvkned.pl
128 GENERATE[aes-riscv64-zvkned.s]=asm/aes-riscv64-zvkned.pl
129
130 GENERATE[aesv8-armx.S]=asm/aesv8-armx.pl
131 INCLUDE[aesv8-armx.o]=..
132 GENERATE[vpaes-armv8.S]=asm/vpaes-armv8.pl
133 INCLUDE[vpaes-armv8.o]=..
134
135 GENERATE[aes-armv4.S]=asm/aes-armv4.pl
136 INCLUDE[aes-armv4.o]=..
137 GENERATE[bsaes-armv7.S]=asm/bsaes-armv7.pl
138 INCLUDE[bsaes-armv7.o]=..
139
140 GENERATE[aes-s390x.S]=asm/aes-s390x.pl
141 INCLUDE[aes-s390x.o]=..
142
143 GENERATE[aes-c64xplus.S]=asm/aes-c64xplus.pl
144
145 GENERATE[vpaes-loongarch64.S]=asm/vpaes-loongarch64.pl
146 INCLUDE[vpaes-loongarch64.o]=..