• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Defines the configuration of Remote Build Execution (RBE).
2
3# The directory where the re-client tooling binaries are.
4rbe_bin_dir = rebase_path("//buildtools/reclient", root_build_dir)
5
6declare_args() {
7  # Execution root - this should be the root of the source tree.
8  # This is defined here instead of in the config file because
9  # this will vary depending on where the user has placed the
10  # chromium source on their system.
11  rbe_exec_root = rebase_path("//")
12
13  # Set to true to enable remote compilation using reclient.
14  use_remoteexec = false
15
16  # Set to true to enable remote linking using reclient.
17  use_remoteexec_links = false
18
19  # The directory where the re-client configuration files are.
20  rbe_cfg_dir = rebase_path("//buildtools/reclient_cfgs", root_build_dir)
21}
22
23declare_args() {
24  # Set to the path of the RBE reclient configuration files.
25  # Configuration file selection based on operating system.
26  if (is_linux || is_android || is_chromeos || is_fuchsia) {
27    rbe_py_cfg_file = "${rbe_cfg_dir}/python/rewrapper_linux.cfg"
28    rbe_cc_cfg_file =
29        "${rbe_cfg_dir}/chromium-browser-clang/rewrapper_linux.cfg"
30    rbe_link_cfg_file =
31        "${rbe_cfg_dir}/chromium-browser-clang/rewrapper_linux_link.cfg"
32  } else if (is_win) {
33    rbe_py_cfg_file = "${rbe_cfg_dir}/python/rewrapper_windows.cfg"
34    rbe_cc_cfg_file =
35        "${rbe_cfg_dir}/chromium-browser-clang/rewrapper_windows.cfg"
36    rbe_link_cfg_file = ""
37  } else if (is_mac || is_ios) {
38    rbe_py_cfg_file = "${rbe_cfg_dir}/python/rewrapper_mac.cfg"
39    rbe_cc_cfg_file = "${rbe_cfg_dir}/chromium-browser-clang/rewrapper_mac.cfg"
40    rbe_link_cfg_file = ""
41  } else {
42    rbe_linkcfg_file = ""
43    rbe_py_cfg_file = ""
44    rbe_cc_cfg_file = ""
45  }
46
47  # Set to the path of the RBE recleint wrapper for ChromeOS.
48  rbe_cros_cc_wrapper = "${rbe_bin_dir}/rewrapper"
49}
50
51if (is_win) {
52  if (use_remoteexec_links) {
53    print("For now, remote linking is not available for Windows.")
54    use_remoteexec_links = false
55  }
56}
57if (is_mac || is_ios) {
58  if (use_remoteexec_links) {
59    print("For now, remote linking is not available on Macs.")
60    use_remoteexec_links = false
61  }
62}
63