summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorsergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-12 09:34:10 +0000
committersergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-12 09:34:10 +0000
commitad9449f9d9ce5bf2334555facb972ff9617c8547 (patch)
tree80951ba87664aaef68d8344eb989ed5e7f22cfbf /crypto
parent82933a582d3d3f0360418f5908370a884ed394a8 (diff)
downloadchromium_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.gyp94
-rw-r--r--crypto/crypto.gypi103
-rw-r--r--crypto/crypto_nacl.gyp48
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'],
+ ],
+ },
+ ],
+}