xref: /aosp_15_r20/external/cronet/build/toolchain/cros/BUILD.gn (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker# Copyright 2014 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/compiler/compiler.gni")
6*6777b538SAndroid Build Coastguard Workerimport("//build/config/sysroot.gni")
7*6777b538SAndroid Build Coastguard Workerimport("//build/toolchain/cros/cros_config.gni")
8*6777b538SAndroid Build Coastguard Workerimport("//build/toolchain/cros_toolchain.gni")
9*6777b538SAndroid Build Coastguard Workerimport("//build/toolchain/gcc_toolchain.gni")
10*6777b538SAndroid Build Coastguard Worker
11*6777b538SAndroid Build Coastguard Worker# This is mostly identical to gcc_toolchain, but handles relativizing toolchain
12*6777b538SAndroid Build Coastguard Worker# paths. This is needed for CrOS since these paths often change based on the
13*6777b538SAndroid Build Coastguard Worker# environment. For example, cxx is a relative path picked up on $PATH in the
14*6777b538SAndroid Build Coastguard Worker# chroot. But in Simple Chrome, cxx is a system-absolute path.
15*6777b538SAndroid Build Coastguard Workertemplate("cros_toolchain") {
16*6777b538SAndroid Build Coastguard Worker  if (lacros_use_chromium_toolchain) {
17*6777b538SAndroid Build Coastguard Worker    clang_toolchain(target_name) {
18*6777b538SAndroid Build Coastguard Worker      forward_variables_from(invoker, "*")
19*6777b538SAndroid Build Coastguard Worker    }
20*6777b538SAndroid Build Coastguard Worker  } else {
21*6777b538SAndroid Build Coastguard Worker    gcc_toolchain(target_name) {
22*6777b538SAndroid Build Coastguard Worker      forward_variables_from(invoker, "*")
23*6777b538SAndroid Build Coastguard Worker
24*6777b538SAndroid Build Coastguard Worker      toolchain_args.cc_wrapper = ""
25*6777b538SAndroid Build Coastguard Worker      toolchain_args.clang_use_chrome_plugins = false
26*6777b538SAndroid Build Coastguard Worker
27*6777b538SAndroid Build Coastguard Worker      # CrOS's target toolchain wrapper prefers to invoke gomacc itself, so pass
28*6777b538SAndroid Build Coastguard Worker      # it the gomacc path via cmd-line arg. Otherwise, for both CrOS's host
29*6777b538SAndroid Build Coastguard Worker      # wrapper (used in the ebuild) and Chrome's clang (used in Simple Chrome),
30*6777b538SAndroid Build Coastguard Worker      # prepend gomacc like normal.
31*6777b538SAndroid Build Coastguard Worker      if (use_goma && invoker.needs_gomacc_path_arg) {
32*6777b538SAndroid Build Coastguard Worker        extra_cppflags += " --gomacc-path $goma_dir/gomacc"
33*6777b538SAndroid Build Coastguard Worker      }
34*6777b538SAndroid Build Coastguard Worker      if (use_remoteexec && invoker.needs_gomacc_path_arg) {
35*6777b538SAndroid Build Coastguard Worker        extra_cppflags += "--rewrapper-path $rbe_cros_cc_wrapper --rewrapper-cfg ${rbe_cc_cfg_file}"
36*6777b538SAndroid Build Coastguard Worker      }
37*6777b538SAndroid Build Coastguard Worker
38*6777b538SAndroid Build Coastguard Worker      # Relativize path if compiler is specified such that not to lookup from
39*6777b538SAndroid Build Coastguard Worker      # $PATH and cc/cxx does not contain additional flags.
40*6777b538SAndroid Build Coastguard Worker      if (cc != get_path_info(cc, "file") &&
41*6777b538SAndroid Build Coastguard Worker          string_replace(cc, " ", "") == cc) {
42*6777b538SAndroid Build Coastguard Worker        cc = rebase_path(cc, root_build_dir)
43*6777b538SAndroid Build Coastguard Worker      }
44*6777b538SAndroid Build Coastguard Worker      if (cxx != get_path_info(cxx, "file") &&
45*6777b538SAndroid Build Coastguard Worker          string_replace(cxx, " ", "") == cxx) {
46*6777b538SAndroid Build Coastguard Worker        cxx = rebase_path(cxx, root_build_dir)
47*6777b538SAndroid Build Coastguard Worker      }
48*6777b538SAndroid Build Coastguard Worker      if (ar != get_path_info(ar, "file") &&
49*6777b538SAndroid Build Coastguard Worker          string_replace(ar, " ", "") == ar) {
50*6777b538SAndroid Build Coastguard Worker        ar = rebase_path(ar, root_build_dir)
51*6777b538SAndroid Build Coastguard Worker      }
52*6777b538SAndroid Build Coastguard Worker      if (ld != get_path_info(ld, "file") &&
53*6777b538SAndroid Build Coastguard Worker          string_replace(ld, " ", "") == ld) {
54*6777b538SAndroid Build Coastguard Worker        ld = rebase_path(ld, root_build_dir)
55*6777b538SAndroid Build Coastguard Worker      }
56*6777b538SAndroid Build Coastguard Worker    }
57*6777b538SAndroid Build Coastguard Worker  }
58*6777b538SAndroid Build Coastguard Worker}
59*6777b538SAndroid Build Coastguard Worker
60*6777b538SAndroid Build Coastguard Worker# This is the normal toolchain for most targets.
61*6777b538SAndroid Build Coastguard Workercros_toolchain("target") {
62*6777b538SAndroid Build Coastguard Worker  toolchain_args = {
63*6777b538SAndroid Build Coastguard Worker    current_cpu = target_cpu
64*6777b538SAndroid Build Coastguard Worker    current_os = "chromeos"
65*6777b538SAndroid Build Coastguard Worker    sysroot = target_sysroot
66*6777b538SAndroid Build Coastguard Worker  }
67*6777b538SAndroid Build Coastguard Worker
68*6777b538SAndroid Build Coastguard Worker  if (!lacros_use_chromium_toolchain) {
69*6777b538SAndroid Build Coastguard Worker    ar = cros_target_ar
70*6777b538SAndroid Build Coastguard Worker    cc = cros_target_cc
71*6777b538SAndroid Build Coastguard Worker    cxx = cros_target_cxx
72*6777b538SAndroid Build Coastguard Worker    ld = cros_target_ld
73*6777b538SAndroid Build Coastguard Worker
74*6777b538SAndroid Build Coastguard Worker    if (cros_target_nm != "") {
75*6777b538SAndroid Build Coastguard Worker      nm = cros_target_nm
76*6777b538SAndroid Build Coastguard Worker    }
77*6777b538SAndroid Build Coastguard Worker    if (cros_target_readelf != "") {
78*6777b538SAndroid Build Coastguard Worker      readelf = cros_target_readelf
79*6777b538SAndroid Build Coastguard Worker    }
80*6777b538SAndroid Build Coastguard Worker    extra_cflags = cros_target_extra_cflags
81*6777b538SAndroid Build Coastguard Worker    extra_cppflags = cros_target_extra_cppflags
82*6777b538SAndroid Build Coastguard Worker    extra_cxxflags = cros_target_extra_cxxflags
83*6777b538SAndroid Build Coastguard Worker    extra_ldflags = cros_target_extra_ldflags
84*6777b538SAndroid Build Coastguard Worker
85*6777b538SAndroid Build Coastguard Worker    needs_gomacc_path_arg = true
86*6777b538SAndroid Build Coastguard Worker  }
87*6777b538SAndroid Build Coastguard Worker}
88*6777b538SAndroid Build Coastguard Worker
89*6777b538SAndroid Build Coastguard Worker# This is a special toolchain needed just for the nacl_bootstrap target in
90*6777b538SAndroid Build Coastguard Worker# //native_client/src/trusted/service_runtime/linux. It is identical
91*6777b538SAndroid Build Coastguard Worker# to ":target" except that it forces use_debug_fission, use_gold, and
92*6777b538SAndroid Build Coastguard Worker# use_sysroot off, and allows the user to set different sets of extra flags.
93*6777b538SAndroid Build Coastguard Workercros_toolchain("nacl_bootstrap") {
94*6777b538SAndroid Build Coastguard Worker  toolchain_args = {
95*6777b538SAndroid Build Coastguard Worker    if (target_cpu == "arm64") {
96*6777b538SAndroid Build Coastguard Worker      current_cpu = "arm"
97*6777b538SAndroid Build Coastguard Worker    } else {
98*6777b538SAndroid Build Coastguard Worker      current_cpu = target_cpu
99*6777b538SAndroid Build Coastguard Worker    }
100*6777b538SAndroid Build Coastguard Worker    current_os = "chromeos"
101*6777b538SAndroid Build Coastguard Worker    use_debug_fission = false
102*6777b538SAndroid Build Coastguard Worker    use_gold = false
103*6777b538SAndroid Build Coastguard Worker    use_sysroot = false
104*6777b538SAndroid Build Coastguard Worker  }
105*6777b538SAndroid Build Coastguard Worker
106*6777b538SAndroid Build Coastguard Worker  if (!lacros_use_chromium_toolchain) {
107*6777b538SAndroid Build Coastguard Worker    ar = cros_target_ar
108*6777b538SAndroid Build Coastguard Worker    cc = cros_target_cc
109*6777b538SAndroid Build Coastguard Worker    cxx = cros_target_cxx
110*6777b538SAndroid Build Coastguard Worker    ld = cros_target_ld
111*6777b538SAndroid Build Coastguard Worker
112*6777b538SAndroid Build Coastguard Worker    if (cros_target_nm != "") {
113*6777b538SAndroid Build Coastguard Worker      nm = cros_target_nm
114*6777b538SAndroid Build Coastguard Worker    }
115*6777b538SAndroid Build Coastguard Worker    if (cros_target_readelf != "") {
116*6777b538SAndroid Build Coastguard Worker      readelf = cros_target_readelf
117*6777b538SAndroid Build Coastguard Worker    }
118*6777b538SAndroid Build Coastguard Worker    extra_cflags = cros_nacl_bootstrap_extra_cflags
119*6777b538SAndroid Build Coastguard Worker    extra_cppflags = cros_nacl_bootstrap_extra_cppflags
120*6777b538SAndroid Build Coastguard Worker    extra_cxxflags = cros_nacl_bootstrap_extra_cxxflags
121*6777b538SAndroid Build Coastguard Worker    extra_ldflags = cros_nacl_bootstrap_extra_ldflags
122*6777b538SAndroid Build Coastguard Worker
123*6777b538SAndroid Build Coastguard Worker    needs_gomacc_path_arg = true
124*6777b538SAndroid Build Coastguard Worker  }
125*6777b538SAndroid Build Coastguard Worker
126*6777b538SAndroid Build Coastguard Worker  # We build for ARM32, even when the rest of the build targets ARM64.
127*6777b538SAndroid Build Coastguard Worker  if (target_cpu == "arm64") {
128*6777b538SAndroid Build Coastguard Worker    ar = cros_nacl_helper_arm32_ar
129*6777b538SAndroid Build Coastguard Worker    cc = cros_nacl_helper_arm32_cc
130*6777b538SAndroid Build Coastguard Worker    cxx = cros_nacl_helper_arm32_cxx
131*6777b538SAndroid Build Coastguard Worker    ld = cros_nacl_helper_arm32_ld
132*6777b538SAndroid Build Coastguard Worker
133*6777b538SAndroid Build Coastguard Worker    # Avoid accidental use of Arm64 sysroot because of SYSROOT
134*6777b538SAndroid Build Coastguard Worker    # env variable set in ChromeOS builds.
135*6777b538SAndroid Build Coastguard Worker    toolchain_args.sysroot = cros_nacl_helper_arm32_sysroot
136*6777b538SAndroid Build Coastguard Worker  }
137*6777b538SAndroid Build Coastguard Worker}
138*6777b538SAndroid Build Coastguard Worker
139*6777b538SAndroid Build Coastguard Worker# This is a special toolchain needed just for the nacl_helper target for
140*6777b538SAndroid Build Coastguard Worker# building an Arm32 nacl_helper binary on Arm64 ChromeOS targets.
141*6777b538SAndroid Build Coastguard Workercros_toolchain("nacl_helper_arm32") {
142*6777b538SAndroid Build Coastguard Worker  toolchain_args = {
143*6777b538SAndroid Build Coastguard Worker    current_cpu = "arm"
144*6777b538SAndroid Build Coastguard Worker    current_os = "chromeos"
145*6777b538SAndroid Build Coastguard Worker    use_debug_fission = false
146*6777b538SAndroid Build Coastguard Worker    use_gold = false
147*6777b538SAndroid Build Coastguard Worker    sysroot = cros_nacl_helper_arm32_sysroot
148*6777b538SAndroid Build Coastguard Worker
149*6777b538SAndroid Build Coastguard Worker    # Disable some uses of libraries that this build does not require. The
150*6777b538SAndroid Build Coastguard Worker    # sysroot for this build does not provide them, and they would be pulled in
151*6777b538SAndroid Build Coastguard Worker    # by indirect dependencies of nacl_helper otherwise.
152*6777b538SAndroid Build Coastguard Worker    use_cras = false
153*6777b538SAndroid Build Coastguard Worker    use_nss_certs = false
154*6777b538SAndroid Build Coastguard Worker    use_system_libdrm = false
155*6777b538SAndroid Build Coastguard Worker    use_system_libsync = false
156*6777b538SAndroid Build Coastguard Worker  }
157*6777b538SAndroid Build Coastguard Worker  ar = cros_nacl_helper_arm32_ar
158*6777b538SAndroid Build Coastguard Worker  cc = cros_nacl_helper_arm32_cc
159*6777b538SAndroid Build Coastguard Worker  cxx = cros_nacl_helper_arm32_cxx
160*6777b538SAndroid Build Coastguard Worker  ld = cros_nacl_helper_arm32_ld
161*6777b538SAndroid Build Coastguard Worker  readelf = cros_nacl_helper_arm32_readelf
162*6777b538SAndroid Build Coastguard Worker
163*6777b538SAndroid Build Coastguard Worker  extra_cflags = ""
164*6777b538SAndroid Build Coastguard Worker  extra_cppflags = ""
165*6777b538SAndroid Build Coastguard Worker  extra_cxxflags = ""
166*6777b538SAndroid Build Coastguard Worker  extra_ldflags = ""
167*6777b538SAndroid Build Coastguard Worker
168*6777b538SAndroid Build Coastguard Worker  if (!lacros_use_chromium_toolchain) {
169*6777b538SAndroid Build Coastguard Worker    needs_gomacc_path_arg = true
170*6777b538SAndroid Build Coastguard Worker  }
171*6777b538SAndroid Build Coastguard Worker}
172*6777b538SAndroid Build Coastguard Worker
173*6777b538SAndroid Build Coastguard Workercros_toolchain("host") {
174*6777b538SAndroid Build Coastguard Worker  toolchain_args = {
175*6777b538SAndroid Build Coastguard Worker    current_cpu = host_cpu
176*6777b538SAndroid Build Coastguard Worker    current_os = "linux"
177*6777b538SAndroid Build Coastguard Worker    sysroot = cros_host_sysroot
178*6777b538SAndroid Build Coastguard Worker  }
179*6777b538SAndroid Build Coastguard Worker
180*6777b538SAndroid Build Coastguard Worker  if (!lacros_use_chromium_toolchain) {
181*6777b538SAndroid Build Coastguard Worker    # These are args for the template.
182*6777b538SAndroid Build Coastguard Worker    ar = cros_host_ar
183*6777b538SAndroid Build Coastguard Worker    cc = cros_host_cc
184*6777b538SAndroid Build Coastguard Worker    cxx = cros_host_cxx
185*6777b538SAndroid Build Coastguard Worker    ld = cros_host_ld
186*6777b538SAndroid Build Coastguard Worker
187*6777b538SAndroid Build Coastguard Worker    if (cros_host_nm != "") {
188*6777b538SAndroid Build Coastguard Worker      nm = cros_host_nm
189*6777b538SAndroid Build Coastguard Worker    }
190*6777b538SAndroid Build Coastguard Worker    if (cros_host_readelf != "") {
191*6777b538SAndroid Build Coastguard Worker      readelf = cros_host_readelf
192*6777b538SAndroid Build Coastguard Worker    }
193*6777b538SAndroid Build Coastguard Worker    extra_cflags = cros_host_extra_cflags
194*6777b538SAndroid Build Coastguard Worker    extra_cppflags = cros_host_extra_cppflags
195*6777b538SAndroid Build Coastguard Worker    extra_cxxflags = cros_host_extra_cxxflags
196*6777b538SAndroid Build Coastguard Worker    extra_ldflags = cros_host_extra_ldflags
197*6777b538SAndroid Build Coastguard Worker
198*6777b538SAndroid Build Coastguard Worker    needs_gomacc_path_arg = false
199*6777b538SAndroid Build Coastguard Worker  }
200*6777b538SAndroid Build Coastguard Worker}
201*6777b538SAndroid Build Coastguard Worker
202*6777b538SAndroid Build Coastguard Workercros_toolchain("v8_snapshot") {
203*6777b538SAndroid Build Coastguard Worker  toolchain_args = {
204*6777b538SAndroid Build Coastguard Worker    if (target_cpu == "x86" || target_cpu == "arm" || target_cpu == "mipsel") {
205*6777b538SAndroid Build Coastguard Worker      current_cpu = "x86"
206*6777b538SAndroid Build Coastguard Worker    } else {
207*6777b538SAndroid Build Coastguard Worker      current_cpu = "x64"
208*6777b538SAndroid Build Coastguard Worker    }
209*6777b538SAndroid Build Coastguard Worker    v8_current_cpu = v8_target_cpu
210*6777b538SAndroid Build Coastguard Worker    current_os = "linux"
211*6777b538SAndroid Build Coastguard Worker    sysroot = cros_v8_snapshot_sysroot
212*6777b538SAndroid Build Coastguard Worker  }
213*6777b538SAndroid Build Coastguard Worker
214*6777b538SAndroid Build Coastguard Worker  if (!lacros_use_chromium_toolchain) {
215*6777b538SAndroid Build Coastguard Worker    # These are args for the template.
216*6777b538SAndroid Build Coastguard Worker    ar = cros_v8_snapshot_ar
217*6777b538SAndroid Build Coastguard Worker    cc = cros_v8_snapshot_cc
218*6777b538SAndroid Build Coastguard Worker    cxx = cros_v8_snapshot_cxx
219*6777b538SAndroid Build Coastguard Worker    ld = cros_v8_snapshot_ld
220*6777b538SAndroid Build Coastguard Worker
221*6777b538SAndroid Build Coastguard Worker    if (cros_v8_snapshot_nm != "") {
222*6777b538SAndroid Build Coastguard Worker      nm = cros_v8_snapshot_nm
223*6777b538SAndroid Build Coastguard Worker    }
224*6777b538SAndroid Build Coastguard Worker    if (cros_v8_snapshot_readelf != "") {
225*6777b538SAndroid Build Coastguard Worker      readelf = cros_v8_snapshot_readelf
226*6777b538SAndroid Build Coastguard Worker    }
227*6777b538SAndroid Build Coastguard Worker    extra_cflags = cros_v8_snapshot_extra_cflags
228*6777b538SAndroid Build Coastguard Worker    extra_cppflags = cros_v8_snapshot_extra_cppflags
229*6777b538SAndroid Build Coastguard Worker    extra_cxxflags = cros_v8_snapshot_extra_cxxflags
230*6777b538SAndroid Build Coastguard Worker    extra_ldflags = cros_v8_snapshot_extra_ldflags
231*6777b538SAndroid Build Coastguard Worker
232*6777b538SAndroid Build Coastguard Worker    needs_gomacc_path_arg = false
233*6777b538SAndroid Build Coastguard Worker  }
234*6777b538SAndroid Build Coastguard Worker}
235*6777b538SAndroid Build Coastguard Worker
236*6777b538SAndroid Build Coastguard Worker# This toolchain is used when we want to build Lacros using alternate toolchain.
237*6777b538SAndroid Build Coastguard Worker# To use this, you need to set gn arg 'also_build_lacros_chrome_for_architecture'.
238*6777b538SAndroid Build Coastguard Worker# See build/config/chromeos/ui_mode.gni
239*6777b538SAndroid Build Coastguard Workerif (also_build_lacros_chrome_for_architecture != "") {
240*6777b538SAndroid Build Coastguard Worker  cros_toolchain("lacros_clang") {
241*6777b538SAndroid Build Coastguard Worker    if (also_build_lacros_chrome_for_architecture == "amd64") {
242*6777b538SAndroid Build Coastguard Worker      lacros_args =
243*6777b538SAndroid Build Coastguard Worker          read_file("//build/args/chromeos/amd64-generic-crostoolchain.gni",
244*6777b538SAndroid Build Coastguard Worker                    "scope")
245*6777b538SAndroid Build Coastguard Worker    } else if (also_build_lacros_chrome_for_architecture == "arm") {
246*6777b538SAndroid Build Coastguard Worker      lacros_args =
247*6777b538SAndroid Build Coastguard Worker          read_file("//build/args/chromeos/arm-generic-crostoolchain.gni",
248*6777b538SAndroid Build Coastguard Worker                    "scope")
249*6777b538SAndroid Build Coastguard Worker    } else if (also_build_lacros_chrome_for_architecture == "arm64") {
250*6777b538SAndroid Build Coastguard Worker      lacros_args =
251*6777b538SAndroid Build Coastguard Worker          read_file("//build/args/chromeos/arm64-generic-crostoolchain.gni",
252*6777b538SAndroid Build Coastguard Worker                    "scope")
253*6777b538SAndroid Build Coastguard Worker    } else {
254*6777b538SAndroid Build Coastguard Worker      assert(false,
255*6777b538SAndroid Build Coastguard Worker             "also_build_lacros_chrome_for_architecture is not " +
256*6777b538SAndroid Build Coastguard Worker                 "one of the supported architectures.")
257*6777b538SAndroid Build Coastguard Worker    }
258*6777b538SAndroid Build Coastguard Worker
259*6777b538SAndroid Build Coastguard Worker    toolchain_args = {
260*6777b538SAndroid Build Coastguard Worker      forward_variables_from(lacros_args, "*")
261*6777b538SAndroid Build Coastguard Worker
262*6777b538SAndroid Build Coastguard Worker      # TODO(crbug.com/1298821) Change to a better way to set gn args.
263*6777b538SAndroid Build Coastguard Worker      # The following gn args are present in ash config like
264*6777b538SAndroid Build Coastguard Worker      # //build/args/chromeos/atlas.gni but not in
265*6777b538SAndroid Build Coastguard Worker      # //build/args/chromeos/amd64-generic-crostoolchain.gni.
266*6777b538SAndroid Build Coastguard Worker      # So we need to reset them to the default value where Lacros needs.
267*6777b538SAndroid Build Coastguard Worker      # Starts from here.
268*6777b538SAndroid Build Coastguard Worker      ozone_auto_platforms = true
269*6777b538SAndroid Build Coastguard Worker      ozone_platform = ""
270*6777b538SAndroid Build Coastguard Worker      ozone_platform_gbm = -1
271*6777b538SAndroid Build Coastguard Worker      ozone_platform_headless = false
272*6777b538SAndroid Build Coastguard Worker
273*6777b538SAndroid Build Coastguard Worker      # Ends here.
274*6777b538SAndroid Build Coastguard Worker
275*6777b538SAndroid Build Coastguard Worker      current_os = "chromeos"
276*6777b538SAndroid Build Coastguard Worker      target_os = "chromeos"
277*6777b538SAndroid Build Coastguard Worker      current_cpu = current_cpu
278*6777b538SAndroid Build Coastguard Worker      also_build_lacros_chrome_for_architecture = ""
279*6777b538SAndroid Build Coastguard Worker      chromeos_is_browser_only = true
280*6777b538SAndroid Build Coastguard Worker      use_clang_coverage = false
281*6777b538SAndroid Build Coastguard Worker
282*6777b538SAndroid Build Coastguard Worker      # Do not propagate AFDO settings from Ash build to Lacros build.
283*6777b538SAndroid Build Coastguard Worker      # Specifically, Lacros uses PGO by default, so this would
284*6777b538SAndroid Build Coastguard Worker      # conflict.
285*6777b538SAndroid Build Coastguard Worker      clang_use_default_sample_profile = false
286*6777b538SAndroid Build Coastguard Worker      clang_sample_profile_path = ""
287*6777b538SAndroid Build Coastguard Worker    }
288*6777b538SAndroid Build Coastguard Worker    if (!lacros_use_chromium_toolchain) {
289*6777b538SAndroid Build Coastguard Worker      # These are args for the template.
290*6777b538SAndroid Build Coastguard Worker      ar = lacros_args.cros_target_ar
291*6777b538SAndroid Build Coastguard Worker      cc = lacros_args.cros_target_cc
292*6777b538SAndroid Build Coastguard Worker      cxx = lacros_args.cros_target_cxx
293*6777b538SAndroid Build Coastguard Worker      ld = lacros_args.cros_target_ld
294*6777b538SAndroid Build Coastguard Worker
295*6777b538SAndroid Build Coastguard Worker      if (defined(lacros_args.cros_target_nm) &&
296*6777b538SAndroid Build Coastguard Worker          lacros_args.cros_target_nm != "") {
297*6777b538SAndroid Build Coastguard Worker        nm = lacros_args.cros_target_nm
298*6777b538SAndroid Build Coastguard Worker      }
299*6777b538SAndroid Build Coastguard Worker      if (defined(lacros_args.cros_target_readelf) &&
300*6777b538SAndroid Build Coastguard Worker          lacros_args.cros_target_readelf != "") {
301*6777b538SAndroid Build Coastguard Worker        readelf = lacros_args.cros_target_readelf
302*6777b538SAndroid Build Coastguard Worker      }
303*6777b538SAndroid Build Coastguard Worker      extra_cflags = lacros_args.cros_target_extra_cflags
304*6777b538SAndroid Build Coastguard Worker      extra_cppflags = lacros_args.cros_target_extra_cppflags
305*6777b538SAndroid Build Coastguard Worker      extra_cxxflags = lacros_args.cros_target_extra_cxxflags
306*6777b538SAndroid Build Coastguard Worker      extra_ldflags = lacros_args.cros_target_extra_ldflags
307*6777b538SAndroid Build Coastguard Worker
308*6777b538SAndroid Build Coastguard Worker      needs_gomacc_path_arg = true
309*6777b538SAndroid Build Coastguard Worker    }
310*6777b538SAndroid Build Coastguard Worker  }
311*6777b538SAndroid Build Coastguard Worker}
312