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

Side by Side Diff: components/cronet.gypi

Issue 2306443002: Remove GYP files from components. (Closed)
Patch Set: Remove compiled resources Created 4 years, 3 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 | « components/crash.gypi ('k') | components/cronet/cronet_static.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 {
6 'conditions': [
7 ['OS=="android"', {
8 'targets': [
9 {
10 'target_name': 'cronet_jni_headers',
11 'type': 'none',
12 'sources': [
13 'cronet/android/java/src/org/chromium/net/impl/CronetBidirectionalSt ream.java',
14 'cronet/android/java/src/org/chromium/net/impl/CronetLibraryLoader.j ava',
15 'cronet/android/java/src/org/chromium/net/impl/CronetUploadDataStrea m.java',
16 'cronet/android/java/src/org/chromium/net/impl/CronetUrlRequest.java ',
17 'cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestConte xt.java',
18 'cronet/android/java/src/org/chromium/net/impl/ChromiumUrlRequest.ja va',
19 'cronet/android/java/src/org/chromium/net/impl/ChromiumUrlRequestCon text.java',
20 ],
21 'variables': {
22 'jni_gen_package': 'cronet',
23 },
24 'includes': [ '../build/jni_generator.gypi' ],
25 },
26 {
27 'target_name': 'chromium_url_request_java',
28 'type': 'none',
29 'variables': {
30 'source_file': 'cronet/android/chromium_url_request.h',
31 },
32 'includes': [ '../build/android/java_cpp_enum.gypi' ],
33 },
34 {
35 'target_name': 'net_request_priority_java',
36 'type': 'none',
37 'variables': {
38 'source_file': '../net/base/request_priority.h',
39 },
40 'includes': [ '../build/android/java_cpp_enum.gypi' ],
41 },
42 {
43 'target_name': 'network_quality_observation_source_java',
44 'type': 'none',
45 'variables': {
46 'source_file': '../net/nqe/network_quality_observation_source.h',
47 },
48 'includes': [ '../build/android/java_cpp_enum.gypi' ],
49 },
50 {
51 'target_name': 'url_request_error_java',
52 'type': 'none',
53 'variables': {
54 'source_file': 'cronet/android/url_request_error.h',
55 },
56 'includes': [ '../build/android/java_cpp_enum.gypi' ],
57 },
58 {
59 # This target is a jar file containing classes that Cronet's javadocs
60 # may reference but are not included in the javadocs themselves.
61 'target_name': 'cronet_javadoc_classpath',
62 'type': 'none',
63 'variables': {
64 # Work around GYP requirement that java targets specify java_in_dir
65 # variable that contains at least one java file.
66 'java_in_dir': 'cronet/android/api',
67 'java_in_dir_suffix': '/src_dummy',
68 'never_lint': 1,
69 },
70 'dependencies': [
71 'url_request_error_java',
72 ],
73 'includes': [ '../build/java.gypi' ],
74 },
75 {
76 'target_name': 'http_cache_type_java',
77 'type': 'none',
78 'variables': {
79 'source_file': 'cronet/url_request_context_config.h',
80 },
81 'includes': [ '../build/android/java_cpp_enum.gypi' ],
82 },
83 {
84 'target_name': 'load_states_list',
85 'type': 'none',
86 'sources': [
87 'cronet/android/java/src/org/chromium/net/LoadState.template',
88 ],
89 'variables': {
90 'package_name': 'org/chromium/cronet',
91 'template_deps': ['../net/base/load_states_list.h'],
92 },
93 'includes': [ '../build/android/java_cpp_template.gypi' ],
94 },
95 {
96 'target_name': 'cronet_api_version',
97 'type': 'none',
98 'variables': {
99 'lastchange_path': '<(DEPTH)/build/util/LASTCHANGE',
100 'version_py_path': '<(DEPTH)/build/util/version.py',
101 'version_path': '<(DEPTH)/chrome/VERSION',
102 'template_input_path': 'cronet/android/api/src/org/chromium/net/ApiV ersion.template',
103 'output_path': '<(SHARED_INTERMEDIATE_DIR)/templates/<(_target_name) /org/chromium/net/ApiVersion.java',
104 },
105 'direct_dependent_settings': {
106 'variables': {
107 # Ensure that the output directory is used in the class path
108 # when building targets that depend on this one.
109 'generated_src_dirs': [
110 '<(SHARED_INTERMEDIATE_DIR)/templates/<(_target_name)',
111 ],
112 # Ensure dependents are rebuilt when the generated Java file chang es.
113 'additional_input_paths': [
114 '<(output_path)',
115 ],
116 },
117 },
118 'actions': [
119 {
120 'action_name': 'cronet_api_version',
121 'inputs': [
122 '<(template_input_path)',
123 '<(version_path)',
124 '<(lastchange_path)',
125 ],
126 'outputs': [
127 '<(output_path)',
128 ],
129 'action': [
130 'python',
131 '<(version_py_path)',
132 '-f', '<(version_path)',
133 '-f', '<(lastchange_path)',
134 '<(template_input_path)',
135 '<(output_path)',
136 ],
137 'message': 'Generating API version information',
138 },
139 ],
140 },
141 {
142 'target_name': 'cronet_impl_version',
143 'type': 'none',
144 'variables': {
145 'lastchange_path': '<(DEPTH)/build/util/LASTCHANGE',
146 'version_py_path': '<(DEPTH)/build/util/version.py',
147 'version_path': '<(DEPTH)/chrome/VERSION',
148 'template_input_path': 'cronet/android/java/src/org/chromium/net/imp l/ImplVersion.template',
149 'output_path': '<(SHARED_INTERMEDIATE_DIR)/templates/<(_target_name) /org/chromium/net/impl/ImplVersion.java',
150 },
151 'direct_dependent_settings': {
152 'variables': {
153 # Ensure that the output directory is used in the class path
154 # when building targets that depend on this one.
155 'generated_src_dirs': [
156 '<(SHARED_INTERMEDIATE_DIR)/templates/<(_target_name)',
157 ],
158 # Ensure dependents are rebuilt when the generated Java file chang es.
159 'additional_input_paths': [
160 '<(output_path)',
161 ],
162 },
163 },
164 'actions': [
165 {
166 'action_name': 'cronet_impl_version',
167 'inputs': [
168 '<(template_input_path)',
169 '<(version_path)',
170 '<(lastchange_path)',
171 ],
172 'outputs': [
173 '<(output_path)',
174 ],
175 'action': [
176 'python',
177 '<(version_py_path)',
178 '-f', '<(version_path)',
179 '-f', '<(lastchange_path)',
180 '<(template_input_path)',
181 '<(output_path)',
182 ],
183 'message': 'Generating impl version information',
184 },
185 ],
186 },
187 {
188 'target_name': 'cronet_version_header',
189 'type': 'none',
190 # Need to set hard_depency flag because cronet_version generates a
191 # header.
192 'hard_dependency': 1,
193 'direct_dependent_settings': {
194 'include_dirs': [
195 '<(SHARED_INTERMEDIATE_DIR)/',
196 ],
197 },
198 'actions': [
199 {
200 'action_name': 'version_header',
201 'message': 'Generating version header file: <@(_outputs)',
202 'inputs': [
203 '<(version_path)',
204 'cronet/version.h.in',
205 ],
206 'outputs': [
207 '<(SHARED_INTERMEDIATE_DIR)/components/cronet/version.h',
208 ],
209 'action': [
210 'python',
211 '<(version_py_path)',
212 '-e', 'VERSION_FULL="<(version_full)"',
213 'cronet/version.h.in',
214 '<@(_outputs)',
215 ],
216 'includes': [
217 '../build/util/version.gypi',
218 ],
219 },
220 ],
221 },
222 {
223 # Protobuf compiler / generator for certificate verifcation protocol
224 # buffer.
225 # GN version: //cronet:cronet_android_cert_proto
226 'target_name': 'cronet_android_cert_proto',
227 'type': 'static_library',
228 'sources': [
229 'cronet/android/cert/proto/cert_verification.proto',
230 ],
231 'variables': {
232 'enable_wexit_time_destructors': 1,
233 'proto_in_dir': 'cronet/android/cert/proto',
234 'proto_out_dir': 'cronet/android/cert/proto',
235 },
236 'includes': [
237 '../build/protoc.gypi',
238 ],
239 },
240 {
241 'target_name': 'cronet_static',
242 'type': 'static_library',
243 'dependencies': [
244 '../net/net.gyp:net',
245 '../url/url.gyp:url_lib',
246 ],
247 'conditions': [
248 ['enable_data_reduction_proxy_support==1',
249 {
250 'dependencies': [
251 '../components/components.gyp:data_reduction_proxy_core_browse r_small',
252 ],
253 },
254 ],
255 ['use_platform_icu_alternatives!=1',
256 {
257 'dependencies': [
258 '../base/base.gyp:base_i18n',
259 ],
260 },
261 ],
262 ],
263 'includes': [ 'cronet/cronet_static.gypi' ],
264 },
265 {
266 'target_name': 'libcronet',
267 'type': 'shared_library',
268 'sources': [
269 'cronet/android/cronet_jni.cc',
270 ],
271 'dependencies': [
272 'cronet_static',
273 '../base/base.gyp:base',
274 '../net/net.gyp:net',
275 ],
276 'ldflags': [
277 '-Wl,--version-script=<!(cd <(DEPTH) && pwd -P)/components/cronet/an droid/only_jni_exports.lst',
278 ],
279 'variables': {
280 # libcronet doesn't really use native JNI exports, but it does use
281 # its own linker version script. The ARM64 linker appears to not
282 # work with multiple version scripts with anonymous version tags,
283 # so enable use_native_jni_exports which avoids adding another
284 # version sript (android_no_jni_exports.lst) so we don't run afoul
285 # of this ARM64 linker limitation.
286 'use_native_jni_exports': 1,
287 },
288 },
289 { # cronet_api.jar defines Cronet API and provides implementation of
290 # legacy api using HttpUrlConnection (not the Chromium stack).
291 'target_name': 'cronet_api',
292 'type': 'none',
293 'dependencies': [
294 'http_cache_type_java',
295 'url_request_error_java',
296 'cronet_api_version',
297 'load_states_list',
298 'network_quality_observation_source_java',
299 '../third_party/android_tools/android_tools.gyp:android_support_v13_ java',
300 ],
301 'variables': {
302 'java_in_dir': 'cronet/android/api',
303 'run_findbugs': 1,
304 },
305 'includes': [ '../build/java.gypi' ],
306 },
307 { # cronet.jar implements HttpUrlRequest interface using Chromium stack
308 # in native libcronet.so library.
309 'target_name': 'cronet_java',
310 'type': 'none',
311 'dependencies': [
312 '../base/base.gyp:base',
313 'cronet_api',
314 'cronet_impl_version',
315 'chromium_url_request_java',
316 'libcronet',
317 'net_request_priority_java',
318 'network_quality_observation_source_java',
319 '../third_party/android_tools/android_tools.gyp:android_support_v13_ java',
320 ],
321 'variables': {
322 'java_in_dir': 'cronet/android/java',
323 'javac_includes': [
324 '**/ChromiumUrlRequest.java',
325 '**/ChromiumUrlRequestContext.java',
326 '**/ChromiumUrlRequestError.java',
327 '**/ChromiumUrlRequestFactory.java',
328 '**/ChromiumUrlRequestPriority.java',
329 '**/CronetBidirectionalStream.java',
330 '**/CronetLibraryLoader.java',
331 '**/CronetUploadDataStream.java',
332 '**/CronetUrlRequest.java',
333 '**/CronetUrlRequestContext.java',
334 '**/ImplVersion.java',
335 '**/RequestPriority.java',
336 '**/urlconnection/CronetBufferedOutputStream.java',
337 '**/urlconnection/CronetChunkedOutputStream.java',
338 '**/urlconnection/CronetFixedModeOutputStream.java',
339 '**/urlconnection/CronetInputStream.java',
340 '**/urlconnection/CronetHttpURLConnection.java',
341 '**/urlconnection/CronetHttpURLStreamHandler.java',
342 '**/urlconnection/CronetOutputStream.java',
343 '**/urlconnection/CronetURLStreamHandlerFactory.java',
344 '**/urlconnection/MessageLoop.java',
345 ],
346 'run_findbugs': 1,
347 },
348 'includes': [ '../build/java.gypi' ],
349 },
350 {
351 'target_name': 'cronet_sample_apk',
352 'type': 'none',
353 'dependencies': [
354 'cronet_java',
355 'cronet_api',
356 ],
357 'variables': {
358 'apk_name': 'CronetSample',
359 'java_in_dir': 'cronet/android/sample',
360 'resource_dir': 'cronet/android/sample/res',
361 'native_lib_target': 'libcronet',
362 'proguard_enabled': 'true',
363 'proguard_flags_paths': [
364 'cronet/android/proguard.cfg',
365 'cronet/android/sample/javatests/proguard.cfg',
366 ],
367 'run_findbugs': 1,
368 },
369 'includes': [ '../build/java_apk.gypi' ],
370 },
371 {
372 # cronet_sample_apk creates a .jar as a side effect. Any java targets
373 # that need that .jar in their classpath should depend on this target,
374 # cronet_sample_apk_java. Dependents of cronet_sample_apk receive its
375 # jar path in the variable 'apk_output_jar_path'. This target should
376 # only be used by targets which instrument cronet_sample_apk.
377 'target_name': 'cronet_sample_apk_java',
378 'type': 'none',
379 'dependencies': [
380 'cronet_sample_apk',
381 ],
382 'includes': [ '../build/apk_fake_jar.gypi' ],
383 },
384 {
385 'target_name': 'cronet_sample_test_apk',
386 'type': 'none',
387 'dependencies': [
388 'cronet_java',
389 'cronet_sample_apk_java',
390 'cronet_api',
391 '../base/base.gyp:base_java_test_support',
392 '../net/net.gyp:net_java_test_support',
393 '../net/net.gyp:require_net_test_support_apk',
394 ],
395 'variables': {
396 'apk_name': 'CronetSampleTest',
397 'java_in_dir': 'cronet/android/sample/javatests',
398 'is_test_apk': 1,
399 'run_findbugs': 1,
400 'test_type': 'instrumentation',
401 'additional_apks': [
402 '<(PRODUCT_DIR)/apks/ChromiumNetTestSupport.apk',
403 ],
404 },
405 'includes': [
406 '../build/java_apk.gypi',
407 '../build/android/test_runner.gypi',
408 ],
409 },
410 {
411 'target_name': 'cronet_tests_jni_headers',
412 'type': 'none',
413 'sources': [
414 'cronet/android/test/src/org/chromium/net/CronetTestUtil.java',
415 'cronet/android/test/src/org/chromium/net/MockUrlRequestJobFactory.j ava',
416 'cronet/android/test/src/org/chromium/net/MockCertVerifier.java',
417 'cronet/android/test/src/org/chromium/net/NativeTestServer.java',
418 'cronet/android/test/src/org/chromium/net/NetworkChangeNotifierUtil. java',
419 'cronet/android/test/src/org/chromium/net/QuicTestServer.java',
420 'cronet/android/test/src/org/chromium/net/SdchObserver.java',
421 'cronet/android/test/src/org/chromium/net/TestUploadDataStreamHandle r.java',
422 'cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequest ContextTest.java',
423 ],
424 'variables': {
425 'jni_gen_package': 'cronet_tests',
426 },
427 'includes': [ '../build/jni_generator.gypi' ],
428 },
429 {
430 'target_name': 'libcronet_tests',
431 'type': 'shared_library',
432 'sources': [
433 'cronet/android/test/cronet_test_jni.cc',
434 'cronet/android/test/mock_cert_verifier.cc',
435 'cronet/android/test/mock_cert_verifier.h',
436 'cronet/android/test/mock_url_request_job_factory.cc',
437 'cronet/android/test/mock_url_request_job_factory.h',
438 'cronet/android/test/native_test_server.cc',
439 'cronet/android/test/native_test_server.h',
440 'cronet/android/test/quic_test_server.cc',
441 'cronet/android/test/quic_test_server.h',
442 'cronet/android/test/sdch_test_util.cc',
443 'cronet/android/test/sdch_test_util.h',
444 'cronet/android/test/test_upload_data_stream_handler.cc',
445 'cronet/android/test/test_upload_data_stream_handler.h',
446 'cronet/android/test/network_change_notifier_util.cc',
447 'cronet/android/test/network_change_notifier_util.h',
448 'cronet/android/test/cronet_url_request_context_config_test.cc',
449 'cronet/android/test/cronet_url_request_context_config_test.h',
450 'cronet/android/test/cronet_test_util.cc',
451 'cronet/android/test/cronet_test_util.h',
452 ],
453 'dependencies': [
454 'cronet_tests_jni_headers',
455 '../base/base.gyp:base',
456 '../net/net.gyp:net',
457 '../net/net.gyp:net_quic_proto',
458 '../net/net.gyp:net_test_support',
459 '../net/net.gyp:simple_quic_tools',
460 '../base/base.gyp:base_i18n',
461 '../third_party/icu/icu.gyp:icui18n',
462 '../third_party/icu/icu.gyp:icuuc',
463 ],
464 'ldflags': [
465 '-Wl,--version-script=<!(cd <(DEPTH) && pwd -P)/components/cronet/an droid/only_jni_exports.lst',
466 ],
467 'variables': {
468 # libcronet doesn't really use native JNI exports, but it does use
469 # its own linker version script. The ARM64 linker appears to not
470 # work with multiple version scripts with anonymous version tags,
471 # so enable use_native_jni_exports which avoids adding another
472 # version sript (android_no_jni_exports.lst) so we don't run afoul
473 # of this ARM64 linker limitation.
474 'use_native_jni_exports': 1,
475 },
476 'conditions': [
477 ['enable_data_reduction_proxy_support==1',
478 {
479 'dependencies': [
480 '../components/components.gyp:data_reduction_proxy_core_browse r_small',
481 ],
482 },
483 ],
484 ],
485 'includes': [ 'cronet/cronet_static.gypi' ],
486 },
487 {
488 'target_name': 'cronet_test_support',
489 'type': 'none',
490 'dependencies': [
491 'cronet_java',
492 '../net/net.gyp:net_java_test_support',
493 '../third_party/netty-tcnative/netty-tcnative.gyp:netty-tcnative',
494 '../third_party/netty4/netty.gyp:netty_all',
495 ],
496 'variables': {
497 'java_in_dir': 'cronet/android/test',
498 'additional_src_dirs': [ 'cronet/android/test/javatests/src' ],
499 'run_findbugs': 1,
500 },
501 'includes': [ '../build/java.gypi' ],
502 },
503 {
504 'target_name': 'cronet_test_apk',
505 'type': 'none',
506 'dependencies': [
507 'cronet_java',
508 'cronet_test_support',
509 '../net/net.gyp:net_java_test_support',
510 '../third_party/netty-tcnative/netty-tcnative.gyp:netty-tcnative',
511 '../third_party/netty4/netty.gyp:netty_all',
512 ],
513 'variables': {
514 'apk_name': 'CronetTest',
515 # There isn't an easy way to have a java_apk target without any Java
516 # so we'll borrow the trick from the net_test_support_apk target of
517 # pointing it at placeholder Java via java_in_dir_suffix.
518 'java_in_dir': 'cronet/android/test',
519 'java_in_dir_suffix': '/src_dummy',
520 'resource_dir': 'cronet/android/test/res',
521 'asset_location': 'cronet/android/test/assets',
522 'native_lib_target': 'libcronet_tests',
523 'never_lint': 1,
524 'additional_bundled_libs': [
525 '>(netty_tcnative_so_file_location)',
526 ],
527 },
528 'includes': [ '../build/java_apk.gypi' ],
529 },
530 {
531 # cronet_test_apk creates a .jar as a side effect. Any java targets
532 # that need that .jar in their classpath should depend on this target,
533 # cronet_test_apk_java. Dependents of cronet_test_apk receive its
534 # jar path in the variable 'apk_output_jar_path'. This target should
535 # only be used by targets which instrument cronet_test_apk.
536 'target_name': 'cronet_test_apk_java',
537 'type': 'none',
538 'dependencies': [
539 'cronet_test_apk',
540 ],
541 'includes': [ '../build/apk_fake_jar.gypi' ],
542 },
543 {
544 'target_name': 'cronet_test_instrumentation_apk',
545 'type': 'none',
546 'dependencies': [
547 'cronet_test_apk_java',
548 '../base/base.gyp:base_java_test_support',
549 '../net/net.gyp:net_java_test_support',
550 '../net/net.gyp:require_net_test_support_apk',
551 ],
552 'variables': {
553 'apk_name': 'CronetTestInstrumentation',
554 'java_in_dir': 'cronet/android/test/javatests',
555 'resource_dir': 'cronet/android/test/res',
556 'is_test_apk': 1,
557 'run_findbugs': 1,
558 'test_type': 'instrumentation',
559 'isolate_file': 'cronet/android/cronet_test_instrumentation_apk.isol ate',
560 'additional_apks': [
561 '<(PRODUCT_DIR)/apks/ChromiumNetTestSupport.apk',
562 ],
563 },
564 'includes': [
565 '../build/java_apk.gypi',
566 '../build/android/test_runner.gypi',
567 ],
568 },
569 {
570 'target_name': 'cronet_perf_test_apk',
571 'type': 'none',
572 'dependencies': [
573 'cronet_java',
574 'cronet_api',
575 'cronet_test_support',
576 ],
577 'variables': {
578 'apk_name': 'CronetPerfTest',
579 'java_in_dir': 'cronet/android/test/javaperftests',
580 'native_lib_target': 'libcronet_tests',
581 'proguard_enabled': 'true',
582 'proguard_flags_paths': [
583 'cronet/android/proguard.cfg',
584 'cronet/android/test/javaperftests/proguard.cfg',
585 ],
586 'run_findbugs': 1,
587 },
588 'includes': [ '../build/java_apk.gypi' ],
589 },
590 {
591 'target_name': 'cronet_unittests',
592 'type': '<(gtest_target_type)',
593 'dependencies': [
594 'cronet_android_cert_proto',
595 'cronet_static',
596 'metrics',
597 '../base/base.gyp:base',
598 '../base/base.gyp:test_support_base',
599 '../net/net.gyp:net_test_support',
600 '../testing/gtest.gyp:gtest',
601 '../testing/android/native_test.gyp:native_test_native_code',
602 ],
603 'sources': [
604 'cronet/android/cert/cert_verifier_cache_serializer_unittest.cc',
605 'cronet/histogram_manager_unittest.cc',
606 'cronet/run_all_unittests.cc',
607 'cronet/stale_host_resolver_unittest.cc',
608 'cronet/url_request_context_config_unittest.cc',
609 ],
610 },
611 {
612 'target_name': 'cronet_unittests_apk',
613 'type': 'none',
614 'dependencies': [
615 'cronet_unittests',
616 ],
617 'variables': {
618 'test_suite_name': 'cronet_unittests',
619 'shard_timeout': 180,
620 },
621 'includes': [
622 '../build/apk_test.gypi',
623 ],
624 },
625 {
626 'target_name': 'cronet_package',
627 'type': 'none',
628 'dependencies': [
629 'libcronet',
630 'cronet_java',
631 'cronet_api',
632 'cronet_javadoc_classpath',
633 '../net/net.gyp:net_unittests_apk',
634 ],
635 'variables': {
636 'native_lib': 'libcronet.>(android_product_extension)',
637 'java_lib': 'cronet.jar',
638 'java_api_lib': 'cronet_api.jar',
639 'java_api_src_lib': 'cronet_api-src.jar',
640 'java_src_lib': 'cronet-src.jar',
641 'java_sample_src_lib': 'cronet-sample-src.jar',
642 'lib_java_dir': '<(PRODUCT_DIR)/lib.java',
643 'package_dir': '<(PRODUCT_DIR)/cronet',
644 'intermediate_dir': '<(SHARED_INTERMEDIATE_DIR)/cronet',
645 'jar_extract_dir': '<(intermediate_dir)/cronet_jar_extract',
646 'jar_extract_stamp': '<(intermediate_dir)/jar_extract.stamp',
647 'cronet_jar_stamp': '<(intermediate_dir)/cronet_jar.stamp',
648 },
649 'actions': [
650 {
651 'action_name': 'strip libcronet',
652 'inputs': ['<(SHARED_LIB_DIR)/<(native_lib)'],
653 'outputs': ['<(package_dir)/libs/<(android_app_abi)/<(native_lib)' ],
654 'action': [
655 '<(android_strip)',
656 '--strip-unneeded',
657 '<@(_inputs)',
658 '-o',
659 '<@(_outputs)',
660 ],
661 },
662 {
663 'action_name': 'extracting from jars',
664 'inputs': [
665 '<(lib_java_dir)/cronet_java.jar',
666 '<(lib_java_dir)/base_java.jar',
667 '<(lib_java_dir)/net_java.jar',
668 '<(lib_java_dir)/url_java.jar',
669 ],
670 'outputs': ['<(jar_extract_stamp)', '<(jar_extract_dir)'],
671 'action': [
672 'python',
673 'cronet/tools/extract_from_jars.py',
674 '--classes-dir=<(jar_extract_dir)',
675 '--jars=<@(_inputs)',
676 '--stamp=<(jar_extract_stamp)',
677 ],
678 },
679 {
680 'action_name': 'jar_<(_target_name)',
681 'message': 'Creating <(_target_name) jar',
682 'inputs': [
683 '<(DEPTH)/build/android/gyp/util/build_utils.py',
684 '<(DEPTH)/build/android/gyp/util/md5_check.py',
685 '<(DEPTH)/build/android/gyp/jar.py',
686 '<(jar_extract_stamp)',
687 ],
688 'outputs': [
689 '<(package_dir)/<(java_lib)',
690 '<(cronet_jar_stamp)',
691 ],
692 'action': [
693 'python', '<(DEPTH)/build/android/gyp/jar.py',
694 '--classes-dir=<(jar_extract_dir)',
695 '--jar-path=<(package_dir)/<(java_lib)',
696 '--stamp=<(cronet_jar_stamp)',
697 ]
698 },
699 {
700 'action_name': 'jar_api_src_<(_target_name)',
701 'inputs': ['cronet/tools/jar_src.py'] ,
702 'outputs': ['<(package_dir)/<(java_api_src_lib)'],
703 'action': [
704 'python',
705 '<@(_inputs)',
706 '--src-dir=cronet/android/api/src',
707 '--jar-path=<(package_dir)/<(java_api_src_lib)',
708 ],
709 },
710 {
711 'action_name': 'jar_src_<(_target_name)',
712 'inputs': ['cronet/tools/jar_src.py'] ,
713 'outputs': ['<(package_dir)/<(java_src_lib)'],
714 'action': [
715 'python',
716 '<@(_inputs)',
717 '--src-dir=../base/android/java/src',
718 '--src-dir=../net/android/java/src',
719 '--src-dir=../url/android/java/src',
720 '--src-dir=cronet/android/java/src',
721 '--jar-path=<(package_dir)/<(java_src_lib)',
722 ],
723 },
724 {
725 'action_name': 'jar_sample_src_<(_target_name)',
726 'inputs': ['cronet/tools/jar_src.py'] ,
727 'outputs': ['<(package_dir)/<(java_sample_src_lib)'],
728 'action': [
729 'python',
730 '<@(_inputs)',
731 '--src-dir=cronet/android/sample',
732 '--jar-path=<(package_dir)/<(java_sample_src_lib)',
733 ],
734 },
735 {
736 'action_name': 'generate licenses',
737 'inputs': ['cronet/tools/cronet_licenses.py'] ,
738 'outputs': ['<(package_dir)/LICENSE'],
739 'action': [
740 'python',
741 '<@(_inputs)',
742 'license',
743 '<@(_outputs)',
744 ],
745 },
746 {
747 'action_name': 'generate javadoc',
748 'inputs': ['cronet/tools/generate_javadoc.py'] ,
749 'outputs': ['<(package_dir)/javadoc'],
750 'action': [
751 'python',
752 '<@(_inputs)',
753 '--output-dir=<(package_dir)',
754 '--input-dir=cronet/',
755 '--overview-file=<(package_dir)/README.md.html',
756 '--readme-file=cronet/README.md',
757 '--lib-java-dir=<(lib_java_dir)',
758 ],
759 'message': 'Generating Javadoc',
760 },
761 ],
762 'copies': [
763 {
764 'destination': '<(package_dir)',
765 'files': [
766 '../AUTHORS',
767 '../chrome/VERSION',
768 'cronet/android/proguard.cfg',
769 '<(lib_java_dir)/<(java_api_lib)'
770 ],
771 },
772 {
773 'destination': '<(package_dir)/symbols/<(android_app_abi)',
774 'files': [
775 '<(SHARED_LIB_DIR)/<(native_lib)',
776 ],
777 },
778 ],
779 },
780 ],
781 'variables': {
782 'enable_data_reduction_proxy_support%': 0,
783 },
784 }], # OS=="android"
785 ['OS=="ios"', {
786 'targets': [
787 { # TODO(mef): Dedup this with copy in OS=="android" section.
788 'target_name': 'cronet_version_header',
789 'type': 'none',
790 # Need to set hard_depency flag because cronet_version generates a
791 # header.
792 'hard_dependency': 1,
793 'direct_dependent_settings': {
794 'include_dirs': [
795 '<(SHARED_INTERMEDIATE_DIR)/',
796 ],
797 },
798 'actions': [
799 {
800 'action_name': 'version_header',
801 'message': 'Generating version header file: <@(_outputs)',
802 'inputs': [
803 '<(version_path)',
804 'cronet/version.h.in',
805 ],
806 'outputs': [
807 '<(SHARED_INTERMEDIATE_DIR)/components/cronet/ios/version.h',
808 ],
809 'action': [
810 'python',
811 '<(version_py_path)',
812 '-e', 'VERSION_FULL="<(version_full)"',
813 'cronet/version.h.in',
814 '<@(_outputs)',
815 ],
816 'includes': [
817 '../build/util/version.gypi',
818 ],
819 },
820 ],
821 },
822 {
823 'target_name': 'cronet_static',
824 'type': 'static_library',
825 'sources': [
826 'cronet/ios/Cronet.h',
827 'cronet/ios/Cronet.mm',
828 'cronet/ios/cronet_bidirectional_stream.h',
829 'cronet/ios/cronet_bidirectional_stream.cc',
830 'cronet/ios/cronet_c_for_grpc.h',
831 'cronet/ios/cronet_c_for_grpc.cc',
832 'cronet/ios/cronet_environment.cc',
833 'cronet/ios/cronet_environment.h',
834 'cronet/stale_host_resolver.cc',
835 'cronet/stale_host_resolver.h',
836 'cronet/url_request_context_config.cc',
837 'cronet/url_request_context_config.h',
838 ],
839 'dependencies': [
840 'cronet_version_header',
841 '../base/base.gyp:base',
842 '../net/net.gyp:net',
843 ],
844 'cflags': [
845 '-fdata-sections',
846 '-ffunction-sections',
847 '-fno-rtti',
848 '-fvisibility=hidden'
849 '-fvisibility-inlines-hidden',
850 '-Wno-sign-promo',
851 '-Wno-missing-field-initializers',
852 ],
853 'ldflags': [
854 '-llog',
855 '-Wl,--gc-sections',
856 '-Wl,--exclude-libs,ALL'
857 ],
858 },
859 {
860 'target_name': 'libcronet_shared',
861 'type': 'shared_library',
862 'sources': [
863 'cronet/ios/Cronet.h',
864 'cronet/ios/Cronet.mm',
865 ],
866 'dependencies': [
867 'cronet_static',
868 '../base/base.gyp:base',
869 ],
870 },
871 {
872 'target_name': 'cronet_framework',
873 'product_name': 'Cronet',
874 'type': 'shared_library',
875 'mac_bundle': 1,
876 'sources': [
877 'cronet/ios/Cronet.h',
878 'cronet/ios/cronet_c_for_grpc.h',
879 'cronet/ios/empty.cc',
880 ],
881 'mac_framework_headers': [
882 'cronet/ios/Cronet.h',
883 'cronet/ios/cronet_c_for_grpc.h',
884 ],
885 'link_settings': {
886 'libraries': [
887 'Foundation.framework',
888 ],
889 },
890 'xcode_settings': {
891 'DEBUGGING_SYMBOLS': 'YES',
892 'INFOPLIST_FILE': 'cronet/ios/Info.plist',
893 'LD_DYLIB_INSTALL_NAME': '@loader_path/Frameworks/Cronet.framework/C ronet',
894 },
895 'dependencies': [
896 'cronet_static',
897 '../base/base.gyp:base',
898 ],
899 'configurations': {
900 'Debug_Base': {
901 'xcode_settings': {
902 'DEPLOYMENT_POSTPROCESSING': 'NO',
903 'DEBUG_INFORMATION_FORMAT': 'dwarf',
904 'STRIP_INSTALLED_PRODUCT': 'NO',
905 }
906 },
907 'Release_Base': {
908 'xcode_settings': {
909 'DEPLOYMENT_POSTPROCESSING': 'YES',
910 'DEBUG_INFORMATION_FORMAT': 'dwarf-with-dsym',
911 'STRIP_INSTALLED_PRODUCT': 'YES',
912 'STRIP_STYLE': 'non-global',
913 }
914 },
915 },
916 },
917 {
918 'target_name': 'cronet_test',
919 'type': 'executable',
920 'dependencies': [
921 'cronet_static',
922 '../net/net.gyp:net_quic_proto',
923 '../net/net.gyp:net_test_support',
924 '../net/net.gyp:simple_quic_tools',
925 '../testing/gtest.gyp:gtest',
926 ],
927 'sources': [
928 'cronet/ios/test/cronet_bidirectional_stream_test.mm',
929 'cronet/ios/test/cronet_test_runner.mm',
930 'cronet/ios/test/quic_test_server.cc',
931 'cronet/ios/test/quic_test_server.h',
932 ],
933 'mac_bundle_resources': [
934 '../net/data/ssl/certificates/quic_test.example.com.crt',
935 '../net/data/ssl/certificates/quic_test.example.com.key',
936 '../net/data/ssl/certificates/quic_test.example.com.key.pkcs8',
937 '../net/data/ssl/certificates/quic_test.example.com.key.sct',
938 ],
939 'include_dirs': [
940 '..',
941 ],
942 },
943 {
944 # Build this target to package a standalone Cronet in a single
945 # .a file.
946 'target_name': 'cronet_package',
947 'type': 'none',
948 'variables' : {
949 'package_dir': '<(PRODUCT_DIR)/cronet',
950 },
951 'dependencies': [
952 # Depend on the dummy target so that all of CrNet's dependencies
953 # are built before packaging.
954 'libcronet_shared',
955 ],
956 'actions': [
957 {
958 'action_name': 'Package Cronet',
959 'variables': {
960 'tool_path':
961 'cronet/tools/link_dependencies.py',
962 },
963 # Actions need an inputs list, even if it's empty.
964 'inputs': [
965 '<(tool_path)',
966 '<(PRODUCT_DIR)/libcronet_shared.dylib',
967 ],
968 # Only specify one output, since this will be libtool's output.
969 'outputs': [ '<(package_dir)/libcronet_standalone_with_symbols.a ' ],
970 'action': ['<(tool_path)',
971 '<(PRODUCT_DIR)',
972 'libcronet_shared.dylib',
973 '<@(_outputs)',
974 ],
975 },
976 {
977 'action_name': 'Stripping standalone library',
978 # Actions need an inputs list, even if it's empty.
979 'inputs': [
980 '<(package_dir)/libcronet_standalone_with_symbols.a',
981 ],
982 # Only specify one output, since this will be libtool's output.
983 'outputs': [ '<(package_dir)/libcronet_standalone.a' ],
984 'action': ['strip',
985 '-S',
986 '<@(_inputs)',
987 '-o',
988 '<@(_outputs)',
989 ],
990 },
991 ],
992 'copies': [
993 {
994 'destination': '<(package_dir)',
995 'files': [
996 '../chrome/VERSION',
997 'cronet/ios/Cronet.h',
998 'cronet/ios/cronet_c_for_grpc.h',
999 ],
1000 },
1001 {
1002 'destination': '<(package_dir)/test',
1003 'files': [
1004 'cronet/ios/test/cronet_bidirectional_stream_test.mm',
1005 'cronet/ios/test/cronet_test_runner.mm',
1006 ],
1007 },
1008 ],
1009 },
1010 ],
1011 }], # OS=="ios"
1012 ],
1013 }
OLDNEW
« no previous file with comments | « components/crash.gypi ('k') | components/cronet/cronet_static.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698