diff options
author | cjhopman <cjhopman@chromium.org> | 2014-10-23 20:50:45 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-10-24 03:51:23 +0000 |
commit | ca675d3ec565477b2e3bae8b0709a412d029fa21 (patch) | |
tree | b8792a01e624fdecc977e9276e705990a3377296 /build/config/android | |
parent | 7ec86e83523b60bab33f1739469ff0a0801c8eb4 (diff) | |
download | chromium_src-ca675d3ec565477b2e3bae8b0709a412d029fa21.zip chromium_src-ca675d3ec565477b2e3bae8b0709a412d029fa21.tar.gz chromium_src-ca675d3ec565477b2e3bae8b0709a412d029fa21.tar.bz2 |
GN: Some small changes to support chrome android internal stuff
This actually hooks up (i.e. passes from invoker) several variables
controlling apk creation (version name, version code,
use_relocation_packer, use_chromium_linker, unzip_libraries_from_apk).
Adds support for overriding some configuration in the private repo.
Adds support for public_configs in grit_rule.gni.
Adds some junit targets (these are built as android libraries currently
instead of host libraries, but that just means we do a bit extra work
that we don't really need).
BUG=359249
Review URL: https://codereview.chromium.org/659703002
Cr-Commit-Position: refs/heads/master@{#301039}
Diffstat (limited to 'build/config/android')
-rw-r--r-- | build/config/android/config.gni | 20 | ||||
-rw-r--r-- | build/config/android/internal_rules.gni | 6 | ||||
-rw-r--r-- | build/config/android/rules.gni | 20 |
3 files changed, 38 insertions, 8 deletions
diff --git a/build/config/android/config.gni b/build/config/android/config.gni index 50cf8ba..e602083 100644 --- a/build/config/android/config.gni +++ b/build/config/android/config.gni @@ -5,12 +5,25 @@ # This file contains common system config stuff for the Android build. if (is_android) { + has_chrome_android_internal = exec_script("//build/dir_exists.py", + [ rebase_path("//clank", root_build_dir) ], + "string") == "True" + + if (has_chrome_android_internal) { + import("//clank/config.gni") + } else { + default_android_sdk_root = "//third_party/android_tools/sdk" + default_android_sdk_version = "21" + default_android_sdk_build_tools_version = "21.0.0" + } + declare_args() { # Absolute directory containing the Android source code. android_src = "" - android_sdk_root = "//third_party/android_tools/sdk" - android_sdk_version = "21" + android_sdk_root = default_android_sdk_root + android_sdk_version = default_android_sdk_version + android_sdk_build_tools_version = default_android_sdk_build_tools_version # This is set when building the Android WebView inside the Android build # system, using the 'android' gyp backend. The WebView code is still built @@ -32,7 +45,6 @@ if (is_android) { "You must specify android_src for an Android WebView build.") } - # Host stuff ----------------------------------------------------------------- # Defines the name the Android build gives to the current host CPU @@ -68,7 +80,7 @@ if (is_android) { android_sdk = "${android_sdk_root}/platforms/android-${android_sdk_version}" android_sdk_tools = "${android_sdk_root}/tools" - android_sdk_build_tools = "${android_sdk_root}/build-tools/21.0.0" + android_sdk_build_tools = "${android_sdk_root}/build-tools/$android_sdk_build_tools_version" # Path to the SDK's android.jar android_sdk_jar = "$android_sdk/android.jar" diff --git a/build/config/android/internal_rules.gni b/build/config/android/internal_rules.gni index d9522ce..de29cce 100644 --- a/build/config/android/internal_rules.gni +++ b/build/config/android/internal_rules.gni @@ -253,8 +253,8 @@ template("create_apk") { _asset_location = invoker.asset_location } - _version_code = "1" - _version_name = "Developer Build" + _version_code = invoker.version_code + _version_name = invoker.version_name _base_apk_path = _base_path + ".apk_intermediates" @@ -557,7 +557,7 @@ template("android_java_library") { if (defined(invoker.testonly)) { testonly = invoker.testonly } assert(defined(invoker.java_files) || defined(invoker.DEPRECATED_java_in_dir) - || defined(invoker.srcjars)) + || defined(invoker.srcjars) || defined(invoker.srcjar_deps)) assert(defined(invoker.build_config)) assert(defined(invoker.jar_path)) assert(defined(invoker.dex_path)) diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni index 2db732a..3701dfb 100644 --- a/build/config/android/rules.gni +++ b/build/config/android/rules.gni @@ -420,6 +420,8 @@ template("jinja_template_resources") { _build_config = _base_path + ".build_config" write_build_config("${target_name}__build_config") { + build_config = _build_config + resources_zip = _resources_zip type = "android_resources" } @@ -679,7 +681,7 @@ template("android_library") { if (defined(invoker.testonly)) { testonly = invoker.testonly } assert(defined(invoker.java_files) || defined(invoker.DEPRECATED_java_in_dir) - || defined(invoker.srcjars)) + || defined(invoker.srcjars) || defined(invoker.srcjar_deps)) _base_path = "$target_gen_dir/$target_name" _build_config = _base_path + ".build_config" _jar_path = _base_path + ".jar" @@ -989,6 +991,12 @@ template("android_apk") { "$root_build_dir/lib.stripped/libchromium_android_linker.so" ] } + + _enable_relocation_packing = false + if (_use_chromium_linker && defined(invoker.enable_relocation_packing) && + invoker.enable_relocation_packing) { + _enable_relocation_packing = true + } } _rebased_build_config = rebase_path(build_config, root_build_dir) @@ -1157,6 +1165,16 @@ template("android_apk") { dex_path = final_dex_path load_library_from_apk = _load_library_from_apk + version_code = "1" + if (defined(invoker.version_code)) { + version_code = invoker.version_code + } + + version_name = "Developer Build" + if (defined(invoker.version_name)) { + version_name = invoker.version_name + } + if (defined(invoker.asset_location)) { asset_location = invoker.asset_location } |