1*6777b538SAndroid Build Coastguard Worker# Copyright 2015 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Workerdeclare_args() { 6*6777b538SAndroid Build Coastguard Worker # Select the desired branding flavor. False means normal Chromium branding, 7*6777b538SAndroid Build Coastguard Worker # true means official Google Chrome branding (requires extra Google-internal 8*6777b538SAndroid Build Coastguard Worker # resources). 9*6777b538SAndroid Build Coastguard Worker is_chrome_branded = false 10*6777b538SAndroid Build Coastguard Worker 11*6777b538SAndroid Build Coastguard Worker # Whether to enable the Chrome for Testing (CfT) flavor. This arg is not 12*6777b538SAndroid Build Coastguard Worker # compatible with `is_chrome_branded`. 13*6777b538SAndroid Build Coastguard Worker # 14*6777b538SAndroid Build Coastguard Worker # Design document: https://goo.gle/chrome-for-testing 15*6777b538SAndroid Build Coastguard Worker is_chrome_for_testing = false 16*6777b538SAndroid Build Coastguard Worker 17*6777b538SAndroid Build Coastguard Worker # Whether to use internal Chrome for Testing (CfT). 18*6777b538SAndroid Build Coastguard Worker # Requires `src-internal/` and `is_chrome_for_testing = true`. 19*6777b538SAndroid Build Coastguard Worker # 20*6777b538SAndroid Build Coastguard Worker # When true, use Google-internal icons, otherwise fall back to Chromium icons. 21*6777b538SAndroid Build Coastguard Worker is_chrome_for_testing_branded = false 22*6777b538SAndroid Build Coastguard Worker 23*6777b538SAndroid Build Coastguard Worker # Set to true to enable settings for high end Android devices, typically 24*6777b538SAndroid Build Coastguard Worker # enhancing speed at the expense of resources such as binary sizes and memory. 25*6777b538SAndroid Build Coastguard Worker # Non-official builds should ignore this argument so that arm64 builders 26*6777b538SAndroid Build Coastguard Worker # remain fast and independent from PGO without having to set the value to false. 27*6777b538SAndroid Build Coastguard Worker is_high_end_android = target_cpu == "arm64" 28*6777b538SAndroid Build Coastguard Worker 29*6777b538SAndroid Build Coastguard Worker if (is_android) { 30*6777b538SAndroid Build Coastguard Worker # By default, Trichrome channels are compiled using separate package names. 31*6777b538SAndroid Build Coastguard Worker # Set this to 'true' to compile Trichrome channels using the Stable channel's 32*6777b538SAndroid Build Coastguard Worker # package name. This currently only affects builds with `android_channel = 33*6777b538SAndroid Build Coastguard Worker # "beta"`. 34*6777b538SAndroid Build Coastguard Worker use_stable_package_name_for_trichrome = false 35*6777b538SAndroid Build Coastguard Worker } 36*6777b538SAndroid Build Coastguard Worker} 37*6777b538SAndroid Build Coastguard Worker 38*6777b538SAndroid Build Coastguard Worker# Ensure !is_android implies !is_high_end_android. 39*6777b538SAndroid Build Coastguard Workeris_high_end_android = is_high_end_android && is_android 40*6777b538SAndroid Build Coastguard Worker 41*6777b538SAndroid Build Coastguard Workerdeclare_args() { 42*6777b538SAndroid Build Coastguard Worker # Whether to apply size->speed trade-offs to the secondary toolchain. 43*6777b538SAndroid Build Coastguard Worker # Relevant only for 64-bit target_cpu. 44*6777b538SAndroid Build Coastguard Worker is_high_end_android_secondary_toolchain = is_high_end_android 45*6777b538SAndroid Build Coastguard Worker} 46*6777b538SAndroid Build Coastguard Worker 47*6777b538SAndroid Build Coastguard Workerassert(!is_chrome_for_testing || !is_chrome_branded, 48*6777b538SAndroid Build Coastguard Worker "`is_chrome_for_testing` is incompatible with `is_chrome_branded`") 49*6777b538SAndroid Build Coastguard Worker 50*6777b538SAndroid Build Coastguard Workerassert(is_chrome_for_testing || !is_chrome_for_testing_branded, 51*6777b538SAndroid Build Coastguard Worker "`is_chrome_for_testing_branded` requires `is_chrome_for_testing`") 52*6777b538SAndroid Build Coastguard Worker 53*6777b538SAndroid Build Coastguard Workerdeclare_args() { 54*6777b538SAndroid Build Coastguard Worker # Refers to the subdirectory for branding in various places including 55*6777b538SAndroid Build Coastguard Worker # chrome/app/theme. 56*6777b538SAndroid Build Coastguard Worker # 57*6777b538SAndroid Build Coastguard Worker # `branding_path_product` must not contain slashes. 58*6777b538SAndroid Build Coastguard Worker if (is_chrome_for_testing) { 59*6777b538SAndroid Build Coastguard Worker if (is_chrome_for_testing_branded) { 60*6777b538SAndroid Build Coastguard Worker branding_path_component = "google_chrome/google_chrome_for_testing" 61*6777b538SAndroid Build Coastguard Worker } else { 62*6777b538SAndroid Build Coastguard Worker branding_path_component = "chromium" 63*6777b538SAndroid Build Coastguard Worker } 64*6777b538SAndroid Build Coastguard Worker branding_path_product = "chromium" 65*6777b538SAndroid Build Coastguard Worker } else if (is_chrome_branded) { 66*6777b538SAndroid Build Coastguard Worker branding_path_component = "google_chrome" 67*6777b538SAndroid Build Coastguard Worker branding_path_product = "google_chrome" 68*6777b538SAndroid Build Coastguard Worker } else { 69*6777b538SAndroid Build Coastguard Worker branding_path_component = "chromium" 70*6777b538SAndroid Build Coastguard Worker branding_path_product = "chromium" 71*6777b538SAndroid Build Coastguard Worker } 72*6777b538SAndroid Build Coastguard Worker} 73*6777b538SAndroid Build Coastguard Worker 74*6777b538SAndroid Build Coastguard Workerdeclare_args() { 75*6777b538SAndroid Build Coastguard Worker # The path to the BRANDING file in chrome/app/theme. 76*6777b538SAndroid Build Coastguard Worker branding_file_path = "//chrome/app/theme/$branding_path_component/BRANDING" 77*6777b538SAndroid Build Coastguard Worker} 78