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

Side by Side Diff: net/BUILD.gn

Issue 1839803002: Remove net & url small, iOS ICU alternatives, unit tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « google_apis/BUILD.gn ('k') | net/android/net_jni_registrar.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import("//build/buildflag_header.gni") 5 import("//build/buildflag_header.gni")
6 import("//build/config/chromecast_build.gni") 6 import("//build/config/chromecast_build.gni")
7 import("//build/config/compiler/compiler.gni") 7 import("//build/config/compiler/compiler.gni")
8 import("//build/config/crypto.gni") 8 import("//build/config/crypto.gni")
9 import("//build/config/features.gni") 9 import("//build/config/features.gni")
10 import("//build/config/ui.gni") 10 import("//build/config/ui.gni")
11 import("//build_overrides/v8.gni") 11 import("//build_overrides/v8.gni")
12 import("//testing/libfuzzer/fuzzer_test.gni") 12 import("//testing/libfuzzer/fuzzer_test.gni")
13 import("//testing/test.gni") 13 import("//testing/test.gni")
14 import("//third_party/icu/config.gni") 14 import("//third_party/icu/config.gni")
15 import("//third_party/protobuf/proto_library.gni") 15 import("//third_party/protobuf/proto_library.gni")
16 import("//tools/grit/grit_rule.gni") 16 import("//tools/grit/grit_rule.gni")
17 import("//url/features.gni")
17 18
18 if (is_android) { 19 if (is_android) {
19 import("//build/config/android/config.gni") 20 import("//build/config/android/config.gni")
20 import("//build/config/android/rules.gni") 21 import("//build/config/android/rules.gni")
21 } else if (is_mac) { 22 } else if (is_mac) {
22 import("//build/config/mac/mac_sdk.gni") 23 import("//build/config/mac/mac_sdk.gni")
23 } 24 }
24 25
25 # The list of net files is kept in net.gypi. Read it. 26 # The list of net files is kept in net.gypi. Read it.
26 gypi_values = exec_script("//build/gypi_to_gn.py", 27 gypi_values = exec_script("//build/gypi_to_gn.py",
(...skipping 17 matching lines...) Expand all
44 45
45 # WebSockets and socket stream code are not used on iOS and are optional in 46 # WebSockets and socket stream code are not used on iOS and are optional in
46 # cronet. 47 # cronet.
47 enable_websockets = !is_ios 48 enable_websockets = !is_ios
48 disable_ftp_support = is_ios 49 disable_ftp_support = is_ios
49 50
50 # Enable Kerberos authentication. It is disabled by default on ChromeOS, iOS, 51 # Enable Kerberos authentication. It is disabled by default on ChromeOS, iOS,
51 # Chromecast, at least for now. This feature needs configuration (krb5.conf 52 # Chromecast, at least for now. This feature needs configuration (krb5.conf
52 # and so on). 53 # and so on).
53 use_kerberos = !is_chromeos && !is_ios && !is_chromecast 54 use_kerberos = !is_chromeos && !is_ios && !is_chromecast
55
56 # Do not disable brotli filter by default.
57 disable_brotli_filter = false
54 } 58 }
55 59
56 config("net_config") { 60 config("net_config") {
57 defines = [] 61 defines = []
58 if (posix_avoid_mmap) { 62 if (posix_avoid_mmap) {
59 defines += [ "POSIX_AVOID_MMAP" ] 63 defines += [ "POSIX_AVOID_MMAP" ]
60 } 64 }
61 if (disable_file_support) { 65 if (disable_file_support) {
62 defines += [ "DISABLE_FILE_SUPPORT" ] 66 defines += [ "DISABLE_FILE_SUPPORT" ]
63 } 67 }
64 if (disable_ftp_support) { 68 if (disable_ftp_support) {
65 defines += [ "DISABLE_FTP_SUPPORT=1" ] 69 defines += [ "DISABLE_FTP_SUPPORT=1" ]
66 } 70 }
67 } 71 }
68 72
69 # net_internal_config is shared with net and net_small.
70 config("net_internal_config") { 73 config("net_internal_config") {
71 defines = [ 74 defines = [
72 # TODO(GYP) Note that the GYP file supports linux_link_kerberos (defaults to 75 # TODO(GYP) Note that the GYP file supports linux_link_kerberos (defaults to
73 # 0) which implies that we run pkg_config on kerberos and link to that 76 # 0) which implies that we run pkg_config on kerberos and link to that
74 # rather than setting this define which will dynamically open it. That 77 # rather than setting this define which will dynamically open it. That
75 # doesn't seem to be set in the regular builds, so we're skipping this 78 # doesn't seem to be set in the regular builds, so we're skipping this
76 # capability here. 79 # capability here.
77 "DLOPEN_KERBEROS", 80 "DLOPEN_KERBEROS",
78 "NET_IMPLEMENTATION", 81 "NET_IMPLEMENTATION",
79 ] 82 ]
80 83
81 if (use_kerberos) { 84 if (use_kerberos) {
82 defines += [ "USE_KERBEROS" ] 85 defines += [ "USE_KERBEROS" ]
83 if (is_android) { 86 if (is_android) {
84 include_dirs = [ "/usr/include/kerberosV" ] 87 include_dirs = [ "/usr/include/kerberosV" ]
85 } 88 }
86 } 89 }
87 90
88 if (enable_built_in_dns) { 91 if (enable_built_in_dns) {
89 defines += [ "ENABLE_BUILT_IN_DNS" ] 92 defines += [ "ENABLE_BUILT_IN_DNS" ]
90 } 93 }
91 } 94 }
92 95
93 # net_shared_* are settings shared between net and net_small 96 net_configs = [
94 net_shared_sources = gypi_values.net_nacl_common_sources
95
96 net_shared_unfiltered_sources = []
97
98 net_shared_configs = [
99 ":net_internal_config", 97 ":net_internal_config",
100 "//build/config:precompiled_headers", 98 "//build/config:precompiled_headers",
101 99
102 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 100 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
103 "//build/config/compiler:no_size_t_to_int_warning", 101 "//build/config/compiler:no_size_t_to_int_warning",
104 ] 102 ]
105 103
106 net_shared_public_deps = [ 104 if (use_glib && use_gconf && !is_chromeos) {
107 ":net_quic_proto", 105 net_configs += [ "//build/config/linux:gconf" ]
108 "//crypto", 106 }
109 "//crypto:platform", 107
110 ] 108 if (is_linux) {
111 109 net_configs += [ "//build/config/linux:libresolv" ]
112 net_shared_deps = [ 110 }
113 ":net_resources", 111
114 "//base", 112 component("net") {
115 "//net/base/registry_controlled_domains", 113 sources = gypi_values.net_nacl_common_sources
116 "//third_party/protobuf:protobuf_lite", 114 net_unfiltered_sources = []
117 ] 115
118 116 deps = [
119 if (!is_nacl) { 117 ":net_resources",
120 net_shared_sources += gypi_values.net_non_nacl_sources 118 "//base",
121 119 "//net/base/registry_controlled_domains",
122 net_shared_deps += [ 120 "//third_party/protobuf:protobuf_lite",
123 "//base/third_party/dynamic_annotations", 121 "//url:url_features",
124 "//components/prefs",
125 "//sdch",
126 "//third_party/zlib",
127 ] 122 ]
128 123
129 if (!use_kerberos) { 124 public_deps = [
130 net_shared_sources -= [ 125 ":net_quic_proto",
131 "http/http_auth_handler_negotiate.cc", 126 "//crypto",
132 "http/http_auth_handler_negotiate.h", 127 "//crypto:platform",
128 ]
129
130 if (!is_nacl) {
131 sources += gypi_values.net_non_nacl_sources
132
133 deps += [
134 "//base/third_party/dynamic_annotations",
135 "//components/prefs",
136 "//sdch",
137 "//third_party/zlib",
133 ] 138 ]
134 } 139
135 140 if (!use_kerberos) {
136 if (is_posix) { 141 sources -= [
137 if (posix_avoid_mmap) { 142 "http/http_auth_handler_negotiate.cc",
138 net_shared_sources -= [ "disk_cache/blockfile/mapped_file_posix.cc" ] 143 "http/http_auth_handler_negotiate.h",
144 ]
145 }
146
147 if (is_posix) {
148 if (posix_avoid_mmap) {
149 sources -= [ "disk_cache/blockfile/mapped_file_posix.cc" ]
150 } else {
151 sources -= [ "disk_cache/blockfile/mapped_file_avoid_mmap_posix.cc" ]
152 }
153 }
154
155 if (!enable_built_in_dns) {
156 sources -= [
157 "dns/address_sorter_posix.cc",
158 "dns/address_sorter_posix.h",
159 "dns/dns_client.cc",
160 ]
161 }
162
163 if (use_openssl) {
164 sources -= [
165 "base/nss_memio.c",
166 "base/nss_memio.h",
167 "cert/ct_log_verifier_nss.cc",
168 "cert/ct_objects_extractor_nss.cc",
169 "cert/jwk_serializer_nss.cc",
170 "cert/scoped_nss_types.h",
171 "cert/x509_util_nss.cc",
172 "quic/crypto/aead_base_decrypter_nss.cc",
173 "quic/crypto/aead_base_encrypter_nss.cc",
174 "quic/crypto/aes_128_gcm_12_decrypter_nss.cc",
175 "quic/crypto/aes_128_gcm_12_encrypter_nss.cc",
176 "quic/crypto/chacha20_poly1305_rfc7539_decrypter_nss.cc",
177 "quic/crypto/chacha20_poly1305_rfc7539_encrypter_nss.cc",
178 "quic/crypto/channel_id_nss.cc",
179 "quic/crypto/p256_key_exchange_nss.cc",
180 "quic/crypto/proof_source_chromium_nss.cc",
181 "socket/nss_ssl_util.cc",
182 "socket/nss_ssl_util.h",
183 "socket/ssl_client_socket_nss.cc",
184 "socket/ssl_client_socket_nss.h",
185 "socket/ssl_server_socket_nss.cc",
186 "socket/ssl_server_socket_nss.h",
187 "ssl/token_binding_nss.cc",
188 ]
189 if (is_ios) {
190 sources -= [
191 "cert/x509_util_ios.cc",
192 "cert/x509_util_ios.h",
193 ]
194 }
139 } else { 195 } else {
140 net_shared_sources -= 196 sources -= [
141 [ "disk_cache/blockfile/mapped_file_avoid_mmap_posix.cc" ] 197 "cert/ct_log_verifier_openssl.cc",
142 } 198 "cert/ct_objects_extractor_openssl.cc",
143 } 199 "cert/jwk_serializer_openssl.cc",
144 200 "cert/x509_util_openssl.cc",
145 if (!enable_built_in_dns) { 201 "cert/x509_util_openssl.h",
146 net_shared_sources -= [ 202 "quic/crypto/aead_base_decrypter_openssl.cc",
147 "dns/address_sorter_posix.cc", 203 "quic/crypto/aead_base_encrypter_openssl.cc",
148 "dns/address_sorter_posix.h", 204 "quic/crypto/aes_128_gcm_12_decrypter_openssl.cc",
149 "dns/dns_client.cc", 205 "quic/crypto/aes_128_gcm_12_encrypter_openssl.cc",
150 ] 206 "quic/crypto/chacha20_poly1305_rfc7539_decrypter_openssl.cc",
151 } 207 "quic/crypto/chacha20_poly1305_rfc7539_encrypter_openssl.cc",
152 208 "quic/crypto/channel_id_openssl.cc",
153 if (use_openssl) { 209 "quic/crypto/p256_key_exchange_openssl.cc",
154 net_shared_sources -= [ 210 "quic/crypto/proof_source_chromium_openssl.cc",
155 "base/nss_memio.c", 211 "quic/crypto/scoped_evp_aead_ctx.cc",
156 "base/nss_memio.h", 212 "quic/crypto/scoped_evp_aead_ctx.h",
157 "cert/ct_log_verifier_nss.cc", 213 "socket/ssl_client_socket_openssl.cc",
158 "cert/ct_objects_extractor_nss.cc", 214 "socket/ssl_client_socket_openssl.h",
159 "cert/jwk_serializer_nss.cc", 215 "socket/ssl_server_socket_openssl.cc",
160 "cert/scoped_nss_types.h", 216 "socket/ssl_server_socket_openssl.h",
161 "cert/x509_util_nss.cc", 217 "ssl/openssl_ssl_util.cc",
162 "quic/crypto/aead_base_decrypter_nss.cc", 218 "ssl/openssl_ssl_util.h",
163 "quic/crypto/aead_base_encrypter_nss.cc", 219 "ssl/ssl_client_session_cache_openssl.cc",
164 "quic/crypto/aes_128_gcm_12_decrypter_nss.cc", 220 "ssl/ssl_client_session_cache_openssl.h",
165 "quic/crypto/aes_128_gcm_12_encrypter_nss.cc", 221 "ssl/ssl_key_logger.cc",
166 "quic/crypto/chacha20_poly1305_rfc7539_decrypter_nss.cc", 222 "ssl/ssl_key_logger.h",
167 "quic/crypto/chacha20_poly1305_rfc7539_encrypter_nss.cc", 223 "ssl/ssl_platform_key.h",
168 "quic/crypto/channel_id_nss.cc", 224 "ssl/ssl_platform_key_task_runner.cc",
169 "quic/crypto/p256_key_exchange_nss.cc", 225 "ssl/ssl_platform_key_task_runner.h",
170 "quic/crypto/proof_source_chromium_nss.cc", 226 "ssl/test_ssl_private_key.cc",
171 "socket/nss_ssl_util.cc", 227 "ssl/test_ssl_private_key.h",
172 "socket/nss_ssl_util.h", 228 "ssl/threaded_ssl_private_key.cc",
173 "socket/ssl_client_socket_nss.cc", 229 "ssl/threaded_ssl_private_key.h",
174 "socket/ssl_client_socket_nss.h", 230 "ssl/token_binding_openssl.cc",
175 "socket/ssl_server_socket_nss.cc", 231 ]
176 "socket/ssl_server_socket_nss.h", 232 }
177 "ssl/token_binding_nss.cc", 233
178 ] 234 if (!use_openssl_certs) {
179 if (is_ios) { 235 sources -= [
180 net_shared_sources -= [ 236 "base/crypto_module_openssl.cc",
181 "cert/x509_util_ios.cc", 237 "base/keygen_handler_openssl.cc",
182 "cert/x509_util_ios.h", 238 "base/openssl_private_key_store.h",
183 ]
184 }
185 } else {
186 net_shared_sources -= [
187 "cert/ct_log_verifier_openssl.cc",
188 "cert/ct_objects_extractor_openssl.cc",
189 "cert/jwk_serializer_openssl.cc",
190 "cert/x509_util_openssl.cc",
191 "cert/x509_util_openssl.h",
192 "quic/crypto/aead_base_decrypter_openssl.cc",
193 "quic/crypto/aead_base_encrypter_openssl.cc",
194 "quic/crypto/aes_128_gcm_12_decrypter_openssl.cc",
195 "quic/crypto/aes_128_gcm_12_encrypter_openssl.cc",
196 "quic/crypto/chacha20_poly1305_rfc7539_decrypter_openssl.cc",
197 "quic/crypto/chacha20_poly1305_rfc7539_encrypter_openssl.cc",
198 "quic/crypto/channel_id_openssl.cc",
199 "quic/crypto/p256_key_exchange_openssl.cc",
200 "quic/crypto/proof_source_chromium_openssl.cc",
201 "quic/crypto/scoped_evp_aead_ctx.cc",
202 "quic/crypto/scoped_evp_aead_ctx.h",
203 "socket/ssl_client_socket_openssl.cc",
204 "socket/ssl_client_socket_openssl.h",
205 "socket/ssl_server_socket_openssl.cc",
206 "socket/ssl_server_socket_openssl.h",
207 "ssl/openssl_ssl_util.cc",
208 "ssl/openssl_ssl_util.h",
209 "ssl/ssl_client_session_cache_openssl.cc",
210 "ssl/ssl_client_session_cache_openssl.h",
211 "ssl/ssl_key_logger.cc",
212 "ssl/ssl_key_logger.h",
213 "ssl/ssl_platform_key.h",
214 "ssl/ssl_platform_key_task_runner.cc",
215 "ssl/ssl_platform_key_task_runner.h",
216 "ssl/test_ssl_private_key.cc",
217 "ssl/test_ssl_private_key.h",
218 "ssl/threaded_ssl_private_key.cc",
219 "ssl/threaded_ssl_private_key.h",
220 "ssl/token_binding_openssl.cc",
221 ]
222 }
223
224 if (!use_openssl_certs) {
225 net_shared_sources -= [
226 "base/crypto_module_openssl.cc",
227 "base/keygen_handler_openssl.cc",
228 "base/openssl_private_key_store.h",
229 "base/openssl_private_key_store_memory.cc",
230 "cert/cert_database_openssl.cc",
231 "cert/cert_verify_proc_openssl.cc",
232 "cert/cert_verify_proc_openssl.h",
233 "cert/test_root_certs_openssl.cc",
234 "cert/x509_certificate_openssl.cc",
235 "ssl/openssl_client_key_store.cc",
236 "ssl/openssl_client_key_store.h",
237 ]
238 if (is_android) {
239 net_shared_sources -= [ "base/openssl_private_key_store_android.cc" ]
240 }
241 } else {
242 if (is_android) {
243 # Android doesn't use these even when using OpenSSL.
244 net_shared_sources -= [
245 "base/openssl_private_key_store_memory.cc", 239 "base/openssl_private_key_store_memory.cc",
246 "cert/cert_database_openssl.cc", 240 "cert/cert_database_openssl.cc",
247 "cert/cert_verify_proc_openssl.cc", 241 "cert/cert_verify_proc_openssl.cc",
242 "cert/cert_verify_proc_openssl.h",
248 "cert/test_root_certs_openssl.cc", 243 "cert/test_root_certs_openssl.cc",
249 ] 244 "cert/x509_certificate_openssl.cc",
250 } 245 "ssl/openssl_client_key_store.cc",
246 "ssl/openssl_client_key_store.h",
247 ]
248 if (is_android) {
249 sources -= [ "base/openssl_private_key_store_android.cc" ]
250 }
251 } else {
252 if (is_android) {
253 # Android doesn't use these even when using OpenSSL.
254 sources -= [
255 "base/openssl_private_key_store_memory.cc",
256 "cert/cert_database_openssl.cc",
257 "cert/cert_verify_proc_openssl.cc",
258 "cert/test_root_certs_openssl.cc",
259 ]
260 }
261 }
262
263 if (!use_kerberos || is_android) {
264 sources -= [
265 "http/http_auth_gssapi_posix.cc",
266 "http/http_auth_gssapi_posix.h",
267 ]
268 }
269
270 if (use_glib && use_gconf && !is_chromeos) {
271 deps += [ "//build/linux:gio" ]
272 }
273
274 if (!use_nss_certs) {
275 sources -= [
276 "base/crypto_module_nss.cc",
277 "base/keygen_handler_nss.cc",
278 "cert/cert_database_nss.cc",
279 "cert/nss_cert_database.cc",
280 "cert/nss_cert_database.h",
281 "cert/x509_certificate_nss.cc",
282 "ssl/client_cert_store_nss.cc",
283 "ssl/client_cert_store_nss.h",
284 "third_party/mozilla_security_manager/nsKeygenHandler.cpp",
285 "third_party/mozilla_security_manager/nsKeygenHandler.h",
286 "third_party/mozilla_security_manager/nsNSSCertificateDB.cpp",
287 "third_party/mozilla_security_manager/nsNSSCertificateDB.h",
288 "third_party/mozilla_security_manager/nsPKCS12Blob.cpp",
289 "third_party/mozilla_security_manager/nsPKCS12Blob.h",
290 ]
291 if (is_chromeos) {
292 # These were already removed on non-ChromeOS.
293 sources -= [
294 "cert/nss_cert_database_chromeos.cc",
295 "cert/nss_cert_database_chromeos.h",
296 "cert/nss_profile_filter_chromeos.cc",
297 "cert/nss_profile_filter_chromeos.h",
298 ]
299 }
300 sources -= [
301 "ssl/client_key_store.cc",
302 "ssl/client_key_store.h",
303 "ssl/ssl_platform_key_nss.cc",
304 ]
305 } else if (use_openssl) {
306 # client_cert_store_nss.c requires NSS_CmpCertChainWCANames from NSS's
307 # libssl, but our bundled copy is not built in OpenSSL ports. Pull that
308 # file in directly.
309 sources += [ "third_party/nss/ssl/cmpcert.c" ]
310 }
311
312 if (!use_nss_verifier) {
313 # These files are part of the partial implementation of NSS for
314 # cert verification, so keep them in that case.
315 sources -= [
316 "cert/cert_verify_proc_nss.cc",
317 "cert/cert_verify_proc_nss.h",
318 "cert/test_root_certs_nss.cc",
319 "cert/x509_util_nss_certs.cc",
320 "cert_net/nss_ocsp.cc",
321 "cert_net/nss_ocsp.h",
322 ]
323 }
324
325 if (is_ios && use_nss_verifier) {
326 sources -= [
327 "cert/cert_verify_proc_ios.cc",
328 "cert/cert_verify_proc_ios.h",
329 "cert/x509_certificate_openssl_ios.cc",
330 ]
331
332 deps += [
333 "//net/third_party/nss/ssl:libssl",
334 "//third_party/nss",
335 "//third_party/nss:nspr",
336 ]
337 }
338
339 if (is_chromecast && use_nss_certs) {
340 sources += [ "ssl/ssl_platform_key_chromecast.cc" ]
341 sources -= [ "ssl/ssl_platform_key_nss.cc" ]
342 }
343
344 if (!enable_mdns) {
345 sources -= [
346 "dns/mdns_cache.cc",
347 "dns/mdns_cache.h",
348 "dns/mdns_client.cc",
349 "dns/mdns_client.h",
350 "dns/mdns_client_impl.cc",
351 "dns/mdns_client_impl.h",
352 "dns/record_parsed.cc",
353 "dns/record_parsed.h",
354 "dns/record_rdata.cc",
355 "dns/record_rdata.h",
356 ]
357 }
358
359 if (is_win) {
360 sources -= [ "http/http_auth_handler_ntlm_portable.cc" ]
361 } else { # !is_win
362 sources -= [
363 "base/winsock_init.cc",
364 "base/winsock_init.h",
365 "base/winsock_util.cc",
366 "base/winsock_util.h",
367 "proxy/proxy_resolver_winhttp.cc",
368 "proxy/proxy_resolver_winhttp.h",
369 ]
370 }
371
372 if (is_ios) {
373 # Add back some sources that were otherwise filtered out.
374 # iOS needs some Mac files.
375 net_unfiltered_sources += [
376 "base/mac/url_conversions.h",
377 "base/mac/url_conversions.mm",
378 "base/network_change_notifier_mac.cc",
379 "base/network_config_watcher_mac.cc",
380 "base/network_interfaces_mac.cc",
381 "base/network_interfaces_mac.h",
382 "base/platform_mime_util_mac.mm",
383 "proxy/proxy_resolver_mac.cc",
384 "proxy/proxy_server_mac.cc",
385 ]
386
387 sources -= [ "disk_cache/blockfile/file_posix.cc" ]
388 }
389
390 if (is_ios && !use_nss_verifier) {
391 net_unfiltered_sources += [ "cert/test_root_certs_mac.cc" ]
392 sources -= [ "cert/x509_certificate_ios.cc" ]
393 }
394
395 if (is_ios || is_mac) {
396 sources += gypi_values.net_base_mac_ios_sources
397 }
398
399 if (is_android) {
400 deps += [ ":net_jni_headers" ]
401
402 # Add some Linux sources that were excluded by the filter, but which
403 # are needed.
404 net_unfiltered_sources += [
405 "base/address_tracker_linux.cc",
406 "base/address_tracker_linux.h",
407 "base/network_interfaces_linux.cc",
408 "base/network_interfaces_linux.h",
409 "base/platform_mime_util_linux.cc",
410 ]
411 }
412 } else {
413 public_deps += [ "//native_client_sdk/src/libraries/nacl_io" ]
251 } 414 }
252 415
253 if (!use_kerberos || is_android) {
254 net_shared_sources -= [
255 "http/http_auth_gssapi_posix.cc",
256 "http/http_auth_gssapi_posix.h",
257 ]
258 }
259
260 if (use_glib && use_gconf && !is_chromeos) {
261 net_shared_configs += [ "//build/config/linux:gconf" ]
262 net_shared_deps += [ "//build/linux:gio" ]
263 }
264
265 if (is_linux) {
266 net_shared_configs += [ "//build/config/linux:libresolv" ]
267 }
268
269 if (!use_nss_certs) {
270 net_shared_sources -= [
271 "base/crypto_module_nss.cc",
272 "base/keygen_handler_nss.cc",
273 "cert/cert_database_nss.cc",
274 "cert/nss_cert_database.cc",
275 "cert/nss_cert_database.h",
276 "cert/x509_certificate_nss.cc",
277 "ssl/client_cert_store_nss.cc",
278 "ssl/client_cert_store_nss.h",
279 "third_party/mozilla_security_manager/nsKeygenHandler.cpp",
280 "third_party/mozilla_security_manager/nsKeygenHandler.h",
281 "third_party/mozilla_security_manager/nsNSSCertificateDB.cpp",
282 "third_party/mozilla_security_manager/nsNSSCertificateDB.h",
283 "third_party/mozilla_security_manager/nsPKCS12Blob.cpp",
284 "third_party/mozilla_security_manager/nsPKCS12Blob.h",
285 ]
286 if (is_chromeos) {
287 # These were already removed on non-ChromeOS.
288 net_shared_sources -= [
289 "cert/nss_cert_database_chromeos.cc",
290 "cert/nss_cert_database_chromeos.h",
291 "cert/nss_profile_filter_chromeos.cc",
292 "cert/nss_profile_filter_chromeos.h",
293 ]
294 }
295 net_shared_sources -= [
296 "ssl/client_key_store.cc",
297 "ssl/client_key_store.h",
298 "ssl/ssl_platform_key_nss.cc",
299 ]
300 } else if (use_openssl) {
301 # client_cert_store_nss.c requires NSS_CmpCertChainWCANames from NSS's
302 # libssl, but our bundled copy is not built in OpenSSL ports. Pull that file
303 # in directly.
304 net_shared_sources += [ "third_party/nss/ssl/cmpcert.c" ]
305 }
306
307 if (!use_nss_verifier) {
308 # These files are part of the partial implementation of NSS for
309 # cert verification, so keep them in that case.
310 net_shared_sources -= [
311 "cert/cert_verify_proc_nss.cc",
312 "cert/cert_verify_proc_nss.h",
313 "cert/test_root_certs_nss.cc",
314 "cert/x509_util_nss_certs.cc",
315 "cert_net/nss_ocsp.cc",
316 "cert_net/nss_ocsp.h",
317 ]
318 }
319
320 if (is_ios && use_nss_verifier) {
321 net_shared_sources -= [
322 "cert/cert_verify_proc_ios.cc",
323 "cert/cert_verify_proc_ios.h",
324 "cert/x509_certificate_openssl_ios.cc",
325 ]
326
327 net_shared_deps += [
328 "//third_party/nss:nspr",
329 "//third_party/nss",
330 "//net/third_party/nss/ssl:libssl",
331 ]
332 }
333
334 if (is_chromecast && use_nss_certs) {
335 net_shared_sources += [ "ssl/ssl_platform_key_chromecast.cc" ]
336 net_shared_sources -= [ "ssl/ssl_platform_key_nss.cc" ]
337 }
338
339 if (!enable_mdns) {
340 net_shared_sources -= [
341 "dns/mdns_cache.cc",
342 "dns/mdns_cache.h",
343 "dns/mdns_client.cc",
344 "dns/mdns_client.h",
345 "dns/mdns_client_impl.cc",
346 "dns/mdns_client_impl.h",
347 "dns/record_parsed.cc",
348 "dns/record_parsed.h",
349 "dns/record_rdata.cc",
350 "dns/record_rdata.h",
351 ]
352 }
353
354 if (is_win) {
355 net_shared_sources -= [ "http/http_auth_handler_ntlm_portable.cc" ]
356 } else { # !is_win
357 net_shared_sources -= [
358 "base/winsock_init.cc",
359 "base/winsock_init.h",
360 "base/winsock_util.cc",
361 "base/winsock_util.h",
362 "proxy/proxy_resolver_winhttp.cc",
363 "proxy/proxy_resolver_winhttp.h",
364 ]
365 }
366
367 if (is_ios) {
368 # Add back some sources that were otherwise filtered out. iOS needs some Mac
369 # files.
370 net_shared_unfiltered_sources += [
371 "base/mac/url_conversions.h",
372 "base/mac/url_conversions.mm",
373 "base/network_change_notifier_mac.cc",
374 "base/network_config_watcher_mac.cc",
375 "base/network_interfaces_mac.cc",
376 "base/network_interfaces_mac.h",
377 "base/platform_mime_util_mac.mm",
378 "proxy/proxy_resolver_mac.cc",
379 "proxy/proxy_server_mac.cc",
380 ]
381
382 net_shared_sources -= [ "disk_cache/blockfile/file_posix.cc" ]
383 }
384
385 if (is_ios && !use_nss_verifier) {
386 net_shared_unfiltered_sources += [ "cert/test_root_certs_mac.cc" ]
387 net_shared_sources -= [ "cert/x509_certificate_ios.cc" ]
388 }
389
390 if (is_ios || is_mac) {
391 net_shared_sources += gypi_values.net_base_mac_ios_sources
392 }
393
394 if (is_android) {
395 net_shared_deps += [ ":net_jni_headers" ]
396
397 # Add some Linux sources that were excluded by the filter, but which
398 # are needed.
399 net_shared_unfiltered_sources += [
400 "base/address_tracker_linux.cc",
401 "base/address_tracker_linux.h",
402 "base/network_interfaces_linux.cc",
403 "base/network_interfaces_linux.h",
404 "base/platform_mime_util_linux.cc",
405 ]
406 }
407 } else {
408 net_shared_public_deps += [ "//native_client_sdk/src/libraries/nacl_io" ]
409 }
410
411 component("net") {
412 sources = net_shared_sources
413
414 # Add back some sources that were otherwise filtered out. 416 # Add back some sources that were otherwise filtered out.
415 set_sources_assignment_filter([]) 417 set_sources_assignment_filter([])
416 sources += net_shared_unfiltered_sources 418 sources += net_unfiltered_sources
417 set_sources_assignment_filter(sources_assignment_filter) 419 set_sources_assignment_filter(sources_assignment_filter)
418 420
419 cflags = [] 421 cflags = []
420 configs += net_shared_configs 422 configs += net_configs
421 public_configs = [ ":net_config" ] 423 public_configs = [ ":net_config" ]
422 424
423 public_deps = net_shared_public_deps + [ "//url" ] 425 public_deps += [ "//url" ]
424 deps = net_shared_deps
425 426
426 if (is_mac) { 427 if (is_mac) {
427 libs = [ 428 libs = [
428 "Foundation.framework", 429 "Foundation.framework",
429 "Security.framework", 430 "Security.framework",
430 "SystemConfiguration.framework", 431 "SystemConfiguration.framework",
431 "resolv", 432 "resolv",
432 ] 433 ]
433 } 434 }
434 435
(...skipping 26 matching lines...) Expand all
461 462
462 if (!disable_ftp_support) { 463 if (!disable_ftp_support) {
463 sources += gypi_values.net_ftp_support_sources 464 sources += gypi_values.net_ftp_support_sources
464 } 465 }
465 466
466 if (enable_websockets) { 467 if (enable_websockets) {
467 sources += gypi_values.net_websockets_sources 468 sources += gypi_values.net_websockets_sources
468 } 469 }
469 470
470 # ICU support. 471 # ICU support.
471 deps += [ 472 if (use_platform_icu_alternatives) {
472 "//base:i18n", 473 if (is_android) {
473 "//third_party/icu", 474 # Use ICU alternative on Android.
474 ] 475 sources += [
475 sources += [ 476 "base/net_string_util_icu_alternatives_android.cc",
476 "base/filename_util_icu.cc", 477 "base/net_string_util_icu_alternatives_android.h",
477 "base/net_string_util_icu.cc", 478 ]
478 ] 479 deps += [ ":net_jni_headers" ]
480 } else if (is_ios) {
481 # Use ICU alternative on iOS.
482 sources += [ "base/net_string_util_icu_alternatives_ios.mm" ]
483 } else {
484 assert(false,
485 "ICU alternative is not implemented for platform: " + target_os)
486 }
487 } else {
488 # Use ICU.
489 deps += [
490 "//base:i18n",
491 "//third_party/icu",
492 ]
493 sources += [
494 "base/filename_util_icu.cc",
495 "base/net_string_util_icu.cc",
496 ]
497 }
479 498
480 # Brotli support. 499 # Brotli support.
481 deps += [ "//third_party/brotli" ] 500 if (!disable_brotli_filter) {
482 sources += [ "filter/brotli_filter.cc" ] 501 sources += [ "filter/brotli_filter.cc" ]
502 deps += [ "//third_party/brotli" ]
503 } else {
504 sources += [ "filter/brotli_filter_disabled.cc" ]
505 }
483 } 506 }
484 } 507 }
485 508
486 if (is_android) {
487 # Same as net, but with brotli encoding, ICU, file, ftp, and websocket
488 # support stripped.
489 component("net_small") {
490 sources = net_shared_sources
491
492 # Add back some sources that were otherwise filtered out.
493 set_sources_assignment_filter([])
494 sources += net_shared_unfiltered_sources
495 set_sources_assignment_filter(sources_assignment_filter)
496
497 cflags = []
498 defines = []
499 configs += net_shared_configs
500 public_configs = [ ":net_config" ]
501
502 public_deps = net_shared_public_deps +
503 [ "//url:url_lib_use_icu_alternatives_on_android" ]
504 deps = net_shared_deps + [ ":net_jni_headers" ]
505
506 defines += [
507 "DISABLE_FILE_SUPPORT",
508 "DISABLE_FTP_SUPPORT",
509 "USE_ICU_ALTERNATIVES_ON_ANDROID=1",
510 ]
511
512 # Use ICU alternative on Android.
513 sources += [
514 "base/net_string_util_icu_alternatives_android.cc",
515 "base/net_string_util_icu_alternatives_android.h",
516 ]
517
518 # Disable Brotli support.
519 sources += [ "filter/brotli_filter_disabled.cc" ]
520 }
521 }
522
523 grit("net_resources") { 509 grit("net_resources") {
524 source = "base/net_resources.grd" 510 source = "base/net_resources.grd"
525 use_qualified_include = true 511 use_qualified_include = true
526 outputs = [ 512 outputs = [
527 "grit/net_resources.h", 513 "grit/net_resources.h",
528 "net_resources.pak", 514 "net_resources.pak",
529 ] 515 ]
530 } 516 }
531 517
532 proto_library("net_quic_proto") { 518 proto_library("net_quic_proto") {
533 visibility = [ 519 visibility = [ ":net" ]
534 ":net",
535 ":net_small",
536 ]
537 520
538 sources = [ 521 sources = [
539 "quic/proto/cached_network_parameters.proto", 522 "quic/proto/cached_network_parameters.proto",
540 "quic/proto/source_address_token.proto", 523 "quic/proto/source_address_token.proto",
541 ] 524 ]
542 cc_generator_options = "dllexport_decl=NET_EXPORT_PRIVATE:" 525 cc_generator_options = "dllexport_decl=NET_EXPORT_PRIVATE:"
543 cc_include = "net/base/net_export.h" 526 cc_include = "net/base/net_export.h"
544 527
545 defines = [ "NET_IMPLEMENTATION" ] 528 defines = [ "NET_IMPLEMENTATION" ]
546 529
(...skipping 837 matching lines...) Expand 10 before | Expand all | Expand 10 after
1384 source_set("stale_while_revalidate_experiment_domains") { 1367 source_set("stale_while_revalidate_experiment_domains") {
1385 sources = [ 1368 sources = [
1386 "base/stale_while_revalidate_experiment_domains.cc", 1369 "base/stale_while_revalidate_experiment_domains.cc",
1387 "base/stale_while_revalidate_experiment_domains.h", 1370 "base/stale_while_revalidate_experiment_domains.h",
1388 ] 1371 ]
1389 deps = [ 1372 deps = [
1390 ":net", 1373 ":net",
1391 ":stale_while_revalidate_experiment_domains_dafsa", 1374 ":stale_while_revalidate_experiment_domains_dafsa",
1392 "//base", 1375 "//base",
1393 ] 1376 ]
1394 configs += net_shared_configs 1377 configs += net_configs
1395 } 1378 }
1396 1379
1397 if (!is_ios) { 1380 if (!is_ios) {
1398 executable("quic_client") { 1381 executable("quic_client") {
1399 sources = [ 1382 sources = [
1400 "tools/quic/quic_simple_client_bin.cc", 1383 "tools/quic/quic_simple_client_bin.cc",
1401 ] 1384 ]
1402 deps = [ 1385 deps = [
1403 ":net", 1386 ":net",
1404 ":simple_quic_tools", 1387 ":simple_quic_tools",
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
1466 "//base/third_party/dynamic_annotations", 1449 "//base/third_party/dynamic_annotations",
1467 "//crypto", 1450 "//crypto",
1468 "//crypto:platform", 1451 "//crypto:platform",
1469 "//crypto:test_support", 1452 "//crypto:test_support",
1470 "//net/base/registry_controlled_domains", 1453 "//net/base/registry_controlled_domains",
1471 "//sql", 1454 "//sql",
1472 "//testing/gmock", 1455 "//testing/gmock",
1473 "//testing/gtest", 1456 "//testing/gtest",
1474 "//third_party/zlib", 1457 "//third_party/zlib",
1475 "//url", 1458 "//url",
1459 "//url:url_features",
1476 ] 1460 ]
1477 1461
1478 data = [ 1462 data = [
1479 "data/", 1463 "data/",
1480 ] 1464 ]
1481 data_deps = [] 1465 data_deps = []
1482 1466
1483 if (use_openssl) { 1467 if (use_openssl) {
1484 data_deps += [ "third_party/nist-pkits/" ] 1468 data_deps += [ "third_party/nist-pkits/" ]
1485 } 1469 }
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
1652 if (is_ios) { 1636 if (is_ios) {
1653 sources -= [ 1637 sources -= [
1654 # TODO(droger): The following tests are disabled because the 1638 # TODO(droger): The following tests are disabled because the
1655 # implementation is missing or incomplete. 1639 # implementation is missing or incomplete.
1656 # KeygenHandler::GenKeyAndSignChallenge() is not ported to iOS. 1640 # KeygenHandler::GenKeyAndSignChallenge() is not ported to iOS.
1657 "base/keygen_handler_unittest.cc", 1641 "base/keygen_handler_unittest.cc",
1658 "disk_cache/backend_unittest.cc", 1642 "disk_cache/backend_unittest.cc",
1659 "disk_cache/blockfile/block_files_unittest.cc", 1643 "disk_cache/blockfile/block_files_unittest.cc",
1660 1644
1661 # Need to read input data files. 1645 # Need to read input data files.
1662 "filter/brotli_filter_unittest.cc",
1663 "filter/gzip_filter_unittest.cc", 1646 "filter/gzip_filter_unittest.cc",
1664 "socket/ssl_server_socket_unittest.cc", 1647 "socket/ssl_server_socket_unittest.cc",
1665 "spdy/fuzzing/hpack_fuzz_util_test.cc", 1648 "spdy/fuzzing/hpack_fuzz_util_test.cc",
1666 1649
1667 # Need TestServer. 1650 # Need TestServer.
1668 "cert_net/cert_net_fetcher_impl_unittest.cc", 1651 "cert_net/cert_net_fetcher_impl_unittest.cc",
1669 "proxy/proxy_script_fetcher_impl_unittest.cc", 1652 "proxy/proxy_script_fetcher_impl_unittest.cc",
1670 "socket/ssl_client_socket_unittest.cc", 1653 "socket/ssl_client_socket_unittest.cc",
1671 "url_request/url_fetcher_impl_unittest.cc", 1654 "url_request/url_fetcher_impl_unittest.cc",
1672 "url_request/url_request_context_builder_unittest.cc", 1655 "url_request/url_request_context_builder_unittest.cc",
1673 1656
1674 # Needs GetAppOutput(). 1657 # Needs GetAppOutput().
1675 "test/python_utils_unittest.cc", 1658 "test/python_utils_unittest.cc",
1676 1659
1677 # The following tests are disabled because they don't apply to 1660 # The following tests are disabled because they don't apply to
1678 # iOS. 1661 # iOS.
1679 # OS is not "linux" or "freebsd" or "openbsd". 1662 # OS is not "linux" or "freebsd" or "openbsd".
1680 "socket/unix_domain_client_socket_posix_unittest.cc", 1663 "socket/unix_domain_client_socket_posix_unittest.cc",
1681 "socket/unix_domain_server_socket_posix_unittest.cc", 1664 "socket/unix_domain_server_socket_posix_unittest.cc",
1682 1665
1683 # See bug http://crbug.com/344533. 1666 # See bug http://crbug.com/344533.
1684 "disk_cache/blockfile/index_table_v3_unittest.cc", 1667 "disk_cache/blockfile/index_table_v3_unittest.cc",
1685 ] 1668 ]
1686 } 1669 }
1687 1670
1671 # Unit tests that aren't supported by the current ICU alternatives on Android.
1672 if (is_android && use_platform_icu_alternatives) {
1673 sources -= [
1674 "base/filename_util_unittest.cc",
1675 "base/url_util_unittest.cc",
1676 "cert/x509_certificate_unittest.cc",
1677 "proxy/proxy_resolver_v8_unittest.cc",
1678 "url_request/url_request_job_unittest.cc",
1679 ]
1680 }
1681
1682 # Unit tests that are not supported by the current ICU alternatives on iOS.
1683 if (is_ios && use_platform_icu_alternatives) {
1684 sources -= [
1685 "base/filename_util_unittest.cc",
1686 "base/url_util_unittest.cc",
1687 "cert/x509_certificate_unittest.cc",
1688 "http/http_auth_handler_basic_unittest.cc",
1689 "http/http_auth_handler_digest_unittest.cc",
1690 "http/http_auth_handler_factory_unittest.cc",
1691 "http/http_auth_unittest.cc",
1692 "http/http_content_disposition_unittest.cc",
1693 "http/http_network_transaction_unittest.cc",
1694 "http/http_proxy_client_socket_pool_unittest.cc",
1695 "socket/ssl_client_socket_pool_unittest.cc",
1696 "spdy/spdy_network_transaction_unittest.cc",
1697 "spdy/spdy_proxy_client_socket_unittest.cc",
1698 "url_request/url_request_job_unittest.cc",
1699 "url_request/url_request_unittest.cc",
1700 ]
1701 }
1702
1703 # Exclude brotli test if the support for brotli is disabled.
1704 # Also, exclude the test from iOS for now (needs to read input data files).
1705 if (disable_brotli_filter || is_ios) {
1706 sources -= [ "filter/brotli_filter_unittest.cc" ]
1707 }
1708
1688 if (is_android) { 1709 if (is_android) {
1689 deps += [ 1710 deps += [
1690 ":net_test_jni_headers", 1711 ":net_test_jni_headers",
1691 "//base:base_java_unittest_support", 1712 "//base:base_java_unittest_support",
1692 "//net/android:net_java", 1713 "//net/android:net_java",
1693 "//net/android:net_java_test_support", 1714 "//net/android:net_java_test_support",
1694 "//net/android:net_javatests", 1715 "//net/android:net_javatests",
1695 "//net/android:net_unittests_apk_resources", 1716 "//net/android:net_unittests_apk_resources",
1696 1717
1697 # TODO(mmenke): This depends on test_support_base, which depends on 1718 # TODO(mmenke): This depends on test_support_base, which depends on
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
1951 fuzzer_test("net_quic_crypto_framer_parse_message_fuzzer") { 1972 fuzzer_test("net_quic_crypto_framer_parse_message_fuzzer") {
1952 sources = [ 1973 sources = [
1953 "quic/quic_crypto_framer_parse_message_fuzzer.cc", 1974 "quic/quic_crypto_framer_parse_message_fuzzer.cc",
1954 ] 1975 ]
1955 deps = [ 1976 deps = [
1956 ":net_fuzzer_test_support", 1977 ":net_fuzzer_test_support",
1957 "//base", 1978 "//base",
1958 "//net", 1979 "//net",
1959 ] 1980 ]
1960 } 1981 }
OLDNEW
« no previous file with comments | « google_apis/BUILD.gn ('k') | net/android/net_jni_registrar.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698