mandoline: Reland "Sandbox mojo:browser and mojo:omnibox."
[chromium-blink-merge.git] / components / webcrypto / webcrypto.gyp
blobf386343e3b4a98c1d7b8d583e1db8e6f51793b60
1 # Copyright 2015 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.
6   'targets': [
7     {
8       'target_name': 'webcrypto',
9       'type': 'static_library',
10       'dependencies': [
11         '../../base/base.gyp:base',
12         '../tracing.gyp:tracing',
13         '../../skia/skia.gyp:skia',
14         '../../ui/base/ui_base.gyp:ui_base',
15         '../../ui/events/events.gyp:gestures_blink',
16         '../../url/url.gyp:url_lib',
17       ],
18       'include_dirs': [
19         '..',
20       ],
21       'export_dependent_settings': [
22         '../../base/base.gyp:base',
23       ],
24       'variables': {
25         'webcrypto_sources': [
26           'algorithm_dispatch.cc',
27           'algorithm_dispatch.h',
28           'algorithm_implementation.cc',
29           'algorithm_implementation.h',
30           'algorithm_registry.cc',
31           'algorithm_registry.h',
32           'crypto_data.cc',
33           'crypto_data.h',
34           'generate_key_result.cc',
35           'generate_key_result.h',
36           'jwk.cc',
37           'jwk.h',
38           'platform_crypto.h',
39           'status.cc',
40           'status.h',
41           'webcrypto_impl.cc',
42           'webcrypto_impl.h',
43           'webcrypto_util.cc',
44           'webcrypto_util.h',
45         ],
46         'webcrypto_nss_sources': [
47           'nss/aes_algorithm_nss.cc',
48           'nss/aes_algorithm_nss.h',
49           'nss/aes_cbc_nss.cc',
50           'nss/aes_gcm_nss.cc',
51           'nss/aes_kw_nss.cc',
52           'nss/hmac_nss.cc',
53           'nss/key_nss.cc',
54           'nss/key_nss.h',
55           'nss/rsa_hashed_algorithm_nss.cc',
56           'nss/rsa_hashed_algorithm_nss.h',
57           'nss/rsa_oaep_nss.cc',
58           'nss/rsa_ssa_nss.cc',
59           'nss/sha_nss.cc',
60           'nss/sym_key_nss.cc',
61           'nss/sym_key_nss.h',
62           'nss/util_nss.cc',
63           'nss/util_nss.h',
64         ],
65         'webcrypto_openssl_sources': [
66           'openssl/aes_algorithm_openssl.cc',
67           'openssl/aes_algorithm_openssl.h',
68           'openssl/aes_cbc_openssl.cc',
69           'openssl/aes_ctr_openssl.cc',
70           'openssl/aes_gcm_openssl.cc',
71           'openssl/aes_kw_openssl.cc',
72           'openssl/ec_algorithm_openssl.cc',
73           'openssl/ec_algorithm_openssl.h',
74           'openssl/ecdh_openssl.cc',
75           'openssl/ecdsa_openssl.cc',
76           'openssl/hkdf_openssl.cc',
77           'openssl/hmac_openssl.cc',
78           'openssl/key_openssl.cc',
79           'openssl/key_openssl.h',
80           'openssl/pbkdf2_openssl.cc',
81           'openssl/rsa_hashed_algorithm_openssl.cc',
82           'openssl/rsa_hashed_algorithm_openssl.h',
83           'openssl/rsa_oaep_openssl.cc',
84           'openssl/rsa_pss_openssl.cc',
85           'openssl/rsa_sign_openssl.cc',
86           'openssl/rsa_sign_openssl.h',
87           'openssl/rsa_ssa_openssl.cc',
88           'openssl/sha_openssl.cc',
89           'openssl/util_openssl.cc',
90           'openssl/util_openssl.h',
91         ],
92       },
93       'sources': [
94         '<@(webcrypto_sources)',
95       ],
96       'conditions': [
97         ['OS=="android"', {
98           'dependencies': [
99             '../../build/android/ndk.gyp:cpu_features',
100           ],
101         }],
102         ['use_openssl==1', {
103           'sources': [
104             '<@(webcrypto_openssl_sources)',
105           ],
106           'dependencies': [
107             '../../third_party/boringssl/boringssl.gyp:boringssl',
108           ],
109         }, {
110           'sources': [
111             '<@(webcrypto_nss_sources)',
112           ],
113           'conditions': [
114             ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', {
115               'dependencies': [
116                 '../../build/linux/system.gyp:ssl',
117               ],
118             }, {
119               'dependencies': [
120                 '../../third_party/nss/nss.gyp:nspr',
121                 '../../third_party/nss/nss.gyp:nss',
122               ],
123             }],
124           ],
125         }],
126       ],
127     },
128   ],