OLD | NEW |
(Empty) | |
| 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 'chromium_code': 1, |
| 8 }, |
| 9 'includes': [ |
| 10 'crypto.gypi', |
| 11 ], |
| 12 'targets': [ |
| 13 { |
| 14 'target_name': 'crypto', |
| 15 'type': '<(component)', |
| 16 'product_name': 'crcrypto', # Avoid colliding with OpenSSL's libcrypto |
| 17 'dependencies': [ |
| 18 '../base/base.gyp:base', |
| 19 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic
_annotations', |
| 20 ], |
| 21 'defines': [ |
| 22 'CRYPTO_IMPLEMENTATION', |
| 23 ], |
| 24 'conditions': [ |
| 25 [ 'os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', { |
| 26 'dependencies': [ |
| 27 '../build/linux/system.gyp:ssl', |
| 28 ], |
| 29 'export_dependent_settings': [ |
| 30 '../build/linux/system.gyp:ssl', |
| 31 ], |
| 32 'conditions': [ |
| 33 [ 'chromeos==1', { |
| 34 'sources/': [ ['include', '_chromeos\\.cc$'] ] |
| 35 }, |
| 36 ], |
| 37 ], |
| 38 }, { # os_posix != 1 or OS == "mac" or OS == "ios" or OS == "android" |
| 39 'sources!': [ |
| 40 'hmac_win.cc', |
| 41 'symmetric_key_win.cc', |
| 42 ], |
| 43 }], |
| 44 [ 'OS != "mac" and OS != "ios"', { |
| 45 'sources!': [ |
| 46 'apple_keychain.h', |
| 47 'mock_apple_keychain.cc', |
| 48 'mock_apple_keychain.h', |
| 49 ], |
| 50 }], |
| 51 [ 'OS == "android"', { |
| 52 'dependencies': [ |
| 53 '../build/android/ndk.gyp:cpu_features', |
| 54 ], |
| 55 }], |
| 56 [ 'os_bsd==1', { |
| 57 'link_settings': { |
| 58 'libraries': [ |
| 59 '-L/usr/local/lib -lexecinfo', |
| 60 ], |
| 61 }, |
| 62 }, |
| 63 ], |
| 64 [ 'OS == "mac"', { |
| 65 'link_settings': { |
| 66 'libraries': [ |
| 67 '$(SDKROOT)/System/Library/Frameworks/Security.framework', |
| 68 ], |
| 69 }, |
| 70 }, { # OS != "mac" |
| 71 'sources!': [ |
| 72 'cssm_init.cc', |
| 73 'cssm_init.h', |
| 74 'mac_security_services_lock.cc', |
| 75 'mac_security_services_lock.h', |
| 76 ], |
| 77 }], |
| 78 [ 'use_openssl == 0 and (OS == "mac" or OS == "ios" or OS == "win")', { |
| 79 'dependencies': [ |
| 80 '../third_party/nss/nss.gyp:nspr', |
| 81 '../third_party/nss/nss.gyp:nss', |
| 82 ], |
| 83 'export_dependent_settings': [ |
| 84 '../third_party/nss/nss.gyp:nspr', |
| 85 '../third_party/nss/nss.gyp:nss', |
| 86 ], |
| 87 }], |
| 88 [ 'OS != "win"', { |
| 89 'sources!': [ |
| 90 'capi_util.h', |
| 91 'capi_util.cc', |
| 92 ], |
| 93 }], |
| 94 [ 'OS == "win"', { |
| 95 'msvs_disabled_warnings': [ |
| 96 4267, # TODO(jschuh): crbug.com/167187 fix size_t to int truncation
s. |
| 97 4018, |
| 98 ], |
| 99 }], |
| 100 [ 'use_openssl==1', { |
| 101 'dependencies': [ |
| 102 '../third_party/boringssl/boringssl.gyp:boringssl', |
| 103 ], |
| 104 # TODO(joth): Use a glob to match exclude patterns once the |
| 105 # OpenSSL file set is complete. |
| 106 'sources!': [ |
| 107 'aes_128_gcm_helpers_nss.cc', |
| 108 'aes_128_gcm_helpers_nss.h', |
| 109 'ec_private_key_nss.cc', |
| 110 'ec_signature_creator_nss.cc', |
| 111 'encryptor_nss.cc', |
| 112 'hmac_nss.cc', |
| 113 'rsa_private_key_nss.cc', |
| 114 'secure_hash_default.cc', |
| 115 'signature_creator_nss.cc', |
| 116 'signature_verifier_nss.cc', |
| 117 'symmetric_key_nss.cc', |
| 118 'third_party/nss/chromium-blapi.h', |
| 119 'third_party/nss/chromium-blapit.h', |
| 120 'third_party/nss/chromium-nss.h', |
| 121 'third_party/nss/chromium-prtypes.h', |
| 122 'third_party/nss/chromium-sha256.h', |
| 123 'third_party/nss/pk11akey.cc', |
| 124 'third_party/nss/rsawrapr.c', |
| 125 'third_party/nss/secsign.cc', |
| 126 'third_party/nss/sha512.cc', |
| 127 ], |
| 128 }, { |
| 129 'sources!': [ |
| 130 'aead_openssl.cc', |
| 131 'aead_openssl.h', |
| 132 'ec_private_key_openssl.cc', |
| 133 'ec_signature_creator_openssl.cc', |
| 134 'encryptor_openssl.cc', |
| 135 'hmac_openssl.cc', |
| 136 'openssl_bio_string.cc', |
| 137 'openssl_bio_string.h', |
| 138 'openssl_util.cc', |
| 139 'openssl_util.h', |
| 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', |
| 145 ], |
| 146 },], |
| 147 [ 'use_openssl==1 and use_nss_certs==0', { |
| 148 # Some files are built when NSS is used at all, either for the |
| 149 # internal crypto library or the platform certificate library. |
| 150 'sources!': [ |
| 151 'nss_key_util.cc', |
| 152 'nss_key_util.h', |
| 153 'nss_util.cc', |
| 154 'nss_util.h', |
| 155 'nss_util_internal.h', |
| 156 ], |
| 157 },], |
| 158 ], |
| 159 'sources': [ |
| 160 '<@(crypto_sources)', |
| 161 ], |
| 162 }, |
| 163 { |
| 164 'target_name': 'crypto_unittests', |
| 165 'type': 'executable', |
| 166 'sources': [ |
| 167 'aead_openssl_unittest.cc', |
| 168 'aes_128_gcm_helpers_nss_unittest.cc', |
| 169 'curve25519_unittest.cc', |
| 170 'ec_private_key_unittest.cc', |
| 171 'ec_signature_creator_unittest.cc', |
| 172 'encryptor_unittest.cc', |
| 173 'ghash_unittest.cc', |
| 174 'hkdf_unittest.cc', |
| 175 'hmac_unittest.cc', |
| 176 'nss_key_util_unittest.cc', |
| 177 'nss_util_unittest.cc', |
| 178 'openssl_bio_string_unittest.cc', |
| 179 'p224_unittest.cc', |
| 180 'p224_spake_unittest.cc', |
| 181 'random_unittest.cc', |
| 182 'rsa_private_key_unittest.cc', |
| 183 'secure_hash_unittest.cc', |
| 184 'sha2_unittest.cc', |
| 185 'signature_creator_unittest.cc', |
| 186 'signature_verifier_unittest.cc', |
| 187 'symmetric_key_unittest.cc', |
| 188 ], |
| 189 'dependencies': [ |
| 190 'crypto', |
| 191 'crypto_test_support', |
| 192 '../base/base.gyp:base', |
| 193 '../base/base.gyp:run_all_unittests', |
| 194 '../base/base.gyp:test_support_base', |
| 195 '../testing/gmock.gyp:gmock', |
| 196 '../testing/gtest.gyp:gtest', |
| 197 ], |
| 198 'conditions': [ |
| 199 [ 'use_nss_certs == 1', { |
| 200 'conditions': [ |
| 201 [ 'use_allocator!="none"', { |
| 202 'dependencies': [ |
| 203 '../base/allocator/allocator.gyp:allocator', |
| 204 ], |
| 205 }, |
| 206 ], |
| 207 ], |
| 208 'dependencies': [ |
| 209 '../build/linux/system.gyp:ssl', |
| 210 ], |
| 211 }], |
| 212 [ 'use_openssl == 1 and use_nss_certs == 0', { |
| 213 # Some files are built when NSS is used at all, either for the |
| 214 # internal crypto library or the platform certificate library. |
| 215 'sources!': [ |
| 216 'nss_key_util_unittest.cc', |
| 217 'nss_util_unittest.cc', |
| 218 ], |
| 219 }], |
| 220 [ 'use_openssl == 0 and (OS == "mac" or OS == "ios" or OS == "win")', { |
| 221 'dependencies': [ |
| 222 '../third_party/nss/nss.gyp:nspr', |
| 223 ], |
| 224 }], |
| 225 [ 'OS == "win"', { |
| 226 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. |
| 227 'msvs_disabled_warnings': [4267, ], |
| 228 }], |
| 229 [ 'use_openssl==1', { |
| 230 'dependencies': [ |
| 231 '../third_party/boringssl/boringssl.gyp:boringssl', |
| 232 ], |
| 233 'sources!': [ |
| 234 'aes_128_gcm_helpers_nss_unittest.cc', |
| 235 ], |
| 236 }, { |
| 237 'sources!': [ |
| 238 'openssl_bio_string_unittest.cc', |
| 239 ], |
| 240 }], |
| 241 ], |
| 242 }, |
| 243 ], |
| 244 'conditions': [ |
| 245 ['OS == "win" and target_arch=="ia32"', { |
| 246 'targets': [ |
| 247 { |
| 248 'target_name': 'crypto_nacl_win64', |
| 249 # We do not want nacl_helper to depend on NSS because this would |
| 250 # require including a 64-bit copy of NSS. Thus, use the native APIs |
| 251 # for the helper. |
| 252 'type': '<(component)', |
| 253 'dependencies': [ |
| 254 '../base/base.gyp:base_win64', |
| 255 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dyn
amic_annotations_win64', |
| 256 ], |
| 257 'sources': [ |
| 258 '<@(nacl_win64_sources)', |
| 259 ], |
| 260 'defines': [ |
| 261 'CRYPTO_IMPLEMENTATION', |
| 262 '<@(nacl_win64_defines)', |
| 263 ], |
| 264 'msvs_disabled_warnings': [ |
| 265 4018, |
| 266 ], |
| 267 'configurations': { |
| 268 'Common_Base': { |
| 269 'msvs_target_platform': 'x64', |
| 270 }, |
| 271 }, |
| 272 }, |
| 273 ], |
| 274 }], |
| 275 ['use_nss_certs==1', { |
| 276 'targets': [ |
| 277 { |
| 278 'target_name': 'crypto_test_support', |
| 279 'type': 'static_library', |
| 280 'dependencies': [ |
| 281 '../base/base.gyp:base', |
| 282 'crypto', |
| 283 ], |
| 284 'sources': [ |
| 285 'scoped_test_nss_db.cc', |
| 286 'scoped_test_nss_db.h', |
| 287 'scoped_test_nss_chromeos_user.cc', |
| 288 'scoped_test_nss_chromeos_user.h', |
| 289 'scoped_test_system_nss_key_slot.cc', |
| 290 'scoped_test_system_nss_key_slot.h', |
| 291 ], |
| 292 'conditions': [ |
| 293 ['use_nss_certs==0', { |
| 294 'sources!': [ |
| 295 'scoped_test_nss_db.cc', |
| 296 'scoped_test_nss_db.h', |
| 297 ], |
| 298 }], |
| 299 [ 'chromeos==0', { |
| 300 'sources!': [ |
| 301 'scoped_test_nss_chromeos_user.cc', |
| 302 'scoped_test_nss_chromeos_user.h', |
| 303 'scoped_test_system_nss_key_slot.cc', |
| 304 'scoped_test_system_nss_key_slot.h', |
| 305 ], |
| 306 }], |
| 307 ], |
| 308 } |
| 309 ]}, { # use_nss_certs==0 |
| 310 'targets': [ |
| 311 { |
| 312 'target_name': 'crypto_test_support', |
| 313 'type': 'none', |
| 314 'sources': [], |
| 315 } |
| 316 ]}], |
| 317 ['test_isolation_mode != "noop"', { |
| 318 'targets': [ |
| 319 { |
| 320 'target_name': 'crypto_unittests_run', |
| 321 'type': 'none', |
| 322 'dependencies': [ |
| 323 'crypto_unittests', |
| 324 ], |
| 325 'includes': [ |
| 326 '../build/isolate.gypi', |
| 327 ], |
| 328 'sources': [ |
| 329 'crypto_unittests.isolate', |
| 330 ], |
| 331 }, |
| 332 ], |
| 333 }], |
| 334 ], |
| 335 } |
OLD | NEW |