| # Copyright (c) 2011 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, |
| }, |
| 'targets': [ |
| { |
| 'target_name': 'crypto', |
| 'product_name': 'crcrypto', # Avoid colliding with OpenSSL's libcrypto |
| 'type': '<(library)', |
| 'dependencies': [ |
| '../base/base.gyp:base', |
| ], |
| 'msvs_disabled_warnings': [ |
| 4018, |
| ], |
| 'conditions': [ |
| [ 'OS == "linux" or OS == "freebsd" or OS == "openbsd" or OS == "solaris"', { |
| 'conditions': [ |
| [ 'chromeos==1', { |
| 'sources/': [ ['include', '_chromeos\\.cc$'] ] |
| }, |
| ], |
| [ 'use_openssl==1', { |
| 'dependencies': [ |
| '../third_party/openssl/openssl.gyp:openssl', |
| ], |
| }, { # use_openssl==0 |
| 'dependencies': [ |
| '../build/linux/system.gyp:nss', |
| ], |
| 'export_dependent_settings': [ |
| '../build/linux/system.gyp:nss', |
| ], |
| } |
| ], |
| ], |
| }, { # OS != "linux" and OS != "freebsd" and OS != "openbsd" and OS != "solaris" |
| 'sources/': [ |
| ['exclude', '_nss\.cc$'], |
| ], |
| }], |
| [ 'OS == "freebsd" or OS == "openbsd"', { |
| '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 == "mac" or OS == "win"', { |
| 'dependencies': [ |
| '../third_party/nss/nss.gyp:nss', |
| ], |
| },], |
| [ 'OS != "win"', { |
| 'sources!': [ |
| 'capi_util.h', |
| 'capi_util.cc', |
| ], |
| },], |
| [ 'use_openssl==1', { |
| # TODO(joth): Use a glob to match exclude patterns once the |
| # OpenSSL file set is complete. |
| 'sources!': [ |
| 'encryptor_nss.cc', |
| 'hmac_nss.cc', |
| 'nss_util.cc', |
| 'nss_util.h', |
| 'rsa_private_key_nss.cc', |
| 'secure_hash_default.cc', |
| 'signature_creator_nss.cc', |
| 'signature_verifier_nss.cc', |
| 'symmetric_key_nss.cc', |
| 'third_party/nss/blapi.h', |
| 'third_party/nss/blapit.h', |
| 'third_party/nss/sha256.h', |
| 'third_party/nss/sha512.cc', |
| ], |
| }, { |
| 'sources!': [ |
| 'encryptor_openssl.cc', |
| 'hmac_openssl.cc', |
| 'openssl_util.cc', |
| 'openssl_util.h', |
| 'rsa_private_key_openssl.cc', |
| 'secure_hash_openssl.cc', |
| 'signature_creator_openssl.cc', |
| 'signature_verifier_openssl.cc', |
| 'symmetric_key_openssl.cc', |
| ], |
| },], |
| ], |
| 'sources': [ |
| 'capi_util.cc', |
| 'capi_util.h', |
| 'crypto_module_blocking_password_delegate.h', |
| 'cssm_init.cc', |
| 'cssm_init.h', |
| 'encryptor.h', |
| 'encryptor_mac.cc', |
| 'encryptor_nss.cc', |
| 'encryptor_openssl.cc', |
| 'encryptor_win.cc', |
| 'hmac.h', |
| 'hmac_mac.cc', |
| 'hmac_nss.cc', |
| 'hmac_openssl.cc', |
| 'hmac_win.cc', |
| 'mac_security_services_lock.cc', |
| 'mac_security_services_lock.h', |
| 'openssl_util.cc', |
| 'openssl_util.h', |
| 'nss_util.cc', |
| 'nss_util.h', |
| 'nss_util_internal.h', |
| 'rsa_private_key.h', |
| 'rsa_private_key.cc', |
| 'rsa_private_key_mac.cc', |
| 'rsa_private_key_nss.cc', |
| 'rsa_private_key_openssl.cc', |
| 'rsa_private_key_win.cc', |
| 'scoped_capi_types.h', |
| 'scoped_nss_types.h', |
| 'secure_hash.h', |
| 'secure_hash_default.cc', |
| 'secure_hash_openssl.cc', |
| 'sha2.cc', |
| 'sha2.h', |
| 'signature_creator.h', |
| 'signature_creator_mac.cc', |
| 'signature_creator_nss.cc', |
| 'signature_creator_openssl.cc', |
| 'signature_creator_win.cc', |
| 'signature_verifier.h', |
| 'signature_verifier_mac.cc', |
| 'signature_verifier_nss.cc', |
| 'signature_verifier_openssl.cc', |
| 'signature_verifier_win.cc', |
| 'symmetric_key.h', |
| 'symmetric_key_mac.cc', |
| 'symmetric_key_nss.cc', |
| 'symmetric_key_openssl.cc', |
| 'symmetric_key_win.cc', |
| 'third_party/nss/blapi.h', |
| 'third_party/nss/blapit.h', |
| 'third_party/nss/sha256.h', |
| 'third_party/nss/sha512.cc', |
| ], |
| }, |
| { |
| 'target_name': 'crypto_unittests', |
| 'type': 'executable', |
| 'sources': [ |
| # Infrastructure files. |
| 'run_all_unittests.cc', |
| |
| # Tests. |
| 'encryptor_unittest.cc', |
| 'hmac_unittest.cc', |
| 'rsa_private_key_unittest.cc', |
| 'rsa_private_key_nss_unittest.cc', |
| 'secure_hash_unittest.cc', |
| 'sha2_unittest.cc', |
| 'signature_creator_unittest.cc', |
| 'signature_verifier_unittest.cc', |
| 'symmetric_key_unittest.cc', |
| ], |
| 'dependencies': [ |
| 'crypto', |
| '../base/base.gyp:base', |
| '../base/base.gyp:test_support_base', |
| '../testing/gmock.gyp:gmock', |
| '../testing/gtest.gyp:gtest', |
| ], |
| 'conditions': [ |
| [ 'OS == "linux" or OS == "freebsd" or OS == "openbsd" or OS == "solaris"', { |
| 'conditions': [ |
| [ 'linux_use_tcmalloc==1', { |
| 'dependencies': [ |
| '../base/allocator/allocator.gyp:allocator', |
| ], |
| }, |
| ], |
| ], |
| 'dependencies': [ |
| '../build/linux/system.gyp:nss', |
| ], |
| }, { # OS != "linux" and OS != "freebsd" and OS != "openbsd" and OS != "solaris" |
| 'sources!': [ |
| 'rsa_private_key_nss_unittest.cc', |
| ] |
| }], |
| [ 'OS == "mac" or OS == "win"', { |
| 'dependencies': [ |
| '../third_party/nss/nss.gyp:nss', |
| ], |
| }], |
| [ 'use_openssl==1', { |
| 'sources!': [ |
| 'rsa_private_key_nss_unittest.cc', |
| ], |
| }], |
| ], |
| }, |
| ], |
| } |