• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2013 The Chromium Authors
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5# Defines the configuration of Goma.
6
7import("//build/toolchain/siso.gni")
8
9declare_args() {
10  # Set to true to enable distributed compilation using Goma.
11  use_goma = false
12
13  # Absolute directory containing the gomacc binary.
14  goma_dir = ""
15}
16
17if (use_goma && goma_dir == "") {
18  goma_dir = exec_script("get_goma_dir.py", [], "string")
19}
20
21assert(!is_win || !use_goma || is_clang,
22       "cl.exe does not work on goma, use clang")
23
24if (use_goma && current_toolchain == default_toolchain) {
25  if (host_os == "win") {
26    print("The gn arg use_goma=true will be deprecated by EOY 2023. " +
27          "Please use `use_remoteexec=true` instead. See " +
28          "https://chromium.googlesource.com/chromium/src/+/main/docs/" +
29          "windows_build_instructions.md#use-reclient " +
30          "for setup instructions.")
31  } else if (host_os == "mac") {
32    print("The gn arg use_goma=true will be deprecated by EOY 2023. " +
33          "Please use `use_remoteexec=true` instead. " +
34          "If you are a googler see http://go/building-chrome-mac" +
35          "#using-remote-execution for setup instructions.")
36  } else {
37    print("The gn arg use_goma=true will be deprecated by EOY 2023. " +
38          "Please use `use_remoteexec=true` instead. See " +
39          "https://chromium.googlesource.com/chromium/src/+/main/docs/" +
40          "linux/build_instructions.md#use-reclient for setup instructions.")
41  }
42  assert(!use_siso,
43         "Siso does not support Goma. Use use_remoteexec=true instead.")
44}
45