5d7880a558f4eeed57a7448c6c6103a7217515fb
[platform/upstream/nodejs.git] / deps / openssl / openssl.gyp
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 {
6   'variables': {
7     'is_clang': 0,
8     'gcc_version': 0,
9     'openssl_no_asm%': 0
10   },
11
12   'targets': [
13     {
14       'target_name': 'openssl',
15       'type': '<(library)',
16       'sources': [
17         'openssl/ssl/bio_ssl.c',
18         'openssl/ssl/d1_both.c',
19         'openssl/ssl/d1_clnt.c',
20         'openssl/ssl/d1_enc.c',
21         'openssl/ssl/d1_lib.c',
22         'openssl/ssl/d1_meth.c',
23         'openssl/ssl/d1_pkt.c',
24         'openssl/ssl/d1_srtp.c',
25         'openssl/ssl/d1_srvr.c',
26         'openssl/ssl/kssl.c',
27         'openssl/ssl/s23_clnt.c',
28         'openssl/ssl/s23_lib.c',
29         'openssl/ssl/s23_meth.c',
30         'openssl/ssl/s23_pkt.c',
31         'openssl/ssl/s23_srvr.c',
32         'openssl/ssl/s2_clnt.c',
33         'openssl/ssl/s2_enc.c',
34         'openssl/ssl/s2_lib.c',
35         'openssl/ssl/s2_meth.c',
36         'openssl/ssl/s2_pkt.c',
37         'openssl/ssl/s2_srvr.c',
38         'openssl/ssl/s3_both.c',
39         'openssl/ssl/s3_clnt.c',
40         'openssl/ssl/s3_enc.c',
41         'openssl/ssl/s3_lib.c',
42         'openssl/ssl/s3_meth.c',
43         'openssl/ssl/s3_pkt.c',
44         'openssl/ssl/s3_srvr.c',
45         'openssl/ssl/s3_cbc.c',
46         'openssl/ssl/ssl_algs.c',
47         'openssl/ssl/ssl_asn1.c',
48         'openssl/ssl/ssl_cert.c',
49         'openssl/ssl/ssl_ciph.c',
50         'openssl/ssl/ssl_err.c',
51         'openssl/ssl/ssl_err2.c',
52         'openssl/ssl/ssl_lib.c',
53         'openssl/ssl/ssl_rsa.c',
54         'openssl/ssl/ssl_sess.c',
55         'openssl/ssl/ssl_stat.c',
56         'openssl/ssl/ssl_txt.c',
57         'openssl/ssl/t1_clnt.c',
58         'openssl/ssl/t1_enc.c',
59         'openssl/ssl/t1_lib.c',
60         'openssl/ssl/t1_meth.c',
61         'openssl/ssl/t1_reneg.c',
62         'openssl/ssl/t1_srvr.c',
63         'openssl/ssl/tls_srp.c',
64         'openssl/crypto/aes/aes_cfb.c',
65         'openssl/crypto/aes/aes_ctr.c',
66         'openssl/crypto/aes/aes_ecb.c',
67         'openssl/crypto/aes/aes_ige.c',
68         'openssl/crypto/aes/aes_misc.c',
69         'openssl/crypto/aes/aes_ofb.c',
70         'openssl/crypto/aes/aes_wrap.c',
71         'openssl/crypto/asn1/a_bitstr.c',
72         'openssl/crypto/asn1/a_bool.c',
73         'openssl/crypto/asn1/a_bytes.c',
74         'openssl/crypto/asn1/a_d2i_fp.c',
75         'openssl/crypto/asn1/a_digest.c',
76         'openssl/crypto/asn1/a_dup.c',
77         'openssl/crypto/asn1/a_enum.c',
78         'openssl/crypto/asn1/a_gentm.c',
79         'openssl/crypto/asn1/a_i2d_fp.c',
80         'openssl/crypto/asn1/a_int.c',
81         'openssl/crypto/asn1/a_mbstr.c',
82         'openssl/crypto/asn1/a_object.c',
83         'openssl/crypto/asn1/a_octet.c',
84         'openssl/crypto/asn1/a_print.c',
85         'openssl/crypto/asn1/a_set.c',
86         'openssl/crypto/asn1/a_sign.c',
87         'openssl/crypto/asn1/a_strex.c',
88         'openssl/crypto/asn1/a_strnid.c',
89         'openssl/crypto/asn1/a_time.c',
90         'openssl/crypto/asn1/a_type.c',
91         'openssl/crypto/asn1/a_utctm.c',
92         'openssl/crypto/asn1/a_utf8.c',
93         'openssl/crypto/asn1/a_verify.c',
94         'openssl/crypto/asn1/ameth_lib.c',
95         'openssl/crypto/asn1/asn1_err.c',
96         'openssl/crypto/asn1/asn1_gen.c',
97         'openssl/crypto/asn1/asn1_lib.c',
98         'openssl/crypto/asn1/asn1_par.c',
99         'openssl/crypto/asn1/asn_mime.c',
100         'openssl/crypto/asn1/asn_moid.c',
101         'openssl/crypto/asn1/asn_pack.c',
102         'openssl/crypto/asn1/bio_asn1.c',
103         'openssl/crypto/asn1/bio_ndef.c',
104         'openssl/crypto/asn1/d2i_pr.c',
105         'openssl/crypto/asn1/d2i_pu.c',
106         'openssl/crypto/asn1/evp_asn1.c',
107         'openssl/crypto/asn1/f_enum.c',
108         'openssl/crypto/asn1/f_int.c',
109         'openssl/crypto/asn1/f_string.c',
110         'openssl/crypto/asn1/i2d_pr.c',
111         'openssl/crypto/asn1/i2d_pu.c',
112         'openssl/crypto/asn1/n_pkey.c',
113         'openssl/crypto/asn1/nsseq.c',
114         'openssl/crypto/asn1/p5_pbe.c',
115         'openssl/crypto/asn1/p5_pbev2.c',
116         'openssl/crypto/asn1/p8_pkey.c',
117         'openssl/crypto/asn1/t_bitst.c',
118         'openssl/crypto/asn1/t_crl.c',
119         'openssl/crypto/asn1/t_pkey.c',
120         'openssl/crypto/asn1/t_req.c',
121         'openssl/crypto/asn1/t_spki.c',
122         'openssl/crypto/asn1/t_x509.c',
123         'openssl/crypto/asn1/t_x509a.c',
124         'openssl/crypto/asn1/tasn_dec.c',
125         'openssl/crypto/asn1/tasn_enc.c',
126         'openssl/crypto/asn1/tasn_fre.c',
127         'openssl/crypto/asn1/tasn_new.c',
128         'openssl/crypto/asn1/tasn_prn.c',
129         'openssl/crypto/asn1/tasn_typ.c',
130         'openssl/crypto/asn1/tasn_utl.c',
131         'openssl/crypto/asn1/x_algor.c',
132         'openssl/crypto/asn1/x_attrib.c',
133         'openssl/crypto/asn1/x_bignum.c',
134         'openssl/crypto/asn1/x_crl.c',
135         'openssl/crypto/asn1/x_exten.c',
136         'openssl/crypto/asn1/x_info.c',
137         'openssl/crypto/asn1/x_long.c',
138         'openssl/crypto/asn1/x_name.c',
139         'openssl/crypto/asn1/x_nx509.c',
140         'openssl/crypto/asn1/x_pkey.c',
141         'openssl/crypto/asn1/x_pubkey.c',
142         'openssl/crypto/asn1/x_req.c',
143         'openssl/crypto/asn1/x_sig.c',
144         'openssl/crypto/asn1/x_spki.c',
145         'openssl/crypto/asn1/x_val.c',
146         'openssl/crypto/asn1/x_x509.c',
147         'openssl/crypto/asn1/x_x509a.c',
148         'openssl/crypto/bf/bf_cfb64.c',
149         'openssl/crypto/bf/bf_ecb.c',
150         'openssl/crypto/bf/bf_ofb64.c',
151         'openssl/crypto/bf/bf_skey.c',
152         'openssl/crypto/bio/b_dump.c',
153         'openssl/crypto/bio/b_print.c',
154         'openssl/crypto/bio/b_sock.c',
155         'openssl/crypto/bio/bf_buff.c',
156         'openssl/crypto/bio/bf_nbio.c',
157         'openssl/crypto/bio/bf_null.c',
158         'openssl/crypto/bio/bio_cb.c',
159         'openssl/crypto/bio/bio_err.c',
160         'openssl/crypto/bio/bio_lib.c',
161         'openssl/crypto/bio/bss_acpt.c',
162         'openssl/crypto/bio/bss_bio.c',
163         'openssl/crypto/bio/bss_conn.c',
164         'openssl/crypto/bio/bss_dgram.c',
165         'openssl/crypto/bio/bss_fd.c',
166         'openssl/crypto/bio/bss_file.c',
167         'openssl/crypto/bio/bss_log.c',
168         'openssl/crypto/bio/bss_mem.c',
169         'openssl/crypto/bio/bss_null.c',
170         'openssl/crypto/bio/bss_sock.c',
171         'openssl/crypto/bn/bn_add.c',
172         'openssl/crypto/bn/bn_blind.c',
173         'openssl/crypto/bn/bn_const.c',
174         'openssl/crypto/bn/bn_ctx.c',
175         'openssl/crypto/bn/bn_depr.c',
176         'openssl/crypto/bn/bn_div.c',
177         'openssl/crypto/bn/bn_err.c',
178         'openssl/crypto/bn/bn_exp.c',
179         'openssl/crypto/bn/bn_exp2.c',
180         'openssl/crypto/bn/bn_gcd.c',
181         'openssl/crypto/bn/bn_gf2m.c',
182         'openssl/crypto/bn/bn_kron.c',
183         'openssl/crypto/bn/bn_lib.c',
184         'openssl/crypto/bn/bn_mod.c',
185         'openssl/crypto/bn/bn_mont.c',
186         'openssl/crypto/bn/bn_mpi.c',
187         'openssl/crypto/bn/bn_mul.c',
188         'openssl/crypto/bn/bn_nist.c',
189         'openssl/crypto/bn/bn_prime.c',
190         'openssl/crypto/bn/bn_print.c',
191         'openssl/crypto/bn/bn_rand.c',
192         'openssl/crypto/bn/bn_recp.c',
193         'openssl/crypto/bn/bn_shift.c',
194         'openssl/crypto/bn/bn_sqr.c',
195         'openssl/crypto/bn/bn_sqrt.c',
196         'openssl/crypto/bn/bn_word.c',
197         'openssl/crypto/bn/bn_x931p.c',
198         'openssl/crypto/buffer/buf_err.c',
199         'openssl/crypto/buffer/buf_str.c',
200         'openssl/crypto/buffer/buffer.c',
201         'openssl/crypto/camellia/cmll_cfb.c',
202         'openssl/crypto/camellia/cmll_ctr.c',
203         'openssl/crypto/camellia/cmll_ecb.c',
204         'openssl/crypto/camellia/cmll_ofb.c',
205         'openssl/crypto/camellia/cmll_utl.c',
206         'openssl/crypto/cast/c_cfb64.c',
207         'openssl/crypto/cast/c_ecb.c',
208         'openssl/crypto/cast/c_ofb64.c',
209         'openssl/crypto/cast/c_skey.c',
210         'openssl/crypto/cmac/cm_ameth.c',
211         'openssl/crypto/cmac/cm_pmeth.c',
212         'openssl/crypto/cmac/cmac.c',
213         'openssl/crypto/cms/cms_asn1.c',
214         'openssl/crypto/cms/cms_att.c',
215         'openssl/crypto/cms/cms_cd.c',
216         'openssl/crypto/cms/cms_dd.c',
217         'openssl/crypto/cms/cms_enc.c',
218         'openssl/crypto/cms/cms_env.c',
219         'openssl/crypto/cms/cms_err.c',
220         'openssl/crypto/cms/cms_ess.c',
221         'openssl/crypto/cms/cms_io.c',
222         'openssl/crypto/cms/cms_lib.c',
223         'openssl/crypto/cms/cms_pwri.c',
224         'openssl/crypto/cms/cms_sd.c',
225         'openssl/crypto/cms/cms_smime.c',
226         'openssl/crypto/comp/c_rle.c',
227         'openssl/crypto/comp/c_zlib.c',
228         'openssl/crypto/comp/comp_err.c',
229         'openssl/crypto/comp/comp_lib.c',
230         'openssl/crypto/conf/conf_api.c',
231         'openssl/crypto/conf/conf_def.c',
232         'openssl/crypto/conf/conf_err.c',
233         'openssl/crypto/conf/conf_lib.c',
234         'openssl/crypto/conf/conf_mall.c',
235         'openssl/crypto/conf/conf_mod.c',
236         'openssl/crypto/conf/conf_sap.c',
237         'openssl/crypto/cpt_err.c',
238         'openssl/crypto/cryptlib.c',
239         'openssl/crypto/cversion.c',
240         'openssl/crypto/des/cbc_cksm.c',
241         'openssl/crypto/des/cbc_enc.c',
242         'openssl/crypto/des/cfb64ede.c',
243         'openssl/crypto/des/cfb64enc.c',
244         'openssl/crypto/des/cfb_enc.c',
245         'openssl/crypto/des/des_old.c',
246         'openssl/crypto/des/des_old2.c',
247         'openssl/crypto/des/ecb3_enc.c',
248         'openssl/crypto/des/ecb_enc.c',
249         'openssl/crypto/des/ede_cbcm_enc.c',
250         'openssl/crypto/des/enc_read.c',
251         'openssl/crypto/des/enc_writ.c',
252         'openssl/crypto/des/fcrypt.c',
253         'openssl/crypto/des/ofb64ede.c',
254         'openssl/crypto/des/ofb64enc.c',
255         'openssl/crypto/des/ofb_enc.c',
256         'openssl/crypto/des/pcbc_enc.c',
257         'openssl/crypto/des/qud_cksm.c',
258         'openssl/crypto/des/rand_key.c',
259         'openssl/crypto/des/read2pwd.c',
260         'openssl/crypto/des/rpc_enc.c',
261         'openssl/crypto/des/set_key.c',
262         'openssl/crypto/des/str2key.c',
263         'openssl/crypto/des/xcbc_enc.c',
264         'openssl/crypto/dh/dh_ameth.c',
265         'openssl/crypto/dh/dh_asn1.c',
266         'openssl/crypto/dh/dh_check.c',
267         'openssl/crypto/dh/dh_depr.c',
268         'openssl/crypto/dh/dh_err.c',
269         'openssl/crypto/dh/dh_gen.c',
270         'openssl/crypto/dh/dh_key.c',
271         'openssl/crypto/dh/dh_lib.c',
272         'openssl/crypto/dh/dh_pmeth.c',
273         'openssl/crypto/dh/dh_prn.c',
274         'openssl/crypto/dsa/dsa_ameth.c',
275         'openssl/crypto/dsa/dsa_asn1.c',
276         'openssl/crypto/dsa/dsa_depr.c',
277         'openssl/crypto/dsa/dsa_err.c',
278         'openssl/crypto/dsa/dsa_gen.c',
279         'openssl/crypto/dsa/dsa_key.c',
280         'openssl/crypto/dsa/dsa_lib.c',
281         'openssl/crypto/dsa/dsa_ossl.c',
282         'openssl/crypto/dsa/dsa_pmeth.c',
283         'openssl/crypto/dsa/dsa_prn.c',
284         'openssl/crypto/dsa/dsa_sign.c',
285         'openssl/crypto/dsa/dsa_vrf.c',
286         'openssl/crypto/dso/dso_beos.c',
287         'openssl/crypto/dso/dso_dl.c',
288         'openssl/crypto/dso/dso_dlfcn.c',
289         'openssl/crypto/dso/dso_err.c',
290         'openssl/crypto/dso/dso_lib.c',
291         'openssl/crypto/dso/dso_null.c',
292         'openssl/crypto/dso/dso_openssl.c',
293         'openssl/crypto/dso/dso_vms.c',
294         'openssl/crypto/dso/dso_win32.c',
295         'openssl/crypto/ebcdic.c',
296         'openssl/crypto/ec/ec2_mult.c',
297         'openssl/crypto/ec/ec2_oct.c',
298         'openssl/crypto/ec/ec2_smpl.c',
299         'openssl/crypto/ec/ec_ameth.c',
300         'openssl/crypto/ec/ec_asn1.c',
301         'openssl/crypto/ec/ec_check.c',
302         'openssl/crypto/ec/ec_curve.c',
303         'openssl/crypto/ec/ec_cvt.c',
304         'openssl/crypto/ec/ec_err.c',
305         'openssl/crypto/ec/ec_key.c',
306         'openssl/crypto/ec/ec_lib.c',
307         'openssl/crypto/ec/ec_mult.c',
308         'openssl/crypto/ec/ec_oct.c',
309         'openssl/crypto/ec/ec_pmeth.c',
310         'openssl/crypto/ec/ec_print.c',
311         'openssl/crypto/ec/eck_prn.c',
312         'openssl/crypto/ec/ecp_mont.c',
313         'openssl/crypto/ec/ecp_nist.c',
314         'openssl/crypto/ec/ecp_nistp224.c',
315         'openssl/crypto/ec/ecp_nistp256.c',
316         'openssl/crypto/ec/ecp_nistp521.c',
317         'openssl/crypto/ec/ecp_nistputil.c',
318         'openssl/crypto/ec/ecp_oct.c',
319         'openssl/crypto/ec/ecp_smpl.c',
320         'openssl/crypto/ecdh/ech_err.c',
321         'openssl/crypto/ecdh/ech_key.c',
322         'openssl/crypto/ecdh/ech_lib.c',
323         'openssl/crypto/ecdh/ech_ossl.c',
324         'openssl/crypto/ecdsa/ecs_asn1.c',
325         'openssl/crypto/ecdsa/ecs_err.c',
326         'openssl/crypto/ecdsa/ecs_lib.c',
327         'openssl/crypto/ecdsa/ecs_ossl.c',
328         'openssl/crypto/ecdsa/ecs_sign.c',
329         'openssl/crypto/ecdsa/ecs_vrf.c',
330         'openssl/crypto/engine/eng_all.c',
331         'openssl/crypto/engine/eng_cnf.c',
332         'openssl/crypto/engine/eng_cryptodev.c',
333         'openssl/crypto/engine/eng_ctrl.c',
334         'openssl/crypto/engine/eng_dyn.c',
335         'openssl/crypto/engine/eng_err.c',
336         'openssl/crypto/engine/eng_fat.c',
337         'openssl/crypto/engine/eng_init.c',
338         'openssl/crypto/engine/eng_lib.c',
339         'openssl/crypto/engine/eng_list.c',
340         'openssl/crypto/engine/eng_openssl.c',
341         'openssl/crypto/engine/eng_pkey.c',
342         'openssl/crypto/engine/eng_rdrand.c',
343         'openssl/crypto/engine/eng_rsax.c',
344         'openssl/crypto/engine/eng_table.c',
345         'openssl/crypto/engine/tb_asnmth.c',
346         'openssl/crypto/engine/tb_cipher.c',
347         'openssl/crypto/engine/tb_dh.c',
348         'openssl/crypto/engine/tb_digest.c',
349         'openssl/crypto/engine/tb_dsa.c',
350         'openssl/crypto/engine/tb_ecdh.c',
351         'openssl/crypto/engine/tb_ecdsa.c',
352         'openssl/crypto/engine/tb_pkmeth.c',
353         'openssl/crypto/engine/tb_rand.c',
354         'openssl/crypto/engine/tb_rsa.c',
355         'openssl/crypto/engine/tb_store.c',
356         'openssl/crypto/err/err.c',
357         'openssl/crypto/err/err_all.c',
358         'openssl/crypto/err/err_prn.c',
359         'openssl/crypto/evp/bio_b64.c',
360         'openssl/crypto/evp/bio_enc.c',
361         'openssl/crypto/evp/bio_md.c',
362         'openssl/crypto/evp/bio_ok.c',
363         'openssl/crypto/evp/c_all.c',
364         'openssl/crypto/evp/c_allc.c',
365         'openssl/crypto/evp/c_alld.c',
366         'openssl/crypto/evp/digest.c',
367         'openssl/crypto/evp/e_aes.c',
368         'openssl/crypto/evp/e_aes_cbc_hmac_sha1.c',
369         'openssl/crypto/evp/e_bf.c',
370         'openssl/crypto/evp/e_camellia.c',
371         'openssl/crypto/evp/e_cast.c',
372         'openssl/crypto/evp/e_des.c',
373         'openssl/crypto/evp/e_des3.c',
374         'openssl/crypto/evp/e_idea.c',
375         'openssl/crypto/evp/e_null.c',
376         'openssl/crypto/evp/e_old.c',
377         'openssl/crypto/evp/e_rc2.c',
378         'openssl/crypto/evp/e_rc4.c',
379         'openssl/crypto/evp/e_rc4_hmac_md5.c',
380         'openssl/crypto/evp/e_rc5.c',
381         'openssl/crypto/evp/e_seed.c',
382         'openssl/crypto/evp/e_xcbc_d.c',
383         'openssl/crypto/evp/encode.c',
384         'openssl/crypto/evp/evp_acnf.c',
385         'openssl/crypto/evp/evp_cnf.c',
386         'openssl/crypto/evp/evp_enc.c',
387         'openssl/crypto/evp/evp_err.c',
388         'openssl/crypto/evp/evp_fips.c',
389         'openssl/crypto/evp/evp_key.c',
390         'openssl/crypto/evp/evp_lib.c',
391         'openssl/crypto/evp/evp_pbe.c',
392         'openssl/crypto/evp/evp_pkey.c',
393         'openssl/crypto/evp/m_dss.c',
394         'openssl/crypto/evp/m_dss1.c',
395         'openssl/crypto/evp/m_ecdsa.c',
396         'openssl/crypto/evp/m_md2.c',
397         'openssl/crypto/evp/m_md4.c',
398         'openssl/crypto/evp/m_md5.c',
399         'openssl/crypto/evp/m_mdc2.c',
400         'openssl/crypto/evp/m_null.c',
401         'openssl/crypto/evp/m_ripemd.c',
402         'openssl/crypto/evp/m_sha.c',
403         'openssl/crypto/evp/m_sha1.c',
404         'openssl/crypto/evp/m_sigver.c',
405         'openssl/crypto/evp/m_wp.c',
406         'openssl/crypto/evp/names.c',
407         'openssl/crypto/evp/p5_crpt.c',
408         'openssl/crypto/evp/p5_crpt2.c',
409         'openssl/crypto/evp/p_dec.c',
410         'openssl/crypto/evp/p_enc.c',
411         'openssl/crypto/evp/p_lib.c',
412         'openssl/crypto/evp/p_open.c',
413         'openssl/crypto/evp/p_seal.c',
414         'openssl/crypto/evp/p_sign.c',
415         'openssl/crypto/evp/p_verify.c',
416         'openssl/crypto/evp/pmeth_fn.c',
417         'openssl/crypto/evp/pmeth_gn.c',
418         'openssl/crypto/evp/pmeth_lib.c',
419         'openssl/crypto/ex_data.c',
420         'openssl/crypto/fips_ers.c',
421         'openssl/crypto/hmac/hm_ameth.c',
422         'openssl/crypto/hmac/hm_pmeth.c',
423         'openssl/crypto/hmac/hmac.c',
424         'openssl/crypto/idea/i_cbc.c',
425         'openssl/crypto/idea/i_cfb64.c',
426         'openssl/crypto/idea/i_ecb.c',
427         'openssl/crypto/idea/i_ofb64.c',
428         'openssl/crypto/idea/i_skey.c',
429         'openssl/crypto/krb5/krb5_asn.c',
430         'openssl/crypto/lhash/lh_stats.c',
431         'openssl/crypto/lhash/lhash.c',
432         'openssl/crypto/md2/md2_dgst.c',
433         'openssl/crypto/md2/md2_one.c',
434         'openssl/crypto/md4/md4_dgst.c',
435         'openssl/crypto/md4/md4_one.c',
436         'openssl/crypto/md5/md5_dgst.c',
437         'openssl/crypto/md5/md5_one.c',
438         'openssl/crypto/mdc2/mdc2_one.c',
439         'openssl/crypto/mdc2/mdc2dgst.c',
440         'openssl/crypto/mem.c',
441         'openssl/crypto/mem_dbg.c',
442         'openssl/crypto/modes/cbc128.c',
443         'openssl/crypto/modes/ccm128.c',
444         'openssl/crypto/modes/cfb128.c',
445         'openssl/crypto/modes/ctr128.c',
446         'openssl/crypto/modes/cts128.c',
447         'openssl/crypto/modes/gcm128.c',
448         'openssl/crypto/modes/ofb128.c',
449         'openssl/crypto/modes/xts128.c',
450         'openssl/crypto/o_dir.c',
451         'openssl/crypto/o_fips.c',
452         'openssl/crypto/o_init.c',
453         'openssl/crypto/o_str.c',
454         'openssl/crypto/o_time.c',
455         'openssl/crypto/objects/o_names.c',
456         'openssl/crypto/objects/obj_dat.c',
457         'openssl/crypto/objects/obj_err.c',
458         'openssl/crypto/objects/obj_lib.c',
459         'openssl/crypto/objects/obj_xref.c',
460         'openssl/crypto/ocsp/ocsp_asn.c',
461         'openssl/crypto/ocsp/ocsp_cl.c',
462         'openssl/crypto/ocsp/ocsp_err.c',
463         'openssl/crypto/ocsp/ocsp_ext.c',
464         'openssl/crypto/ocsp/ocsp_ht.c',
465         'openssl/crypto/ocsp/ocsp_lib.c',
466         'openssl/crypto/ocsp/ocsp_prn.c',
467         'openssl/crypto/ocsp/ocsp_srv.c',
468         'openssl/crypto/ocsp/ocsp_vfy.c',
469         'openssl/crypto/pem/pem_all.c',
470         'openssl/crypto/pem/pem_err.c',
471         'openssl/crypto/pem/pem_info.c',
472         'openssl/crypto/pem/pem_lib.c',
473         'openssl/crypto/pem/pem_oth.c',
474         'openssl/crypto/pem/pem_pk8.c',
475         'openssl/crypto/pem/pem_pkey.c',
476         'openssl/crypto/pem/pem_seal.c',
477         'openssl/crypto/pem/pem_sign.c',
478         'openssl/crypto/pem/pem_x509.c',
479         'openssl/crypto/pem/pem_xaux.c',
480         'openssl/crypto/pem/pvkfmt.c',
481         'openssl/crypto/pkcs12/p12_add.c',
482         'openssl/crypto/pkcs12/p12_asn.c',
483         'openssl/crypto/pkcs12/p12_attr.c',
484         'openssl/crypto/pkcs12/p12_crpt.c',
485         'openssl/crypto/pkcs12/p12_crt.c',
486         'openssl/crypto/pkcs12/p12_decr.c',
487         'openssl/crypto/pkcs12/p12_init.c',
488         'openssl/crypto/pkcs12/p12_key.c',
489         'openssl/crypto/pkcs12/p12_kiss.c',
490         'openssl/crypto/pkcs12/p12_mutl.c',
491         'openssl/crypto/pkcs12/p12_npas.c',
492         'openssl/crypto/pkcs12/p12_p8d.c',
493         'openssl/crypto/pkcs12/p12_p8e.c',
494         'openssl/crypto/pkcs12/p12_utl.c',
495         'openssl/crypto/pkcs12/pk12err.c',
496         'openssl/crypto/pkcs7/bio_pk7.c',
497         'openssl/crypto/pkcs7/pk7_asn1.c',
498         'openssl/crypto/pkcs7/pk7_attr.c',
499         'openssl/crypto/pkcs7/pk7_doit.c',
500         'openssl/crypto/pkcs7/pk7_lib.c',
501         'openssl/crypto/pkcs7/pk7_mime.c',
502         'openssl/crypto/pkcs7/pk7_smime.c',
503         'openssl/crypto/pkcs7/pkcs7err.c',
504         'openssl/crypto/pqueue/pqueue.c',
505         'openssl/crypto/rand/md_rand.c',
506         'openssl/crypto/rand/rand_egd.c',
507         'openssl/crypto/rand/rand_err.c',
508         'openssl/crypto/rand/rand_lib.c',
509         'openssl/crypto/rand/rand_nw.c',
510         'openssl/crypto/rand/rand_os2.c',
511         'openssl/crypto/rand/rand_unix.c',
512         'openssl/crypto/rand/rand_win.c',
513         'openssl/crypto/rand/randfile.c',
514         'openssl/crypto/rc2/rc2_cbc.c',
515         'openssl/crypto/rc2/rc2_ecb.c',
516         'openssl/crypto/rc2/rc2_skey.c',
517         'openssl/crypto/rc2/rc2cfb64.c',
518         'openssl/crypto/rc2/rc2ofb64.c',
519         'openssl/crypto/rc4/rc4_utl.c',
520         'openssl/crypto/ripemd/rmd_dgst.c',
521         'openssl/crypto/ripemd/rmd_one.c',
522         'openssl/crypto/rsa/rsa_ameth.c',
523         'openssl/crypto/rsa/rsa_asn1.c',
524         'openssl/crypto/rsa/rsa_chk.c',
525         'openssl/crypto/rsa/rsa_crpt.c',
526         'openssl/crypto/rsa/rsa_depr.c',
527         'openssl/crypto/rsa/rsa_eay.c',
528         'openssl/crypto/rsa/rsa_err.c',
529         'openssl/crypto/rsa/rsa_gen.c',
530         'openssl/crypto/rsa/rsa_lib.c',
531         'openssl/crypto/rsa/rsa_none.c',
532         'openssl/crypto/rsa/rsa_null.c',
533         'openssl/crypto/rsa/rsa_oaep.c',
534         'openssl/crypto/rsa/rsa_pk1.c',
535         'openssl/crypto/rsa/rsa_pmeth.c',
536         'openssl/crypto/rsa/rsa_prn.c',
537         'openssl/crypto/rsa/rsa_pss.c',
538         'openssl/crypto/rsa/rsa_saos.c',
539         'openssl/crypto/rsa/rsa_sign.c',
540         'openssl/crypto/rsa/rsa_ssl.c',
541         'openssl/crypto/rsa/rsa_x931.c',
542         'openssl/crypto/seed/seed.c',
543         'openssl/crypto/seed/seed_cbc.c',
544         'openssl/crypto/seed/seed_cfb.c',
545         'openssl/crypto/seed/seed_ecb.c',
546         'openssl/crypto/seed/seed_ofb.c',
547         'openssl/crypto/sha/sha1_one.c',
548         'openssl/crypto/sha/sha1dgst.c',
549         'openssl/crypto/sha/sha256.c',
550         'openssl/crypto/sha/sha512.c',
551         'openssl/crypto/sha/sha_dgst.c',
552         'openssl/crypto/sha/sha_one.c',
553         'openssl/crypto/srp/srp_lib.c',
554         'openssl/crypto/srp/srp_vfy.c',
555         'openssl/crypto/stack/stack.c',
556         'openssl/crypto/store/str_err.c',
557         'openssl/crypto/store/str_lib.c',
558         'openssl/crypto/store/str_mem.c',
559         'openssl/crypto/store/str_meth.c',
560         'openssl/crypto/ts/ts_asn1.c',
561         'openssl/crypto/ts/ts_conf.c',
562         'openssl/crypto/ts/ts_err.c',
563         'openssl/crypto/ts/ts_lib.c',
564         'openssl/crypto/ts/ts_req_print.c',
565         'openssl/crypto/ts/ts_req_utils.c',
566         'openssl/crypto/ts/ts_rsp_print.c',
567         'openssl/crypto/ts/ts_rsp_sign.c',
568         'openssl/crypto/ts/ts_rsp_utils.c',
569         'openssl/crypto/ts/ts_rsp_verify.c',
570         'openssl/crypto/ts/ts_verify_ctx.c',
571         'openssl/crypto/txt_db/txt_db.c',
572         'openssl/crypto/ui/ui_compat.c',
573         'openssl/crypto/ui/ui_err.c',
574         'openssl/crypto/ui/ui_lib.c',
575         'openssl/crypto/ui/ui_openssl.c',
576         'openssl/crypto/ui/ui_util.c',
577         'openssl/crypto/uid.c',
578         'openssl/crypto/whrlpool/wp_dgst.c',
579         'openssl/crypto/x509/by_dir.c',
580         'openssl/crypto/x509/by_file.c',
581         'openssl/crypto/x509/x509_att.c',
582         'openssl/crypto/x509/x509_cmp.c',
583         'openssl/crypto/x509/x509_d2.c',
584         'openssl/crypto/x509/x509_def.c',
585         'openssl/crypto/x509/x509_err.c',
586         'openssl/crypto/x509/x509_ext.c',
587         'openssl/crypto/x509/x509_lu.c',
588         'openssl/crypto/x509/x509_obj.c',
589         'openssl/crypto/x509/x509_r2x.c',
590         'openssl/crypto/x509/x509_req.c',
591         'openssl/crypto/x509/x509_set.c',
592         'openssl/crypto/x509/x509_trs.c',
593         'openssl/crypto/x509/x509_txt.c',
594         'openssl/crypto/x509/x509_v3.c',
595         'openssl/crypto/x509/x509_vfy.c',
596         'openssl/crypto/x509/x509_vpm.c',
597         'openssl/crypto/x509/x509cset.c',
598         'openssl/crypto/x509/x509name.c',
599         'openssl/crypto/x509/x509rset.c',
600         'openssl/crypto/x509/x509spki.c',
601         'openssl/crypto/x509/x509type.c',
602         'openssl/crypto/x509/x_all.c',
603         'openssl/crypto/x509v3/pcy_cache.c',
604         'openssl/crypto/x509v3/pcy_data.c',
605         'openssl/crypto/x509v3/pcy_lib.c',
606         'openssl/crypto/x509v3/pcy_map.c',
607         'openssl/crypto/x509v3/pcy_node.c',
608         'openssl/crypto/x509v3/pcy_tree.c',
609         'openssl/crypto/x509v3/v3_addr.c',
610         'openssl/crypto/x509v3/v3_akey.c',
611         'openssl/crypto/x509v3/v3_akeya.c',
612         'openssl/crypto/x509v3/v3_alt.c',
613         'openssl/crypto/x509v3/v3_asid.c',
614         'openssl/crypto/x509v3/v3_bcons.c',
615         'openssl/crypto/x509v3/v3_bitst.c',
616         'openssl/crypto/x509v3/v3_conf.c',
617         'openssl/crypto/x509v3/v3_cpols.c',
618         'openssl/crypto/x509v3/v3_crld.c',
619         'openssl/crypto/x509v3/v3_enum.c',
620         'openssl/crypto/x509v3/v3_extku.c',
621         'openssl/crypto/x509v3/v3_genn.c',
622         'openssl/crypto/x509v3/v3_ia5.c',
623         'openssl/crypto/x509v3/v3_info.c',
624         'openssl/crypto/x509v3/v3_int.c',
625         'openssl/crypto/x509v3/v3_lib.c',
626         'openssl/crypto/x509v3/v3_ncons.c',
627         'openssl/crypto/x509v3/v3_ocsp.c',
628         'openssl/crypto/x509v3/v3_pci.c',
629         'openssl/crypto/x509v3/v3_pcia.c',
630         'openssl/crypto/x509v3/v3_pcons.c',
631         'openssl/crypto/x509v3/v3_pku.c',
632         'openssl/crypto/x509v3/v3_pmaps.c',
633         'openssl/crypto/x509v3/v3_prn.c',
634         'openssl/crypto/x509v3/v3_purp.c',
635         'openssl/crypto/x509v3/v3_skey.c',
636         'openssl/crypto/x509v3/v3_sxnet.c',
637         'openssl/crypto/x509v3/v3_utl.c',
638         'openssl/crypto/x509v3/v3err.c',
639         'openssl/engines/e_4758cca.c',
640         'openssl/engines/e_aep.c',
641         'openssl/engines/e_atalla.c',
642         'openssl/engines/e_capi.c',
643         'openssl/engines/e_chil.c',
644         'openssl/engines/e_cswift.c',
645         'openssl/engines/e_gmp.c',
646         'openssl/engines/e_nuron.c',
647         'openssl/engines/e_sureware.c',
648         'openssl/engines/e_ubsec.c'
649       ],
650       'sources/': [
651         ['exclude', 'md2/.*$'],
652         ['exclude', 'store/.*$']
653       ],
654       'conditions': [
655         ['target_arch!="ia32" and target_arch!="x64" and target_arch!="arm" or openssl_no_asm!=0', {
656           # Disable asm
657           'defines': [
658             'OPENSSL_NO_ASM'
659            ],
660           'sources': [
661             'openssl/crypto/aes/aes_cbc.c',
662             'openssl/crypto/aes/aes_core.c',
663             'openssl/crypto/bf/bf_enc.c',
664             'openssl/crypto/bn/bn_asm.c',
665             'openssl/crypto/cast/c_enc.c',
666             'openssl/crypto/camellia/camellia.c',
667             'openssl/crypto/camellia/cmll_cbc.c',
668             'openssl/crypto/camellia/cmll_misc.c',
669             'openssl/crypto/des/des_enc.c',
670             'openssl/crypto/des/fcrypt_b.c',
671             'openssl/crypto/mem_clr.c',
672             'openssl/crypto/rc4/rc4_enc.c',
673             'openssl/crypto/rc4/rc4_skey.c',
674             'openssl/crypto/whrlpool/wp_block.c'
675          ]
676         }, {
677           # Enable asm
678           'defines': [
679             'AES_ASM',
680             'CPUID_ASM',
681             'OPENSSL_BN_ASM_MONT',
682             'OPENSSL_CPUID_OBJ',
683             'SHA1_ASM',
684             'SHA256_ASM',
685             'SHA512_ASM',
686             'GHASH_ASM',
687           ],
688           'conditions': [
689             # Extended assembly on non-arm platforms
690             ['target_arch!="arm"', {
691               'defines': [
692                 'VPAES_ASM',
693                 'BN_ASM',
694                 'BF_ASM',
695                 'BNCO_ASM',
696                 'DES_ASM',
697                 'LIB_BN_ASM',
698                 'MD5_ASM',
699                 'OPENSSL_BN_ASM',
700                 'RIP_ASM',
701                 'RMD160_ASM',
702                 'WHIRLPOOL_ASM',
703                 'WP_ASM',
704               ],
705             }],
706             ['OS!="win" and OS!="mac" and target_arch=="ia32"', {
707               'sources': [
708                 'asm/x86-elf-gas/aes/aes-586.s',
709                 'asm/x86-elf-gas/aes/aesni-x86.s',
710                 'asm/x86-elf-gas/aes/vpaes-x86.s',
711                 'asm/x86-elf-gas/bf/bf-686.s',
712                 'asm/x86-elf-gas/bn/x86-mont.s',
713                 'asm/x86-elf-gas/bn/x86.s',
714                 'asm/x86-elf-gas/camellia/cmll-x86.s',
715                 'asm/x86-elf-gas/cast/cast-586.s',
716                 'asm/x86-elf-gas/des/crypt586.s',
717                 'asm/x86-elf-gas/des/des-586.s',
718                 'asm/x86-elf-gas/md5/md5-586.s',
719                 'asm/x86-elf-gas/rc4/rc4-586.s',
720                 'asm/x86-elf-gas/rc5/rc5-586.s',
721                 'asm/x86-elf-gas/ripemd/rmd-586.s',
722                 'asm/x86-elf-gas/sha/sha1-586.s',
723                 'asm/x86-elf-gas/sha/sha256-586.s',
724                 'asm/x86-elf-gas/sha/sha512-586.s',
725                 'asm/x86-elf-gas/whrlpool/wp-mmx.s',
726                 'asm/x86-elf-gas/modes/ghash-x86.s',
727                 'asm/x86-elf-gas/x86cpuid.s',
728                 'openssl/crypto/whrlpool/wp_block.c'
729               ]
730             }],
731             ['OS!="win" and OS!="mac" and target_arch=="x64"', {
732               'defines': [
733                 'OPENSSL_BN_ASM_MONT5',
734                 'OPENSSL_BN_ASM_GF2m',
735                 'OPENSSL_IA32_SSE2',
736                 'BSAES_ASM',
737               ],
738               'sources': [
739                 'asm/x64-elf-gas/aes/aes-x86_64.s',
740                 'asm/x64-elf-gas/aes/aesni-x86_64.s',
741                 'asm/x64-elf-gas/aes/vpaes-x86_64.s',
742                 'asm/x64-elf-gas/aes/bsaes-x86_64.s',
743                 'asm/x64-elf-gas/aes/aesni-sha1-x86_64.s',
744                 'asm/x64-elf-gas/bn/modexp512-x86_64.s',
745                 'asm/x64-elf-gas/bn/x86_64-mont.s',
746                 'asm/x64-elf-gas/bn/x86_64-mont5.s',
747                 'asm/x64-elf-gas/bn/x86_64-gf2m.s',
748                 'asm/x64-elf-gas/camellia/cmll-x86_64.s',
749                 'asm/x64-elf-gas/md5/md5-x86_64.s',
750                 'asm/x64-elf-gas/rc4/rc4-x86_64.s',
751                 'asm/x64-elf-gas/rc4/rc4-md5-x86_64.s',
752                 'asm/x64-elf-gas/sha/sha1-x86_64.s',
753                 'asm/x64-elf-gas/sha/sha256-x86_64.s',
754                 'asm/x64-elf-gas/sha/sha512-x86_64.s',
755                 'asm/x64-elf-gas/whrlpool/wp-x86_64.s',
756                 'asm/x64-elf-gas/modes/ghash-x86_64.s',
757                 'asm/x64-elf-gas/x86_64cpuid.s',
758                 # Non-generated asm
759                 'openssl/crypto/bn/asm/x86_64-gcc.c',
760                 # No asm available
761                 'openssl/crypto/bf/bf_enc.c',
762                 'openssl/crypto/cast/c_enc.c',
763                 'openssl/crypto/camellia/cmll_misc.c',
764                 'openssl/crypto/des/des_enc.c',
765                 'openssl/crypto/des/fcrypt_b.c'
766               ]
767             }],
768             ['OS=="mac" and target_arch=="ia32"', {
769               'sources': [
770                 'asm/x86-macosx-gas/aes/aes-586.s',
771                 'asm/x86-macosx-gas/aes/aesni-x86.s',
772                 'asm/x86-macosx-gas/aes/vpaes-x86.s',
773                 'asm/x86-macosx-gas/bf/bf-686.s',
774                 'asm/x86-macosx-gas/bn/x86-mont.s',
775                 'asm/x86-macosx-gas/bn/x86.s',
776                 'asm/x86-macosx-gas/camellia/cmll-x86.s',
777                 'asm/x86-macosx-gas/cast/cast-586.s',
778                 'asm/x86-macosx-gas/des/crypt586.s',
779                 'asm/x86-macosx-gas/des/des-586.s',
780                 'asm/x86-macosx-gas/md5/md5-586.s',
781                 'asm/x86-macosx-gas/rc4/rc4-586.s',
782                 'asm/x86-macosx-gas/rc5/rc5-586.s',
783                 'asm/x86-macosx-gas/ripemd/rmd-586.s',
784                 'asm/x86-macosx-gas/sha/sha1-586.s',
785                 'asm/x86-macosx-gas/sha/sha256-586.s',
786                 'asm/x86-macosx-gas/sha/sha512-586.s',
787                 'asm/x86-macosx-gas/whrlpool/wp-mmx.s',
788                 'asm/x86-macosx-gas/modes/ghash-x86.s',
789                 'asm/x86-macosx-gas/x86cpuid.s',
790                 'openssl/crypto/whrlpool/wp_block.c'
791               ]
792             }],
793             ['OS=="mac" and target_arch=="x64"', {
794               'defines': [
795                 'OPENSSL_BN_ASM_MONT5',
796                 'OPENSSL_BN_ASM_GF2m',
797                 'OPENSSL_IA32_SSE2',
798                 'BSAES_ASM',
799               ],
800               'sources': [
801                 'asm/x64-macosx-gas/aes/aes-x86_64.s',
802                 'asm/x64-macosx-gas/aes/aesni-x86_64.s',
803                 'asm/x64-macosx-gas/aes/vpaes-x86_64.s',
804                 'asm/x64-macosx-gas/aes/bsaes-x86_64.s',
805                 'asm/x64-macosx-gas/aes/aesni-sha1-x86_64.s',
806                 'asm/x64-macosx-gas/bn/modexp512-x86_64.s',
807                 'asm/x64-macosx-gas/bn/x86_64-mont.s',
808                 'asm/x64-macosx-gas/bn/x86_64-mont5.s',
809                 'asm/x64-macosx-gas/bn/x86_64-gf2m.s',
810                 'asm/x64-macosx-gas/camellia/cmll-x86_64.s',
811                 'asm/x64-macosx-gas/md5/md5-x86_64.s',
812                 'asm/x64-macosx-gas/rc4/rc4-x86_64.s',
813                 'asm/x64-macosx-gas/rc4/rc4-md5-x86_64.s',
814                 'asm/x64-macosx-gas/sha/sha1-x86_64.s',
815                 'asm/x64-macosx-gas/sha/sha256-x86_64.s',
816                 'asm/x64-macosx-gas/sha/sha512-x86_64.s',
817                 'asm/x64-macosx-gas/whrlpool/wp-x86_64.s',
818                 'asm/x64-macosx-gas/modes/ghash-x86_64.s',
819                 'asm/x64-macosx-gas/x86_64cpuid.s',
820                 # Non-generated asm
821                 'openssl/crypto/bn/asm/x86_64-gcc.c',
822                 # No asm available
823                 'openssl/crypto/bf/bf_enc.c',
824                 'openssl/crypto/cast/c_enc.c',
825                 'openssl/crypto/camellia/cmll_misc.c',
826                 'openssl/crypto/des/des_enc.c',
827                 'openssl/crypto/des/fcrypt_b.c'
828               ]
829             }],
830             ['target_arch=="arm"', {
831               'sources': [
832                 'asm/arm-elf-gas/aes/aes-armv4.s',
833                 'asm/arm-elf-gas/bn/armv4-mont.s',
834                 'asm/arm-elf-gas/bn/armv4-gf2m.s',
835                 'asm/arm-elf-gas/sha/sha1-armv4-large.s',
836                 'asm/arm-elf-gas/sha/sha512-armv4.s',
837                 'asm/arm-elf-gas/sha/sha256-armv4.s',
838                 'asm/arm-elf-gas/modes/ghash-armv4.s',
839                 # No asm available
840                 'openssl/crypto/aes/aes_cbc.c',
841                 'openssl/crypto/bf/bf_enc.c',
842                 'openssl/crypto/bn/bn_asm.c',
843                 'openssl/crypto/cast/c_enc.c',
844                 'openssl/crypto/camellia/camellia.c',
845                 'openssl/crypto/camellia/cmll_cbc.c',
846                 'openssl/crypto/camellia/cmll_misc.c',
847                 'openssl/crypto/des/des_enc.c',
848                 'openssl/crypto/des/fcrypt_b.c',
849                 'openssl/crypto/rc4/rc4_enc.c',
850                 'openssl/crypto/rc4/rc4_skey.c',
851                 'openssl/crypto/whrlpool/wp_block.c',
852                 # PCAP stuff
853                 'openssl/crypto/armcap.c',
854                 'openssl/crypto/armv4cpuid.S',
855               ]
856             }],
857             ['OS=="win" and target_arch=="ia32"', {
858               'sources': [
859                 'asm/x86-win32-masm/aes/aes-586.asm',
860                 'asm/x86-win32-masm/aes/aesni-x86.asm',
861                 'asm/x86-win32-masm/aes/vpaes-x86.asm',
862                 'asm/x86-win32-masm/bf/bf-686.asm',
863                 'asm/x86-win32-masm/bn/x86-mont.asm',
864                 'asm/x86-win32-masm/bn/x86.asm',
865                 'asm/x86-win32-masm/camellia/cmll-x86.asm',
866                 'asm/x86-win32-masm/cast/cast-586.asm',
867                 'asm/x86-win32-masm/des/crypt586.asm',
868                 'asm/x86-win32-masm/des/des-586.asm',
869                 'asm/x86-win32-masm/md5/md5-586.asm',
870                 'asm/x86-win32-masm/rc4/rc4-586.asm',
871                 'asm/x86-win32-masm/rc5/rc5-586.asm',
872                 'asm/x86-win32-masm/ripemd/rmd-586.asm',
873                 'asm/x86-win32-masm/sha/sha1-586.asm',
874                 'asm/x86-win32-masm/sha/sha256-586.asm',
875                 'asm/x86-win32-masm/sha/sha512-586.asm',
876                 'asm/x86-win32-masm/whrlpool/wp-mmx.asm',
877                 'asm/x86-win32-masm/modes/ghash-x86.asm',
878                 'asm/x86-win32-masm/x86cpuid.asm',
879                 'openssl/crypto/whrlpool/wp_block.c'
880               ],
881               'rules': [
882                 {
883                   'rule_name': 'Assemble',
884                   'extension': 'asm',
885                   'inputs': [],
886                   'outputs': [
887                     '<(INTERMEDIATE_DIR)/<(RULE_INPUT_ROOT).obj',
888                   ],
889                   'action': [
890                     'ml.exe',
891                     '/Zi',
892                     '/safeseh',
893                     '/Fo', '<(INTERMEDIATE_DIR)/<(RULE_INPUT_ROOT).obj',
894                     '/c', '<(RULE_INPUT_PATH)',
895                   ],
896                   'process_outputs_as_sources': 0,
897                   'message': 'Assembling <(RULE_INPUT_PATH) to <(INTERMEDIATE_DIR)/<(RULE_INPUT_ROOT).obj.',
898                 }
899               ]
900             }],
901             ['OS=="win" and target_arch=="x64"', {
902               'defines': [
903                 'OPENSSL_BN_ASM_MONT5',
904                 'OPENSSL_BN_ASM_GF2m',
905                 'OPENSSL_IA32_SSE2',
906                 'BSAES_ASM',
907               ],
908               'sources': [
909                 'asm/x64-win32-masm/aes/aes-x86_64.asm',
910                 'asm/x64-win32-masm/aes/aesni-x86_64.asm',
911                 'asm/x64-win32-masm/aes/vpaes-x86_64.asm',
912                 'asm/x64-win32-masm/aes/bsaes-x86_64.asm',
913                 'asm/x64-win32-masm/aes/aesni-sha1-x86_64.asm',
914                 'asm/x64-win32-masm/bn/modexp512-x86_64.asm',
915                 'asm/x64-win32-masm/bn/x86_64-mont.asm',
916                 'asm/x64-win32-masm/bn/x86_64-mont5.asm',
917                 'asm/x64-win32-masm/bn/x86_64-gf2m.asm',
918                 'asm/x64-win32-masm/camellia/cmll-x86_64.asm',
919                 'asm/x64-win32-masm/md5/md5-x86_64.asm',
920                 'asm/x64-win32-masm/rc4/rc4-x86_64.asm',
921                 'asm/x64-win32-masm/rc4/rc4-md5-x86_64.asm',
922                 'asm/x64-win32-masm/sha/sha1-x86_64.asm',
923                 'asm/x64-win32-masm/sha/sha256-x86_64.asm',
924                 'asm/x64-win32-masm/sha/sha512-x86_64.asm',
925                 'asm/x64-win32-masm/whrlpool/wp-x86_64.asm',
926                 'asm/x64-win32-masm/modes/ghash-x86_64.asm',
927                 'asm/x64-win32-masm/x86_64cpuid.asm',
928                 # Non-generated asm
929                 'openssl/crypto/bn/asm/x86_64-win32-masm.asm',
930                 # No asm available
931                 'openssl/crypto/bf/bf_enc.c',
932                 'openssl/crypto/cast/c_enc.c',
933                 'openssl/crypto/camellia/cmll_misc.c',
934                 'openssl/crypto/des/des_enc.c',
935                 'openssl/crypto/des/fcrypt_b.c'
936               ],
937               'rules': [
938                 {
939                   'rule_name': 'Assemble',
940                   'extension': 'asm',
941                   'inputs': [],
942                   'outputs': [
943                     '<(INTERMEDIATE_DIR)/<(RULE_INPUT_ROOT).obj',
944                   ],
945                   'action': [
946                     'ml64.exe',
947                     '/Zi',
948                     '/Fo', '<(INTERMEDIATE_DIR)/<(RULE_INPUT_ROOT).obj',
949                     '/c', '<(RULE_INPUT_PATH)',
950                   ],
951                   'process_outputs_as_sources': 0,
952                   'message': 'Assembling <(RULE_INPUT_PATH) to <(INTERMEDIATE_DIR)/<(RULE_INPUT_ROOT).obj.',
953                 }
954               ]
955             }]
956           ]
957         }],
958         ['OS=="win"', {
959           'link_settings': {
960             'libraries': [
961               '-lgdi32.lib',
962               '-luser32.lib',
963             ]
964           },
965           'defines': [
966             'DSO_WIN32',
967           ],
968         }, {
969           'defines': [
970             'DSO_DLFCN',
971             'HAVE_DLFCN_H'
972           ],
973         }],
974       ],
975       'include_dirs': [
976         '.',
977         'openssl',
978         'openssl/crypto',
979         'openssl/crypto/asn1',
980         'openssl/crypto/evp',
981         'openssl/crypto/md2',
982         'openssl/crypto/modes',
983         'openssl/crypto/store',
984         'openssl/include',
985       ],
986       'direct_dependent_settings': {
987         'include_dirs': ['openssl/include'],
988       },
989     },
990     {
991       'target_name': 'openssl-cli',
992       'type': 'executable',
993       'dependencies': [
994         'openssl',
995       ],
996       'defines': [
997         'MONOLITH',
998       ],
999       'sources': [
1000         'openssl/apps/app_rand.c',
1001         'openssl/apps/apps.c',
1002         'openssl/apps/asn1pars.c',
1003         'openssl/apps/ca.c',
1004         'openssl/apps/ciphers.c',
1005         'openssl/apps/cms.c',
1006         'openssl/apps/crl.c',
1007         'openssl/apps/crl2p7.c',
1008         'openssl/apps/dgst.c',
1009         'openssl/apps/dh.c',
1010         'openssl/apps/dhparam.c',
1011         'openssl/apps/dsa.c',
1012         'openssl/apps/dsaparam.c',
1013         'openssl/apps/ec.c',
1014         'openssl/apps/ecparam.c',
1015         'openssl/apps/enc.c',
1016         'openssl/apps/engine.c',
1017         'openssl/apps/errstr.c',
1018         'openssl/apps/gendh.c',
1019         'openssl/apps/gendsa.c',
1020         'openssl/apps/genpkey.c',
1021         'openssl/apps/genrsa.c',
1022         'openssl/apps/nseq.c',
1023         'openssl/apps/ocsp.c',
1024         'openssl/apps/openssl.c',
1025         'openssl/apps/passwd.c',
1026         'openssl/apps/pkcs12.c',
1027         'openssl/apps/pkcs7.c',
1028         'openssl/apps/pkcs8.c',
1029         'openssl/apps/pkey.c',
1030         'openssl/apps/pkeyparam.c',
1031         'openssl/apps/pkeyutl.c',
1032         'openssl/apps/prime.c',
1033         'openssl/apps/rand.c',
1034         'openssl/apps/req.c',
1035         'openssl/apps/rsa.c',
1036         'openssl/apps/rsautl.c',
1037         'openssl/apps/s_cb.c',
1038         'openssl/apps/s_client.c',
1039         'openssl/apps/s_server.c',
1040         'openssl/apps/s_socket.c',
1041         'openssl/apps/s_time.c',
1042         'openssl/apps/sess_id.c',
1043         'openssl/apps/smime.c',
1044         'openssl/apps/speed.c',
1045         'openssl/apps/spkac.c',
1046         'openssl/apps/srp.c',
1047         'openssl/apps/ts.c',
1048         'openssl/apps/verify.c',
1049         'openssl/apps/version.c',
1050         'openssl/apps/x509.c',
1051       ],
1052       'conditions': [
1053         ['OS=="solaris"', {
1054           'libraries': [
1055             '-lsocket',
1056             '-lnsl',
1057           ]
1058         }],
1059         ['OS=="win"', {
1060           'link_settings': {
1061             'libraries': [
1062               '-lws2_32.lib',
1063               '-lgdi32.lib',
1064               '-ladvapi32.lib',
1065               '-lcrypt32.lib',
1066               '-luser32.lib',
1067             ],
1068           },
1069         }],
1070         [ 'OS in "linux android"', {
1071           'link_settings': {
1072             'libraries': [
1073               '-ldl',
1074             ],
1075           },
1076         }],
1077       ]
1078     }
1079   ],
1080   'target_defaults': {
1081     'include_dirs': [
1082       '.',
1083       'openssl',
1084       'openssl/crypto',
1085       'openssl/crypto/asn1',
1086       'openssl/crypto/evp',
1087       'openssl/crypto/md2',
1088       'openssl/crypto/modes',
1089       'openssl/crypto/store',
1090       'openssl/include',
1091     ],
1092     'defines': [
1093       # No clue what these are for.
1094       'L_ENDIAN',
1095       'PURIFY',
1096       '_REENTRANT',
1097
1098       # Heartbeat is a TLS extension, that couldn't be turned off or
1099       # asked to be not advertised. Unfortunately this is unacceptable for
1100       # Microsoft's IIS, which seems to be ignoring whole ClientHello after
1101       # seeing this extension.
1102       'OPENSSL_NO_HEARTBEATS',
1103     ],
1104     'conditions': [
1105       ['OS=="win"', {
1106         'defines': [
1107           'MK1MF_BUILD',
1108           'WIN32_LEAN_AND_MEAN',
1109           'OPENSSL_SYSNAME_WIN32',
1110         ],
1111       }, {
1112         'defines': [
1113           # ENGINESDIR must be defined if OPENSSLDIR is.
1114           'ENGINESDIR="/dev/null"',
1115           'TERMIOS',
1116         ],
1117         'cflags': ['-Wno-missing-field-initializers'],
1118         'conditions': [
1119           ['OS=="mac"', {
1120             'defines': [
1121               # Set to ubuntu default path for convenience. If necessary,
1122               # override this at runtime with the SSL_CERT_DIR environment
1123               # variable.
1124               'OPENSSLDIR="/System/Library/OpenSSL/"',
1125             ],
1126           }, {
1127             'defines': [
1128               # Set to ubuntu default path for convenience. If necessary,
1129               # override this at runtime with the SSL_CERT_DIR environment
1130               # variable.
1131               'OPENSSLDIR="/etc/ssl"',
1132             ],
1133           }],
1134         ]
1135       }],
1136       ['is_clang==1 or gcc_version>=43', {
1137         'cflags': ['-Wno-old-style-declaration'],
1138       }],
1139       ['OS=="solaris"', {
1140         'defines': ['__EXTENSIONS__'],
1141       }],
1142     ],
1143   },
1144 }
1145
1146 # Local Variables:
1147 # tab-width:2
1148 # indent-tabs-mode:nil
1149 # End:
1150 # vim: set expandtab tabstop=2 shiftwidth=2: