blob: 5e6a718c606694f3c15d5da29fd81df97fedd920 [file] [log] [blame]
# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//base/android/linker/config.gni")
import("//build/config/android/rules.gni")
declare_args() {
# Whether chrome_public_apk should use the crazy linker.
chrome_public_apk_use_chromium_linker = chromium_linker_supported
# Whether chrome_public_apk should use the relocation packer.
# TODO: Enable packed relocations for x64. See: b/20532404
chrome_public_apk_use_relocation_packer =
chromium_linker_supported && current_cpu != "x64"
# Whether native libraries should be loaded from within the apk.
# Only attempt loading the library from the APK for 64 bit devices
# until the number of 32 bit devices which don't support this
# approach falls to a minimal level - http://crbug.com/390618.
chrome_public_apk_load_library_from_apk =
chromium_linker_supported &&
(target_cpu == "arm64" || target_cpu == "x64")
}
# GYP: //chrome/android/chrome_apk.gypi
template("chrome_public_apk_tmpl") {
android_apk(target_name) {
forward_variables_from(invoker, "*")
_native_lib_file =
rebase_path("$root_gen_dir/CHROME_VERSION.json", root_out_dir)
native_lib_version_arg = "@FileArg($_native_lib_file:full-quoted)"
if (is_debug) {
enable_multidex = true
} else {
proguard_enabled = true
_prev_proguard_configs = []
if (defined(proguard_configs)) {
_prev_proguard_configs = proguard_configs
}
proguard_configs = []
proguard_configs =
[ "//chrome/android/java/proguard.flags" ] + _prev_proguard_configs
}
if (!defined(use_chromium_linker)) {
use_chromium_linker = chrome_public_apk_use_chromium_linker
}
if (use_chromium_linker) {
if (!defined(load_library_from_apk)) {
load_library_from_apk = chrome_public_apk_load_library_from_apk
}
if (!defined(enable_relocation_packing)) {
enable_relocation_packing = chrome_public_apk_use_relocation_packer
}
}
}
}