xref: /openssl/crypto/sha/build.info (revision ed0f79c7)
1LIBS=../../libcrypto
2
3$SHA1ASM=
4IF[{- !$disabled{asm} -}]
5  $SHA1ASM_x86=sha1-586.S sha256-586.S sha512-586.S
6  $SHA1DEF_x86=SHA1_ASM SHA256_ASM SHA512_ASM
7  $SHA1ASM_x86_64=\
8        sha1-x86_64.s sha256-x86_64.s sha512-x86_64.s sha1-mb-x86_64.s \
9        sha256-mb-x86_64.s
10  $SHA1DEF_x86_64=SHA1_ASM SHA256_ASM SHA512_ASM
11
12  $SHA1ASM_ia64=sha1-ia64.s sha256-ia64.s sha512-ia64.s
13  $SHA1DEF_ia64=SHA1_ASM SHA256_ASM SHA512_ASM
14
15  $SHA1ASM_sparcv9=sha1-sparcv9.S sha256-sparcv9.S sha512-sparcv9.S
16  $SHA1DEF_sparcv9=SHA1_ASM SHA256_ASM SHA512_ASM
17
18  $SHA1ASM_alpha=sha1-alpha.S
19  $SHA1DEF_alpha=SHA1_ASM
20
21  $SHA1ASM_mips32=sha1-mips.S sha256-mips.S
22  $SHA1DEF_mips32=SHA1_ASM SHA256_ASM
23  $SHA1ASM_mips64=$SHA1ASM_mips32 sha512-mips.S
24  $SHA1DEF_mips64=$SHA1DEF_mips32 SHA512_ASM
25
26  $SHA1ASM_s390x=sha1-s390x.S sha256-s390x.S sha512-s390x.S
27  $SHA1DEF_s390x=SHA1_ASM SHA256_ASM SHA512_ASM
28
29  $SHA1ASM_armv4=sha1-armv4-large.S sha256-armv4.S sha512-armv4.S
30  $SHA1DEF_armv4=SHA1_ASM SHA256_ASM SHA512_ASM
31  $SHA1ASM_aarch64=sha1-armv8.S sha256-armv8.S sha512-armv8.S
32  $SHA1DEF_aarch64=SHA1_ASM SHA256_ASM SHA512_ASM
33
34  $SHA1ASM_parisc11=sha1-parisc.s sha256-parisc.s sha512-parisc.s
35  $SHA1DEF_parisc11=SHA1_ASM SHA256_ASM SHA512_ASM
36  $SHA1ASM_parisc20_64=$SHA1ASM_parisc11
37  $SHA1DEF_parisc20_64=$SHA1DEF_parisc11
38
39  $SHA1ASM_ppc32=\
40        sha_ppc.c sha1-ppc.s sha256-ppc.s sha512-ppc.s sha256p8-ppc.s \
41        sha512p8-ppc.s
42  $SHA1DEF_ppc32=SHA1_ASM SHA256_ASM SHA512_ASM
43  $SHA1ASM_ppc64=$SHA1ASM_ppc32
44  $SHA1DEF_ppc64=$SHA1DEF_ppc32
45
46  $SHA1ASM_c64xplus=sha1-c64xplus.s sha256-c64xplus.s sha512-c64xplus.s
47  $SHA1DEF_c64xplus=SHA1_ASM SHA256_ASM SHA512_ASM
48
49  $SHA1ASM_riscv64=sha_riscv.c sha256-riscv64-zvkb-zvknha_or_zvknhb.S sha512-riscv64-zvkb-zvknhb.S
50  $SHA1DEF_riscv64=SHA256_ASM INCLUDE_C_SHA256 SHA512_ASM INCLUDE_C_SHA512
51
52  # Now that we have defined all the arch specific variables, use the
53  # appropriate one, and define the appropriate macros
54  IF[$SHA1ASM_{- $target{asm_arch} -}]
55    $SHA1ASM=$SHA1ASM_{- $target{asm_arch} -}
56    $SHA1DEF=$SHA1DEF_{- $target{asm_arch} -}
57  ENDIF
58ENDIF
59
60$KECCAK1600ASM=keccak1600.c
61IF[{- !$disabled{asm} -}]
62  $KECCAK1600ASM_x86=
63  $KECCAK1600ASM_x86_64=keccak1600-x86_64.s
64
65  $KECCAK1600ASM_s390x=keccak1600-s390x.S
66
67  $KECCAK1600ASM_armv4=keccak1600-armv4.S
68  $KECCAK1600ASM_aarch64=keccak1600-armv8.S
69
70  $KECCAK1600ASM_ppc64=keccak1600-ppc64.s
71
72  # Now that we have defined all the arch specific variables, use the
73  # appropriate one, and define the appropriate macros
74  IF[$KECCAK1600ASM_{- $target{asm_arch} -}]
75    $KECCAK1600ASM=$KECCAK1600ASM_{- $target{asm_arch} -}
76    $KECCAK1600DEF=KECCAK1600_ASM
77  ENDIF
78ENDIF
79
80$COMMON=sha1dgst.c sha256.c sha512.c sha3.c $SHA1ASM $KECCAK1600ASM
81SOURCE[../../libcrypto]=$COMMON sha1_one.c
82SOURCE[../../providers/libfips.a]= $COMMON
83
84# Implementations are now spread across several libraries, so the defines
85# need to be applied to all affected libraries and modules.
86DEFINE[../../libcrypto]=$SHA1DEF $KECCAK1600DEF
87DEFINE[../../providers/libfips.a]=$SHA1DEF $KECCAK1600DEF
88DEFINE[../../providers/libdefault.a]=$SHA1DEF $KECCAK1600DEF
89# We only need to include the SHA1DEF and KECCAK1600DEF stuff in the
90# legacy provider when it's a separate module and it's dynamically
91# linked with libcrypto.  Otherwise, it already gets everything that
92# the static libcrypto.a has, and doesn't need it added again.
93IF[{- !$disabled{module} && !$disabled{shared} -}]
94  DEFINE[../../providers/liblegacy.a]=$SHA1DEF $KECCAK1600DEF
95ENDIF
96
97GENERATE[sha1-586.S]=asm/sha1-586.pl
98DEPEND[sha1-586.S]=../perlasm/x86asm.pl
99GENERATE[sha256-586.S]=asm/sha256-586.pl
100DEPEND[sha256-586.S]=../perlasm/x86asm.pl
101GENERATE[sha512-586.S]=asm/sha512-586.pl
102DEPEND[sha512-586.S]=../perlasm/x86asm.pl
103
104GENERATE[sha1-ia64.s]=asm/sha1-ia64.pl
105GENERATE[sha256-ia64.s]=asm/sha512-ia64.pl
106GENERATE[sha512-ia64.s]=asm/sha512-ia64.pl
107
108GENERATE[sha1-alpha.S]=asm/sha1-alpha.pl
109
110GENERATE[sha1-x86_64.s]=asm/sha1-x86_64.pl
111GENERATE[sha1-mb-x86_64.s]=asm/sha1-mb-x86_64.pl
112GENERATE[sha256-x86_64.s]=asm/sha512-x86_64.pl
113GENERATE[sha256-mb-x86_64.s]=asm/sha256-mb-x86_64.pl
114GENERATE[sha512-x86_64.s]=asm/sha512-x86_64.pl
115GENERATE[keccak1600-x86_64.s]=asm/keccak1600-x86_64.pl
116
117GENERATE[sha1-sparcv9a.S]=asm/sha1-sparcv9a.pl
118GENERATE[sha1-sparcv9.S]=asm/sha1-sparcv9.pl
119INCLUDE[sha1-sparcv9.o]=..
120GENERATE[sha256-sparcv9.S]=asm/sha512-sparcv9.pl
121INCLUDE[sha256-sparcv9.o]=..
122GENERATE[sha512-sparcv9.S]=asm/sha512-sparcv9.pl
123INCLUDE[sha512-sparcv9.o]=..
124
125GENERATE[sha1-ppc.s]=asm/sha1-ppc.pl
126GENERATE[sha256-ppc.s]=asm/sha512-ppc.pl
127GENERATE[sha512-ppc.s]=asm/sha512-ppc.pl
128GENERATE[sha256p8-ppc.s]=asm/sha512p8-ppc.pl
129GENERATE[sha512p8-ppc.s]=asm/sha512p8-ppc.pl
130GENERATE[keccak1600-ppc64.s]=asm/keccak1600-ppc64.pl
131
132GENERATE[sha1-parisc.s]=asm/sha1-parisc.pl
133GENERATE[sha256-parisc.s]=asm/sha512-parisc.pl
134GENERATE[sha512-parisc.s]=asm/sha512-parisc.pl
135
136GENERATE[sha1-mips.S]=asm/sha1-mips.pl
137INCLUDE[sha1-mips.o]=..
138GENERATE[sha256-mips.S]=asm/sha512-mips.pl
139INCLUDE[sha256-mips.o]=..
140GENERATE[sha512-mips.S]=asm/sha512-mips.pl
141INCLUDE[sha512-mips.o]=..
142
143GENERATE[sha1-armv4-large.S]=asm/sha1-armv4-large.pl
144INCLUDE[sha1-armv4-large.o]=..
145GENERATE[sha256-armv4.S]=asm/sha256-armv4.pl
146INCLUDE[sha256-armv4.o]=..
147GENERATE[sha512-armv4.S]=asm/sha512-armv4.pl
148INCLUDE[sha512-armv4.o]=..
149GENERATE[keccak1600-armv4.S]=asm/keccak1600-armv4.pl
150INCLUDE[keccak1600-armv4.o]=..
151
152GENERATE[sha1-armv8.S]=asm/sha1-armv8.pl
153INCLUDE[sha1-armv8.o]=..
154GENERATE[sha256-armv8.S]=asm/sha512-armv8.pl
155INCLUDE[sha256-armv8.o]=..
156GENERATE[sha512-armv8.S]=asm/sha512-armv8.pl
157INCLUDE[sha512-armv8.o]=..
158GENERATE[keccak1600-armv8.S]=asm/keccak1600-armv8.pl
159INCLUDE[keccak1600-armv8.o]=..
160
161GENERATE[sha1-s390x.S]=asm/sha1-s390x.pl
162INCLUDE[sha1-s390x.o]=..
163GENERATE[sha256-s390x.S]=asm/sha512-s390x.pl
164INCLUDE[sha256-s390x.o]=..
165GENERATE[sha512-s390x.S]=asm/sha512-s390x.pl
166INCLUDE[sha512-s390x.o]=..
167GENERATE[keccak1600-s390x.S]=asm/keccak1600-s390x.pl
168
169GENERATE[sha1-c64xplus.S]=asm/sha1-c64xplus.pl
170GENERATE[sha256-c64xplus.S]=asm/sha256-c64xplus.pl
171GENERATE[sha512-c64xplus.S]=asm/sha512-c64xplus.pl
172
173GENERATE[sha256-riscv64-zvkb-zvknha_or_zvknhb.S]=asm/sha256-riscv64-zvkb-zvknha_or_zvknhb.pl
174GENERATE[sha512-riscv64-zvkb-zvknhb.S]=asm/sha512-riscv64-zvkb-zvknhb.pl
175
176# These are not yet used and do not support multi-squeeze
177GENERATE[keccak1600-c64x.S]=asm/keccak1600-c64x.pl
178GENERATE[keccak1600-avx2.S]=asm/keccak1600-avx2.pl
179GENERATE[keccak1600-avx512.S]=asm/keccak1600-avx512.pl
180GENERATE[keccak1600-avx512vl.S]=asm/keccak1600-avx512vl.pl
181GENERATE[keccak1600-mmx.S]=asm/keccak1600-mmx.pl
182GENERATE[keccak1600p8-ppc.S]=asm/keccak1600p8-ppc.pl
183
184GENERATE[sha1-thumb.S]=asm/sha1-thumb.pl
185