xref: /aosp_15_r20/external/cronet/build/config/chromeos/ui_mode.gni (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker# Copyright 2020 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 Workerimport("//build/config/chromeos/args.gni")
6*6777b538SAndroid Build Coastguard Worker
7*6777b538SAndroid Build Coastguard Workerdeclare_args() {
8*6777b538SAndroid Build Coastguard Worker  # Deprecated, use is_chromeos_lacros.
9*6777b538SAndroid Build Coastguard Worker  #
10*6777b538SAndroid Build Coastguard Worker  # This controls UI configuration for Chrome.
11*6777b538SAndroid Build Coastguard Worker  # If this flag is set, we assume Chrome runs on Chrome OS devices, using
12*6777b538SAndroid Build Coastguard Worker  # Wayland (instead of X11).
13*6777b538SAndroid Build Coastguard Worker  #
14*6777b538SAndroid Build Coastguard Worker  # TODO(crbug.com/1052397):
15*6777b538SAndroid Build Coastguard Worker  # Define chromeos_product instead, which takes either "browser" or "ash".
16*6777b538SAndroid Build Coastguard Worker  # Re-define the following variables as:
17*6777b538SAndroid Build Coastguard Worker  # is_chromeos_lacros = chromeos_product == "browser"
18*6777b538SAndroid Build Coastguard Worker  # is_chromeos_ash = chromeos_product == "ash"
19*6777b538SAndroid Build Coastguard Worker  chromeos_is_browser_only = false
20*6777b538SAndroid Build Coastguard Worker
21*6777b538SAndroid Build Coastguard Worker  # Setting this to true when building linux Lacros-chrome will cause it to
22*6777b538SAndroid Build Coastguard Worker  # *also* build linux ash-chrome in a subdirectory using an alternate
23*6777b538SAndroid Build Coastguard Worker  # toolchain.
24*6777b538SAndroid Build Coastguard Worker  # Don't set this unless you're sure you want it, because it'll double
25*6777b538SAndroid Build Coastguard Worker  # your build time.
26*6777b538SAndroid Build Coastguard Worker  also_build_ash_chrome = false
27*6777b538SAndroid Build Coastguard Worker
28*6777b538SAndroid Build Coastguard Worker  # Setting this to true when building linux ash-chrome will cause it to
29*6777b538SAndroid Build Coastguard Worker  # *also* build linux Lacros-chrome in a subdirectory using an alternate toolchain.
30*6777b538SAndroid Build Coastguard Worker  also_build_lacros_chrome = false
31*6777b538SAndroid Build Coastguard Worker
32*6777b538SAndroid Build Coastguard Worker  # Setting this when building ash-chrome will cause it to
33*6777b538SAndroid Build Coastguard Worker  # *also* build Lacros-chrome in a subdirectory using an alternate toolchain.
34*6777b538SAndroid Build Coastguard Worker  # You can set this to either "amd64" or "arm".
35*6777b538SAndroid Build Coastguard Worker  also_build_lacros_chrome_for_architecture = ""
36*6777b538SAndroid Build Coastguard Worker}
37*6777b538SAndroid Build Coastguard Worker
38*6777b538SAndroid Build Coastguard Worker# is_chromeos_{ash,lacros} is used to specify that it is specific to either
39*6777b538SAndroid Build Coastguard Worker# ash or lacros chrome for chromeos. For platform specific logic that
40*6777b538SAndroid Build Coastguard Worker# applies to both, use is_chromeos instead.
41*6777b538SAndroid Build Coastguard Worker# .gn files are evaluated multiple times for each toolchain.
42*6777b538SAndroid Build Coastguard Worker# is_chromeos_{ash,lacros} should be set true only for builds with target
43*6777b538SAndroid Build Coastguard Worker# toolchains.
44*6777b538SAndroid Build Coastguard Workeris_chromeos_ash = is_chromeos && !chromeos_is_browser_only
45*6777b538SAndroid Build Coastguard Workeris_chromeos_lacros = is_chromeos && chromeos_is_browser_only
46*6777b538SAndroid Build Coastguard Worker
47*6777b538SAndroid Build Coastguard Worker# also_build_ash_chrome and also_build_lacros_chrome cannot be both true.
48*6777b538SAndroid Build Coastguard Workerassert(!(also_build_ash_chrome && also_build_lacros_chrome))
49*6777b538SAndroid Build Coastguard Worker
50*6777b538SAndroid Build Coastguard Worker# Can't set both also_build_lacros_chrome and
51*6777b538SAndroid Build Coastguard Worker# also_build_lacros_chrome_for_architecture.
52*6777b538SAndroid Build Coastguard Workerassert(!(also_build_lacros_chrome == true &&
53*6777b538SAndroid Build Coastguard Worker             also_build_lacros_chrome_for_architecture != ""))
54*6777b538SAndroid Build Coastguard Worker
55*6777b538SAndroid Build Coastguard Worker# also_build_lacros_chrome_for_architecture is for device only.
56*6777b538SAndroid Build Coastguard Workerassert(is_chromeos_device || also_build_lacros_chrome_for_architecture == "")
57*6777b538SAndroid Build Coastguard Worker
58*6777b538SAndroid Build Coastguard Worker# also_build_lacros_chrome_for_architecture is for ash build only.
59*6777b538SAndroid Build Coastguard Workerassert(!chromeos_is_browser_only ||
60*6777b538SAndroid Build Coastguard Worker       also_build_lacros_chrome_for_architecture == "")
61