summaryrefslogtreecommitdiffstats
path: root/build/config/android
diff options
context:
space:
mode:
authorcjhopman <cjhopman@chromium.org>2014-10-23 20:50:45 -0700
committerCommit bot <commit-bot@chromium.org>2014-10-24 03:51:23 +0000
commitca675d3ec565477b2e3bae8b0709a412d029fa21 (patch)
treeb8792a01e624fdecc977e9276e705990a3377296 /build/config/android
parent7ec86e83523b60bab33f1739469ff0a0801c8eb4 (diff)
downloadchromium_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.gni20
-rw-r--r--build/config/android/internal_rules.gni6
-rw-r--r--build/config/android/rules.gni20
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
}