diff options
author | mef@chromium.org <mef@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-14 16:45:32 +0000 |
---|---|---|
committer | mef@chromium.org <mef@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-14 16:45:32 +0000 |
commit | 9105e26d8c16fff1c13a436507909fb89e566138 (patch) | |
tree | 51af8faf87ec4f7db6ca8f4a213e2db7c5be0e67 /net/net.gyp | |
parent | c619b7b234fea23dd06a4fc6b86f156f4d27be02 (diff) | |
download | chromium_src-9105e26d8c16fff1c13a436507909fb89e566138.zip chromium_src-9105e26d8c16fff1c13a436507909fb89e566138.tar.gz chromium_src-9105e26d8c16fff1c13a436507909fb89e566138.tar.bz2 |
- Copied existing C++ and Java JNI implementation.
- Fixed compilation errors, added custom cflags and ldflags.
- Added cronet_package target to build libcronet.so and cronet.jar.
- Added cronet_sample_apk target to build CronetSample.apk sample app.
Review URL: https://codereview.chromium.org/145213003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257131 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/net.gyp')
-rw-r--r-- | net/net.gyp | 154 |
1 files changed, 154 insertions, 0 deletions
diff --git a/net/net.gyp b/net/net.gyp index afef18d..7e20f5f 100644 --- a/net/net.gyp +++ b/net/net.gyp @@ -3256,5 +3256,159 @@ }, ], }], + ['OS=="android"', { + # TODO(mef): Consider moving all Cronet Android targets into separate + # file. Also figure out what needs to be done for gn script. + 'targets': [ + { + 'target_name': 'cronet_jni_headers', + 'type': 'none', + 'sources': [ + 'cronet/android/java/src/org/chromium/net/UrlRequest.java', + 'cronet/android/java/src/org/chromium/net/UrlRequestContext.java', + ], + 'variables': { + 'jni_gen_package': 'cronet', + 'jni_generator_ptr_type': 'long', + }, + 'includes': [ '../build/jni_generator.gypi' ], + }, + { + 'target_name': 'libcronet', + 'type': 'shared_library', + 'dependencies': [ + '../base/base.gyp:base', + '../base/base.gyp:base_i18n', + '../third_party/icu/icu.gyp:icui18n', + '../third_party/icu/icu.gyp:icuuc', + '../url/url.gyp:url_lib', + 'cronet_jni_headers', + 'net', + ], + 'sources': [ + 'cronet/android/org_chromium_net_UrlRequest.cc', + 'cronet/android/org_chromium_net_UrlRequest.h', + 'cronet/android/org_chromium_net_UrlRequestContext.cc', + 'cronet/android/org_chromium_net_UrlRequestContext.h', + 'cronet/android/url_request_context_peer.cc', + 'cronet/android/url_request_context_peer.h', + 'cronet/android/url_request_peer.cc', + 'cronet/android/url_request_peer.h', + ], + 'cflags': [ + # TODO(mef): Figure out a good way to get version from chrome_version_info_posix.h. + '-DCHROMIUM_VERSION=\\"TBD\\"', + '-DLOGGING=1', + '-fdata-sections', + '-ffunction-sections', + '-fno-rtti', + '-fvisibility=hidden', + '-fvisibility-inlines-hidden', + '-Wno-sign-promo', + '-Wno-missing-field-initializers', + ], + 'ldflags': [ + '-llog', + '-landroid', + '-Wl,--gc-sections', + '-Wl,--exclude-libs,ALL' + ] + }, + { + 'target_name': 'cronet', + 'type': 'none', + 'dependencies': [ + '../base/base.gyp:base', + 'libcronet', + ], + 'variables': { + 'java_in_dir': 'cronet/android/java', + }, + 'includes': [ '../build/java.gypi' ], + }, + { + 'target_name': 'cronet_package', + 'type': 'none', + 'dependencies': [ + 'libcronet', + 'cronet', + ], + 'variables': { + 'native_lib': 'libcronet.>(android_product_extension)', + 'java_lib': 'cronet.jar', + 'package_dir': '<(PRODUCT_DIR)/cronet', + }, + 'actions': [ + { + 'action_name': 'strip libcronet', + 'inputs': ['<(SHARED_LIB_DIR)/<(native_lib)'], + 'outputs': ['<(package_dir)/libs/<(android_app_abi)/<(native_lib)'], + 'action': [ + '<(android_strip)', + '--strip-unneeded', + '<@(_inputs)', + '-o', + '<@(_outputs)', + ], + }, + ], + 'copies': [ + { + 'destination': '<(package_dir)', + 'files': [ + '<(PRODUCT_DIR)/lib.java/<(java_lib)', + ], + }, + ], + }, + { + 'target_name': 'cronet_sample_apk', + 'type': 'none', + 'dependencies': [ + 'cronet', + ], + 'variables': { + 'apk_name': 'CronetSample', + 'java_in_dir': 'cronet/android/sample', + 'resource_dir': 'cronet/android/sample/res', + 'native_lib_target': 'libcronet', + }, + 'includes': [ '../build/java_apk.gypi' ], + }, + { + # cronet_sample_apk creates a .jar as a side effect. Any java targets + # that need that .jar in their classpath should depend on this target, + # cronet_sample_apk_java. Dependents of cronet_sample_apk receive its + # jar path in the variable 'apk_output_jar_path'. This target should + # only be used by targets which instrument cronet_sample_apk. + 'target_name': 'cronet_sample_apk_java', + 'type': 'none', + 'dependencies': [ + 'cronet_sample_apk', + ], + 'includes': [ '../build/apk_fake_jar.gypi' ], + }, + { + 'target_name': 'cronet_sample_test_apk', + 'type': 'none', + 'dependencies': [ + 'cronet_sample_apk_java', + '../base/base.gyp:base_java', + '../base/base.gyp:base_javatests', + '../base/base.gyp:base_java_test_support', + # TODO(mef): Figure out why some tests are failing. + #'../net/net.gyp:net_javatests', + #'../net/net.gyp:net_java_test_support', + ], + 'variables': { + 'apk_name': 'CronetSampleTest', + 'java_in_dir': 'cronet/android/sample/javatests', + 'resource_dir': 'cronet/android/sample/res', + 'is_test_apk': 1, + }, + 'includes': [ '../build/java_apk.gypi' ], + }, + ], + }], # OS=="android" ], } |