| # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| { |
| 'variables': { |
| 'chromium_code': 1, |
| }, |
| 'includes': [ |
| 'crypto.gypi', |
| ], |
| 'targets': [ |
| { |
| 'target_name': 'crypto', |
| 'type': '<(component)', |
| 'product_name': 'crcrypto', # Avoid colliding with OpenSSL's libcrypto |
| 'dependencies': [ |
| '../base/base.gyp:base', |
| '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', |
| '../third_party/boringssl/boringssl.gyp:boringssl', |
| ], |
| 'defines': [ |
| 'CRYPTO_IMPLEMENTATION', |
| ], |
| 'conditions': [ |
| [ 'os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', { |
| 'dependencies': [ |
| '../build/linux/system.gyp:nss', |
| ], |
| 'export_dependent_settings': [ |
| '../build/linux/system.gyp:nss', |
| ], |
| 'conditions': [ |
| [ 'chromeos==1', { |
| 'sources/': [ ['include', '_chromeos\\.cc$'] ] |
| }, |
| ], |
| ], |
| }], |
| [ 'OS != "mac" and OS != "ios"', { |
| 'sources!': [ |
| 'apple_keychain.h', |
| 'mock_apple_keychain.cc', |
| 'mock_apple_keychain.h', |
| ], |
| }], |
| [ 'os_bsd==1', { |
| 'link_settings': { |
| 'libraries': [ |
| '-L/usr/local/lib -lexecinfo', |
| ], |
| }, |
| }, |
| ], |
| [ 'OS == "mac"', { |
| 'link_settings': { |
| 'libraries': [ |
| '$(SDKROOT)/System/Library/Frameworks/Security.framework', |
| ], |
| }, |
| }, { # OS != "mac" |
| 'sources!': [ |
| 'cssm_init.cc', |
| 'cssm_init.h', |
| 'mac_security_services_lock.cc', |
| 'mac_security_services_lock.h', |
| ], |
| }], |
| [ 'OS != "win"', { |
| 'sources!': [ |
| 'capi_util.h', |
| 'capi_util.cc', |
| ], |
| }], |
| [ 'OS == "win"', { |
| 'msvs_disabled_warnings': [ |
| 4267, # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. |
| ], |
| }], |
| [ 'use_nss_certs==0', { |
| # Some files are built when NSS is used for the platform certificate library. |
| 'sources!': [ |
| 'nss_key_util.cc', |
| 'nss_key_util.h', |
| 'nss_util.cc', |
| 'nss_util.h', |
| 'nss_util_internal.h', |
| ], |
| },], |
| ], |
| 'sources': [ |
| '<@(crypto_sources)', |
| ], |
| }, |
| { |
| 'target_name': 'crypto_unittests', |
| 'type': 'executable', |
| 'sources': [ |
| 'aead_unittest.cc', |
| 'curve25519_unittest.cc', |
| 'ec_private_key_unittest.cc', |
| 'ec_signature_creator_unittest.cc', |
| 'encryptor_unittest.cc', |
| 'hkdf_unittest.cc', |
| 'hmac_unittest.cc', |
| 'nss_key_util_unittest.cc', |
| 'nss_util_unittest.cc', |
| 'openssl_bio_string_unittest.cc', |
| 'p224_unittest.cc', |
| 'p224_spake_unittest.cc', |
| 'random_unittest.cc', |
| 'rsa_private_key_unittest.cc', |
| 'secure_hash_unittest.cc', |
| 'sha2_unittest.cc', |
| 'signature_creator_unittest.cc', |
| 'signature_verifier_unittest.cc', |
| 'symmetric_key_unittest.cc', |
| ], |
| 'dependencies': [ |
| 'crypto', |
| 'crypto_test_support', |
| '../base/base.gyp:base', |
| '../base/base.gyp:run_all_unittests', |
| '../base/base.gyp:test_support_base', |
| '../testing/gmock.gyp:gmock', |
| '../testing/gtest.gyp:gtest', |
| '../third_party/boringssl/boringssl.gyp:boringssl', |
| ], |
| 'conditions': [ |
| [ 'use_nss_certs == 1', { |
| 'dependencies': [ |
| '../build/linux/system.gyp:nss', |
| ], |
| }], |
| [ 'use_nss_certs == 0', { |
| # Some files are built when NSS is used for the platform certificate library. |
| 'sources!': [ |
| 'nss_key_util_unittest.cc', |
| 'nss_util_unittest.cc', |
| ], |
| }], |
| [ 'OS == "win"', { |
| # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. |
| 'msvs_disabled_warnings': [4267, ], |
| }], |
| ], |
| }, |
| ], |
| 'conditions': [ |
| ['OS == "win" and target_arch=="ia32"', { |
| 'targets': [ |
| { |
| 'target_name': 'crypto_nacl_win64', |
| # We use the native APIs for the helper. |
| 'type': '<(component)', |
| 'dependencies': [ |
| '../base/base.gyp:base_win64', |
| '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations_win64', |
| '../third_party/boringssl/boringssl.gyp:boringssl_nacl_win64', |
| ], |
| 'sources': [ |
| '<@(nacl_win64_sources)', |
| ], |
| 'defines': [ |
| 'CRYPTO_IMPLEMENTATION', |
| '<@(nacl_win64_defines)', |
| ], |
| 'configurations': { |
| 'Common_Base': { |
| 'msvs_target_platform': 'x64', |
| }, |
| }, |
| }, |
| ], |
| }], |
| ['use_nss_certs==1', { |
| 'targets': [ |
| { |
| 'target_name': 'crypto_test_support', |
| 'type': 'static_library', |
| 'dependencies': [ |
| '../base/base.gyp:base', |
| 'crypto', |
| ], |
| 'sources': [ |
| 'scoped_test_nss_db.cc', |
| 'scoped_test_nss_db.h', |
| 'scoped_test_nss_chromeos_user.cc', |
| 'scoped_test_nss_chromeos_user.h', |
| 'scoped_test_system_nss_key_slot.cc', |
| 'scoped_test_system_nss_key_slot.h', |
| ], |
| 'conditions': [ |
| ['use_nss_certs==0', { |
| 'sources!': [ |
| 'scoped_test_nss_db.cc', |
| 'scoped_test_nss_db.h', |
| ], |
| }], |
| [ 'chromeos==0', { |
| 'sources!': [ |
| 'scoped_test_nss_chromeos_user.cc', |
| 'scoped_test_nss_chromeos_user.h', |
| 'scoped_test_system_nss_key_slot.cc', |
| 'scoped_test_system_nss_key_slot.h', |
| ], |
| }], |
| ], |
| } |
| ]}, { # use_nss_certs==0 |
| 'targets': [ |
| { |
| 'target_name': 'crypto_test_support', |
| 'type': 'none', |
| 'sources': [], |
| } |
| ]}], |
| ['test_isolation_mode != "noop"', { |
| 'targets': [ |
| { |
| 'target_name': 'crypto_unittests_run', |
| 'type': 'none', |
| 'dependencies': [ |
| 'crypto_unittests', |
| ], |
| 'includes': [ |
| '../build/isolate.gypi', |
| ], |
| 'sources': [ |
| 'crypto_unittests.isolate', |
| ], |
| }, |
| ], |
| }], |
| ], |
| } |