# Defines the configuration of Remote Build Execution (RBE).

# The directory where the re-client tooling binaries are.
rbe_bin_dir = rebase_path("//buildtools/reclient", root_build_dir)

# The directory where the re-client configuration files are.
rbe_cfg_dir = rebase_path("//buildtools/reclient_cfgs", root_build_dir)

# RBE Execution root - this should be the root of the source tree.
# This is defined here instead of in the config file because
# this will vary depending on where the user has placed the
# chromium source on their system.
rbe_exec_root = rebase_path("//")

declare_args() {
  # Set to true to enable remote compilation using RBE.
  use_rbe = false

  # Set to the path of the RBE reclient configuration file.
  rbe_cc_cfg_file = ""
}

# Configuration file selection based on operating system.
if (is_linux || is_android) {
  rbe_cc_cfg_file = "${rbe_cfg_dir}/rewrapper_linux.cfg"
}
if (is_win) {
  rbe_cc_cfg_file = "${rbe_cfg_dir}/rewrapper_windows.cfg"
}
if (is_mac || is_ios) {
  rbe_cc_cfg_file = "${rbe_cfg_dir}/rewrapper_mac.cfg"
}
