Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(92)

Side by Side Diff: net/BUILD.gn

Issue 881213004: Support building BoringSSL with NSS certificates. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: slightly tidier (edit: looks like this'll need a rebase later for try jobs to run.) Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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("//build/config/features.gni") 6 import("//build/config/features.gni")
7 import("//build/config/ui.gni") 7 import("//build/config/ui.gni")
8 import("//build/module_args/v8.gni") 8 import("//build/module_args/v8.gni")
9 import("//url/config.gni") 9 import("//url/config.gni")
10 import("//testing/test.gni") 10 import("//testing/test.gni")
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 } 185 }
186 186
187 if (use_openssl) { 187 if (use_openssl) {
188 sources -= [ 188 sources -= [
189 "base/nss_memio.c", 189 "base/nss_memio.c",
190 "base/nss_memio.h", 190 "base/nss_memio.h",
191 "cert/ct_log_verifier_nss.cc", 191 "cert/ct_log_verifier_nss.cc",
192 "cert/ct_objects_extractor_nss.cc", 192 "cert/ct_objects_extractor_nss.cc",
193 "cert/jwk_serializer_nss.cc", 193 "cert/jwk_serializer_nss.cc",
194 "cert/scoped_nss_types.h", 194 "cert/scoped_nss_types.h",
195 "cert/test_root_certs_nss.cc",
196 "cert/x509_util_nss.cc", 195 "cert/x509_util_nss.cc",
197 "cert/x509_util_nss.h",
198 "ocsp/nss_ocsp.cc",
199 "ocsp/nss_ocsp.h",
200 "quic/crypto/aead_base_decrypter_nss.cc", 196 "quic/crypto/aead_base_decrypter_nss.cc",
201 "quic/crypto/aead_base_encrypter_nss.cc", 197 "quic/crypto/aead_base_encrypter_nss.cc",
202 "quic/crypto/aes_128_gcm_12_decrypter_nss.cc", 198 "quic/crypto/aes_128_gcm_12_decrypter_nss.cc",
203 "quic/crypto/aes_128_gcm_12_encrypter_nss.cc", 199 "quic/crypto/aes_128_gcm_12_encrypter_nss.cc",
204 "quic/crypto/chacha20_poly1305_decrypter_nss.cc", 200 "quic/crypto/chacha20_poly1305_decrypter_nss.cc",
205 "quic/crypto/chacha20_poly1305_encrypter_nss.cc", 201 "quic/crypto/chacha20_poly1305_encrypter_nss.cc",
206 "quic/crypto/channel_id_nss.cc", 202 "quic/crypto/channel_id_nss.cc",
207 "quic/crypto/p256_key_exchange_nss.cc", 203 "quic/crypto/p256_key_exchange_nss.cc",
208 "socket/nss_ssl_util.cc", 204 "socket/nss_ssl_util.cc",
209 "socket/nss_ssl_util.h", 205 "socket/nss_ssl_util.h",
210 "socket/ssl_client_socket_nss.cc", 206 "socket/ssl_client_socket_nss.cc",
211 "socket/ssl_client_socket_nss.h", 207 "socket/ssl_client_socket_nss.h",
212 "socket/ssl_server_socket_nss.cc", 208 "socket/ssl_server_socket_nss.cc",
213 "socket/ssl_server_socket_nss.h", 209 "socket/ssl_server_socket_nss.h",
214 ] 210 ]
215 if (is_chromeos) { 211 if (is_chromeos) {
216 sources -= [ 212 sources -= [
217 "cert/nss_cert_database_chromeos.cc", 213 "cert/nss_cert_database_chromeos.cc",
218 "cert/nss_cert_database_chromeos.h", 214 "cert/nss_cert_database_chromeos.h",
219 "cert/nss_profile_filter_chromeos.cc", 215 "cert/nss_profile_filter_chromeos.cc",
220 "cert/nss_profile_filter_chromeos.h", 216 "cert/nss_profile_filter_chromeos.h",
221 ] 217 ]
222 } 218 }
223 if (is_linux) {
224 # These are always removed for non-Linux cases below.
225 sources -= [
226 "base/crypto_module_nss.cc",
227 "base/keygen_handler_nss.cc",
228 "cert/cert_database_nss.cc",
229 "cert/nss_cert_database.cc",
230 "cert/nss_cert_database.h",
231 "cert/x509_certificate_nss.cc",
232 "third_party/mozilla_security_manager/nsKeygenHandler.cpp",
233 "third_party/mozilla_security_manager/nsKeygenHandler.h",
234 "third_party/mozilla_security_manager/nsNSSCertificateDB.cpp",
235 "third_party/mozilla_security_manager/nsNSSCertificateDB.h",
236 "third_party/mozilla_security_manager/nsPKCS12Blob.cpp",
237 "third_party/mozilla_security_manager/nsPKCS12Blob.h",
238 ]
239 }
240 if (is_ios) { 219 if (is_ios) {
241 # Always removed for !ios below. 220 # Always removed for !ios below.
242 sources -= [ 221 sources -= [
243 "cert/cert_verify_proc_nss.cc", 222 "cert/cert_verify_proc_nss.cc",
244 "cert/cert_verify_proc_nss.h", 223 "cert/cert_verify_proc_nss.h",
245 ] 224 ]
246 } 225 }
247 if (is_win) { 226 if (is_win) {
248 sources -= [ "cert/sha256_legacy_support_nss_win.cc" ] 227 sources -= [ "cert/sha256_legacy_support_nss_win.cc" ]
249 } 228 }
229 if (!use_nss_certs && !is_ios) {
230 sources -= [ "cert/x509_util_nss.h" ]
231 }
250 } else { 232 } else {
251 sources -= [ 233 sources -= [
252 "base/crypto_module_openssl.cc", 234 "base/crypto_module_openssl.cc",
253 "cert/ct_log_verifier_openssl.cc", 235 "cert/ct_log_verifier_openssl.cc",
254 "cert/ct_objects_extractor_openssl.cc", 236 "cert/ct_objects_extractor_openssl.cc",
255 "cert/jwk_serializer_openssl.cc", 237 "cert/jwk_serializer_openssl.cc",
256 "cert/x509_util_openssl.cc", 238 "cert/x509_util_openssl.cc",
257 "cert/x509_util_openssl.h", 239 "cert/x509_util_openssl.h",
258 "quic/crypto/aead_base_decrypter_openssl.cc", 240 "quic/crypto/aead_base_decrypter_openssl.cc",
259 "quic/crypto/aead_base_encrypter_openssl.cc", 241 "quic/crypto/aead_base_encrypter_openssl.cc",
260 "quic/crypto/aes_128_gcm_12_decrypter_openssl.cc", 242 "quic/crypto/aes_128_gcm_12_decrypter_openssl.cc",
261 "quic/crypto/aes_128_gcm_12_encrypter_openssl.cc", 243 "quic/crypto/aes_128_gcm_12_encrypter_openssl.cc",
262 "quic/crypto/chacha20_poly1305_decrypter_openssl.cc", 244 "quic/crypto/chacha20_poly1305_decrypter_openssl.cc",
263 "quic/crypto/chacha20_poly1305_encrypter_openssl.cc", 245 "quic/crypto/chacha20_poly1305_encrypter_openssl.cc",
264 "quic/crypto/channel_id_openssl.cc", 246 "quic/crypto/channel_id_openssl.cc",
265 "quic/crypto/p256_key_exchange_openssl.cc", 247 "quic/crypto/p256_key_exchange_openssl.cc",
266 "quic/crypto/scoped_evp_aead_ctx.cc", 248 "quic/crypto/scoped_evp_aead_ctx.cc",
267 "quic/crypto/scoped_evp_aead_ctx.h", 249 "quic/crypto/scoped_evp_aead_ctx.h",
268 "socket/ssl_client_socket_openssl.cc", 250 "socket/ssl_client_socket_openssl.cc",
269 "socket/ssl_client_socket_openssl.h", 251 "socket/ssl_client_socket_openssl.h",
270 "socket/ssl_server_socket_openssl.cc", 252 "socket/ssl_server_socket_openssl.cc",
271 "socket/ssl_server_socket_openssl.h", 253 "socket/ssl_server_socket_openssl.h",
272 "socket/ssl_session_cache_openssl.cc", 254 "socket/ssl_session_cache_openssl.cc",
273 "socket/ssl_session_cache_openssl.h", 255 "socket/ssl_session_cache_openssl.h",
274 "ssl/openssl_platform_key.h", 256 "ssl/openssl_platform_key.h",
257 "ssl/openssl_platform_key_nss.cc",
275 "ssl/openssl_ssl_util.cc", 258 "ssl/openssl_ssl_util.cc",
276 "ssl/openssl_ssl_util.h", 259 "ssl/openssl_ssl_util.h",
277 ] 260 ]
278 if (is_mac) { 261 if (is_mac) {
279 sources -= [ "ssl/openssl_platform_key_mac.cc" ] 262 sources -= [ "ssl/openssl_platform_key_mac.cc" ]
280 } 263 }
281 if (is_win) { 264 if (is_win) {
282 sources -= [ 265 sources -= [
283 "cert/sha256_legacy_support_openssl_win.cc", 266 "cert/sha256_legacy_support_openssl_win.cc",
284 "ssl/openssl_platform_key_win.cc", 267 "ssl/openssl_platform_key_win.cc",
(...skipping 27 matching lines...) Expand all
312 ] 295 ]
313 } 296 }
314 297
315 if (use_glib && !is_chromeos) { 298 if (use_glib && !is_chromeos) {
316 configs += [ "//build/config/linux:gconf" ] 299 configs += [ "//build/config/linux:gconf" ]
317 deps += [ "//build/config/linux:gio" ] 300 deps += [ "//build/config/linux:gio" ]
318 } 301 }
319 302
320 if (is_linux) { 303 if (is_linux) {
321 configs += [ "//build/config/linux:libresolv" ] 304 configs += [ "//build/config/linux:libresolv" ]
322 } else { 305 }
306
307 if (!use_nss_certs) {
323 sources -= [ 308 sources -= [
324 "base/crypto_module_nss.cc", 309 "base/crypto_module_nss.cc",
325 "base/keygen_handler_nss.cc", 310 "base/keygen_handler_nss.cc",
326 "cert/cert_database_nss.cc", 311 "cert/cert_database_nss.cc",
327 "cert/nss_cert_database.cc", 312 "cert/nss_cert_database.cc",
328 "cert/nss_cert_database.h", 313 "cert/nss_cert_database.h",
329 "cert/x509_certificate_nss.cc", 314 "cert/x509_certificate_nss.cc",
315 "ssl/client_cert_store_nss.cc",
316 "ssl/client_cert_store_nss.h",
330 "third_party/mozilla_security_manager/nsKeygenHandler.cpp", 317 "third_party/mozilla_security_manager/nsKeygenHandler.cpp",
331 "third_party/mozilla_security_manager/nsKeygenHandler.h", 318 "third_party/mozilla_security_manager/nsKeygenHandler.h",
332 "third_party/mozilla_security_manager/nsNSSCertificateDB.cpp", 319 "third_party/mozilla_security_manager/nsNSSCertificateDB.cpp",
333 "third_party/mozilla_security_manager/nsNSSCertificateDB.h", 320 "third_party/mozilla_security_manager/nsNSSCertificateDB.h",
334 "third_party/mozilla_security_manager/nsPKCS12Blob.cpp", 321 "third_party/mozilla_security_manager/nsPKCS12Blob.cpp",
335 "third_party/mozilla_security_manager/nsPKCS12Blob.h", 322 "third_party/mozilla_security_manager/nsPKCS12Blob.h",
336 ] 323 ]
337
338 if (!is_ios && !use_openssl) {
339 # These files are part of the partial implementation of NSS on iOS so
340 # keep them in that case.
341 sources -= [
342 "cert/test_root_certs_nss.cc",
343 "ocsp/nss_ocsp.cc",
344 "ocsp/nss_ocsp.h",
345 ]
346 }
347 }
348
349 if (!use_nss_certs) {
350 sources -= [
351 "ssl/client_cert_store_nss.cc",
352 "ssl/client_cert_store_nss.h",
353 ]
354 if (!is_ios) { 324 if (!is_ios) {
355 # These files are part of the partial implementation of NSS on iOS so 325 # These files are part of the partial implementation of NSS on iOS so
356 # keep them in that case (even though use_nss_certs is not set). 326 # keep them in that case (even though use_nss_certs is not set).
357 sources -= [ 327 sources -= [
358 "cert/cert_verify_proc_nss.cc", 328 "cert/cert_verify_proc_nss.cc",
359 "cert/cert_verify_proc_nss.h", 329 "cert/cert_verify_proc_nss.h",
330 "cert/test_root_certs_nss.cc",
331 "cert/x509_util_nss_certs.cc",
332 "ocsp/nss_ocsp.cc",
333 "ocsp/nss_ocsp.h",
360 ] 334 ]
361 } 335 }
362 if (is_chromeos) { 336 if (is_chromeos) {
363 # These were already removed on non-ChromeOS. 337 # These were already removed on non-ChromeOS.
364 sources -= [ 338 sources -= [
365 "ssl/client_cert_store_chromeos.cc", 339 "ssl/client_cert_store_chromeos.cc",
366 "ssl/client_cert_store_chromeos.h", 340 "ssl/client_cert_store_chromeos.h",
367 ] 341 ]
368 } 342 }
343 if (use_openssl) {
344 sources -= [ "ssl/openssl_platform_key_nss.cc" ]
345 }
346 } else if (use_openssl) {
347 # client_cert_store_nss.c requires NSS_CmpCertChainWCANames from NSS's
348 # libssl, but our bundled copy is not built in OpenSSL ports. Pull that file
349 # in directly.
350 sources += [ "third_party/nss/ssl/cmpcert.c" ]
369 } 351 }
370 352
371 if (!enable_websockets) { 353 if (!enable_websockets) {
372 sources -= [ 354 sources -= [
373 "websockets/websocket_basic_handshake_stream.cc", 355 "websockets/websocket_basic_handshake_stream.cc",
374 "websockets/websocket_basic_handshake_stream.h", 356 "websockets/websocket_basic_handshake_stream.h",
375 "websockets/websocket_basic_stream.cc", 357 "websockets/websocket_basic_stream.cc",
376 "websockets/websocket_basic_stream.h", 358 "websockets/websocket_basic_stream.h",
377 "websockets/websocket_channel.cc", 359 "websockets/websocket_channel.cc",
378 "websockets/websocket_channel.h", 360 "websockets/websocket_channel.h",
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
451 if (is_mac) { 433 if (is_mac) {
452 libs = [ 434 libs = [
453 "Foundation.framework", 435 "Foundation.framework",
454 "Security.framework", 436 "Security.framework",
455 "SystemConfiguration.framework", 437 "SystemConfiguration.framework",
456 "resolv", 438 "resolv",
457 ] 439 ]
458 } 440 }
459 441
460 if (is_ios) { 442 if (is_ios) {
461 # Add back some sources that were otherwise filtered out. iOS additionally 443 # Add back some sources that were otherwise filtered out. iOS needs some Mac
462 # doesn't set USE_NSS but needs some of the files. 444 # files.
463 set_sources_assignment_filter([]) 445 set_sources_assignment_filter([])
464 sources += [ 446 sources += [
465 "base/net_util_mac.cc", 447 "base/net_util_mac.cc",
466 "base/net_util_mac.h", 448 "base/net_util_mac.h",
467 "base/network_change_notifier_mac.cc", 449 "base/network_change_notifier_mac.cc",
468 "base/network_config_watcher_mac.cc", 450 "base/network_config_watcher_mac.cc",
469 "base/platform_mime_util_mac.mm", 451 "base/platform_mime_util_mac.mm",
470 "cert/cert_verify_proc_nss.cc",
471 "cert/cert_verify_proc_nss.h",
472 "cert/test_root_certs_nss.cc",
473 "cert/x509_util_nss.cc",
474 "cert/x509_util_nss.h",
475 "ocsp/nss_ocsp.cc",
476 "ocsp/nss_ocsp.h",
477 "proxy/proxy_resolver_mac.cc", 452 "proxy/proxy_resolver_mac.cc",
478 "proxy/proxy_server_mac.cc", 453 "proxy/proxy_server_mac.cc",
479 ] 454 ]
480 set_sources_assignment_filter(sources_assignment_filter) 455 set_sources_assignment_filter(sources_assignment_filter)
481 456
482 sources -= [ "disk_cache/blockfile/file_posix.cc" ] 457 sources -= [ "disk_cache/blockfile/file_posix.cc" ]
483 libs = [ 458 libs = [
484 "CFNetwork.framework", 459 "CFNetwork.framework",
485 "MobileCoreServices.framework", 460 "MobileCoreServices.framework",
486 "Security.framework", 461 "Security.framework",
(...skipping 977 matching lines...) Expand 10 before | Expand all | Expand 10 after
1464 "quic/quic_server_bin.cc", 1439 "quic/quic_server_bin.cc",
1465 ] 1440 ]
1466 deps = [ 1441 deps = [
1467 ":quic_tools", 1442 ":quic_tools",
1468 ":net", 1443 ":net",
1469 "//base", 1444 "//base",
1470 "//third_party/boringssl", 1445 "//third_party/boringssl",
1471 ] 1446 ]
1472 } 1447 }
1473 } # !is_android && !is_win && !is_mac 1448 } # !is_android && !is_win && !is_mac
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698