diff options
author | sergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-12 09:34:10 +0000 |
---|---|---|
committer | sergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-12 09:34:10 +0000 |
commit | ad9449f9d9ce5bf2334555facb972ff9617c8547 (patch) | |
tree | 80951ba87664aaef68d8344eb989ed5e7f22cfbf /crypto | |
parent | 82933a582d3d3f0360418f5908370a884ed394a8 (diff) | |
download | chromium_src-ad9449f9d9ce5bf2334555facb972ff9617c8547.zip chromium_src-ad9449f9d9ce5bf2334555facb972ff9617c8547.tar.gz chromium_src-ad9449f9d9ce5bf2334555facb972ff9617c8547.tar.bz2 |
Build src/crypto for PNaCl
The new crypto_nacl target builds crypto for PNaCl.
BUG=276739
Review URL: https://codereview.chromium.org/185233012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256485 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/crypto.gyp | 94 | ||||
-rw-r--r-- | crypto/crypto.gypi | 103 | ||||
-rw-r--r-- | crypto/crypto_nacl.gyp | 48 |
3 files changed, 155 insertions, 90 deletions
diff --git a/crypto/crypto.gyp b/crypto/crypto.gyp index cb71fb0..95f02b3 100644 --- a/crypto/crypto.gyp +++ b/crypto/crypto.gyp @@ -5,20 +5,10 @@ { 'variables': { 'chromium_code': 1, - # Put all transitive dependencies for Windows HMAC here. - # This is required so that we can build them for nacl win64. - 'hmac_win64_related_sources': [ - 'hmac.cc', - 'hmac.h', - 'hmac_win.cc', - 'secure_util.cc', - 'secure_util.h', - 'symmetric_key.h', - 'symmetric_key_win.cc', - 'third_party/nss/chromium-sha256.h', - 'third_party/nss/sha512.cc', - ], }, + 'includes': [ + 'crypto.gypi', + ], 'targets': [ { 'target_name': 'crypto', @@ -163,83 +153,7 @@ },], ], 'sources': [ - # NOTE: all transitive dependencies of HMAC on windows need - # to be placed in the source list above. - '<@(hmac_win64_related_sources)', - 'apple_keychain.h', - 'apple_keychain_ios.mm', - 'apple_keychain_mac.mm', - 'capi_util.cc', - 'capi_util.h', - 'crypto_export.h', - 'cssm_init.cc', - 'cssm_init.h', - 'curve25519.cc', - 'curve25519.h', - 'curve25519-donna.c', - 'ghash.cc', - 'ghash.h', - 'ec_private_key.h', - 'ec_private_key_nss.cc', - 'ec_private_key_openssl.cc', - 'ec_signature_creator.cc', - 'ec_signature_creator.h', - 'ec_signature_creator_impl.h', - 'ec_signature_creator_nss.cc', - 'ec_signature_creator_openssl.cc', - 'encryptor.cc', - 'encryptor.h', - 'encryptor_nss.cc', - 'encryptor_openssl.cc', - 'hkdf.cc', - 'hkdf.h', - 'hmac_nss.cc', - 'hmac_openssl.cc', - 'mac_security_services_lock.cc', - 'mac_security_services_lock.h', - 'mock_apple_keychain.cc', - 'mock_apple_keychain.h', - 'mock_apple_keychain_ios.cc', - 'mock_apple_keychain_mac.cc', - 'p224_spake.cc', - 'p224_spake.h', - 'nss_crypto_module_delegate.h', - 'nss_util.cc', - 'nss_util.h', - 'nss_util_internal.h', - 'openpgp_symmetric_encryption.cc', - 'openpgp_symmetric_encryption.h', - 'openssl_util.cc', - 'openssl_util.h', - 'p224.cc', - 'p224.h', - 'random.h', - 'random.cc', - 'rsa_private_key.cc', - 'rsa_private_key.h', - 'rsa_private_key_nss.cc', - 'rsa_private_key_openssl.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_nss.cc', - 'signature_creator_openssl.cc', - 'signature_verifier.h', - 'signature_verifier_nss.cc', - 'signature_verifier_openssl.cc', - 'symmetric_key_nss.cc', - 'symmetric_key_openssl.cc', - 'third_party/nss/chromium-blapi.h', - 'third_party/nss/chromium-blapit.h', - 'third_party/nss/chromium-nss.h', - 'third_party/nss/pk11akey.cc', - 'third_party/nss/rsawrapr.c', - 'third_party/nss/secsign.cc', + '<@(crypto_sources)', ], }, { diff --git a/crypto/crypto.gypi b/crypto/crypto.gypi new file mode 100644 index 0000000..005921e --- /dev/null +++ b/crypto/crypto.gypi @@ -0,0 +1,103 @@ +# Copyright 2014 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': { + # Put all transitive dependencies for Windows HMAC here. + # This is required so that we can build them for nacl win64. + 'variables': { + 'hmac_win64_related_sources': [ + 'hmac.cc', + 'hmac.h', + 'hmac_win.cc', + 'secure_util.cc', + 'secure_util.h', + 'symmetric_key.h', + 'symmetric_key_win.cc', + 'third_party/nss/chromium-sha256.h', + 'third_party/nss/sha512.cc', + ], + }, + 'hmac_win64_related_sources': [ '<@(hmac_win64_related_sources)' ], + 'crypto_sources': [ + # NOTE: all transitive dependencies of HMAC on windows need + # to be placed in the source list above. + '<@(hmac_win64_related_sources)', + 'apple_keychain.h', + 'apple_keychain_ios.mm', + 'apple_keychain_mac.mm', + 'capi_util.cc', + 'capi_util.h', + 'crypto_export.h', + 'cssm_init.cc', + 'cssm_init.h', + 'curve25519.cc', + 'curve25519.h', + 'curve25519-donna.c', + 'ghash.cc', + 'ghash.h', + 'ec_private_key.h', + 'ec_private_key_nss.cc', + 'ec_private_key_openssl.cc', + 'ec_signature_creator.cc', + 'ec_signature_creator.h', + 'ec_signature_creator_impl.h', + 'ec_signature_creator_nss.cc', + 'ec_signature_creator_openssl.cc', + 'encryptor.cc', + 'encryptor.h', + 'encryptor_nss.cc', + 'encryptor_openssl.cc', + 'hkdf.cc', + 'hkdf.h', + 'hmac_nss.cc', + 'hmac_openssl.cc', + 'mac_security_services_lock.cc', + 'mac_security_services_lock.h', + 'mock_apple_keychain.cc', + 'mock_apple_keychain.h', + 'mock_apple_keychain_ios.cc', + 'mock_apple_keychain_mac.cc', + 'p224_spake.cc', + 'p224_spake.h', + 'nss_crypto_module_delegate.h', + 'nss_util.cc', + 'nss_util.h', + 'nss_util_internal.h', + 'openpgp_symmetric_encryption.cc', + 'openpgp_symmetric_encryption.h', + 'openssl_util.cc', + 'openssl_util.h', + 'p224.cc', + 'p224.h', + 'random.h', + 'random.cc', + 'rsa_private_key.cc', + 'rsa_private_key.h', + 'rsa_private_key_nss.cc', + 'rsa_private_key_openssl.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_nss.cc', + 'signature_creator_openssl.cc', + 'signature_verifier.h', + 'signature_verifier_nss.cc', + 'signature_verifier_openssl.cc', + 'symmetric_key_nss.cc', + 'symmetric_key_openssl.cc', + 'third_party/nss/chromium-blapi.h', + 'third_party/nss/chromium-blapit.h', + 'third_party/nss/chromium-nss.h', + 'third_party/nss/pk11akey.cc', + 'third_party/nss/rsawrapr.c', + 'third_party/nss/secsign.cc', + ] + } +} diff --git a/crypto/crypto_nacl.gyp b/crypto/crypto_nacl.gyp new file mode 100644 index 0000000..f43d7c3 --- /dev/null +++ b/crypto/crypto_nacl.gyp @@ -0,0 +1,48 @@ +# Copyright 2014 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': [ + '../native_client/build/untrusted.gypi', + 'crypto.gypi', + ], + 'targets': [ + { + 'target_name': 'crypto_nacl', + 'type': 'none', + 'variables': { + 'nacl_untrusted_build': 1, + 'nlib_target': 'libcrypto_nacl.a', + 'build_glibc': 0, + 'build_newlib': 0, + 'build_pnacl_newlib': 1, + }, + 'dependencies': [ + '../third_party/openssl/openssl_nacl.gyp:openssl_nacl', + '../native_client/tools.gyp:prep_toolchain', + '../native_client_sdk/native_client_sdk_untrusted.gyp:nacl_io_untrusted', + ], + 'defines': [ + 'CRYPTO_IMPLEMENTATION', + ], + 'sources': [ + '<@(crypto_sources)', + ], + 'sources/': [ + ['exclude', '_nss\.(cc|h)$'], + ['exclude', '^(mock_)?apple_'], + ['exclude', '^capi_'], + ['exclude', '^openpgp_'], + ['exclude', '^cssm_'], + ['exclude', '^nss_'], + ['exclude', '^mac_'], + ['exclude', '^third_party/nss/'], + ['include', '^third_party/nss/sha512.cc'], + ], + }, + ], +} |