1 # Copyright 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. 4 5 { 6 'variables': { 7 'chromium_code': 1, 8 9 'linux_link_kerberos%': 0, 10 'conditions': [ 11 ['chromeos==1 or embedded==1 or OS=="android" or OS=="ios"', { 12 # Disable Kerberos on ChromeOS, Android and iOS, at least for now. 13 # It needs configuration (krb5.conf and so on). 14 'use_kerberos%': 0, 15 }, { # chromeos == 0 and embedded==0 and OS!="android" and OS!="ios" 16 'use_kerberos%': 1, 17 }], 18 ['OS=="android" and target_arch != "ia32"', { 19 # The way the cache uses mmap() is inefficient on some Android devices. 20 # If this flag is set, we hackily avoid using mmap() in the disk cache. 21 # We are pretty confident that mmap-ing the index would not hurt any 22 # existing x86 android devices, but we cannot be so sure about the 23 # variety of ARM devices. So enable it for x86 only for now. 24 'posix_avoid_mmap%': 1, 25 }, { 26 'posix_avoid_mmap%': 0, 27 }], 28 ['OS=="ios"', { 29 # Websockets and socket stream are not used on iOS. 30 'enable_websockets%': 0, 31 # iOS does not use V8. 32 'use_v8_in_net%': 0, 33 'enable_built_in_dns%': 0, 34 }, { 35 'enable_websockets%': 1, 36 'use_v8_in_net%': 1, 37 'enable_built_in_dns%': 1, 38 }], 39 ], 40 }, 41 'includes': [ 42 '../build/win_precompile.gypi', 43 'net.gypi', 44 ], 45 'targets': [ 46 { 47 'target_name': 'net_derived_sources', 48 'type': 'none', 49 'sources': [ 50 'base/registry_controlled_domains/effective_tld_names.gperf', 51 'base/registry_controlled_domains/effective_tld_names_unittest1.gperf', 52 'base/registry_controlled_domains/effective_tld_names_unittest2.gperf', 53 'base/registry_controlled_domains/effective_tld_names_unittest3.gperf', 54 'base/registry_controlled_domains/effective_tld_names_unittest4.gperf', 55 'base/registry_controlled_domains/effective_tld_names_unittest5.gperf', 56 'base/registry_controlled_domains/effective_tld_names_unittest6.gperf', 57 ], 58 'rules': [ 59 { 60 'rule_name': 'dafsa', 61 'extension': 'gperf', 62 'outputs': [ 63 '<(SHARED_INTERMEDIATE_DIR)/net/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT)-inc.cc', 64 ], 65 'inputs': [ 66 'tools/tld_cleanup/make_dafsa.py', 67 ], 68 'action': [ 69 'python', 70 'tools/tld_cleanup/make_dafsa.py', 71 '<(RULE_INPUT_PATH)', 72 '<(SHARED_INTERMEDIATE_DIR)/net/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT)-inc.cc', 73 ], 74 }, 75 ], 76 'direct_dependent_settings': { 77 'include_dirs': [ 78 '<(SHARED_INTERMEDIATE_DIR)' 79 ], 80 }, 81 }, 82 { 83 'target_name': 'net', 84 'type': '<(component)', 85 'variables': { 'enable_wexit_time_destructors': 1, }, 86 'dependencies': [ 87 '../base/base.gyp:base', 88 '../base/base.gyp:base_i18n', 89 '../base/base.gyp:base_prefs', 90 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', 91 '../crypto/crypto.gyp:crypto', 92 '../sdch/sdch.gyp:sdch', 93 '../third_party/icu/icu.gyp:icui18n', 94 '../third_party/icu/icu.gyp:icuuc', 95 '../third_party/zlib/zlib.gyp:zlib', 96 '../url/url.gyp:url_lib', 97 'net_derived_sources', 98 'net_resources', 99 ], 100 'sources': [ 101 '<@(net_nacl_common_sources)', 102 '<@(net_non_nacl_sources)', 103 ], 104 'defines': [ 105 'NET_IMPLEMENTATION', 106 ], 107 'export_dependent_settings': [ 108 '../base/base.gyp:base', 109 ], 110 'conditions': [ 111 ['chromeos==1', { 112 'sources!': [ 113 'base/network_change_notifier_linux.cc', 114 'base/network_change_notifier_linux.h', 115 'base/network_change_notifier_netlink_linux.cc', 116 'base/network_change_notifier_netlink_linux.h', 117 'proxy/proxy_config_service_linux.cc', 118 'proxy/proxy_config_service_linux.h', 119 ], 120 }], 121 ['use_kerberos==1', { 122 'defines': [ 123 'USE_KERBEROS', 124 ], 125 'conditions': [ 126 ['OS=="openbsd"', { 127 'include_dirs': [ 128 '/usr/include/kerberosV' 129 ], 130 }], 131 ['linux_link_kerberos==1', { 132 'link_settings': { 133 'ldflags': [ 134 '<!@(krb5-config --libs gssapi)', 135 ], 136 }, 137 }, { # linux_link_kerberos==0 138 'defines': [ 139 'DLOPEN_KERBEROS', 140 ], 141 }], 142 ], 143 }, { # use_kerberos == 0 144 'sources!': [ 145 'http/http_auth_gssapi_posix.cc', 146 'http/http_auth_gssapi_posix.h', 147 'http/http_auth_handler_negotiate.h', 148 'http/http_auth_handler_negotiate.cc', 149 ], 150 }], 151 ['posix_avoid_mmap==1', { 152 'defines': [ 153 'POSIX_AVOID_MMAP', 154 ], 155 'direct_dependent_settings': { 156 'defines': [ 157 'POSIX_AVOID_MMAP', 158 ], 159 }, 160 'sources!': [ 161 'disk_cache/blockfile/mapped_file_posix.cc', 162 ], 163 }, { # else 164 'sources!': [ 165 'disk_cache/blockfile/mapped_file_avoid_mmap_posix.cc', 166 ], 167 }], 168 ['disable_file_support==1', { 169 # TODO(mmenke): Should probably get rid of the dependency on 170 # net_resources in this case (It's used in net_util, to format 171 # directory listings. Also used outside of net/). 172 'sources!': [ 173 'base/directory_lister.cc', 174 'base/directory_lister.h', 175 'url_request/url_request_file_dir_job.cc', 176 'url_request/url_request_file_dir_job.h', 177 'url_request/url_request_file_job.cc', 178 'url_request/url_request_file_job.h', 179 'url_request/file_protocol_handler.cc', 180 'url_request/file_protocol_handler.h', 181 ], 182 }], 183 ['disable_ftp_support==1', { 184 'sources/': [ 185 ['exclude', '^ftp/'], 186 ], 187 'sources!': [ 188 'url_request/ftp_protocol_handler.cc', 189 'url_request/ftp_protocol_handler.h', 190 'url_request/url_request_ftp_job.cc', 191 'url_request/url_request_ftp_job.h', 192 ], 193 }], 194 ['enable_built_in_dns==1', { 195 'defines': [ 196 'ENABLE_BUILT_IN_DNS', 197 ] 198 }, { # else 199 'sources!': [ 200 'dns/address_sorter_posix.cc', 201 'dns/address_sorter_posix.h', 202 'dns/dns_client.cc', 203 ], 204 }], 205 ['use_openssl==1', { 206 'sources!': [ 207 'base/crypto_module_nss.cc', 208 'base/keygen_handler_nss.cc', 209 'base/nss_memio.c', 210 'base/nss_memio.h', 211 'cert/cert_database_nss.cc', 212 'cert/cert_verify_proc_nss.cc', 213 'cert/cert_verify_proc_nss.h', 214 'cert/ct_log_verifier_nss.cc', 215 'cert/ct_objects_extractor_nss.cc', 216 'cert/jwk_serializer_nss.cc', 217 'cert/nss_cert_database.cc', 218 'cert/nss_cert_database.h', 219 'cert/nss_cert_database_chromeos.cc', 220 'cert/nss_cert_database_chromeos.h', 221 'cert/nss_profile_filter_chromeos.cc', 222 'cert/nss_profile_filter_chromeos.h', 223 'cert/scoped_nss_types.h', 224 'cert/test_root_certs_nss.cc', 225 'cert/x509_certificate_nss.cc', 226 'cert/x509_util_nss.cc', 227 'cert/x509_util_nss.h', 228 'ocsp/nss_ocsp.cc', 229 'ocsp/nss_ocsp.h', 230 'quic/crypto/aead_base_decrypter_nss.cc', 231 'quic/crypto/aead_base_encrypter_nss.cc', 232 'quic/crypto/aes_128_gcm_12_decrypter_nss.cc', 233 'quic/crypto/aes_128_gcm_12_encrypter_nss.cc', 234 'quic/crypto/chacha20_poly1305_decrypter_nss.cc', 235 'quic/crypto/chacha20_poly1305_encrypter_nss.cc', 236 'quic/crypto/channel_id_nss.cc', 237 'quic/crypto/p256_key_exchange_nss.cc', 238 'socket/nss_ssl_util.cc', 239 'socket/nss_ssl_util.h', 240 'socket/ssl_client_socket_nss.cc', 241 'socket/ssl_client_socket_nss.h', 242 'socket/ssl_server_socket_nss.cc', 243 'socket/ssl_server_socket_nss.h', 244 'third_party/mozilla_security_manager/nsKeygenHandler.cpp', 245 'third_party/mozilla_security_manager/nsKeygenHandler.h', 246 'third_party/mozilla_security_manager/nsNSSCertificateDB.cpp', 247 'third_party/mozilla_security_manager/nsNSSCertificateDB.h', 248 'third_party/mozilla_security_manager/nsPKCS12Blob.cpp', 249 'third_party/mozilla_security_manager/nsPKCS12Blob.h', 250 ], 251 'dependencies': [ 252 '../third_party/boringssl/boringssl.gyp:boringssl', 253 ], 254 }, 255 { # else !use_openssl: remove the unneeded files 256 'sources!': [ 257 'base/crypto_module_openssl.cc', 258 'cert/ct_log_verifier_openssl.cc', 259 'cert/ct_objects_extractor_openssl.cc', 260 'cert/jwk_serializer_openssl.cc', 261 'cert/x509_util_openssl.cc', 262 'cert/x509_util_openssl.h', 263 'crypto/scoped_openssl_types.h', 264 'quic/crypto/aead_base_decrypter_openssl.cc', 265 'quic/crypto/aead_base_encrypter_openssl.cc', 266 'quic/crypto/aes_128_gcm_12_decrypter_openssl.cc', 267 'quic/crypto/aes_128_gcm_12_encrypter_openssl.cc', 268 'quic/crypto/chacha20_poly1305_decrypter_openssl.cc', 269 'quic/crypto/chacha20_poly1305_encrypter_openssl.cc', 270 'quic/crypto/channel_id_openssl.cc', 271 'quic/crypto/p256_key_exchange_openssl.cc', 272 'quic/crypto/scoped_evp_aead_ctx.cc', 273 'quic/crypto/scoped_evp_aead_ctx.h', 274 'socket/ssl_client_socket_openssl.cc', 275 'socket/ssl_client_socket_openssl.h', 276 'socket/ssl_server_socket_openssl.cc', 277 'socket/ssl_server_socket_openssl.h', 278 'socket/ssl_session_cache_openssl.cc', 279 'socket/ssl_session_cache_openssl.h', 280 'ssl/openssl_platform_key_mac.cc', 281 'ssl/openssl_platform_key_win.cc', 282 'ssl/openssl_platform_key.h', 283 'ssl/openssl_ssl_util.cc', 284 'ssl/openssl_ssl_util.h', 285 ], 286 }, 287 ], 288 [ 'use_openssl_certs == 0', { 289 'sources!': [ 290 'base/keygen_handler_openssl.cc', 291 'base/openssl_private_key_store.h', 292 'base/openssl_private_key_store_android.cc', 293 'base/openssl_private_key_store_memory.cc', 294 'cert/cert_database_openssl.cc', 295 'cert/cert_verify_proc_openssl.cc', 296 'cert/cert_verify_proc_openssl.h', 297 'cert/test_root_certs_openssl.cc', 298 'cert/x509_certificate_openssl.cc', 299 'ssl/openssl_client_key_store.cc', 300 'ssl/openssl_client_key_store.h', 301 ], 302 }], 303 [ 'use_glib == 1', { 304 'dependencies': [ 305 '../build/linux/system.gyp:gconf', 306 '../build/linux/system.gyp:gio', 307 ], 308 }], 309 [ 'desktop_linux == 1 or chromeos == 1', { 310 'conditions': [ 311 ['use_openssl == 0', { 312 # use NSS 313 'dependencies': [ 314 '../build/linux/system.gyp:ssl', 315 ], 316 }], 317 ['os_bsd==1', { 318 'sources!': [ 319 'base/network_change_notifier_linux.cc', 320 'base/network_change_notifier_netlink_linux.cc', 321 'proxy/proxy_config_service_linux.cc', 322 ], 323 },{ 324 'dependencies': [ 325 '../build/linux/system.gyp:libresolv', 326 ], 327 }], 328 ['OS=="solaris"', { 329 'link_settings': { 330 'ldflags': [ 331 '-R/usr/lib/mps', 332 ], 333 }, 334 }], 335 ], 336 }, 337 { # else: OS is not in the above list 338 'sources!': [ 339 'base/crypto_module_nss.cc', 340 'base/keygen_handler_nss.cc', 341 'cert/cert_database_nss.cc', 342 'cert/nss_cert_database.cc', 343 'cert/nss_cert_database.h', 344 'cert/test_root_certs_nss.cc', 345 'cert/x509_certificate_nss.cc', 346 'ocsp/nss_ocsp.cc', 347 'ocsp/nss_ocsp.h', 348 'third_party/mozilla_security_manager/nsKeygenHandler.cpp', 349 'third_party/mozilla_security_manager/nsKeygenHandler.h', 350 'third_party/mozilla_security_manager/nsNSSCertificateDB.cpp', 351 'third_party/mozilla_security_manager/nsNSSCertificateDB.h', 352 'third_party/mozilla_security_manager/nsPKCS12Blob.cpp', 353 'third_party/mozilla_security_manager/nsPKCS12Blob.h', 354 ], 355 }, 356 ], 357 [ 'use_nss != 1', { 358 'sources!': [ 359 'cert/cert_verify_proc_nss.cc', 360 'cert/cert_verify_proc_nss.h', 361 'ssl/client_cert_store_nss.cc', 362 'ssl/client_cert_store_nss.h', 363 'ssl/client_cert_store_chromeos.cc', 364 'ssl/client_cert_store_chromeos.h', 365 ], 366 }], 367 [ 'enable_websockets != 1', { 368 'sources/': [ 369 ['exclude', '^socket_stream/'], 370 ['exclude', '^websockets/'], 371 ], 372 'sources!': [ 373 'spdy/spdy_websocket_stream.cc', 374 'spdy/spdy_websocket_stream.h', 375 ], 376 }], 377 [ 'enable_mdns != 1', { 378 'sources!' : [ 379 'dns/mdns_cache.cc', 380 'dns/mdns_cache.h', 381 'dns/mdns_client.cc', 382 'dns/mdns_client.h', 383 'dns/mdns_client_impl.cc', 384 'dns/mdns_client_impl.h', 385 'dns/record_parsed.cc', 386 'dns/record_parsed.h', 387 'dns/record_rdata.cc', 388 'dns/record_rdata.h', 389 ] 390 }], 391 [ 'OS == "win"', { 392 'sources!': [ 393 'http/http_auth_handler_ntlm_portable.cc', 394 'socket/socket_libevent.cc', 395 'socket/socket_libevent.h', 396 'socket/tcp_socket_libevent.cc', 397 'socket/tcp_socket_libevent.h', 398 'udp/udp_socket_libevent.cc', 399 'udp/udp_socket_libevent.h', 400 ], 401 'dependencies': [ 402 '../third_party/nss/nss.gyp:nspr', 403 '../third_party/nss/nss.gyp:nss', 404 'third_party/nss/ssl.gyp:libssl', 405 ], 406 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 407 'msvs_disabled_warnings': [4267, ], 408 }, { # else: OS != "win" 409 'sources!': [ 410 'base/winsock_init.cc', 411 'base/winsock_init.h', 412 'base/winsock_util.cc', 413 'base/winsock_util.h', 414 'proxy/proxy_resolver_winhttp.cc', 415 'proxy/proxy_resolver_winhttp.h', 416 ], 417 }, 418 ], 419 [ 'OS == "mac"', { 420 'conditions': [ 421 [ 'use_openssl == 0', { 422 'dependencies': [ 423 # defaults to nss 424 '../third_party/nss/nss.gyp:nspr', 425 '../third_party/nss/nss.gyp:nss', 426 'third_party/nss/ssl.gyp:libssl', 427 ], 428 }], 429 ], 430 'link_settings': { 431 'libraries': [ 432 '$(SDKROOT)/System/Library/Frameworks/Foundation.framework', 433 '$(SDKROOT)/System/Library/Frameworks/Security.framework', 434 '$(SDKROOT)/System/Library/Frameworks/SystemConfiguration.framework', 435 '$(SDKROOT)/usr/lib/libresolv.dylib', 436 ] 437 }, 438 }, 439 ], 440 [ 'OS == "ios"', { 441 'dependencies': [ 442 '../third_party/nss/nss.gyp:nss', 443 'third_party/nss/ssl.gyp:libssl', 444 ], 445 'sources!': [ 446 'disk_cache/blockfile/file_posix.cc', 447 ], 448 'link_settings': { 449 'libraries': [ 450 '$(SDKROOT)/System/Library/Frameworks/CFNetwork.framework', 451 '$(SDKROOT)/System/Library/Frameworks/MobileCoreServices.framework', 452 '$(SDKROOT)/System/Library/Frameworks/Security.framework', 453 '$(SDKROOT)/System/Library/Frameworks/SystemConfiguration.framework', 454 '$(SDKROOT)/usr/lib/libresolv.dylib', 455 ], 456 }, 457 }, 458 ], 459 ['OS=="android" and _toolset=="target" and android_webview_build == 0', { 460 'dependencies': [ 461 'net_java', 462 ], 463 }], 464 [ 'OS == "android"', { 465 'dependencies': [ 466 '../third_party/boringssl/boringssl.gyp:boringssl', 467 'net_jni_headers', 468 ], 469 'sources!': [ 470 'base/openssl_private_key_store_memory.cc', 471 'cert/cert_database_openssl.cc', 472 'cert/cert_verify_proc_openssl.cc', 473 'cert/test_root_certs_openssl.cc', 474 ], 475 }, 476 ], 477 [ 'use_icu_alternatives_on_android == 1', { 478 'dependencies!': [ 479 '../base/base.gyp:base_i18n', 480 '../third_party/icu/icu.gyp:icui18n', 481 '../third_party/icu/icu.gyp:icuuc', 482 ], 483 'sources!': [ 484 'base/filename_util_icu.cc', 485 'base/net_string_util_icu.cc', 486 'base/net_util_icu.cc', 487 ], 488 'sources': [ 489 'base/net_string_util_icu_alternatives_android.cc', 490 'base/net_string_util_icu_alternatives_android.h', 491 ], 492 }, 493 ], 494 ], 495 'target_conditions': [ 496 # These source files are excluded by default platform rules, but they 497 # are needed in specific cases on other platforms. Re-including them can 498 # only be done in target_conditions as it is evaluated after the 499 # platform rules. 500 ['OS == "android"', { 501 'sources/': [ 502 ['include', '^base/platform_mime_util_linux\\.cc$'], 503 ['include', '^base/address_tracker_linux\\.cc$'], 504 ['include', '^base/address_tracker_linux\\.h$'], 505 ], 506 }], 507 ['OS == "ios"', { 508 'sources/': [ 509 ['include', '^base/network_change_notifier_mac\\.cc$'], 510 ['include', '^base/network_config_watcher_mac\\.cc$'], 511 ['include', '^base/platform_mime_util_mac\\.mm$'], 512 # The iOS implementation only partially uses NSS and thus does not 513 # defines |use_nss|. In particular the |USE_NSS| preprocessor 514 # definition is not used. The following files are needed though: 515 ['include', '^cert/cert_verify_proc_nss\\.cc$'], 516 ['include', '^cert/cert_verify_proc_nss\\.h$'], 517 ['include', '^cert/test_root_certs_nss\\.cc$'], 518 ['include', '^cert/x509_util_nss\\.cc$'], 519 ['include', '^cert/x509_util_nss\\.h$'], 520 ['include', '^proxy/proxy_resolver_mac\\.cc$'], 521 ['include', '^proxy/proxy_server_mac\\.cc$'], 522 ['include', '^ocsp/nss_ocsp\\.cc$'], 523 ['include', '^ocsp/nss_ocsp\\.h$'], 524 ], 525 }], 526 ], 527 }, 528 { 529 'target_name': 'net_unittests', 530 'type': '<(gtest_target_type)', 531 'dependencies': [ 532 '../base/base.gyp:base', 533 '../base/base.gyp:base_i18n', 534 '../base/base.gyp:base_prefs_test_support', 535 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', 536 '../crypto/crypto.gyp:crypto', 537 '../crypto/crypto.gyp:crypto_test_support', 538 '../testing/gmock.gyp:gmock', 539 '../testing/gtest.gyp:gtest', 540 '../third_party/zlib/zlib.gyp:zlib', 541 '../url/url.gyp:url_lib', 542 'balsa', 543 'http_server', 544 'net', 545 'net_derived_sources', 546 'net_extras', 547 'net_test_support', 548 'quic_tools', 549 ], 550 'sources': [ 551 '<@(net_test_sources)', 552 ], 553 'conditions': [ 554 ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', { 555 'dependencies': [ 556 'epoll_server', 557 'flip_in_mem_edsm_server_base', 558 'quic_base', 559 ], 560 'sources': [ 561 '<@(net_linux_test_sources)', 562 ], 563 }], 564 ['chromeos==1', { 565 'sources!': [ 566 'proxy/proxy_config_service_linux_unittest.cc', 567 ], 568 }], 569 [ 'OS == "android"', { 570 'sources!': [ 571 # See bug http://crbug.com/344533. 572 'disk_cache/blockfile/index_table_v3_unittest.cc', 573 # No res_ninit() et al on Android, so this doesn't make a lot of 574 # sense. 575 'dns/dns_config_service_posix_unittest.cc', 576 ], 577 'dependencies': [ 578 'net_javatests', 579 'net_test_jni_headers', 580 ], 581 }], 582 [ 'use_nss != 1', { 583 'sources!': [ 584 'ssl/client_cert_store_nss_unittest.cc', 585 'ssl/client_cert_store_chromeos_unittest.cc', 586 ], 587 }], 588 [ 'use_openssl == 1', { 589 # Avoid compiling/linking with the system library. 590 'dependencies': [ 591 '../third_party/boringssl/boringssl.gyp:boringssl', 592 ], 593 }, { # use_openssl == 0 594 'conditions': [ 595 [ 'desktop_linux == 1 or chromeos == 1', { 596 'dependencies': [ 597 '../build/linux/system.gyp:ssl', 598 ], 599 }, { # desktop_linux == 0 and chromeos == 0 600 'sources!': [ 601 'cert/nss_cert_database_unittest.cc', 602 ], 603 }], 604 ], 605 }], 606 [ 'os_posix == 1 and OS != "mac" and OS != "android" and OS != "ios"', { 607 'conditions': [ 608 ['use_allocator!="none"', { 609 'dependencies': [ 610 '../base/allocator/allocator.gyp:allocator', 611 ], 612 }], 613 ], 614 }], 615 [ 'use_kerberos==1', { 616 'defines': [ 617 'USE_KERBEROS', 618 ], 619 }, { # use_kerberos == 0 620 'sources!': [ 621 'http/http_auth_gssapi_posix_unittest.cc', 622 'http/http_auth_handler_negotiate_unittest.cc', 623 'http/mock_gssapi_library_posix.cc', 624 'http/mock_gssapi_library_posix.h', 625 ], 626 }], 627 [ 'use_openssl == 1 or (desktop_linux == 0 and chromeos == 0 and OS != "ios")', { 628 # Only include this test when on Posix and using NSS for 629 # cert verification or on iOS (which also uses NSS for certs). 630 'sources!': [ 631 'ocsp/nss_ocsp_unittest.cc', 632 ], 633 }], 634 [ 'use_openssl==1', { 635 # When building for OpenSSL, we need to exclude NSS specific tests 636 # or functionality not supported by OpenSSL yet. 637 # TODO(bulach): Add equivalent tests when the underlying 638 # functionality is ported to OpenSSL. 639 'sources!': [ 640 'cert/nss_cert_database_unittest.cc', 641 'cert/nss_cert_database_chromeos_unittest.cc', 642 'cert/nss_profile_filter_chromeos_unittest.cc', 643 'cert/x509_util_nss_unittest.cc', 644 'quic/test_tools/crypto_test_utils_nss.cc', 645 ], 646 }, { # else !use_openssl: remove the unneeded files 647 'sources!': [ 648 'cert/x509_util_openssl_unittest.cc', 649 'quic/test_tools/crypto_test_utils_openssl.cc', 650 'socket/ssl_client_socket_openssl_unittest.cc', 651 'socket/ssl_session_cache_openssl_unittest.cc', 652 ], 653 }, 654 ], 655 [ 'use_openssl_certs == 0', { 656 'sources!': [ 657 'ssl/openssl_client_key_store_unittest.cc', 658 ], 659 }], 660 [ 'enable_websockets != 1', { 661 'sources/': [ 662 ['exclude', '^socket_stream/'], 663 ['exclude', '^websockets/'], 664 ['exclude', '^spdy/spdy_websocket_stream_unittest\\.cc$'], 665 ], 666 }], 667 ['disable_file_support==1', { 668 'sources!': [ 669 'base/directory_lister_unittest.cc', 670 'url_request/url_request_file_job_unittest.cc', 671 ], 672 }], 673 [ 'disable_ftp_support==1', { 674 'sources/': [ 675 ['exclude', '^ftp/'], 676 ], 677 'sources!': [ 678 'url_request/url_request_ftp_job_unittest.cc', 679 ], 680 }, 681 ], 682 [ 'enable_built_in_dns!=1', { 683 'sources!': [ 684 'dns/address_sorter_posix_unittest.cc', 685 'dns/address_sorter_unittest.cc', 686 ], 687 }, 688 ], 689 # Always need use_v8_in_net to be 1 to run gyp on Android, so just 690 # remove net_unittest's dependency on v8 when using icu alternatives 691 # instead of setting use_v8_in_net to 0. 692 [ 'use_v8_in_net==1 and use_icu_alternatives_on_android==0', { 693 'dependencies': [ 694 'net_with_v8', 695 ], 696 }, { # else: !use_v8_in_net 697 'sources!': [ 698 'proxy/proxy_resolver_v8_unittest.cc', 699 'proxy/proxy_resolver_v8_tracing_unittest.cc', 700 ], 701 }, 702 ], 703 704 [ 'enable_mdns != 1', { 705 'sources!' : [ 706 'dns/mdns_cache_unittest.cc', 707 'dns/mdns_client_unittest.cc', 708 'dns/mdns_query_unittest.cc', 709 'dns/record_parsed_unittest.cc', 710 'dns/record_rdata_unittest.cc', 711 ], 712 }], 713 [ 'OS == "win"', { 714 'sources!': [ 715 'dns/dns_config_service_posix_unittest.cc', 716 'http/http_auth_gssapi_posix_unittest.cc', 717 ], 718 'dependencies': [ 719 '../third_party/nss/nss.gyp:nspr', 720 '../third_party/nss/nss.gyp:nss', 721 'third_party/nss/ssl.gyp:libssl', 722 ], 723 'conditions': [ 724 [ 'icu_use_data_file_flag == 0', { 725 # This is needed to trigger the dll copy step on windows. 726 # TODO(mark): Specifying this here shouldn't be necessary. 727 'dependencies': [ 728 '../third_party/icu/icu.gyp:icudata', 729 ], 730 }], 731 ], 732 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 733 'msvs_disabled_warnings': [4267, ], 734 }, 735 ], 736 [ 'OS == "mac" and use_openssl == 0', { 737 'dependencies': [ 738 '../third_party/nss/nss.gyp:nspr', 739 '../third_party/nss/nss.gyp:nss', 740 'third_party/nss/ssl.gyp:libssl', 741 ], 742 }, 743 ], 744 [ 'OS == "ios"', { 745 'dependencies': [ 746 '../third_party/nss/nss.gyp:nss', 747 ], 748 'actions': [ 749 { 750 'action_name': 'copy_test_data', 751 'variables': { 752 'test_data_files': [ 753 'data/ssl/certificates/', 754 'data/test.html', 755 'data/url_request_unittest/', 756 ], 757 'test_data_prefix': 'net', 758 }, 759 'includes': [ '../build/copy_test_data_ios.gypi' ], 760 }, 761 ], 762 'sources!': [ 763 # TODO(droger): The following tests are disabled because the 764 # implementation is missing or incomplete. 765 # KeygenHandler::GenKeyAndSignChallenge() is not ported to iOS. 766 'base/keygen_handler_unittest.cc', 767 'disk_cache/backend_unittest.cc', 768 'disk_cache/blockfile/block_files_unittest.cc', 769 # Need to read input data files. 770 'filter/gzip_filter_unittest.cc', 771 'socket/ssl_server_socket_unittest.cc', 772 'spdy/fuzzing/hpack_fuzz_util_test.cc', 773 # Need TestServer. 774 'proxy/proxy_script_fetcher_impl_unittest.cc', 775 'socket/ssl_client_socket_unittest.cc', 776 'url_request/url_fetcher_impl_unittest.cc', 777 'url_request/url_request_context_builder_unittest.cc', 778 # Needs GetAppOutput(). 779 'test/python_utils_unittest.cc', 780 781 # The following tests are disabled because they don't apply to 782 # iOS. 783 # OS is not "linux" or "freebsd" or "openbsd". 784 'socket/unix_domain_client_socket_posix_unittest.cc', 785 'socket/unix_domain_listen_socket_posix_unittest.cc', 786 'socket/unix_domain_server_socket_posix_unittest.cc', 787 788 # See bug http://crbug.com/344533. 789 'disk_cache/blockfile/index_table_v3_unittest.cc', 790 ], 791 }], 792 [ 'OS == "android"', { 793 'dependencies': [ 794 '../third_party/boringssl/boringssl.gyp:boringssl', 795 ], 796 'sources!': [ 797 'dns/dns_config_service_posix_unittest.cc', 798 ], 799 }, 800 ], 801 ['OS == "android"', { 802 # TODO(mmenke): This depends on test_support_base, which depends on 803 # icu. Figure out a way to remove that dependency. 804 'dependencies': [ 805 '../testing/android/native_test.gyp:native_test_native_code', 806 ] 807 }], 808 [ 'use_icu_alternatives_on_android == 1', { 809 'dependencies!': [ 810 '../base/base.gyp:base_i18n', 811 ], 812 'sources!': [ 813 'base/filename_util_unittest.cc', 814 'base/net_util_icu_unittest.cc', 815 ], 816 }, 817 ], 818 ], 819 'target_conditions': [ 820 # These source files are excluded by default platform rules, but they 821 # are needed in specific cases on other platforms. Re-including them can 822 # only be done in target_conditions as it is evaluated after the 823 # platform rules. 824 ['OS == "android"', { 825 'sources/': [ 826 ['include', '^base/address_tracker_linux_unittest\\.cc$'], 827 ], 828 }], 829 ], 830 }, 831 { 832 'target_name': 'net_perftests', 833 'type': 'executable', 834 'dependencies': [ 835 '../base/base.gyp:base', 836 '../base/base.gyp:base_i18n', 837 '../base/base.gyp:test_support_perf', 838 '../testing/gtest.gyp:gtest', 839 '../url/url.gyp:url_lib', 840 'net', 841 'net_test_support', 842 ], 843 'sources': [ 844 'cookies/cookie_monster_perftest.cc', 845 'disk_cache/blockfile/disk_cache_perftest.cc', 846 'proxy/proxy_resolver_perftest.cc', 847 'websockets/websocket_frame_perftest.cc', 848 ], 849 'conditions': [ 850 [ 'use_v8_in_net==1', { 851 'dependencies': [ 852 'net_with_v8', 853 ], 854 }, { # else: !use_v8_in_net 855 'sources!': [ 856 'proxy/proxy_resolver_perftest.cc', 857 ], 858 }, 859 ], 860 [ 'OS == "win"', { 861 'conditions': [ 862 [ 'icu_use_data_file_flag == 0', { 863 # This is needed to trigger the dll copy step on windows. 864 # TODO(mark): Specifying this here shouldn't be necessary. 865 'dependencies': [ 866 '../third_party/icu/icu.gyp:icudata', 867 ], 868 }], 869 ], 870 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 871 'msvs_disabled_warnings': [4267, ], 872 }], 873 [ 'enable_websockets != 1', { 874 'sources!': [ 875 'websockets/websocket_frame_perftest.cc', 876 ], 877 }], 878 ], 879 }, 880 { 881 'target_name': 'net_test_support', 882 'type': 'static_library', 883 'dependencies': [ 884 '../base/base.gyp:base', 885 '../base/base.gyp:test_support_base', 886 '../net/tools/tld_cleanup/tld_cleanup.gyp:tld_cleanup_util', 887 '../testing/gtest.gyp:gtest', 888 '../testing/gmock.gyp:gmock', 889 '../url/url.gyp:url_lib', 890 'net', 891 ], 892 'export_dependent_settings': [ 893 '../base/base.gyp:base', 894 # TODO(mmenke): This depends on icu, figure out a way to build tests 895 # without icu. 896 '../base/base.gyp:test_support_base', 897 '../testing/gtest.gyp:gtest', 898 '../testing/gmock.gyp:gmock', 899 ], 900 'sources': [ 901 'base/capturing_net_log.cc', 902 'base/capturing_net_log.h', 903 'base/load_timing_info_test_util.cc', 904 'base/load_timing_info_test_util.h', 905 'base/mock_file_stream.cc', 906 'base/mock_file_stream.h', 907 'base/test_completion_callback.cc', 908 'base/test_completion_callback.h', 909 'base/test_data_directory.cc', 910 'base/test_data_directory.h', 911 'cert/mock_cert_verifier.cc', 912 'cert/mock_cert_verifier.h', 913 'cookies/cookie_monster_store_test.cc', 914 'cookies/cookie_monster_store_test.h', 915 'cookies/cookie_store_test_callbacks.cc', 916 'cookies/cookie_store_test_callbacks.h', 917 'cookies/cookie_store_test_helpers.cc', 918 'cookies/cookie_store_test_helpers.h', 919 'disk_cache/disk_cache_test_base.cc', 920 'disk_cache/disk_cache_test_base.h', 921 'disk_cache/disk_cache_test_util.cc', 922 'disk_cache/disk_cache_test_util.h', 923 'dns/dns_test_util.cc', 924 'dns/dns_test_util.h', 925 'dns/mock_host_resolver.cc', 926 'dns/mock_host_resolver.h', 927 'dns/mock_mdns_socket_factory.cc', 928 'dns/mock_mdns_socket_factory.h', 929 'http/http_transaction_test_util.cc', 930 'http/http_transaction_test_util.h', 931 'proxy/mock_proxy_resolver.cc', 932 'proxy/mock_proxy_resolver.h', 933 'proxy/mock_proxy_script_fetcher.cc', 934 'proxy/mock_proxy_script_fetcher.h', 935 'proxy/proxy_config_service_common_unittest.cc', 936 'proxy/proxy_config_service_common_unittest.h', 937 'socket/socket_test_util.cc', 938 'socket/socket_test_util.h', 939 'test/cert_test_util.cc', 940 'test/cert_test_util.h', 941 'test/cert_test_util_nss.cc', 942 'test/ct_test_util.cc', 943 'test/ct_test_util.h', 944 'test/embedded_test_server/embedded_test_server.cc', 945 'test/embedded_test_server/embedded_test_server.h', 946 'test/embedded_test_server/http_connection.cc', 947 'test/embedded_test_server/http_connection.h', 948 'test/embedded_test_server/http_request.cc', 949 'test/embedded_test_server/http_request.h', 950 'test/embedded_test_server/http_response.cc', 951 'test/embedded_test_server/http_response.h', 952 'test/net_test_suite.cc', 953 'test/net_test_suite.h', 954 'test/python_utils.cc', 955 'test/python_utils.h', 956 'test/spawned_test_server/base_test_server.cc', 957 'test/spawned_test_server/base_test_server.h', 958 'test/spawned_test_server/local_test_server_posix.cc', 959 'test/spawned_test_server/local_test_server_win.cc', 960 'test/spawned_test_server/local_test_server.cc', 961 'test/spawned_test_server/local_test_server.h', 962 'test/spawned_test_server/remote_test_server.cc', 963 'test/spawned_test_server/remote_test_server.h', 964 'test/spawned_test_server/spawned_test_server.h', 965 'test/spawned_test_server/spawner_communicator.cc', 966 'test/spawned_test_server/spawner_communicator.h', 967 'test/url_request/url_request_failed_job.cc', 968 'test/url_request/url_request_failed_job.h', 969 'test/url_request/url_request_mock_http_job.cc', 970 'test/url_request/url_request_mock_http_job.h', 971 'url_request/test_url_fetcher_factory.cc', 972 'url_request/test_url_fetcher_factory.h', 973 'url_request/test_url_request_interceptor.cc', 974 'url_request/test_url_request_interceptor.h', 975 'url_request/url_request_test_util.cc', 976 'url_request/url_request_test_util.h', 977 ], 978 'conditions': [ 979 ['OS != "ios"', { 980 'dependencies': [ 981 '../third_party/protobuf/protobuf.gyp:py_proto', 982 ], 983 }], 984 ['os_posix == 1 and OS != "mac" and OS != "android" and OS != "ios"', { 985 'conditions': [ 986 ['use_openssl==1', { 987 'dependencies': [ 988 '../third_party/boringssl/boringssl.gyp:boringssl', 989 ], 990 }, { 991 'dependencies': [ 992 '../build/linux/system.gyp:ssl', 993 ], 994 }], 995 ], 996 }], 997 ['os_posix == 1 and OS != "mac" and OS != "android" and OS != "ios"', { 998 'conditions': [ 999 ['use_allocator!="none"', { 1000 'dependencies': [ 1001 '../base/allocator/allocator.gyp:allocator', 1002 ], 1003 }], 1004 ], 1005 }], 1006 ['OS != "android"', { 1007 'sources!': [ 1008 'test/spawned_test_server/remote_test_server.cc', 1009 'test/spawned_test_server/remote_test_server.h', 1010 'test/spawned_test_server/spawner_communicator.cc', 1011 'test/spawned_test_server/spawner_communicator.h', 1012 ], 1013 }], 1014 ['OS == "ios"', { 1015 'dependencies': [ 1016 '../third_party/nss/nss.gyp:nss', 1017 ], 1018 }], 1019 [ 'use_v8_in_net==1', { 1020 'dependencies': [ 1021 'net_with_v8', 1022 ], 1023 }, 1024 ], 1025 [ 'enable_mdns != 1', { 1026 'sources!' : [ 1027 'dns/mock_mdns_socket_factory.cc', 1028 'dns/mock_mdns_socket_factory.h' 1029 ] 1030 }], 1031 [ 'use_nss != 1', { 1032 'sources!': [ 1033 'test/cert_test_util_nss.cc', 1034 ], 1035 }], 1036 ], 1037 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 1038 'msvs_disabled_warnings': [4267, ], 1039 }, 1040 { 1041 'target_name': 'net_resources', 1042 'type': 'none', 1043 'variables': { 1044 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/net', 1045 }, 1046 'actions': [ 1047 { 1048 'action_name': 'net_resources', 1049 'variables': { 1050 'grit_grd_file': 'base/net_resources.grd', 1051 }, 1052 'includes': [ '../build/grit_action.gypi' ], 1053 }, 1054 ], 1055 }, 1056 { 1057 'target_name': 'net_extras', 1058 'type': 'static_library', 1059 'variables': { 'enable_wexit_time_destructors': 1, }, 1060 'dependencies': [ 1061 '../base/base.gyp:base', 1062 '../sql/sql.gyp:sql', 1063 'net', 1064 ], 1065 'sources': [ 1066 '<@(net_extras_sources)', 1067 ], 1068 }, 1069 { 1070 'target_name': 'http_server', 1071 'type': 'static_library', 1072 'variables': { 'enable_wexit_time_destructors': 1, }, 1073 'dependencies': [ 1074 '../base/base.gyp:base', 1075 'net', 1076 ], 1077 'sources': [ 1078 'server/http_connection.cc', 1079 'server/http_connection.h', 1080 'server/http_server.cc', 1081 'server/http_server.h', 1082 'server/http_server_request_info.cc', 1083 'server/http_server_request_info.h', 1084 'server/http_server_response_info.cc', 1085 'server/http_server_response_info.h', 1086 'server/web_socket.cc', 1087 'server/web_socket.h', 1088 ], 1089 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 1090 'msvs_disabled_warnings': [4267, ], 1091 }, 1092 { 1093 'target_name': 'balsa', 1094 'type': 'static_library', 1095 'dependencies': [ 1096 '../base/base.gyp:base', 1097 'net', 1098 ], 1099 'sources': [ 1100 'tools/balsa/balsa_enums.h', 1101 'tools/balsa/balsa_frame.cc', 1102 'tools/balsa/balsa_frame.h', 1103 'tools/balsa/balsa_headers.cc', 1104 'tools/balsa/balsa_headers.h', 1105 'tools/balsa/balsa_headers_token_utils.cc', 1106 'tools/balsa/balsa_headers_token_utils.h', 1107 'tools/balsa/balsa_visitor_interface.h', 1108 'tools/balsa/http_message_constants.cc', 1109 'tools/balsa/http_message_constants.h', 1110 'tools/balsa/noop_balsa_visitor.h', 1111 'tools/balsa/simple_buffer.cc', 1112 'tools/balsa/simple_buffer.h', 1113 'tools/balsa/split.cc', 1114 'tools/balsa/split.h', 1115 'tools/balsa/string_piece_utils.h', 1116 'tools/quic/spdy_utils.cc', 1117 'tools/quic/spdy_utils.h', 1118 ], 1119 }, 1120 { 1121 'target_name': 'dump_cache', 1122 'type': 'executable', 1123 'dependencies': [ 1124 '../base/base.gyp:base', 1125 'net', 1126 'net_test_support', 1127 ], 1128 'sources': [ 1129 'tools/dump_cache/cache_dumper.cc', 1130 'tools/dump_cache/cache_dumper.h', 1131 'tools/dump_cache/dump_cache.cc', 1132 'tools/dump_cache/dump_files.cc', 1133 'tools/dump_cache/dump_files.h', 1134 'tools/dump_cache/simple_cache_dumper.cc', 1135 'tools/dump_cache/simple_cache_dumper.h', 1136 'tools/dump_cache/url_to_filename_encoder.cc', 1137 'tools/dump_cache/url_to_filename_encoder.h', 1138 'tools/dump_cache/url_utilities.h', 1139 'tools/dump_cache/url_utilities.cc', 1140 ], 1141 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 1142 'msvs_disabled_warnings': [4267, ], 1143 }, 1144 { 1145 # This is a temporary target which will be merged into 'net' once the 1146 # dependency on balsa is eliminated and the classes are actually used. 1147 'target_name': 'quic_tools', 1148 'type': 'static_library', 1149 'dependencies': [ 1150 '../base/base.gyp:base', 1151 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', 1152 '../url/url.gyp:url_lib', 1153 'net', 1154 ], 1155 'sources': [ 1156 'quic/quic_dispatcher.cc', 1157 'quic/quic_dispatcher.h', 1158 'quic/quic_in_memory_cache.cc', 1159 'quic/quic_in_memory_cache.h', 1160 'quic/quic_per_connection_packet_writer.cc', 1161 'quic/quic_per_connection_packet_writer.h', 1162 'quic/quic_server.cc', 1163 'quic/quic_server.h', 1164 'quic/quic_server_packet_writer.cc', 1165 'quic/quic_server_packet_writer.h', 1166 'quic/quic_server_session.cc', 1167 'quic/quic_server_session.h', 1168 'quic/quic_spdy_server_stream.cc', 1169 'quic/quic_spdy_server_stream.h', 1170 'quic/quic_time_wait_list_manager.cc', 1171 'quic/quic_time_wait_list_manager.h', 1172 ], 1173 }, 1174 ], 1175 'conditions': [ 1176 ['use_v8_in_net == 1', { 1177 'targets': [ 1178 { 1179 'target_name': 'net_with_v8', 1180 'type': '<(component)', 1181 'variables': { 'enable_wexit_time_destructors': 1, }, 1182 'dependencies': [ 1183 '../base/base.gyp:base', 1184 '../gin/gin.gyp:gin', 1185 '../url/url.gyp:url_lib', 1186 '../v8/tools/gyp/v8.gyp:v8', 1187 'net' 1188 ], 1189 'defines': [ 1190 'NET_IMPLEMENTATION', 1191 ], 1192 'sources': [ 1193 'proxy/proxy_resolver_v8.cc', 1194 'proxy/proxy_resolver_v8.h', 1195 'proxy/proxy_resolver_v8_tracing.cc', 1196 'proxy/proxy_resolver_v8_tracing.h', 1197 'proxy/proxy_service_v8.cc', 1198 'proxy/proxy_service_v8.h', 1199 ], 1200 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 1201 'msvs_disabled_warnings': [4267, ], 1202 }, 1203 ], 1204 }], 1205 ['OS != "ios" and OS != "android"', { 1206 'targets': [ 1207 # iOS doesn't have the concept of simple executables, these targets 1208 # can't be compiled on the platform. 1209 { 1210 'target_name': 'crash_cache', 1211 'type': 'executable', 1212 'dependencies': [ 1213 '../base/base.gyp:base', 1214 'net', 1215 'net_test_support', 1216 ], 1217 'sources': [ 1218 'tools/crash_cache/crash_cache.cc', 1219 ], 1220 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 1221 'msvs_disabled_warnings': [4267, ], 1222 }, 1223 { 1224 'target_name': 'crl_set_dump', 1225 'type': 'executable', 1226 'dependencies': [ 1227 '../base/base.gyp:base', 1228 'net', 1229 ], 1230 'sources': [ 1231 'tools/crl_set_dump/crl_set_dump.cc', 1232 ], 1233 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 1234 'msvs_disabled_warnings': [4267, ], 1235 }, 1236 { 1237 'target_name': 'dns_fuzz_stub', 1238 'type': 'executable', 1239 'dependencies': [ 1240 '../base/base.gyp:base', 1241 'net', 1242 ], 1243 'sources': [ 1244 'tools/dns_fuzz_stub/dns_fuzz_stub.cc', 1245 ], 1246 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 1247 'msvs_disabled_warnings': [4267, ], 1248 }, 1249 { 1250 'target_name': 'gdig', 1251 'type': 'executable', 1252 'dependencies': [ 1253 '../base/base.gyp:base', 1254 'net', 1255 ], 1256 'sources': [ 1257 'tools/gdig/file_net_log.cc', 1258 'tools/gdig/gdig.cc', 1259 ], 1260 }, 1261 { 1262 'target_name': 'get_server_time', 1263 'type': 'executable', 1264 'dependencies': [ 1265 '../base/base.gyp:base', 1266 '../base/base.gyp:base_i18n', 1267 '../url/url.gyp:url_lib', 1268 'net', 1269 ], 1270 'sources': [ 1271 'tools/get_server_time/get_server_time.cc', 1272 ], 1273 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 1274 'msvs_disabled_warnings': [4267, ], 1275 }, 1276 { 1277 'target_name': 'hpack_example_generator', 1278 'type': 'executable', 1279 'dependencies': [ 1280 '../base/base.gyp:base', 1281 'net', 1282 ], 1283 'sources': [ 1284 'spdy/fuzzing/hpack_example_generator.cc', 1285 ], 1286 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 1287 'msvs_disabled_warnings': [4267, ], 1288 }, 1289 { 1290 'target_name': 'hpack_fuzz_mutator', 1291 'type': 'executable', 1292 'dependencies': [ 1293 '../base/base.gyp:base', 1294 'net', 1295 ], 1296 'sources': [ 1297 'spdy/fuzzing/hpack_fuzz_mutator.cc', 1298 ], 1299 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 1300 'msvs_disabled_warnings': [4267, ], 1301 }, 1302 { 1303 'target_name': 'hpack_fuzz_wrapper', 1304 'type': 'executable', 1305 'dependencies': [ 1306 '../base/base.gyp:base', 1307 'net', 1308 ], 1309 'sources': [ 1310 'spdy/fuzzing/hpack_fuzz_wrapper.cc', 1311 ], 1312 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 1313 'msvs_disabled_warnings': [4267, ], 1314 }, 1315 { 1316 'target_name': 'net_watcher', 1317 'type': 'executable', 1318 'dependencies': [ 1319 '../base/base.gyp:base', 1320 'net', 1321 'net_with_v8', 1322 ], 1323 'conditions': [ 1324 [ 'use_glib == 1', { 1325 'dependencies': [ 1326 '../build/linux/system.gyp:gconf', 1327 '../build/linux/system.gyp:gio', 1328 ], 1329 }, 1330 ], 1331 ], 1332 'sources': [ 1333 'tools/net_watcher/net_watcher.cc', 1334 ], 1335 }, 1336 { 1337 'target_name': 'run_testserver', 1338 'type': 'executable', 1339 'dependencies': [ 1340 '../base/base.gyp:base', 1341 '../base/base.gyp:test_support_base', 1342 '../testing/gtest.gyp:gtest', 1343 'net_test_support', 1344 ], 1345 'sources': [ 1346 'tools/testserver/run_testserver.cc', 1347 ], 1348 }, 1349 { 1350 'target_name': 'stress_cache', 1351 'type': 'executable', 1352 'dependencies': [ 1353 '../base/base.gyp:base', 1354 'net', 1355 'net_test_support', 1356 ], 1357 'sources': [ 1358 'disk_cache/blockfile/stress_cache.cc', 1359 ], 1360 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 1361 'msvs_disabled_warnings': [4267, ], 1362 }, 1363 { 1364 'target_name': 'tld_cleanup', 1365 'type': 'executable', 1366 'dependencies': [ 1367 '../base/base.gyp:base', 1368 '../base/base.gyp:base_i18n', 1369 '../net/tools/tld_cleanup/tld_cleanup.gyp:tld_cleanup_util', 1370 ], 1371 'sources': [ 1372 'tools/tld_cleanup/tld_cleanup.cc', 1373 ], 1374 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 1375 'msvs_disabled_warnings': [4267, ], 1376 }, 1377 ], 1378 }], 1379 ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', { 1380 'targets': [ 1381 { 1382 'target_name': 'epoll_server', 1383 'type': 'static_library', 1384 'dependencies': [ 1385 '../base/base.gyp:base', 1386 'net', 1387 ], 1388 'sources': [ 1389 'tools/epoll_server/epoll_server.cc', 1390 'tools/epoll_server/epoll_server.h', 1391 ], 1392 }, 1393 { 1394 'target_name': 'flip_in_mem_edsm_server_base', 1395 'type': 'static_library', 1396 'cflags': [ 1397 '-Wno-deprecated', 1398 ], 1399 'dependencies': [ 1400 '../base/base.gyp:base', 1401 '../third_party/boringssl/boringssl.gyp:boringssl', 1402 'balsa', 1403 'epoll_server', 1404 'net', 1405 ], 1406 'sources': [ 1407 'tools/dump_cache/url_to_filename_encoder.cc', 1408 'tools/dump_cache/url_to_filename_encoder.h', 1409 'tools/dump_cache/url_utilities.h', 1410 'tools/dump_cache/url_utilities.cc', 1411 'tools/flip_server/acceptor_thread.h', 1412 'tools/flip_server/acceptor_thread.cc', 1413 'tools/flip_server/create_listener.cc', 1414 'tools/flip_server/create_listener.h', 1415 'tools/flip_server/constants.h', 1416 'tools/flip_server/flip_config.cc', 1417 'tools/flip_server/flip_config.h', 1418 'tools/flip_server/http_interface.cc', 1419 'tools/flip_server/http_interface.h', 1420 'tools/flip_server/loadtime_measurement.h', 1421 'tools/flip_server/mem_cache.h', 1422 'tools/flip_server/mem_cache.cc', 1423 'tools/flip_server/output_ordering.cc', 1424 'tools/flip_server/output_ordering.h', 1425 'tools/flip_server/ring_buffer.cc', 1426 'tools/flip_server/ring_buffer.h', 1427 'tools/flip_server/sm_connection.cc', 1428 'tools/flip_server/sm_connection.h', 1429 'tools/flip_server/sm_interface.h', 1430 'tools/flip_server/spdy_ssl.cc', 1431 'tools/flip_server/spdy_ssl.h', 1432 'tools/flip_server/spdy_interface.cc', 1433 'tools/flip_server/spdy_interface.h', 1434 'tools/flip_server/spdy_util.cc', 1435 'tools/flip_server/spdy_util.h', 1436 'tools/flip_server/streamer_interface.cc', 1437 'tools/flip_server/streamer_interface.h', 1438 ], 1439 }, 1440 { 1441 'target_name': 'flip_in_mem_edsm_server_unittests', 1442 'type': 'executable', 1443 'dependencies': [ 1444 '../testing/gtest.gyp:gtest', 1445 '../testing/gmock.gyp:gmock', 1446 '../third_party/boringssl/boringssl.gyp:boringssl', 1447 'flip_in_mem_edsm_server_base', 1448 'net', 1449 'net_test_support', 1450 ], 1451 'sources': [ 1452 'tools/flip_server/flip_test_utils.cc', 1453 'tools/flip_server/flip_test_utils.h', 1454 'tools/flip_server/http_interface_test.cc', 1455 'tools/flip_server/mem_cache_test.cc', 1456 'tools/flip_server/run_all_tests.cc', 1457 'tools/flip_server/spdy_interface_test.cc', 1458 ], 1459 }, 1460 { 1461 'target_name': 'flip_in_mem_edsm_server', 1462 'type': 'executable', 1463 'cflags': [ 1464 '-Wno-deprecated', 1465 ], 1466 'dependencies': [ 1467 '../base/base.gyp:base', 1468 'flip_in_mem_edsm_server_base', 1469 'net', 1470 ], 1471 'sources': [ 1472 'tools/flip_server/flip_in_mem_edsm_server.cc', 1473 ], 1474 }, 1475 { 1476 'target_name': 'quic_base', 1477 'type': 'static_library', 1478 'dependencies': [ 1479 '../base/base.gyp:base', 1480 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', 1481 '../url/url.gyp:url_lib', 1482 'balsa', 1483 'epoll_server', 1484 'net', 1485 ], 1486 'sources': [ 1487 'tools/quic/quic_client.cc', 1488 'tools/quic/quic_client.h', 1489 'tools/quic/quic_client_session.cc', 1490 'tools/quic/quic_client_session.h', 1491 'tools/quic/quic_default_packet_writer.cc', 1492 'tools/quic/quic_default_packet_writer.h', 1493 'tools/quic/quic_dispatcher.h', 1494 'tools/quic/quic_dispatcher.cc', 1495 'tools/quic/quic_epoll_clock.cc', 1496 'tools/quic/quic_epoll_clock.h', 1497 'tools/quic/quic_epoll_connection_helper.cc', 1498 'tools/quic/quic_epoll_connection_helper.h', 1499 'tools/quic/quic_in_memory_cache.cc', 1500 'tools/quic/quic_in_memory_cache.h', 1501 'tools/quic/quic_packet_writer_wrapper.cc', 1502 'tools/quic/quic_packet_writer_wrapper.h', 1503 'tools/quic/quic_per_connection_packet_writer.cc', 1504 'tools/quic/quic_per_connection_packet_writer.h', 1505 'tools/quic/quic_server.cc', 1506 'tools/quic/quic_server.h', 1507 'tools/quic/quic_server_session.cc', 1508 'tools/quic/quic_server_session.h', 1509 'tools/quic/quic_socket_utils.cc', 1510 'tools/quic/quic_socket_utils.h', 1511 'tools/quic/quic_spdy_client_stream.cc', 1512 'tools/quic/quic_spdy_client_stream.h', 1513 'tools/quic/quic_spdy_server_stream.cc', 1514 'tools/quic/quic_spdy_server_stream.h', 1515 'tools/quic/quic_time_wait_list_manager.h', 1516 'tools/quic/quic_time_wait_list_manager.cc', 1517 ], 1518 }, 1519 { 1520 'target_name': 'quic_client', 1521 'type': 'executable', 1522 'dependencies': [ 1523 '../base/base.gyp:base', 1524 'net', 1525 'quic_base', 1526 ], 1527 'sources': [ 1528 'tools/quic/quic_client_bin.cc', 1529 ], 1530 }, 1531 { 1532 'target_name': 'quic_server', 1533 'type': 'executable', 1534 'dependencies': [ 1535 '../base/base.gyp:base', 1536 'net', 1537 'quic_tools', 1538 ], 1539 'sources': [ 1540 'quic/quic_server_bin.cc', 1541 ], 1542 }, 1543 ] 1544 }], 1545 ['OS=="android"', { 1546 'targets': [ 1547 { 1548 'target_name': 'net_jni_headers', 1549 'type': 'none', 1550 'sources': [ 1551 'android/java/src/org/chromium/net/AndroidCertVerifyResult.java', 1552 'android/java/src/org/chromium/net/AndroidKeyStore.java', 1553 'android/java/src/org/chromium/net/AndroidNetworkLibrary.java', 1554 'android/java/src/org/chromium/net/AndroidPrivateKey.java', 1555 'android/java/src/org/chromium/net/GURLUtils.java', 1556 'android/java/src/org/chromium/net/NetworkChangeNotifier.java', 1557 'android/java/src/org/chromium/net/ProxyChangeListener.java', 1558 'android/java/src/org/chromium/net/X509Util.java', 1559 ], 1560 'variables': { 1561 'jni_gen_package': 'net', 1562 }, 1563 'includes': [ '../build/jni_generator.gypi' ], 1564 1565 'conditions': [ 1566 ['use_icu_alternatives_on_android==1', { 1567 'sources': [ 1568 'android/java/src/org/chromium/net/NetStringUtil.java', 1569 ], 1570 }], 1571 ], 1572 }, 1573 { 1574 'target_name': 'net_test_jni_headers', 1575 'type': 'none', 1576 'sources': [ 1577 'android/javatests/src/org/chromium/net/AndroidKeyStoreTestUtil.java', 1578 ], 1579 'variables': { 1580 'jni_gen_package': 'net', 1581 }, 1582 'includes': [ '../build/jni_generator.gypi' ], 1583 }, 1584 { 1585 'target_name': 'net_java', 1586 'type': 'none', 1587 'variables': { 1588 'java_in_dir': '../net/android/java', 1589 }, 1590 'dependencies': [ 1591 '../base/base.gyp:base', 1592 'cert_verify_status_android_java', 1593 'certificate_mime_types_java', 1594 'net_errors_java', 1595 'private_key_types_java', 1596 'remote_android_keystore_aidl', 1597 ], 1598 'includes': [ '../build/java.gypi' ], 1599 }, 1600 { 1601 # Processes the interface files for communication with an Android KeyStore 1602 # running in a separate process. 1603 'target_name': 'remote_android_keystore_aidl', 1604 'type': 'none', 1605 'variables': { 1606 'aidl_interface_file': '../net/android/java/src/org/chromium/net/IRemoteAndroidKeyStoreInterface.aidl', 1607 }, 1608 'sources': [ 1609 '../net/android/java/src/org/chromium/net/IRemoteAndroidKeyStore.aidl', 1610 '../net/android/java/src/org/chromium/net/IRemoteAndroidKeyStoreCallbacks.aidl', 1611 ], 1612 'includes': [ '../build/java_aidl.gypi' ], 1613 }, 1614 { 1615 'target_name': 'net_java_test_support', 1616 'type': 'none', 1617 'variables': { 1618 'java_in_dir': '../net/test/android/javatests', 1619 }, 1620 'includes': [ '../build/java.gypi' ], 1621 }, 1622 { 1623 'target_name': 'net_javatests', 1624 'type': 'none', 1625 'variables': { 1626 'java_in_dir': '../net/android/javatests', 1627 }, 1628 'dependencies': [ 1629 '../base/base.gyp:base', 1630 '../base/base.gyp:base_java_test_support', 1631 'net_java', 1632 ], 1633 'includes': [ '../build/java.gypi' ], 1634 }, 1635 { 1636 'target_name': 'net_errors_java', 1637 'type': 'none', 1638 'sources': [ 1639 'android/java/NetError.template', 1640 ], 1641 'variables': { 1642 'package_name': 'org/chromium/net', 1643 'template_deps': ['base/net_error_list.h'], 1644 }, 1645 'includes': [ '../build/android/java_cpp_template.gypi' ], 1646 }, 1647 { 1648 'target_name': 'certificate_mime_types_java', 1649 'type': 'none', 1650 'sources': [ 1651 'android/java/CertificateMimeType.template', 1652 ], 1653 'variables': { 1654 'package_name': 'org/chromium/net', 1655 'template_deps': ['base/mime_util_certificate_type_list.h'], 1656 }, 1657 'includes': [ '../build/android/java_cpp_template.gypi' ], 1658 }, 1659 { 1660 'target_name': 'cert_verify_status_android_java', 1661 'type': 'none', 1662 'sources': [ 1663 'android/java/CertVerifyStatusAndroid.template', 1664 ], 1665 'variables': { 1666 'package_name': 'org/chromium/net', 1667 'template_deps': ['android/cert_verify_status_android_list.h'], 1668 }, 1669 'includes': [ '../build/android/java_cpp_template.gypi' ], 1670 }, 1671 { 1672 'target_name': 'private_key_types_java', 1673 'type': 'none', 1674 'sources': [ 1675 'android/java/PrivateKeyType.template', 1676 ], 1677 'variables': { 1678 'package_name': 'org/chromium/net', 1679 'template_deps': ['android/private_key_type_list.h'], 1680 }, 1681 'includes': [ '../build/android/java_cpp_template.gypi' ], 1682 }, 1683 { 1684 'target_name': 'net_unittests_apk', 1685 'type': 'none', 1686 'dependencies': [ 1687 'net_java', 1688 'net_javatests', 1689 'net_unittests', 1690 ], 1691 'variables': { 1692 'test_suite_name': 'net_unittests', 1693 }, 1694 'includes': [ '../build/apk_test.gypi' ], 1695 }, 1696 ], 1697 }], 1698 ['OS == "android" or OS == "linux"', { 1699 'targets': [ 1700 { 1701 'target_name': 'disk_cache_memory_test', 1702 'type': 'executable', 1703 'dependencies': [ 1704 '../base/base.gyp:base', 1705 'net', 1706 ], 1707 'sources': [ 1708 'tools/disk_cache_memory_test/disk_cache_memory_test.cc', 1709 ], 1710 }, 1711 ], 1712 }], 1713 ['test_isolation_mode != "noop"', { 1714 'targets': [ 1715 { 1716 'target_name': 'net_unittests_run', 1717 'type': 'none', 1718 'dependencies': [ 1719 'net_unittests', 1720 ], 1721 'includes': [ 1722 '../build/isolate.gypi', 1723 'net_unittests.isolate', 1724 ], 1725 'sources': [ 1726 'net_unittests.isolate', 1727 ], 1728 }, 1729 ], 1730 }], 1731 ], 1732 } 1733