Roll src/third_party/WebKit 8456c7d:dad6b4d (svn 193640:193643)
[chromium-blink-merge.git] / net / net.gyp
blob7d13fb714c959d390cb4631cd9c3b8a8899bd5da
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.
6   'variables': {
7     'chromium_code': 1,
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       # Protobuf compiler / generator for QUIC crypto protocol buffer.
84       # GN version: //net/quic/proto
85       'target_name': 'net_quic_proto',
86       'type': 'static_library',
87       'sources': [
88         'quic/proto/cached_network_parameters.proto',
89         'quic/proto/source_address_token.proto',
90       ],
91       'variables': {
92         'enable_wexit_time_destructors': 1,
93         'proto_in_dir': 'quic/proto',
94         'proto_out_dir': 'net/quic/proto',
95         'cc_generator_options': 'dllexport_decl=NET_EXPORT_PRIVATE:',
96         'cc_include': 'net/base/net_export.h',
97       },
98       'includes': [
99         '../build/protoc.gypi',
100       ],
101       'defines': [
102         'NET_IMPLEMENTATION',
103       ],
104     },
105     {
106       'target_name': 'net',
107       'dependencies': [
108         '../base/base.gyp:base_i18n',
109         '../third_party/icu/icu.gyp:icui18n',
110         '../third_party/icu/icu.gyp:icuuc',
111         '../third_party/protobuf/protobuf.gyp:protobuf_lite',
112         '../url/url.gyp:url_lib',
113         'net_quic_proto',
114       ],
115       'sources': [
116         'base/filename_util_icu.cc',
117         'base/net_string_util_icu.cc',
118         'base/net_util_icu.cc',
119       ],
120       'includes': [ 'net_common.gypi' ],
121     },
122     {
123       'target_name': 'net_unittests',
124       'type': '<(gtest_target_type)',
125       'dependencies': [
126         '../base/base.gyp:base',
127         '../base/base.gyp:base_i18n',
128         '../base/base.gyp:base_prefs_test_support',
129         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
130         '../crypto/crypto.gyp:crypto',
131         '../crypto/crypto.gyp:crypto_test_support',
132         '../testing/gmock.gyp:gmock',
133         '../testing/gtest.gyp:gtest',
134         '../third_party/zlib/zlib.gyp:zlib',
135         '../url/url.gyp:url_lib',
136         'balsa',
137         'http_server',
138         'net',
139         'net_quic_proto',
140         'net_derived_sources',
141         'net_extras',
142         'net_test_support',
143         'simple_quic_tools',
144       ],
145       'sources': [
146         '<@(net_test_sources)',
147       ],
148       'conditions': [
149         ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', {
150           'dependencies': [
151             'epoll_quic_tools',
152             'epoll_server',
153             'flip_in_mem_edsm_server_base',
154           ],
155           'sources': [
156             '<@(net_linux_test_sources)',
157           ],
158         }],
159         ['OS == "mac" or OS == "ios"', {
160           'sources': [
161             '<@(net_base_test_mac_ios_sources)',
162           ],
163         }],
164         ['chromeos==1', {
165           'sources!': [
166             'proxy/proxy_config_service_linux_unittest.cc',
167           ],
168         }],
169         [ 'OS == "android"', {
170           'sources!': [
171             # See bug http://crbug.com/344533.
172             'disk_cache/blockfile/index_table_v3_unittest.cc',
173             # No res_ninit() et al on Android, so this doesn't make a lot of
174             # sense.
175             'dns/dns_config_service_posix_unittest.cc',
176           ],
177           'dependencies': [
178             'net_javatests',
179             'net_test_jni_headers',
180           ],
181         }],
182         [ 'use_nss != 1', {
183           'sources!': [
184             'ssl/client_cert_store_chromeos_unittest.cc',
185             'ssl/client_cert_store_nss_unittest.cc',
186           ],
187         }],
188         [ 'use_openssl == 1', {
189           # Avoid compiling/linking with the system library.
190           'dependencies': [
191             '../third_party/boringssl/boringssl.gyp:boringssl',
192           ],
193         }, {  # use_openssl == 0
194           'conditions': [
195             [ 'desktop_linux == 1 or chromeos == 1', {
196               'dependencies': [
197                 '../build/linux/system.gyp:ssl',
198               ],
199             }, {  # desktop_linux == 0 and chromeos == 0
200               'dependencies': [
201                 '../third_party/nss/nss.gyp:nspr',
202                 '../third_party/nss/nss.gyp:nss',
203                 'third_party/nss/ssl.gyp:libssl',
204               ],
205               'sources!': [
206                 'cert/nss_cert_database_unittest.cc',
207               ],
208             }],
209           ],
210         }],
211         [ 'os_posix == 1 and OS != "mac" and OS != "android" and OS != "ios"', {
212           'conditions': [
213             ['use_allocator!="none"', {
214               'dependencies': [
215                 '../base/allocator/allocator.gyp:allocator',
216               ],
217             }],
218           ],
219         }],
220         [ 'use_kerberos==1', {
221           'defines': [
222             'USE_KERBEROS',
223           ],
224         }, { # use_kerberos == 0
225           'sources!': [
226             'http/http_auth_gssapi_posix_unittest.cc',
227             'http/http_auth_handler_negotiate_unittest.cc',
228             'http/mock_gssapi_library_posix.cc',
229             'http/mock_gssapi_library_posix.h',
230           ],
231         }],
232         [ 'use_openssl == 1 or (desktop_linux == 0 and chromeos == 0 and OS != "ios")', {
233           # Only include this test when on Posix and using NSS for
234           # cert verification or on iOS (which also uses NSS for certs).
235           'sources!': [
236             'cert_net/nss_ocsp_unittest.cc',
237           ],
238         }],
239         [ 'use_openssl==1', {
240             # When building for OpenSSL, we need to exclude NSS specific tests
241             # or functionality not supported by OpenSSL yet.
242             # TODO(bulach): Add equivalent tests when the underlying
243             #               functionality is ported to OpenSSL.
244             'sources!': [
245               'cert/nss_cert_database_chromeos_unittest.cc',
246               'cert/nss_cert_database_unittest.cc',
247               'cert/nss_profile_filter_chromeos_unittest.cc',
248               'cert/x509_util_nss_unittest.cc',
249               'quic/test_tools/crypto_test_utils_nss.cc',
250             ],
251           }, {  # else !use_openssl: remove the unneeded files and pull in NSS.
252             'sources!': [
253               'cert/x509_util_openssl_unittest.cc',
254               'quic/test_tools/crypto_test_utils_openssl.cc',
255               'socket/ssl_client_socket_openssl_unittest.cc',
256               'ssl/ssl_client_session_cache_openssl_unittest.cc',
257             ],
258           },
259         ],
260         [ 'use_openssl_certs == 0', {
261             'sources!': [
262               'ssl/openssl_client_key_store_unittest.cc',
263             ],
264         }],
265         [ 'enable_websockets != 1', {
266             'sources/': [
267               ['exclude', '^websockets/'],
268               ['exclude', '^server/'],
269             ],
270             'dependencies!': [
271               'http_server',
272             ],
273         }],
274         ['disable_file_support==1', {
275           'sources!': [
276             'base/directory_lister_unittest.cc',
277             'url_request/url_request_file_job_unittest.cc',
278           ],
279         }],
280         [ 'disable_ftp_support==1', {
281             'sources/': [
282               ['exclude', '^ftp/'],
283             ],
284             'sources!': [
285               'url_request/url_request_ftp_job_unittest.cc',
286             ],
287           },
288         ],
289         [ 'enable_built_in_dns!=1', {
290             'sources!': [
291               'dns/address_sorter_posix_unittest.cc',
292               'dns/address_sorter_unittest.cc',
293             ],
294           },
295         ],
296         # Always need use_v8_in_net to be 1 to run gyp on Android, so just
297         # remove net_unittest's dependency on v8 when using icu alternatives
298         # instead of setting use_v8_in_net to 0.
299         [ 'use_v8_in_net==1 and use_icu_alternatives_on_android==0', {
300             'dependencies': [
301               'net_with_v8',
302             ],
303           }, {  # else: !use_v8_in_net
304             'sources!': [
305               'proxy/proxy_resolver_v8_tracing_unittest.cc',
306               'proxy/proxy_resolver_v8_unittest.cc',
307             ],
308           },
309         ],
311         [ 'use_v8_in_net==1 and OS != "android"', {
312             'dependencies': [
313               'net_with_v8',
314               'net_browser_services',
315               'net_utility_services',
316               '../third_party/mojo/mojo_edk.gyp:mojo_system_impl',
317             ],
318           }, {  # else
319             'sources!': [
320               'dns/host_resolver_mojo_unittest.cc',
321               'dns/mojo_host_resolver_impl_unittest.cc',
322               'proxy/load_state_change_coalescer_unittest.cc',
323               'proxy/mojo_proxy_resolver_factory_impl_unittest.cc',
324               'proxy/mojo_proxy_resolver_impl_unittest.cc',
325               'proxy/proxy_resolver_mojo_unittest.cc',
326               'proxy/proxy_service_mojo_unittest.cc',
327             ],
328           },
329         ],
331         [ 'enable_mdns != 1', {
332             'sources!' : [
333               'dns/mdns_cache_unittest.cc',
334               'dns/mdns_client_unittest.cc',
335               'dns/mdns_query_unittest.cc',
336               'dns/record_parsed_unittest.cc',
337               'dns/record_rdata_unittest.cc',
338             ],
339         }],
340         [ 'OS == "win"', {
341             'sources!': [
342               'dns/dns_config_service_posix_unittest.cc',
343               'http/http_auth_gssapi_posix_unittest.cc',
344             ],
345             # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
346             'msvs_disabled_warnings': [4267, ],
347             'conditions': [
348               [ 'icu_use_data_file_flag == 0', {
349                 # This is needed to trigger the dll copy step on windows.
350                 # TODO(mark): Specifying this here shouldn't be necessary.
351                 'dependencies': [
352                   '../third_party/icu/icu.gyp:icudata',
353                 ],
354               }],
355             ],
356           },
357         ],
358         [ 'OS == "ios"', {
359             'actions': [
360               {
361                 'action_name': 'copy_test_data',
362                 'variables': {
363                   'test_data_files': [
364                     'data/ssl/certificates/',
365                     'data/test.html',
366                     'data/url_request_unittest/',
367                   ],
368                   'test_data_prefix': 'net',
369                 },
370                 'includes': [ '../build/copy_test_data_ios.gypi' ],
371               },
372             ],
373             'sources!': [
374               # TODO(droger): The following tests are disabled because the
375               # implementation is missing or incomplete.
376               # KeygenHandler::GenKeyAndSignChallenge() is not ported to iOS.
377               'base/keygen_handler_unittest.cc',
378               'disk_cache/backend_unittest.cc',
379               'disk_cache/blockfile/block_files_unittest.cc',
380               # Need to read input data files.
381               'filter/gzip_filter_unittest.cc',
382               # Need TestServer.
383               "cert_net/cert_net_fetcher_impl_unittest.cc",
384               'proxy/proxy_script_fetcher_impl_unittest.cc',
385               'socket/ssl_client_socket_unittest.cc',
386               'socket/ssl_server_socket_unittest.cc',
387               'spdy/fuzzing/hpack_fuzz_util_test.cc',
388               # Needs GetAppOutput().
389               'test/python_utils_unittest.cc',
390               'url_request/url_fetcher_impl_unittest.cc',
391               'url_request/url_request_context_builder_unittest.cc',
393               # The following tests are disabled because they don't apply to
394               # iOS.
395               # OS is not "linux" or "freebsd" or "openbsd".
396               'socket/unix_domain_client_socket_posix_unittest.cc',
397               'socket/unix_domain_listen_socket_posix_unittest.cc',
398               'socket/unix_domain_server_socket_posix_unittest.cc',
400               # See bug http://crbug.com/344533.
401               'disk_cache/blockfile/index_table_v3_unittest.cc',
402             ],
403         }],
404         [ 'OS == "android"', {
405             'sources!': [
406               'dns/dns_config_service_posix_unittest.cc',
407             ],
408           },
409         ],
410         ['OS == "android"', {
411           # TODO(mmenke):  This depends on test_support_base, which depends on
412           #                icu.  Figure out a way to remove that dependency.
413           'dependencies': [
414             '../testing/android/native_test.gyp:native_test_native_code',
415           ]
416         }],
417         [ 'use_icu_alternatives_on_android == 1', {
418             'dependencies!': [
419               '../base/base.gyp:base_i18n',
420             ],
421             'sources!': [
422               'base/filename_util_unittest.cc',
423               'base/net_util_icu_unittest.cc',
424             ],
425           },
426         ],
427         ['use_v8_in_net==1 and v8_use_external_startup_data==1', {
428           'dependencies': [
429             '../gin/gin.gyp:gin',
430           ]
431         }],
432       ],
433       'target_conditions': [
434         # These source files are excluded by default platform rules, but they
435         # are needed in specific cases on other platforms. Re-including them can
436         # only be done in target_conditions as it is evaluated after the
437         # platform rules.
438         ['OS == "android"', {
439           'sources/': [
440             ['include', '^base/address_tracker_linux_unittest\\.cc$'],
441           ],
442         }],
443         ['OS == "ios"', {
444           'sources/': [
445             ['include', '^base/mac/url_conversions_unittest\\.mm$'],
446           ],
447         }],
448       ],
449     },
450     {
451       'target_name': 'net_perftests',
452       'type': 'executable',
453       'dependencies': [
454         '../base/base.gyp:base',
455         '../base/base.gyp:base_i18n',
456         '../base/base.gyp:test_support_perf',
457         '../testing/gtest.gyp:gtest',
458         '../url/url.gyp:url_lib',
459         'net',
460         'net_test_support',
461       ],
462       'sources': [
463         'cookies/cookie_monster_perftest.cc',
464         'disk_cache/blockfile/disk_cache_perftest.cc',
465         'proxy/proxy_resolver_perftest.cc',
466         'udp/udp_socket_perftest.cc',
467         'websockets/websocket_frame_perftest.cc',
468       ],
469       'conditions': [
470         [ 'use_v8_in_net==1', {
471             'dependencies': [
472               'net_with_v8',
473             ],
474           }, {  # else: !use_v8_in_net
475             'sources!': [
476               'proxy/proxy_resolver_perftest.cc',
477             ],
478           },
479         ],
480         [ 'OS == "win"', {
481             'conditions': [
482               [ 'icu_use_data_file_flag == 0', {
483                 # This is needed to trigger the dll copy step on windows.
484                 # TODO(mark): Specifying this here shouldn't be necessary.
485                 'dependencies': [
486                   '../third_party/icu/icu.gyp:icudata',
487                 ],
488               }],
489             ],
490             # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
491             'msvs_disabled_warnings': [4267, ],
492         }],
493         [ 'enable_websockets != 1', {
494           'sources!': [
495             'websockets/websocket_frame_perftest.cc',
496           ],
497         }],
498       ],
499     },
500     {
501       'target_name': 'net_test_support',
502       'type': 'static_library',
503       'dependencies': [
504         '../base/base.gyp:base',
505         '../base/base.gyp:test_support_base',
506         '../crypto/crypto.gyp:crypto',
507         '../net/tools/tld_cleanup/tld_cleanup.gyp:tld_cleanup_util',
508         '../testing/gtest.gyp:gtest',
509         '../testing/gmock.gyp:gmock',
510         '../url/url.gyp:url_lib',
511         'net',
512       ],
513       'export_dependent_settings': [
514         '../base/base.gyp:base',
515         # TODO(mmenke):  This depends on icu, figure out a way to build tests
516         #                without icu.
517         '../base/base.gyp:test_support_base',
518         '../testing/gtest.gyp:gtest',
519         '../testing/gmock.gyp:gmock',
520       ],
521       'sources': [
522         'base/load_timing_info_test_util.cc',
523         'base/load_timing_info_test_util.h',
524         'base/mock_file_stream.cc',
525         'base/mock_file_stream.h',
526         'base/test_completion_callback.cc',
527         'base/test_completion_callback.h',
528         'base/test_data_directory.cc',
529         'base/test_data_directory.h',
530         'cert/mock_cert_verifier.cc',
531         'cert/mock_cert_verifier.h',
532         'cookies/cookie_monster_store_test.cc',
533         'cookies/cookie_monster_store_test.h',
534         'cookies/cookie_store_test_callbacks.cc',
535         'cookies/cookie_store_test_callbacks.h',
536         'cookies/cookie_store_test_helpers.cc',
537         'cookies/cookie_store_test_helpers.h',
538         'disk_cache/disk_cache_test_base.cc',
539         'disk_cache/disk_cache_test_base.h',
540         'disk_cache/disk_cache_test_util.cc',
541         'disk_cache/disk_cache_test_util.h',
542         'dns/dns_test_util.cc',
543         'dns/dns_test_util.h',
544         'dns/mock_host_resolver.cc',
545         'dns/mock_host_resolver.h',
546         'dns/mock_mdns_socket_factory.cc',
547         'dns/mock_mdns_socket_factory.h',
548         'http/http_transaction_test_util.cc',
549         'http/http_transaction_test_util.h',
550         'log/captured_net_log_entry.cc',
551         'log/captured_net_log_entry.h',
552         'log/capturing_net_log.cc',
553         'log/capturing_net_log.h',
554         'log/capturing_net_log_observer.cc',
555         'log/capturing_net_log_observer.h',
556         'proxy/mock_proxy_resolver.cc',
557         'proxy/mock_proxy_resolver.h',
558         'proxy/mock_proxy_script_fetcher.cc',
559         'proxy/mock_proxy_script_fetcher.h',
560         'proxy/proxy_config_service_common_unittest.cc',
561         'proxy/proxy_config_service_common_unittest.h',
562         'socket/socket_test_util.cc',
563         'socket/socket_test_util.h',
564         'test/cert_test_util.cc',
565         'test/cert_test_util.h',
566         'test/cert_test_util_nss.cc',
567         'test/ct_test_util.cc',
568         'test/ct_test_util.h',
569         'test/embedded_test_server/embedded_test_server.cc',
570         'test/embedded_test_server/embedded_test_server.h',
571         'test/embedded_test_server/http_connection.cc',
572         'test/embedded_test_server/http_connection.h',
573         'test/embedded_test_server/http_request.cc',
574         'test/embedded_test_server/http_request.h',
575         'test/embedded_test_server/http_response.cc',
576         'test/embedded_test_server/http_response.h',
577         'test/event_waiter.h',
578         'test/net_test_suite.cc',
579         'test/net_test_suite.h',
580         'test/python_utils.cc',
581         'test/python_utils.h',
582         'test/spawned_test_server/base_test_server.cc',
583         'test/spawned_test_server/base_test_server.h',
584         'test/spawned_test_server/local_test_server.cc',
585         'test/spawned_test_server/local_test_server.h',
586         'test/spawned_test_server/local_test_server_posix.cc',
587         'test/spawned_test_server/local_test_server_win.cc',
588         'test/spawned_test_server/remote_test_server.cc',
589         'test/spawned_test_server/remote_test_server.h',
590         'test/spawned_test_server/spawned_test_server.h',
591         'test/spawned_test_server/spawner_communicator.cc',
592         'test/spawned_test_server/spawner_communicator.h',
593         'test/url_request/url_request_failed_job.cc',
594         'test/url_request/url_request_failed_job.h',
595         'test/url_request/url_request_mock_data_job.cc',
596         'test/url_request/url_request_mock_data_job.h',
597         'test/url_request/url_request_mock_http_job.cc',
598         'test/url_request/url_request_mock_http_job.h',
599         'test/url_request/url_request_slow_download_job.cc',
600         'test/url_request/url_request_slow_download_job.h',
601         'url_request/test_url_fetcher_factory.cc',
602         'url_request/test_url_fetcher_factory.h',
603         'url_request/test_url_request_interceptor.cc',
604         'url_request/test_url_request_interceptor.h',
605         'url_request/url_request_test_util.cc',
606         'url_request/url_request_test_util.h',
607       ],
608       'conditions': [
609         ['OS != "ios"', {
610           'dependencies': [
611             '../third_party/protobuf/protobuf.gyp:py_proto',
612           ],
613         }],
614         ['use_openssl == 0 and (use_nss == 1 or OS == "ios")', {
615           'conditions': [
616             [ 'desktop_linux == 1 or chromeos == 1', {
617               'dependencies': [
618                 '../build/linux/system.gyp:ssl',
619               ],
620             }, {  # desktop_linux == 0 and chromeos == 0
621               'dependencies': [
622                 '../third_party/nss/nss.gyp:nspr',
623                 '../third_party/nss/nss.gyp:nss',
624                 'third_party/nss/ssl.gyp:libssl',
625               ],
626             }],
627           ],
628         }],
629         ['os_posix == 1 and OS != "mac" and OS != "android" and OS != "ios"', {
630           'conditions': [
631             ['use_allocator!="none"', {
632               'dependencies': [
633                 '../base/allocator/allocator.gyp:allocator',
634               ],
635             }],
636           ],
637         }],
638         ['OS != "android"', {
639           'sources!': [
640             'test/spawned_test_server/remote_test_server.cc',
641             'test/spawned_test_server/remote_test_server.h',
642             'test/spawned_test_server/spawner_communicator.cc',
643             'test/spawned_test_server/spawner_communicator.h',
644           ],
645         }],
646         [ 'use_v8_in_net==1', {
647             'dependencies': [
648               'net_with_v8',
649             ],
650           },
651         ],
652         [ 'enable_mdns != 1', {
653             'sources!' : [
654               'dns/mock_mdns_socket_factory.cc',
655               'dns/mock_mdns_socket_factory.h'
656             ]
657         }],
658         [ 'use_nss != 1', {
659             'sources!': [
660               'test/cert_test_util_nss.cc',
661             ],
662         }],
663       ],
664       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
665       'msvs_disabled_warnings': [4267, ],
666     },
667     {
668       'target_name': 'net_resources',
669       'type': 'none',
670       'variables': {
671         'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/net',
672       },
673       'actions': [
674         {
675           'action_name': 'net_resources',
676           'variables': {
677             'grit_grd_file': 'base/net_resources.grd',
678           },
679           'includes': [ '../build/grit_action.gypi' ],
680         },
681       ],
682     },
683     {
684       'target_name': 'net_extras',
685       'type': 'static_library',
686       'variables': { 'enable_wexit_time_destructors': 1, },
687       'dependencies': [
688         '../base/base.gyp:base',
689         '../sql/sql.gyp:sql',
690         'net',
691       ],
692       'sources': [
693         '<@(net_extras_sources)',
694       ],
695     },
696     {
697       'target_name': 'net_docs',
698       'type': 'none',
699       'actions': [
700         {
701           'action_name': 'net_docs',
702           'variables': {
703             'net_docs_input_dir': '.',
704           },
705           'inputs': [
706             '<@(net_docs_sources)',
707           ],
708           'outputs': [
709             '<(net_docs_output_dir)',
710           ],
711           'action': [
712             'python',
713             '<(net_docs_script)',
714             '--input_path',
715             '<(net_docs_input_dir)',
716             '--output_path',
717             '<(net_docs_output_dir)',
718             '<@(net_docs_sources)',
719           ],
720           'message': 'Rendering network stack documentation',
721         }
722       ],
723     },
724     {
725       'target_name': 'http_server',
726       'type': 'static_library',
727       'variables': { 'enable_wexit_time_destructors': 1, },
728       'dependencies': [
729         '../base/base.gyp:base',
730         'net',
731       ],
732       'sources': [
733         'server/http_connection.cc',
734         'server/http_connection.h',
735         'server/http_server.cc',
736         'server/http_server.h',
737         'server/http_server_request_info.cc',
738         'server/http_server_request_info.h',
739         'server/http_server_response_info.cc',
740         'server/http_server_response_info.h',
741         'server/web_socket.cc',
742         'server/web_socket.h',
743         'server/web_socket_encoder.cc',
744         'server/web_socket_encoder.h',
745       ],
746       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
747       'msvs_disabled_warnings': [4267, ],
748     },
749     {
750       'target_name': 'balsa',
751       'type': 'static_library',
752       'dependencies': [
753         '../base/base.gyp:base',
754         'net',
755       ],
756       'sources': [
757         'tools/balsa/balsa_enums.h',
758         'tools/balsa/balsa_frame.cc',
759         'tools/balsa/balsa_frame.h',
760         'tools/balsa/balsa_headers.cc',
761         'tools/balsa/balsa_headers.h',
762         'tools/balsa/balsa_headers_token_utils.cc',
763         'tools/balsa/balsa_headers_token_utils.h',
764         'tools/balsa/balsa_visitor_interface.h',
765         'tools/balsa/http_message_constants.cc',
766         'tools/balsa/http_message_constants.h',
767         'tools/balsa/noop_balsa_visitor.h',
768         'tools/balsa/simple_buffer.cc',
769         'tools/balsa/simple_buffer.h',
770         'tools/balsa/split.cc',
771         'tools/balsa/split.h',
772         'tools/balsa/string_piece_utils.h',
773         'tools/quic/spdy_utils.cc',
774         'tools/quic/spdy_utils.h',
775       ],
776     },
777     {
778       'target_name': 'dump_cache',
779       'type': 'executable',
780       'dependencies': [
781         '../base/base.gyp:base',
782         'net',
783         'net_test_support',
784       ],
785       'sources': [
786         'tools/dump_cache/cache_dumper.cc',
787         'tools/dump_cache/cache_dumper.h',
788         'tools/dump_cache/dump_cache.cc',
789         'tools/dump_cache/dump_files.cc',
790         'tools/dump_cache/dump_files.h',
791         'tools/dump_cache/simple_cache_dumper.cc',
792         'tools/dump_cache/simple_cache_dumper.h',
793         'tools/dump_cache/url_to_filename_encoder.cc',
794         'tools/dump_cache/url_to_filename_encoder.h',
795         'tools/dump_cache/url_utilities.cc',
796         'tools/dump_cache/url_utilities.h',
797       ],
798       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
799       'msvs_disabled_warnings': [4267, ],
800     },
801     {
802       'target_name': 'simple_quic_tools',
803       'type': 'static_library',
804       'dependencies': [
805         '../base/base.gyp:base',
806         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
807         '../url/url.gyp:url_lib',
808         'net',
809         'net_quic_proto',
810       ],
811       'sources': [
812         'tools/quic/quic_client_session.cc',
813         'tools/quic/quic_client_session.h',
814         'tools/quic/quic_dispatcher.cc',
815         'tools/quic/quic_dispatcher.h',
816         'tools/quic/quic_in_memory_cache.cc',
817         'tools/quic/quic_in_memory_cache.h',
818         'tools/quic/quic_per_connection_packet_writer.cc',
819         'tools/quic/quic_per_connection_packet_writer.h',
820         'tools/quic/quic_server_session.cc',
821         'tools/quic/quic_server_session.h',
822         'tools/quic/quic_simple_client.cc',
823         'tools/quic/quic_simple_client.h',
824         'tools/quic/quic_simple_per_connection_packet_writer.cc',
825         'tools/quic/quic_simple_per_connection_packet_writer.h',
826         'tools/quic/quic_simple_server.cc',
827         'tools/quic/quic_simple_server.h',
828         'tools/quic/quic_simple_server_packet_writer.cc',
829         'tools/quic/quic_simple_server_packet_writer.h',
830         'tools/quic/quic_spdy_client_stream.cc',
831         'tools/quic/quic_spdy_client_stream.h',
832         'tools/quic/quic_spdy_server_stream.cc',
833         'tools/quic/quic_spdy_server_stream.h',
834         'tools/quic/quic_time_wait_list_manager.cc',
835         'tools/quic/quic_time_wait_list_manager.h',
836         'tools/quic/synchronous_host_resolver.cc',
837         'tools/quic/synchronous_host_resolver.h',
838       ],
839     },
840   ],
841   'conditions': [
842     ['use_v8_in_net == 1', {
843       'targets': [
844         {
845           'target_name': 'net_with_v8',
846           'type': '<(component)',
847           'variables': { 'enable_wexit_time_destructors': 1, },
848           'dependencies': [
849             '../base/base.gyp:base',
850             '../gin/gin.gyp:gin',
851             '../url/url.gyp:url_lib',
852             '../v8/tools/gyp/v8.gyp:v8',
853             'net'
854           ],
855           'defines': [
856             'NET_IMPLEMENTATION',
857           ],
858           'sources': [
859             'proxy/proxy_resolver_v8.cc',
860             'proxy/proxy_resolver_v8.h',
861             'proxy/proxy_resolver_v8_tracing.cc',
862             'proxy/proxy_resolver_v8_tracing.h',
863             'proxy/proxy_service_v8.cc',
864             'proxy/proxy_service_v8.h',
865           ],
866           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
867           'msvs_disabled_warnings': [4267, ],
868         },
869       ],
870     }],
871     ['use_v8_in_net == 1 and OS != "android"', {
872       'targets': [
873         {
874           # GN version: //net/interfaces
875           'target_name': 'net_interfaces',
876           'type': 'static_library',
877           'sources': [
878             'interfaces/host_resolver_service.mojom',
879             'interfaces/proxy_resolver_service.mojom',
880           ],
881           'includes': [
882             '../third_party/mojo/mojom_bindings_generator.gypi',
883           ],
884         },
885         {
886           # GN version: //net:net_browser_services
887           'target_name': 'net_browser_services',
888           'type': 'static_library',
889           'sources': [
890             'dns/mojo_host_resolver_impl.cc',
891             'dns/mojo_host_resolver_impl.h',
892             'proxy/in_process_mojo_proxy_resolver_factory.cc',
893             'proxy/in_process_mojo_proxy_resolver_factory.h',
894             'proxy/mojo_proxy_resolver_factory.h',
895             'proxy/proxy_resolver_mojo.cc',
896             'proxy/proxy_resolver_mojo.h',
897             'proxy/proxy_service_mojo.cc',
898             'proxy/proxy_service_mojo.h',
899           ],
900           'dependencies': [
901             'mojo_type_converters',
902             'net',
903             'net_interfaces',
904             '../mojo/mojo_base.gyp:mojo_common_lib',
905             '../mojo/mojo_base.gyp:mojo_environment_chromium',
906             '../mojo/mojo_base.gyp:mojo_url_type_converters',
907             '../third_party/mojo/mojo_public.gyp:mojo_cpp_bindings',
909             # NOTE(amistry): As long as we support in-process Mojo v8 PAC, we
910             # need this dependency since in_process_mojo_proxy_resolver_factory
911             # creates the utility process side Mojo services in the browser
912             # process.  Ultimately, this will go away when we only support
913             # out-of-process.
914             'net_utility_services',
915           ],
916         },
917         {
918           # GN version: //net:net_utility_services
919           'target_name': 'net_utility_services',
920           'type': 'static_library',
921           'sources': [
922             'dns/host_resolver_mojo.cc',
923             'dns/host_resolver_mojo.h',
924             'proxy/load_state_change_coalescer.cc',
925             'proxy/load_state_change_coalescer.h',
926             'proxy/mojo_proxy_resolver_factory_impl.cc',
927             'proxy/mojo_proxy_resolver_factory_impl.h',
928             'proxy/mojo_proxy_resolver_impl.cc',
929             'proxy/mojo_proxy_resolver_impl.h',
930           ],
931           'dependencies': [
932             'mojo_type_converters',
933             'net_interfaces',
934             'net_with_v8',
935             '../mojo/mojo_base.gyp:mojo_url_type_converters',
936             '../third_party/mojo/mojo_public.gyp:mojo_cpp_bindings',
937           ],
938         },
939         {
940           # GN version: //net:mojo_type_converters
941           'target_name': 'mojo_type_converters',
942           'type': 'static_library',
943           'sources': [
944             'dns/mojo_host_type_converters.cc',
945             'dns/mojo_host_type_converters.h',
946             'proxy/mojo_proxy_type_converters.cc',
947             'proxy/mojo_proxy_type_converters.h',
948           ],
949           'dependencies': [
950             'net',
951             'net_interfaces',
952             '../third_party/mojo/mojo_public.gyp:mojo_cpp_bindings',
953           ],
954         },
955       ],
956     }],
957     ['OS != "ios" and OS != "android"', {
958       'targets': [
959         # iOS doesn't have the concept of simple executables, these targets
960         # can't be compiled on the platform.
961         {
962           'target_name': 'crash_cache',
963           'type': 'executable',
964           'dependencies': [
965             '../base/base.gyp:base',
966             'net',
967             'net_test_support',
968           ],
969           'sources': [
970             'tools/crash_cache/crash_cache.cc',
971           ],
972           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
973           'msvs_disabled_warnings': [4267, ],
974         },
975         {
976           'target_name': 'crl_set_dump',
977           'type': 'executable',
978           'dependencies': [
979             '../base/base.gyp:base',
980             'net',
981           ],
982           'sources': [
983             'tools/crl_set_dump/crl_set_dump.cc',
984           ],
985           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
986           'msvs_disabled_warnings': [4267, ],
987         },
988         {
989           'target_name': 'dns_fuzz_stub',
990           'type': 'executable',
991           'dependencies': [
992             '../base/base.gyp:base',
993             'net',
994           ],
995           'sources': [
996             'tools/dns_fuzz_stub/dns_fuzz_stub.cc',
997           ],
998           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
999           'msvs_disabled_warnings': [4267, ],
1000         },
1001         {
1002           'target_name': 'gdig',
1003           'type': 'executable',
1004           'dependencies': [
1005             '../base/base.gyp:base',
1006             'net',
1007           ],
1008           'sources': [
1009             'tools/gdig/file_net_log.cc',
1010             'tools/gdig/gdig.cc',
1011           ],
1012         },
1013         {
1014           'target_name': 'get_server_time',
1015           'type': 'executable',
1016           'dependencies': [
1017             '../base/base.gyp:base',
1018             '../base/base.gyp:base_i18n',
1019             '../url/url.gyp:url_lib',
1020             'net',
1021           ],
1022           'sources': [
1023             'tools/get_server_time/get_server_time.cc',
1024           ],
1025           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
1026           'msvs_disabled_warnings': [4267, ],
1027         },
1028         {
1029           'target_name': 'hpack_example_generator',
1030           'type': 'executable',
1031           'dependencies': [
1032             '../base/base.gyp:base',
1033             'net',
1034           ],
1035           'sources': [
1036             'spdy/fuzzing/hpack_example_generator.cc',
1037           ],
1038           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
1039           'msvs_disabled_warnings': [4267, ],
1040         },
1041         {
1042           'target_name': 'hpack_fuzz_mutator',
1043           'type': 'executable',
1044           'dependencies': [
1045             '../base/base.gyp:base',
1046             'net',
1047           ],
1048           'sources': [
1049             'spdy/fuzzing/hpack_fuzz_mutator.cc',
1050           ],
1051           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
1052           'msvs_disabled_warnings': [4267, ],
1053         },
1054         {
1055           'target_name': 'hpack_fuzz_wrapper',
1056           'type': 'executable',
1057           'dependencies': [
1058             '../base/base.gyp:base',
1059             'net',
1060           ],
1061           'sources': [
1062             'spdy/fuzzing/hpack_fuzz_wrapper.cc',
1063           ],
1064           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
1065           'msvs_disabled_warnings': [4267, ],
1066         },
1067         {
1068           'target_name': 'net_watcher',
1069           'type': 'executable',
1070           'dependencies': [
1071             '../base/base.gyp:base',
1072             'net',
1073             'net_with_v8',
1074           ],
1075           'conditions': [
1076             [ 'use_glib == 1', {
1077                 'dependencies': [
1078                   '../build/linux/system.gyp:gconf',
1079                   '../build/linux/system.gyp:gio',
1080                 ],
1081               },
1082             ],
1083           ],
1084           'sources': [
1085             'tools/net_watcher/net_watcher.cc',
1086           ],
1087         },
1088         {
1089           'target_name': 'run_testserver',
1090           'type': 'executable',
1091           'dependencies': [
1092             '../base/base.gyp:base',
1093             '../base/base.gyp:test_support_base',
1094             '../testing/gtest.gyp:gtest',
1095             'net_test_support',
1096           ],
1097           'sources': [
1098             'tools/testserver/run_testserver.cc',
1099           ],
1100         },
1101         {
1102           'target_name': 'quic_client',
1103           'type': 'executable',
1104           'dependencies': [
1105             '../base/base.gyp:base',
1106             '../url/url.gyp:url_lib',
1107             'net',
1108             'simple_quic_tools',
1109           ],
1110           'sources': [
1111             'tools/quic/quic_simple_client_bin.cc',
1112           ],
1113         },
1114         {
1115           'target_name': 'quic_server',
1116           'type': 'executable',
1117           'dependencies': [
1118             '../base/base.gyp:base',
1119             'net',
1120             'net_quic_proto',
1121             'simple_quic_tools',
1122           ],
1123           'sources': [
1124             'tools/quic/quic_simple_server_bin.cc',
1125           ],
1126         },
1127         {
1128           'target_name': 'stress_cache',
1129           'type': 'executable',
1130           'dependencies': [
1131             '../base/base.gyp:base',
1132             'net',
1133             'net_test_support',
1134           ],
1135           'sources': [
1136             'tools/stress_cache/stress_cache.cc',
1137           ],
1138           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
1139           'msvs_disabled_warnings': [4267, ],
1140         },
1141         {
1142           'target_name': 'tld_cleanup',
1143           'type': 'executable',
1144           'dependencies': [
1145             '../base/base.gyp:base',
1146             '../base/base.gyp:base_i18n',
1147             '../net/tools/tld_cleanup/tld_cleanup.gyp:tld_cleanup_util',
1148           ],
1149           'sources': [
1150             'tools/tld_cleanup/tld_cleanup.cc',
1151           ],
1152           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
1153           'msvs_disabled_warnings': [4267, ],
1154         },
1155       ],
1156     }],
1157     ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', {
1158       'targets': [
1159         {
1160           'target_name': 'epoll_server',
1161           'type': 'static_library',
1162           'dependencies': [
1163             '../base/base.gyp:base',
1164             'net',
1165           ],
1166           'sources': [
1167             'tools/epoll_server/epoll_server.cc',
1168             'tools/epoll_server/epoll_server.h',
1169           ],
1170         },
1171         {
1172           'target_name': 'flip_in_mem_edsm_server_base',
1173           'type': 'static_library',
1174           'cflags': [
1175             '-Wno-deprecated',
1176           ],
1177           'dependencies': [
1178             '../base/base.gyp:base',
1179             '../third_party/boringssl/boringssl.gyp:boringssl',
1180             'balsa',
1181             'epoll_server',
1182             'net',
1183           ],
1184           'sources': [
1185             'tools/dump_cache/url_to_filename_encoder.cc',
1186             'tools/dump_cache/url_to_filename_encoder.h',
1187             'tools/dump_cache/url_utilities.cc',
1188             'tools/dump_cache/url_utilities.h',
1189             'tools/flip_server/acceptor_thread.cc',
1190             'tools/flip_server/acceptor_thread.h',
1191             'tools/flip_server/constants.h',
1192             'tools/flip_server/create_listener.cc',
1193             'tools/flip_server/create_listener.h',
1194             'tools/flip_server/flip_config.cc',
1195             'tools/flip_server/flip_config.h',
1196             'tools/flip_server/http_interface.cc',
1197             'tools/flip_server/http_interface.h',
1198             'tools/flip_server/loadtime_measurement.h',
1199             'tools/flip_server/mem_cache.cc',
1200             'tools/flip_server/mem_cache.h',
1201             'tools/flip_server/output_ordering.cc',
1202             'tools/flip_server/output_ordering.h',
1203             'tools/flip_server/ring_buffer.cc',
1204             'tools/flip_server/ring_buffer.h',
1205             'tools/flip_server/sm_connection.cc',
1206             'tools/flip_server/sm_connection.h',
1207             'tools/flip_server/sm_interface.h',
1208             'tools/flip_server/spdy_interface.cc',
1209             'tools/flip_server/spdy_interface.h',
1210             'tools/flip_server/spdy_ssl.cc',
1211             'tools/flip_server/spdy_ssl.h',
1212             'tools/flip_server/spdy_util.cc',
1213             'tools/flip_server/spdy_util.h',
1214             'tools/flip_server/streamer_interface.cc',
1215             'tools/flip_server/streamer_interface.h',
1216           ],
1217         },
1218         {
1219           'target_name': 'flip_in_mem_edsm_server_unittests',
1220           'type': 'executable',
1221           'dependencies': [
1222               '../testing/gtest.gyp:gtest',
1223               '../testing/gmock.gyp:gmock',
1224               '../third_party/boringssl/boringssl.gyp:boringssl',
1225               'flip_in_mem_edsm_server_base',
1226               'net',
1227               'net_test_support',
1228           ],
1229           'sources': [
1230             'tools/flip_server/flip_test_utils.cc',
1231             'tools/flip_server/flip_test_utils.h',
1232             'tools/flip_server/http_interface_test.cc',
1233             'tools/flip_server/mem_cache_test.cc',
1234             'tools/flip_server/run_all_tests.cc',
1235             'tools/flip_server/spdy_interface_test.cc',
1236           ],
1237         },
1238         {
1239           'target_name': 'flip_in_mem_edsm_server',
1240           'type': 'executable',
1241           'cflags': [
1242             '-Wno-deprecated',
1243           ],
1244           'dependencies': [
1245             '../base/base.gyp:base',
1246             'flip_in_mem_edsm_server_base',
1247             'net',
1248           ],
1249           'sources': [
1250             'tools/flip_server/flip_in_mem_edsm_server.cc',
1251           ],
1252         },
1253         {
1254           'target_name': 'epoll_quic_tools',
1255           'type': 'static_library',
1256           'dependencies': [
1257             '../base/base.gyp:base',
1258             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
1259             '../url/url.gyp:url_lib',
1260             'balsa',
1261             'epoll_server',
1262             'net',
1263             'net_quic_proto',
1264           ],
1265           'sources': [
1266             'tools/quic/quic_client.cc',
1267             'tools/quic/quic_client.h',
1268             'tools/quic/quic_default_packet_writer.cc',
1269             'tools/quic/quic_default_packet_writer.h',
1270             'tools/quic/quic_epoll_clock.cc',
1271             'tools/quic/quic_epoll_clock.h',
1272             'tools/quic/quic_epoll_connection_helper.cc',
1273             'tools/quic/quic_epoll_connection_helper.h',
1274             'tools/quic/quic_packet_reader.cc',
1275             'tools/quic/quic_packet_reader.h',
1276             'tools/quic/quic_packet_writer_wrapper.cc',
1277             'tools/quic/quic_packet_writer_wrapper.h',
1278             'tools/quic/quic_server.cc',
1279             'tools/quic/quic_server.h',
1280             'tools/quic/quic_socket_utils.cc',
1281             'tools/quic/quic_socket_utils.h',
1282           ],
1283         },
1284         {
1285           'target_name': 'epoll_quic_client',
1286           'type': 'executable',
1287           'dependencies': [
1288             '../base/base.gyp:base',
1289             'net',
1290             'epoll_quic_tools',
1291             'simple_quic_tools',
1292           ],
1293           'sources': [
1294             'tools/quic/quic_client_bin.cc',
1295           ],
1296         },
1297         {
1298           'target_name': 'epoll_quic_server',
1299           'type': 'executable',
1300           'dependencies': [
1301             '../base/base.gyp:base',
1302             'net',
1303             'net_quic_proto',
1304             'epoll_quic_tools',
1305             'simple_quic_tools',
1306           ],
1307           'sources': [
1308             'tools/quic/quic_server_bin.cc',
1309           ],
1310         },
1311       ]
1312     }],
1313     ['OS=="android"', {
1314       'targets': [
1315         { # The same target as 'net', but with smaller binary size due to
1316           # exclusion of ICU, FTP, FILE and WebSockets support.
1317           'target_name': 'net_small',
1318           'variables': {
1319             'disable_ftp_support': 1,
1320             'disable_file_support': 1,
1321             'enable_websockets': 0,
1322           },
1323           'dependencies': [
1324             '../url/url.gyp:url_lib_use_icu_alternatives_on_android',
1325           ],
1326           'defines': [
1327             'USE_ICU_ALTERNATIVES_ON_ANDROID=1',
1328             'DISABLE_FILE_SUPPORT=1',
1329             'DISABLE_FTP_SUPPORT=1',
1330           ],
1331           'sources': [
1332             'base/net_string_util_icu_alternatives_android.cc',
1333             'base/net_string_util_icu_alternatives_android.h',
1334           ],
1335           'includes': [ 'net_common.gypi' ],
1336         },
1337         {
1338           'target_name': 'net_jni_headers',
1339           'type': 'none',
1340           'sources': [
1341             'android/java/src/org/chromium/net/AndroidCertVerifyResult.java',
1342             'android/java/src/org/chromium/net/AndroidKeyStore.java',
1343             'android/java/src/org/chromium/net/AndroidNetworkLibrary.java',
1344             'android/java/src/org/chromium/net/AndroidPrivateKey.java',
1345             'android/java/src/org/chromium/net/GURLUtils.java',
1346             'android/java/src/org/chromium/net/NetStringUtil.java',
1347             'android/java/src/org/chromium/net/NetworkChangeNotifier.java',
1348             'android/java/src/org/chromium/net/ProxyChangeListener.java',
1349             'android/java/src/org/chromium/net/X509Util.java',
1350           ],
1351           'variables': {
1352             'jni_gen_package': 'net',
1353           },
1354           'includes': [ '../build/jni_generator.gypi' ],
1355         },
1356         {
1357           'target_name': 'net_test_jni_headers',
1358           'type': 'none',
1359           'sources': [
1360             'android/javatests/src/org/chromium/net/AndroidKeyStoreTestUtil.java',
1361           ],
1362           'variables': {
1363             'jni_gen_package': 'net',
1364           },
1365           'includes': [ '../build/jni_generator.gypi' ],
1366         },
1367         {
1368           'target_name': 'net_java',
1369           'type': 'none',
1370           'variables': {
1371             'java_in_dir': '../net/android/java',
1372           },
1373           'dependencies': [
1374             '../base/base.gyp:base',
1375             'cert_verify_status_android_java',
1376             'certificate_mime_types_java',
1377             'network_change_notifier_types_java',
1378             'net_errors_java',
1379             'private_key_types_java',
1380             'remote_android_keystore_aidl',
1381           ],
1382           'includes': [ '../build/java.gypi' ],
1383         },
1384         {
1385           # Processes the interface files for communication with an Android KeyStore
1386           # running in a separate process.
1387           'target_name': 'remote_android_keystore_aidl',
1388           'type': 'none',
1389           'variables': {
1390             'aidl_interface_file': '../net/android/java/src/org/chromium/net/IRemoteAndroidKeyStoreInterface.aidl',
1391           },
1392           'sources': [
1393             '../net/android/java/src/org/chromium/net/IRemoteAndroidKeyStore.aidl',
1394             '../net/android/java/src/org/chromium/net/IRemoteAndroidKeyStoreCallbacks.aidl',
1395           ],
1396           'includes': [ '../build/java_aidl.gypi' ],
1397         },
1398         {
1399           'target_name': 'net_java_test_support',
1400           'type': 'none',
1401           'variables': {
1402             'java_in_dir': '../net/test/android/javatests',
1403           },
1404           'includes': [ '../build/java.gypi' ],
1405         },
1406         {
1407           'target_name': 'net_javatests',
1408           'type': 'none',
1409           'variables': {
1410             'java_in_dir': '../net/android/javatests',
1411           },
1412           'dependencies': [
1413             '../base/base.gyp:base',
1414             '../base/base.gyp:base_java_test_support',
1415             'net_java',
1416           ],
1417           'includes': [ '../build/java.gypi' ],
1418         },
1419         {
1420           'target_name': 'net_errors_java',
1421           'type': 'none',
1422           'sources': [
1423             'android/java/NetError.template',
1424           ],
1425           'variables': {
1426             'package_name': 'org/chromium/net',
1427             'template_deps': ['base/net_error_list.h'],
1428           },
1429           'includes': [ '../build/android/java_cpp_template.gypi' ],
1430         },
1431         {
1432           'target_name': 'certificate_mime_types_java',
1433           'type': 'none',
1434           'variables': {
1435             'source_file': 'base/mime_util.h',
1436           },
1437           'includes': [ '../build/android/java_cpp_enum.gypi' ],
1438         },
1439         {
1440           'target_name': 'cert_verify_status_android_java',
1441           'type': 'none',
1442           'variables': {
1443             'source_file': 'android/cert_verify_result_android.h',
1444           },
1445           'includes': [ '../build/android/java_cpp_enum.gypi' ],
1446         },
1447         {
1448           'target_name': 'network_change_notifier_types_java',
1449           'type': 'none',
1450           'variables': {
1451             'source_file': 'base/network_change_notifier.h',
1452           },
1453           'includes': [ '../build/android/java_cpp_enum.gypi' ],
1454         },
1455         {
1456           'target_name': 'private_key_types_java',
1457           'type': 'none',
1458           'variables': {
1459             'source_file': 'android/keystore.h',
1460           },
1461           'includes': [ '../build/android/java_cpp_enum.gypi' ],
1462         },
1463         {
1464           'target_name': 'net_unittests_apk',
1465           'type': 'none',
1466           'dependencies': [
1467             'net_java',
1468             'net_javatests',
1469             'net_unittests',
1470           ],
1471           'conditions': [
1472             ['v8_use_external_startup_data==1', {
1473               'dependencies': [
1474                 '../v8/tools/gyp/v8.gyp:v8_external_snapshot',
1475               ],
1476               'copies': [
1477                 {
1478                 'destination': '<(asset_location)',
1479                   'files': [
1480                     '<(PRODUCT_DIR)/natives_blob.bin',
1481                     '<(PRODUCT_DIR)/snapshot_blob.bin',
1482                   ],
1483                 },
1484               ],
1485             }],
1486           ],
1487           'variables': {
1488             'test_suite_name': 'net_unittests',
1489             'conditions': [
1490               ['v8_use_external_startup_data==1', {
1491                 'asset_location': '<(PRODUCT_DIR)/net_unittests_apk/assets',
1492                 'additional_input_paths': [
1493                   '<(PRODUCT_DIR)/net_unittests_apk/assets/natives_blob.bin',
1494                   '<(PRODUCT_DIR)/net_unittests_apk/assets/snapshot_blob.bin',
1495                 ],
1496                 'inputs': [
1497                   '<(PRODUCT_DIR)/natives_blob.bin',
1498                   '<(PRODUCT_DIR)/snapshot_blob.bin',
1499                 ],
1500               }],
1501             ],
1502           },
1503           'includes': [ '../build/apk_test.gypi' ],
1504         },
1505       ],
1506     }],
1507     ['OS == "android" or OS == "linux"', {
1508       'targets': [
1509         {
1510           'target_name': 'disk_cache_memory_test',
1511           'type': 'executable',
1512           'dependencies': [
1513             '../base/base.gyp:base',
1514             'net',
1515           ],
1516           'sources': [
1517             'tools/disk_cache_memory_test/disk_cache_memory_test.cc',
1518           ],
1519         },
1520       ],
1521     }],
1522     ['test_isolation_mode != "noop"', {
1523       'targets': [
1524         {
1525           'target_name': 'net_unittests_run',
1526           'type': 'none',
1527           'dependencies': [
1528             'net_unittests',
1529           ],
1530           'includes': [
1531             '../build/isolate.gypi',
1532           ],
1533           'sources': [
1534             'net_unittests.isolate',
1535           ],
1536         },
1537       ],
1538     }],
1539   ],