1# Copyright (C) 2015 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15crypto_sources := \
16  android_compat_hacks.c\
17  android_compat_keywrap.c\
18  err_data.c\
19  src/crypto/aes/aes.c\
20  src/crypto/aes/mode_wrappers.c\
21  src/crypto/asn1/a_bitstr.c\
22  src/crypto/asn1/a_bool.c\
23  src/crypto/asn1/a_bytes.c\
24  src/crypto/asn1/a_d2i_fp.c\
25  src/crypto/asn1/a_dup.c\
26  src/crypto/asn1/a_enum.c\
27  src/crypto/asn1/a_gentm.c\
28  src/crypto/asn1/a_i2d_fp.c\
29  src/crypto/asn1/a_int.c\
30  src/crypto/asn1/a_mbstr.c\
31  src/crypto/asn1/a_object.c\
32  src/crypto/asn1/a_octet.c\
33  src/crypto/asn1/a_print.c\
34  src/crypto/asn1/a_strnid.c\
35  src/crypto/asn1/a_time.c\
36  src/crypto/asn1/a_type.c\
37  src/crypto/asn1/a_utctm.c\
38  src/crypto/asn1/a_utf8.c\
39  src/crypto/asn1/asn1_lib.c\
40  src/crypto/asn1/asn1_par.c\
41  src/crypto/asn1/asn_pack.c\
42  src/crypto/asn1/bio_asn1.c\
43  src/crypto/asn1/bio_ndef.c\
44  src/crypto/asn1/f_enum.c\
45  src/crypto/asn1/f_int.c\
46  src/crypto/asn1/f_string.c\
47  src/crypto/asn1/t_bitst.c\
48  src/crypto/asn1/t_pkey.c\
49  src/crypto/asn1/tasn_dec.c\
50  src/crypto/asn1/tasn_enc.c\
51  src/crypto/asn1/tasn_fre.c\
52  src/crypto/asn1/tasn_new.c\
53  src/crypto/asn1/tasn_prn.c\
54  src/crypto/asn1/tasn_typ.c\
55  src/crypto/asn1/tasn_utl.c\
56  src/crypto/asn1/x_bignum.c\
57  src/crypto/asn1/x_long.c\
58  src/crypto/base64/base64.c\
59  src/crypto/bio/bio.c\
60  src/crypto/bio/bio_mem.c\
61  src/crypto/bio/buffer.c\
62  src/crypto/bio/connect.c\
63  src/crypto/bio/fd.c\
64  src/crypto/bio/file.c\
65  src/crypto/bio/hexdump.c\
66  src/crypto/bio/pair.c\
67  src/crypto/bio/printf.c\
68  src/crypto/bio/socket.c\
69  src/crypto/bio/socket_helper.c\
70  src/crypto/bn/add.c\
71  src/crypto/bn/asm/x86_64-gcc.c\
72  src/crypto/bn/bn.c\
73  src/crypto/bn/cmp.c\
74  src/crypto/bn/convert.c\
75  src/crypto/bn/ctx.c\
76  src/crypto/bn/div.c\
77  src/crypto/bn/exponentiation.c\
78  src/crypto/bn/gcd.c\
79  src/crypto/bn/generic.c\
80  src/crypto/bn/kronecker.c\
81  src/crypto/bn/montgomery.c\
82  src/crypto/bn/mul.c\
83  src/crypto/bn/prime.c\
84  src/crypto/bn/random.c\
85  src/crypto/bn/rsaz_exp.c\
86  src/crypto/bn/shift.c\
87  src/crypto/bn/sqrt.c\
88  src/crypto/buf/buf.c\
89  src/crypto/bytestring/ber.c\
90  src/crypto/bytestring/cbb.c\
91  src/crypto/bytestring/cbs.c\
92  src/crypto/chacha/chacha_generic.c\
93  src/crypto/chacha/chacha_vec.c\
94  src/crypto/cipher/aead.c\
95  src/crypto/cipher/cipher.c\
96  src/crypto/cipher/derive_key.c\
97  src/crypto/cipher/e_aes.c\
98  src/crypto/cipher/e_chacha20poly1305.c\
99  src/crypto/cipher/e_des.c\
100  src/crypto/cipher/e_null.c\
101  src/crypto/cipher/e_rc2.c\
102  src/crypto/cipher/e_rc4.c\
103  src/crypto/cipher/e_ssl3.c\
104  src/crypto/cipher/e_tls.c\
105  src/crypto/cipher/tls_cbc.c\
106  src/crypto/cmac/cmac.c\
107  src/crypto/conf/conf.c\
108  src/crypto/cpu-arm.c\
109  src/crypto/cpu-intel.c\
110  src/crypto/crypto.c\
111  src/crypto/des/des.c\
112  src/crypto/dh/check.c\
113  src/crypto/dh/dh.c\
114  src/crypto/dh/dh_asn1.c\
115  src/crypto/dh/dh_impl.c\
116  src/crypto/dh/params.c\
117  src/crypto/digest/digest.c\
118  src/crypto/digest/digests.c\
119  src/crypto/directory_posix.c\
120  src/crypto/directory_win.c\
121  src/crypto/dsa/dsa.c\
122  src/crypto/dsa/dsa_asn1.c\
123  src/crypto/dsa/dsa_impl.c\
124  src/crypto/ec/ec.c\
125  src/crypto/ec/ec_asn1.c\
126  src/crypto/ec/ec_key.c\
127  src/crypto/ec/ec_montgomery.c\
128  src/crypto/ec/oct.c\
129  src/crypto/ec/p256-64.c\
130  src/crypto/ec/simple.c\
131  src/crypto/ec/util-64.c\
132  src/crypto/ec/wnaf.c\
133  src/crypto/ecdh/ecdh.c\
134  src/crypto/ecdsa/ecdsa.c\
135  src/crypto/ecdsa/ecdsa_asn1.c\
136  src/crypto/engine/engine.c\
137  src/crypto/err/err.c\
138  src/crypto/evp/algorithm.c\
139  src/crypto/evp/asn1.c\
140  src/crypto/evp/digestsign.c\
141  src/crypto/evp/evp.c\
142  src/crypto/evp/evp_ctx.c\
143  src/crypto/evp/p_dsa_asn1.c\
144  src/crypto/evp/p_ec.c\
145  src/crypto/evp/p_ec_asn1.c\
146  src/crypto/evp/p_hmac.c\
147  src/crypto/evp/p_hmac_asn1.c\
148  src/crypto/evp/p_rsa.c\
149  src/crypto/evp/p_rsa_asn1.c\
150  src/crypto/evp/pbkdf.c\
151  src/crypto/evp/sign.c\
152  src/crypto/ex_data.c\
153  src/crypto/hkdf/hkdf.c\
154  src/crypto/hmac/hmac.c\
155  src/crypto/lhash/lhash.c\
156  src/crypto/md4/md4.c\
157  src/crypto/md5/md5.c\
158  src/crypto/mem.c\
159  src/crypto/modes/cbc.c\
160  src/crypto/modes/cfb.c\
161  src/crypto/modes/ctr.c\
162  src/crypto/modes/gcm.c\
163  src/crypto/modes/ofb.c\
164  src/crypto/obj/obj.c\
165  src/crypto/obj/obj_xref.c\
166  src/crypto/pem/pem_all.c\
167  src/crypto/pem/pem_info.c\
168  src/crypto/pem/pem_lib.c\
169  src/crypto/pem/pem_oth.c\
170  src/crypto/pem/pem_pk8.c\
171  src/crypto/pem/pem_pkey.c\
172  src/crypto/pem/pem_x509.c\
173  src/crypto/pem/pem_xaux.c\
174  src/crypto/pkcs8/p5_pbe.c\
175  src/crypto/pkcs8/p5_pbev2.c\
176  src/crypto/pkcs8/p8_pkey.c\
177  src/crypto/pkcs8/pkcs8.c\
178  src/crypto/poly1305/poly1305.c\
179  src/crypto/poly1305/poly1305_arm.c\
180  src/crypto/poly1305/poly1305_vec.c\
181  src/crypto/rand/hwrand.c\
182  src/crypto/rand/rand.c\
183  src/crypto/rand/urandom.c\
184  src/crypto/rand/windows.c\
185  src/crypto/rc4/rc4.c\
186  src/crypto/refcount_c11.c\
187  src/crypto/refcount_lock.c\
188  src/crypto/rsa/blinding.c\
189  src/crypto/rsa/padding.c\
190  src/crypto/rsa/rsa.c\
191  src/crypto/rsa/rsa_asn1.c\
192  src/crypto/rsa/rsa_impl.c\
193  src/crypto/sha/sha1.c\
194  src/crypto/sha/sha256.c\
195  src/crypto/sha/sha512.c\
196  src/crypto/stack/stack.c\
197  src/crypto/thread.c\
198  src/crypto/thread_none.c\
199  src/crypto/thread_pthread.c\
200  src/crypto/thread_win.c\
201  src/crypto/time_support.c\
202  src/crypto/x509/a_digest.c\
203  src/crypto/x509/a_sign.c\
204  src/crypto/x509/a_strex.c\
205  src/crypto/x509/a_verify.c\
206  src/crypto/x509/asn1_gen.c\
207  src/crypto/x509/by_dir.c\
208  src/crypto/x509/by_file.c\
209  src/crypto/x509/i2d_pr.c\
210  src/crypto/x509/pkcs7.c\
211  src/crypto/x509/t_crl.c\
212  src/crypto/x509/t_x509.c\
213  src/crypto/x509/t_x509a.c\
214  src/crypto/x509/x509.c\
215  src/crypto/x509/x509_att.c\
216  src/crypto/x509/x509_cmp.c\
217  src/crypto/x509/x509_d2.c\
218  src/crypto/x509/x509_def.c\
219  src/crypto/x509/x509_ext.c\
220  src/crypto/x509/x509_lu.c\
221  src/crypto/x509/x509_obj.c\
222  src/crypto/x509/x509_r2x.c\
223  src/crypto/x509/x509_req.c\
224  src/crypto/x509/x509_set.c\
225  src/crypto/x509/x509_trs.c\
226  src/crypto/x509/x509_txt.c\
227  src/crypto/x509/x509_v3.c\
228  src/crypto/x509/x509_vfy.c\
229  src/crypto/x509/x509_vpm.c\
230  src/crypto/x509/x509cset.c\
231  src/crypto/x509/x509name.c\
232  src/crypto/x509/x509rset.c\
233  src/crypto/x509/x509spki.c\
234  src/crypto/x509/x509type.c\
235  src/crypto/x509/x_algor.c\
236  src/crypto/x509/x_all.c\
237  src/crypto/x509/x_attrib.c\
238  src/crypto/x509/x_crl.c\
239  src/crypto/x509/x_exten.c\
240  src/crypto/x509/x_info.c\
241  src/crypto/x509/x_name.c\
242  src/crypto/x509/x_pkey.c\
243  src/crypto/x509/x_pubkey.c\
244  src/crypto/x509/x_req.c\
245  src/crypto/x509/x_sig.c\
246  src/crypto/x509/x_spki.c\
247  src/crypto/x509/x_val.c\
248  src/crypto/x509/x_x509.c\
249  src/crypto/x509/x_x509a.c\
250  src/crypto/x509v3/pcy_cache.c\
251  src/crypto/x509v3/pcy_data.c\
252  src/crypto/x509v3/pcy_lib.c\
253  src/crypto/x509v3/pcy_map.c\
254  src/crypto/x509v3/pcy_node.c\
255  src/crypto/x509v3/pcy_tree.c\
256  src/crypto/x509v3/v3_akey.c\
257  src/crypto/x509v3/v3_akeya.c\
258  src/crypto/x509v3/v3_alt.c\
259  src/crypto/x509v3/v3_bcons.c\
260  src/crypto/x509v3/v3_bitst.c\
261  src/crypto/x509v3/v3_conf.c\
262  src/crypto/x509v3/v3_cpols.c\
263  src/crypto/x509v3/v3_crld.c\
264  src/crypto/x509v3/v3_enum.c\
265  src/crypto/x509v3/v3_extku.c\
266  src/crypto/x509v3/v3_genn.c\
267  src/crypto/x509v3/v3_ia5.c\
268  src/crypto/x509v3/v3_info.c\
269  src/crypto/x509v3/v3_int.c\
270  src/crypto/x509v3/v3_lib.c\
271  src/crypto/x509v3/v3_ncons.c\
272  src/crypto/x509v3/v3_pci.c\
273  src/crypto/x509v3/v3_pcia.c\
274  src/crypto/x509v3/v3_pcons.c\
275  src/crypto/x509v3/v3_pku.c\
276  src/crypto/x509v3/v3_pmaps.c\
277  src/crypto/x509v3/v3_prn.c\
278  src/crypto/x509v3/v3_purp.c\
279  src/crypto/x509v3/v3_skey.c\
280  src/crypto/x509v3/v3_sxnet.c\
281  src/crypto/x509v3/v3_utl.c\
282
283ssl_sources := \
284  src/ssl/d1_both.c\
285  src/ssl/d1_clnt.c\
286  src/ssl/d1_lib.c\
287  src/ssl/d1_meth.c\
288  src/ssl/d1_pkt.c\
289  src/ssl/d1_srtp.c\
290  src/ssl/d1_srvr.c\
291  src/ssl/pqueue/pqueue.c\
292  src/ssl/s3_both.c\
293  src/ssl/s3_clnt.c\
294  src/ssl/s3_enc.c\
295  src/ssl/s3_lib.c\
296  src/ssl/s3_meth.c\
297  src/ssl/s3_pkt.c\
298  src/ssl/s3_srvr.c\
299  src/ssl/ssl_aead_ctx.c\
300  src/ssl/ssl_algs.c\
301  src/ssl/ssl_asn1.c\
302  src/ssl/ssl_cert.c\
303  src/ssl/ssl_cipher.c\
304  src/ssl/ssl_lib.c\
305  src/ssl/ssl_rsa.c\
306  src/ssl/ssl_sess.c\
307  src/ssl/ssl_stat.c\
308  src/ssl/ssl_txt.c\
309  src/ssl/t1_enc.c\
310  src/ssl/t1_lib.c\
311  src/ssl/t1_reneg.c\
312
313tool_sources := \
314  src/tool/args.cc\
315  src/tool/client.cc\
316  src/tool/const.cc\
317  src/tool/digest.cc\
318  src/tool/pkcs12.cc\
319  src/tool/rand.cc\
320  src/tool/server.cc\
321  src/tool/speed.cc\
322  src/tool/tool.cc\
323  src/tool/transport_common.cc\
324
325linux_aarch64_sources := \
326  linux-aarch64/crypto/aes/aesv8-armx.S\
327  linux-aarch64/crypto/modes/ghashv8-armx.S\
328  linux-aarch64/crypto/sha/sha1-armv8.S\
329  linux-aarch64/crypto/sha/sha256-armv8.S\
330  linux-aarch64/crypto/sha/sha512-armv8.S\
331
332linux_arm_sources := \
333  linux-arm/crypto/aes/aes-armv4.S\
334  linux-arm/crypto/aes/aesv8-armx.S\
335  linux-arm/crypto/aes/bsaes-armv7.S\
336  linux-arm/crypto/bn/armv4-mont.S\
337  linux-arm/crypto/modes/ghash-armv4.S\
338  linux-arm/crypto/modes/ghashv8-armx.S\
339  linux-arm/crypto/sha/sha1-armv4-large.S\
340  linux-arm/crypto/sha/sha256-armv4.S\
341  linux-arm/crypto/sha/sha512-armv4.S\
342  src/crypto/chacha/chacha_vec_arm.S\
343  src/crypto/cpu-arm-asm.S\
344  src/crypto/poly1305/poly1305_arm_asm.S\
345
346linux_x86_sources := \
347  linux-x86/crypto/aes/aes-586.S\
348  linux-x86/crypto/aes/aesni-x86.S\
349  linux-x86/crypto/aes/vpaes-x86.S\
350  linux-x86/crypto/bn/bn-586.S\
351  linux-x86/crypto/bn/co-586.S\
352  linux-x86/crypto/bn/x86-mont.S\
353  linux-x86/crypto/cpu-x86-asm.S\
354  linux-x86/crypto/md5/md5-586.S\
355  linux-x86/crypto/modes/ghash-x86.S\
356  linux-x86/crypto/rc4/rc4-586.S\
357  linux-x86/crypto/sha/sha1-586.S\
358  linux-x86/crypto/sha/sha256-586.S\
359  linux-x86/crypto/sha/sha512-586.S\
360
361linux_x86_64_sources := \
362  linux-x86_64/crypto/aes/aes-x86_64.S\
363  linux-x86_64/crypto/aes/aesni-x86_64.S\
364  linux-x86_64/crypto/aes/bsaes-x86_64.S\
365  linux-x86_64/crypto/aes/vpaes-x86_64.S\
366  linux-x86_64/crypto/bn/rsaz-avx2.S\
367  linux-x86_64/crypto/bn/rsaz-x86_64.S\
368  linux-x86_64/crypto/bn/x86_64-mont.S\
369  linux-x86_64/crypto/bn/x86_64-mont5.S\
370  linux-x86_64/crypto/cpu-x86_64-asm.S\
371  linux-x86_64/crypto/md5/md5-x86_64.S\
372  linux-x86_64/crypto/modes/aesni-gcm-x86_64.S\
373  linux-x86_64/crypto/modes/ghash-x86_64.S\
374  linux-x86_64/crypto/rand/rdrand-x86_64.S\
375  linux-x86_64/crypto/rc4/rc4-md5-x86_64.S\
376  linux-x86_64/crypto/rc4/rc4-x86_64.S\
377  linux-x86_64/crypto/sha/sha1-x86_64.S\
378  linux-x86_64/crypto/sha/sha256-x86_64.S\
379  linux-x86_64/crypto/sha/sha512-x86_64.S\
380
381mac_x86_sources := \
382  mac-x86/crypto/aes/aes-586.S\
383  mac-x86/crypto/aes/aesni-x86.S\
384  mac-x86/crypto/aes/vpaes-x86.S\
385  mac-x86/crypto/bn/bn-586.S\
386  mac-x86/crypto/bn/co-586.S\
387  mac-x86/crypto/bn/x86-mont.S\
388  mac-x86/crypto/cpu-x86-asm.S\
389  mac-x86/crypto/md5/md5-586.S\
390  mac-x86/crypto/modes/ghash-x86.S\
391  mac-x86/crypto/rc4/rc4-586.S\
392  mac-x86/crypto/sha/sha1-586.S\
393  mac-x86/crypto/sha/sha256-586.S\
394  mac-x86/crypto/sha/sha512-586.S\
395
396mac_x86_64_sources := \
397  mac-x86_64/crypto/aes/aes-x86_64.S\
398  mac-x86_64/crypto/aes/aesni-x86_64.S\
399  mac-x86_64/crypto/aes/bsaes-x86_64.S\
400  mac-x86_64/crypto/aes/vpaes-x86_64.S\
401  mac-x86_64/crypto/bn/rsaz-avx2.S\
402  mac-x86_64/crypto/bn/rsaz-x86_64.S\
403  mac-x86_64/crypto/bn/x86_64-mont.S\
404  mac-x86_64/crypto/bn/x86_64-mont5.S\
405  mac-x86_64/crypto/cpu-x86_64-asm.S\
406  mac-x86_64/crypto/md5/md5-x86_64.S\
407  mac-x86_64/crypto/modes/aesni-gcm-x86_64.S\
408  mac-x86_64/crypto/modes/ghash-x86_64.S\
409  mac-x86_64/crypto/rand/rdrand-x86_64.S\
410  mac-x86_64/crypto/rc4/rc4-md5-x86_64.S\
411  mac-x86_64/crypto/rc4/rc4-x86_64.S\
412  mac-x86_64/crypto/sha/sha1-x86_64.S\
413  mac-x86_64/crypto/sha/sha256-x86_64.S\
414  mac-x86_64/crypto/sha/sha512-x86_64.S\
415
416win_x86_sources := \
417  win-x86/crypto/aes/aes-586.asm\
418  win-x86/crypto/aes/aesni-x86.asm\
419  win-x86/crypto/aes/vpaes-x86.asm\
420  win-x86/crypto/bn/bn-586.asm\
421  win-x86/crypto/bn/co-586.asm\
422  win-x86/crypto/bn/x86-mont.asm\
423  win-x86/crypto/cpu-x86-asm.asm\
424  win-x86/crypto/md5/md5-586.asm\
425  win-x86/crypto/modes/ghash-x86.asm\
426  win-x86/crypto/rc4/rc4-586.asm\
427  win-x86/crypto/sha/sha1-586.asm\
428  win-x86/crypto/sha/sha256-586.asm\
429  win-x86/crypto/sha/sha512-586.asm\
430
431win_x86_64_sources := \
432  win-x86_64/crypto/aes/aes-x86_64.asm\
433  win-x86_64/crypto/aes/aesni-x86_64.asm\
434  win-x86_64/crypto/aes/bsaes-x86_64.asm\
435  win-x86_64/crypto/aes/vpaes-x86_64.asm\
436  win-x86_64/crypto/bn/rsaz-avx2.asm\
437  win-x86_64/crypto/bn/rsaz-x86_64.asm\
438  win-x86_64/crypto/bn/x86_64-mont.asm\
439  win-x86_64/crypto/bn/x86_64-mont5.asm\
440  win-x86_64/crypto/cpu-x86_64-asm.asm\
441  win-x86_64/crypto/md5/md5-x86_64.asm\
442  win-x86_64/crypto/modes/aesni-gcm-x86_64.asm\
443  win-x86_64/crypto/modes/ghash-x86_64.asm\
444  win-x86_64/crypto/rand/rdrand-x86_64.asm\
445  win-x86_64/crypto/rc4/rc4-md5-x86_64.asm\
446  win-x86_64/crypto/rc4/rc4-x86_64.asm\
447  win-x86_64/crypto/sha/sha1-x86_64.asm\
448  win-x86_64/crypto/sha/sha256-x86_64.asm\
449  win-x86_64/crypto/sha/sha512-x86_64.asm\
450
451