OLD | NEW |
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import("//build/config/crypto.gni") | 5 import("//build/config/crypto.gni") |
6 import("//testing/test.gni") | 6 import("//testing/test.gni") |
7 | 7 |
8 component("crypto") { | 8 component("crypto") { |
9 output_name = "crcrypto" # Avoid colliding with OpenSSL's libcrypto. | 9 output_name = "crcrypto" # Avoid colliding with OpenSSL's libcrypto. |
10 sources = [ | 10 sources = [ |
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
279 if (!is_chromeos) { | 279 if (!is_chromeos) { |
280 sources -= [ | 280 sources -= [ |
281 "scoped_test_nss_chromeos_user.cc", | 281 "scoped_test_nss_chromeos_user.cc", |
282 "scoped_test_nss_chromeos_user.h", | 282 "scoped_test_nss_chromeos_user.h", |
283 "scoped_test_system_nss_key_slot.cc", | 283 "scoped_test_system_nss_key_slot.cc", |
284 "scoped_test_system_nss_key_slot.h", | 284 "scoped_test_system_nss_key_slot.h", |
285 ] | 285 ] |
286 } | 286 } |
287 } | 287 } |
288 | 288 |
| 289 config("platform_config") { |
| 290 if (!use_openssl && is_clang) { |
| 291 # There is a broken header guard in /usr/include/nss/secmod.h: |
| 292 # https://bugzilla.mozilla.org/show_bug.cgi?id=884072 |
| 293 cflags = [ "-Wno-header-guard" ] |
| 294 } |
| 295 } |
| 296 |
289 # This is a meta-target that forwards to NSS's SSL library or OpenSSL, | 297 # This is a meta-target that forwards to NSS's SSL library or OpenSSL, |
290 # according to the state of the crypto flags. A target just wanting to depend | 298 # according to the state of the crypto flags. A target just wanting to depend |
291 # on the current SSL library should just depend on this. | 299 # on the current SSL library should just depend on this. |
292 group("platform") { | 300 group("platform") { |
293 if (use_openssl) { | 301 if (use_openssl) { |
294 deps = [ | 302 deps = [ |
295 "//third_party/boringssl", | 303 "//third_party/boringssl", |
296 ] | 304 ] |
297 } else { | 305 } else { |
298 deps = [ | 306 deps = [ |
299 "//net/third_party/nss/ssl:libssl", | 307 "//net/third_party/nss/ssl:libssl", |
300 ] | 308 ] |
301 if (is_linux) { | 309 if (is_linux) { |
302 # On Linux, we use the system NSS (excepting SSL where we always use our | 310 # On Linux, we use the system NSS (excepting SSL where we always use our |
303 # own). | 311 # own). |
304 # | 312 # |
305 # We always need our SSL header search path to come before the system one | 313 # We always need our SSL header search path to come before the system one |
306 # so our versions are used. The libssl target will add the search path we | 314 # so our versions are used. The libssl target will add the search path we |
307 # want, but according to GN's ordering rules, public_configs' search path | 315 # want, but according to GN's ordering rules, public_configs' search path |
308 # will get applied before ones inherited from our dependencies. | 316 # will get applied before ones inherited from our dependencies. |
309 # Therefore, we need to explicitly list our custom libssl's config here | 317 # Therefore, we need to explicitly list our custom libssl's config here |
310 # before the system one. | 318 # before the system one. |
311 public_configs = [ | 319 public_configs = [ |
| 320 ":platform_config", |
312 "//net/third_party/nss/ssl:ssl_config", | 321 "//net/third_party/nss/ssl:ssl_config", |
313 "//third_party/nss:system_nss_no_ssl_config", | 322 "//third_party/nss:system_nss_no_ssl_config", |
314 ] | 323 ] |
315 } else { | 324 } else { |
316 # Non-Linux platforms use the hermetic NSS from the tree. | 325 # Non-Linux platforms use the hermetic NSS from the tree. |
317 deps += [ | 326 deps += [ |
318 "//third_party/nss:nspr", | 327 "//third_party/nss:nspr", |
319 "//third_party/nss:nss", | 328 "//third_party/nss:nss", |
320 ] | 329 ] |
321 } | 330 } |
322 } | 331 } |
323 } | 332 } |
OLD | NEW |