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.
14 'target_name': 'crypto',
15 'type': '<(component)',
16 'product_name': 'crcrypto', # Avoid colliding with OpenSSL's libcrypto
18 '../base/base.gyp:base',
19 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
22 'CRYPTO_IMPLEMENTATION',
24 'msvs_disabled_warnings': [
28 [ 'os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', {
30 '../build/linux/system.gyp:ssl',
32 'export_dependent_settings': [
33 '../build/linux/system.gyp:ssl',
37 'sources/': [ ['include', '_chromeos\\.cc$'] ]
41 }, { # os_posix != 1 or OS == "mac" or OS == "ios" or OS == "android"
44 'openpgp_symmetric_encryption.cc',
45 'openpgp_symmetric_encryption.h',
46 'symmetric_key_win.cc',
49 [ 'OS != "mac" and OS != "ios"', {
52 'mock_apple_keychain.cc',
53 'mock_apple_keychain.h',
56 [ 'OS == "android"', {
58 '../build/android/cpufeatures.gypi',
64 '-L/usr/local/lib -lexecinfo',
72 '$(SDKROOT)/System/Library/Frameworks/Security.framework',
79 'mac_security_services_lock.cc',
80 'mac_security_services_lock.h',
83 [ 'use_openssl == 0 and (OS == "mac" or OS == "ios" or OS == "win")', {
85 '../third_party/nss/nss.gyp:nspr',
86 '../third_party/nss/nss.gyp:nss',
88 'export_dependent_settings': [
89 '../third_party/nss/nss.gyp:nspr',
90 '../third_party/nss/nss.gyp:nss',
100 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
101 'msvs_disabled_warnings': [4267, ],
103 [ 'use_openssl==1', {
105 '../third_party/openssl/openssl.gyp:openssl',
107 # TODO(joth): Use a glob to match exclude patterns once the
108 # OpenSSL file set is complete.
110 'ec_private_key_nss.cc',
111 'ec_signature_creator_nss.cc',
116 'openpgp_symmetric_encryption.cc',
117 'rsa_private_key_nss.cc',
118 'secure_hash_default.cc',
119 'signature_creator_nss.cc',
120 'signature_verifier_nss.cc',
121 'symmetric_key_nss.cc',
122 'third_party/nss/chromium-blapi.h',
123 'third_party/nss/chromium-blapit.h',
124 'third_party/nss/chromium-nss.h',
125 'third_party/nss/chromium-prtypes.h',
126 'third_party/nss/chromium-sha256.h',
127 'third_party/nss/pk11akey.cc',
128 'third_party/nss/rsawrapr.c',
129 'third_party/nss/secsign.cc',
130 'third_party/nss/sha512.cc',
134 'ec_private_key_openssl.cc',
135 'ec_signature_creator_openssl.cc',
136 'encryptor_openssl.cc',
140 'rsa_private_key_openssl.cc',
141 'secure_hash_openssl.cc',
142 'signature_creator_openssl.cc',
143 'signature_verifier_openssl.cc',
144 'symmetric_key_openssl.cc',
149 '<@(crypto_sources)',
153 'target_name': 'crypto_unittests',
154 'type': 'executable',
156 'curve25519_unittest.cc',
157 'ec_private_key_unittest.cc',
158 'ec_signature_creator_unittest.cc',
159 'encryptor_unittest.cc',
163 'nss_util_unittest.cc',
165 'p224_spake_unittest.cc',
166 'random_unittest.cc',
167 'rsa_private_key_unittest.cc',
168 'rsa_private_key_nss_unittest.cc',
169 'secure_hash_unittest.cc',
171 'signature_creator_unittest.cc',
172 'signature_verifier_unittest.cc',
173 'symmetric_key_unittest.cc',
174 'openpgp_symmetric_encryption_unittest.cc',
178 '../base/base.gyp:base',
179 '../base/base.gyp:run_all_unittests',
180 '../base/base.gyp:test_support_base',
181 '../testing/gmock.gyp:gmock',
182 '../testing/gtest.gyp:gtest',
185 [ 'os_posix == 1 and OS != "mac" and OS != "android" and OS != "ios"', {
187 # TODO(dmikurube): Kill linux_use_tcmalloc. http://crbug.com/345554
188 [ '(use_allocator!="none" and use_allocator!="see_use_tcmalloc") or (use_allocator=="see_use_tcmalloc" and linux_use_tcmalloc==1)', {
190 '../base/allocator/allocator.gyp:allocator',
196 '../build/linux/system.gyp:ssl',
198 }, { # os_posix != 1 or OS == "mac" or OS == "android" or OS == "ios"
200 'rsa_private_key_nss_unittest.cc',
201 'openpgp_symmetric_encryption_unittest.cc',
204 [ 'use_openssl == 0 and (OS == "mac" or OS == "ios" or OS == "win")', {
206 '../third_party/nss/nss.gyp:nspr',
210 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
211 'msvs_disabled_warnings': [4267, ],
213 [ 'use_openssl==1', {
215 'nss_util_unittest.cc',
216 'openpgp_symmetric_encryption_unittest.cc',
217 'rsa_private_key_nss_unittest.cc',
224 ['OS == "win" and target_arch=="ia32"', {
227 'target_name': 'crypto_nacl_win64',
228 # We do not want nacl_helper to depend on NSS because this would
229 # require including a 64-bit copy of NSS. Thus, use the native APIs
231 'type': '<(component)',
233 '../base/base.gyp:base_win64',
234 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations_win64',
237 '<@(hmac_win64_related_sources)',
240 'CRYPTO_IMPLEMENTATION',
241 '<@(nacl_win64_defines)',
243 'msvs_disabled_warnings': [
248 'msvs_target_platform': 'x64',