xref: /aosp_15_r20/external/cronet/build/config/chrome_build.gni (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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