| # 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) |
| |
| declare_args() { |
| # 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("//") |
| |
| # Set to true to enable remote compilation using reclient. |
| use_remoteexec = false |
| |
| # Set to true to enable remote linking using reclient. |
| use_remoteexec_links = false |
| |
| # The directory where the re-client configuration files are. |
| rbe_cfg_dir = "//buildtools/reclient_cfgs" |
| } |
| |
| declare_args() { |
| # Set to the path of the RBE reclient configuration files. |
| # Configuration file selection based on operating system. |
| if (host_os == "linux") { |
| rbe_py_cfg_file = |
| rebase_path(rbe_cfg_dir, root_build_dir) + "/python/rewrapper_linux.cfg" |
| rbe_cc_cfg_file = rebase_path(rbe_cfg_dir, root_build_dir) + |
| "/chromium-browser-clang/rewrapper_linux.cfg" |
| rbe_link_cfg_file = rebase_path(rbe_cfg_dir, root_build_dir) + |
| "/chromium-browser-clang/rewrapper_linux_link.cfg" |
| } else if (host_os == "win") { |
| rbe_py_cfg_file = rebase_path(rbe_cfg_dir, root_build_dir) + |
| "/python/rewrapper_windows.cfg" |
| rbe_cc_cfg_file = rebase_path(rbe_cfg_dir, root_build_dir) + |
| "/chromium-browser-clang/rewrapper_windows.cfg" |
| rbe_link_cfg_file = "" |
| } else if (host_os == "mac") { |
| rbe_py_cfg_file = |
| rebase_path(rbe_cfg_dir, root_build_dir) + "/python/rewrapper_mac.cfg" |
| rbe_cc_cfg_file = rebase_path(rbe_cfg_dir, root_build_dir) + |
| "/chromium-browser-clang/rewrapper_mac.cfg" |
| rbe_link_cfg_file = "" |
| } else { |
| rbe_linkcfg_file = "" |
| rbe_py_cfg_file = "" |
| rbe_cc_cfg_file = "" |
| } |
| |
| # Set to the path of the RBE recleint wrapper for ChromeOS. |
| rbe_cros_cc_wrapper = "${rbe_bin_dir}/rewrapper" |
| } |
| |
| if (use_remoteexec && current_toolchain == default_toolchain) { |
| # Check existence of reclient configs and show user friendly error message if |
| # it doesn't. |
| exec_script(rebase_path("//build/toolchain/check_rewrapper_cfg.py"), |
| [ rbe_cc_cfg_file ], |
| "", |
| [ rebase_path(rbe_cc_cfg_file, ".", root_build_dir) ]) |
| } |
| |
| if (is_win) { |
| if (use_remoteexec_links) { |
| print("For now, remote linking is not available for Windows.") |
| use_remoteexec_links = false |
| } |
| } |
| if (is_mac || is_ios) { |
| if (use_remoteexec_links) { |
| print("For now, remote linking is not available on Macs.") |
| use_remoteexec_links = false |
| } |
| } |