| OLD | NEW |
| (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 } | |
| OLD | NEW |