xref: /openssl/crypto/aes/build.info (revision 9912c38e)
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  $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
51  $AESDEF_riscv64=AES_ASM
52
53  # Now that we have defined all the arch specific variables, use the
54  # appropriate one, and define the appropriate macros
55  IF[$AESASM_{- $target{asm_arch} -}]
56    $AESASM=$AESASM_{- $target{asm_arch} -}
57    $AESDEF=$AESDEF_{- $target{asm_arch} -}
58    IF[{- !$disabled{sse2} -}]
59      $AESASM=$AESASM $AESASM_{- $target{asm_arch} -}_sse2
60      $AESDEF=$AESDEF $AESDEF_{- $target{asm_arch} -}_sse2
61    ENDIF
62  ENDIF
63ENDIF
64
65$COMMON=aes_misc.c aes_ecb.c $AESASM
66SOURCE[../../libcrypto]=$COMMON aes_cfb.c aes_ofb.c aes_wrap.c
67IF[{- !$disabled{'deprecated-3.0'} -}]
68  SOURCE[../../libcrypto]=aes_ige.c
69ENDIF
70SOURCE[../../providers/libfips.a]=$COMMON
71
72# Implementations are now spread across several libraries, so the defines
73# need to be applied to all affected libraries and modules.
74DEFINE[../../libcrypto]=$AESDEF
75DEFINE[../../providers/libfips.a]=$AESDEF
76DEFINE[../../providers/libdefault.a]=$AESDEF
77# We only need to include the AESDEF stuff in the legacy provider when it's a
78# separate module and it's dynamically linked with libcrypto.  Otherwise, it
79# already gets everything that the static libcrypto.a has, and doesn't need it
80# added again.
81IF[{- !$disabled{module} && !$disabled{shared} -}]
82  DEFINE[../providers/liblegacy.a]=$AESDEF
83ENDIF
84
85GENERATE[aes-ia64.s]=asm/aes-ia64.S
86GENERATE[bsaes-armv8.S]=asm/bsaes-armv8.pl
87
88GENERATE[aes-586.S]=asm/aes-586.pl
89DEPEND[aes-586.S]=../perlasm/x86asm.pl
90GENERATE[vpaes-x86.S]=asm/vpaes-x86.pl
91DEPEND[vpaes-586.S]=../perlasm/x86asm.pl
92GENERATE[aesni-x86.S]=asm/aesni-x86.pl
93DEPEND[aesni-586.S]=../perlasm/x86asm.pl
94
95GENERATE[aes-x86_64.s]=asm/aes-x86_64.pl
96GENERATE[vpaes-x86_64.s]=asm/vpaes-x86_64.pl
97GENERATE[bsaes-x86_64.s]=asm/bsaes-x86_64.pl
98GENERATE[aesni-x86_64.s]=asm/aesni-x86_64.pl
99GENERATE[aesni-sha1-x86_64.s]=asm/aesni-sha1-x86_64.pl
100GENERATE[aesni-sha256-x86_64.s]=asm/aesni-sha256-x86_64.pl
101GENERATE[aesni-mb-x86_64.s]=asm/aesni-mb-x86_64.pl
102
103GENERATE[aes-sparcv9.S]=asm/aes-sparcv9.pl
104INCLUDE[aes-sparcv9.o]=..
105GENERATE[aest4-sparcv9.S]=asm/aest4-sparcv9.pl
106INCLUDE[aest4-sparcv9.o]=..
107DEPEND[aest4-sparcv9.S]=../perlasm/sparcv9_modes.pl
108GENERATE[aesfx-sparcv9.S]=asm/aesfx-sparcv9.pl
109INCLUDE[aesfx-sparcv9.o]=..
110
111GENERATE[aes-ppc.s]=asm/aes-ppc.pl
112GENERATE[vpaes-ppc.s]=asm/vpaes-ppc.pl
113GENERATE[aesp8-ppc.s]=asm/aesp8-ppc.pl
114
115GENERATE[aes-parisc.s]=asm/aes-parisc.pl
116
117GENERATE[aes-mips.S]=asm/aes-mips.pl
118INCLUDE[aes-mips.o]=..
119
120GENERATE[aes-riscv64.s]=asm/aes-riscv64.pl
121GENERATE[aes-riscv64-zkn.s]=asm/aes-riscv64-zkn.pl
122
123GENERATE[aesv8-armx.S]=asm/aesv8-armx.pl
124INCLUDE[aesv8-armx.o]=..
125GENERATE[vpaes-armv8.S]=asm/vpaes-armv8.pl
126INCLUDE[vpaes-armv8.o]=..
127
128GENERATE[aes-armv4.S]=asm/aes-armv4.pl
129INCLUDE[aes-armv4.o]=..
130GENERATE[bsaes-armv7.S]=asm/bsaes-armv7.pl
131INCLUDE[bsaes-armv7.o]=..
132
133GENERATE[aes-s390x.S]=asm/aes-s390x.pl
134INCLUDE[aes-s390x.o]=..
135
136GENERATE[aes-c64xplus.S]=asm/aes-c64xplus.pl
137