1 # Copyright (c) 2013 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.
5 import("//build/config/crypto.gni")
7 crypto_minimal_sources = [
14 "symmetric_key_win.cc",
15 "third_party/nss/chromium-sha256.h",
16 "third_party/nss/sha512.cc",
20 output_name = "crcrypto" # Avoid colliding with OpenSSL's libcrypto.
23 "apple_keychain_ios.mm",
24 "apple_keychain_mac.mm",
28 "crypto_module_blocking_password_delegate.h",
37 "ec_private_key_nss.cc",
38 "ec_private_key_openssl.cc",
39 "ec_signature_creator.cc",
40 "ec_signature_creator.h",
41 "ec_signature_creator_impl.h",
42 "ec_signature_creator_nss.cc",
43 "ec_signature_creator_openssl.cc",
47 "encryptor_openssl.cc",
52 "mac_security_services_lock.cc",
53 "mac_security_services_lock.h",
54 # TODO(brettw) these mocks should be moved to a test_support_crypto target
56 "mock_apple_keychain.cc",
57 "mock_apple_keychain.h",
58 "mock_apple_keychain_ios.cc",
59 "mock_apple_keychain_mac.cc",
64 "nss_util_internal.h",
65 "openpgp_symmetric_encryption.cc",
66 "openpgp_symmetric_encryption.h",
75 "rsa_private_key_nss.cc",
76 "rsa_private_key_openssl.cc",
77 "scoped_capi_types.h",
80 "secure_hash_default.cc",
81 "secure_hash_openssl.cc",
84 "signature_creator.h",
85 "signature_creator_nss.cc",
86 "signature_creator_openssl.cc",
87 "signature_verifier.h",
88 "signature_verifier_nss.cc",
89 "signature_verifier_openssl.cc",
90 "symmetric_key_nss.cc",
91 "symmetric_key_openssl.cc",
92 "third_party/nss/chromium-blapi.h",
93 "third_party/nss/chromium-blapit.h",
94 "third_party/nss/chromium-nss.h",
95 "third_party/nss/pk11akey.cc",
96 "third_party/nss/rsawrapr.c",
97 "third_party/nss/secsign.cc",
102 "//base/third_party/dynamic_annotations",
103 "//crypto/ssl:metassl",
105 forward_dependent_configs_from = [ "//crypto/ssl:metassl" ]
107 if (!is_mac && !is_ios) {
110 "mock_apple_keychain.cc",
111 "mock_apple_keychain.h",
116 if (use_nss) { # Removed for non-NSS in all cases below.
118 "openpgp_symmetric_encryption.cc",
119 "openpgp_symmetric_encryption.h",
127 "mac_security_services_lock.cc",
128 "mac_security_services_lock.h",
139 configs += [ "//third_party/nss:nss_linux_config" ]
142 "ec_private_key_nss.cc",
143 "ec_signature_creator_nss.cc",
148 "rsa_private_key_nss.cc",
149 "secure_hash_default.cc",
150 "signature_creator_nss.cc",
151 "signature_verifier_nss.cc",
152 "symmetric_key_nss.cc",
153 "third_party/nss/chromium-blapi.h",
154 "third_party/nss/chromium-blapit.h",
155 "third_party/nss/chromium-nss.h",
156 "third_party/nss/pk11akey.cc",
157 "third_party/nss/rsawrapr.c",
158 "third_party/nss/secsign.cc",
163 "ec_private_key_openssl.cc",
164 "ec_signature_creator_openssl.cc",
165 "encryptor_openssl.cc",
169 "rsa_private_key_openssl.cc",
170 "secure_hash_openssl.cc",
171 "signature_creator_openssl.cc",
172 "signature_verifier_openssl.cc",
173 "symmetric_key_openssl.cc",
177 defines = [ "CRYPTO_IMPLEMENTATION" ]
179 # TODO(brettw) once GYP compat is no longer necessary, just move
180 # crypto_minimal_sources to the crypto_minimal target and include a
181 # dependency on it here.
182 sources += crypto_minimal_sources
185 # A minimal crypto subset for core features that small standalone targets can
186 # use to reduce code size.
187 static_library("crypto_minimal") {
188 sources = crypto_minimal_sources
192 "//base/third_party/dynamic_annotations",
195 defines = [ "CRYPTO_IMPLEMENTATION" ]
198 test("crypto_unittests") {
201 "curve25519_unittest.cc",
202 "ec_private_key_unittest.cc",
203 "ec_signature_creator_unittest.cc",
204 "encryptor_unittest.cc",
208 "nss_util_unittest.cc",
210 "p224_spake_unittest.cc",
211 "random_unittest.cc",
212 "rsa_private_key_unittest.cc",
213 "rsa_private_key_nss_unittest.cc",
214 "secure_hash_unittest.cc",
216 "signature_creator_unittest.cc",
217 "signature_verifier_unittest.cc",
218 "symmetric_key_unittest.cc",
219 "openpgp_symmetric_encryption_unittest.cc",
224 "nss_util_unittest.cc",
225 "openpgp_symmetric_encryption_unittest.cc",
226 "rsa_private_key_nss_unittest.cc",
233 "//base/test:run_all_unittests",
234 "//base/test:test_support_base",
240 #deps += "//third_party/nss:nspr"