mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-12-01 01:36:09 +03:00
156 lines
5.1 KiB
Plaintext
156 lines
5.1 KiB
Plaintext
|
# 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")
|
||
|
import("//build/config/locales.gni")
|
||
|
import("//chrome/common/features.gni")
|
||
|
import("//third_party/leakcanary/config.gni")
|
||
|
import("channel.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.
|
||
|
chrome_public_apk_use_relocation_packer = chromium_linker_supported
|
||
|
|
||
|
# 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 &&
|
||
|
(current_cpu == "arm64" || current_cpu == "x64")
|
||
|
|
||
|
# Enables ProGuard obfuscation of Chromium packages.
|
||
|
enable_proguard_obfuscation = false
|
||
|
|
||
|
# Enable multidex in release builds.
|
||
|
multidex_in_release = false
|
||
|
}
|
||
|
|
||
|
default_chrome_public_jinja_variables = [
|
||
|
"channel=$android_channel",
|
||
|
"enable_leakcanary=$enable_leakcanary",
|
||
|
"enable_vr=$enable_vr",
|
||
|
]
|
||
|
|
||
|
if (use_order_profiling) {
|
||
|
default_chrome_public_jinja_variables += [ "use_order_profiling=1" ]
|
||
|
}
|
||
|
|
||
|
template("chrome_public_apk_tmpl") {
|
||
|
android_apk(target_name) {
|
||
|
forward_variables_from(invoker, "*")
|
||
|
exclude_xxxhdpi = true
|
||
|
|
||
|
# Whitelist rationale in https://crbug.com/691733.
|
||
|
xxxhdpi_whitelist = [
|
||
|
"*shadow*", # Combination of gradient & transparency cause pixelation.
|
||
|
"*.9.*", # Most nine-patches contain shadows.
|
||
|
"*ic_file_download_white*", # Bottom edge seems misaligned.
|
||
|
"*ic_lock.*", # Bottom edge seems misaligned.
|
||
|
]
|
||
|
_native_lib_file =
|
||
|
rebase_path("$root_gen_dir/CHROME_VERSION.json", root_out_dir)
|
||
|
native_lib_version_arg = "@FileArg($_native_lib_file:full-quoted)"
|
||
|
native_lib_version_rule = "//build/util:chrome_version_json"
|
||
|
if (!defined(aapt_locale_whitelist)) {
|
||
|
aapt_locale_whitelist = locales - android_chrome_omitted_locales
|
||
|
}
|
||
|
|
||
|
if (is_java_debug || multidex_in_release) {
|
||
|
enable_multidex = true
|
||
|
}
|
||
|
if (!is_java_debug) {
|
||
|
proguard_enabled = true
|
||
|
if (!defined(proguard_configs)) {
|
||
|
proguard_configs = []
|
||
|
}
|
||
|
proguard_configs += [
|
||
|
"//chrome/android/java/proguard.flags",
|
||
|
"//base/android/proguard/chromium_apk.flags",
|
||
|
"//base/android/proguard/chromium_code.flags",
|
||
|
]
|
||
|
if (enable_proguard_obfuscation) {
|
||
|
proguard_configs +=
|
||
|
[ "//base/android/proguard/enable_obfuscation.flags" ]
|
||
|
} else {
|
||
|
proguard_configs +=
|
||
|
[ "//base/android/proguard/disable_chromium_obfuscation.flags" ]
|
||
|
}
|
||
|
}
|
||
|
|
||
|
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
|
||
|
}
|
||
|
}
|
||
|
command_line_flags_file = "chrome-command-line"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
template("monochrome_public_apk_tmpl") {
|
||
|
chrome_public_apk_tmpl(target_name) {
|
||
|
# Always build 64-bit //android_webview:monochrome because Chrome runs
|
||
|
# in 32-bit mode.
|
||
|
if (android_64bit_target_cpu) {
|
||
|
shared_libraries = [ "//android_webview:monochrome" ]
|
||
|
} else {
|
||
|
shared_libraries = [ "//chrome/android:monochrome" ]
|
||
|
}
|
||
|
if (android_64bit_target_cpu && build_apk_secondary_abi) {
|
||
|
secondary_abi_shared_libraries =
|
||
|
[ "//chrome/android:monochrome_secondary_abi_lib" ]
|
||
|
}
|
||
|
|
||
|
alternative_android_sdk_jar = webview_framework_jar
|
||
|
app_as_shared_lib = true
|
||
|
use_chromium_linker = false
|
||
|
requires_sdk_api_level_23 = true
|
||
|
enable_relocation_packing = true
|
||
|
extensions_to_not_compress = ".lpak,.pak,.bin,.dat"
|
||
|
|
||
|
# Webview supports all locales (has no omitted ones).
|
||
|
aapt_locale_whitelist = locales
|
||
|
|
||
|
# Incremental install doesn't work for monochrome. See crbug.com/663492.
|
||
|
never_incremental = true
|
||
|
|
||
|
# Configrations to make android load shared library from APK.
|
||
|
uncompress_shared_libraries = true
|
||
|
|
||
|
forward_variables_from(invoker, "*")
|
||
|
|
||
|
if (!defined(deps)) {
|
||
|
deps = []
|
||
|
}
|
||
|
deps += [
|
||
|
"//android_webview:monochrome_webview_assets",
|
||
|
"//android_webview/apk:webview_license_activity_java",
|
||
|
"//android_webview/glue",
|
||
|
"//chrome/android:chrome_public_non_pak_assets",
|
||
|
"//chrome/android:monochrome_pak_assets",
|
||
|
"//chrome/android/monochrome:monochrome_license_provider_java",
|
||
|
]
|
||
|
|
||
|
if (!is_java_debug) {
|
||
|
if (!defined(proguard_configs)) {
|
||
|
proguard_configs = []
|
||
|
}
|
||
|
proguard_configs += [ "//android_webview/apk/java/proguard.flags" ]
|
||
|
png_to_webp = true
|
||
|
}
|
||
|
}
|
||
|
}
|