introduce download_reclient gclient custom var

Add download_reclient gclient custom var to control
whether download reclient binary or not.

no behavior change. it's still true by default.

Bug: 448517720
Change-Id: Ifc822f56cdd540c2ade178d9cd498b38e6e81d68
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7076620
Auto-Submit: Fumitoshi Ukai <ukai@google.com>
Commit-Queue: Fumitoshi Ukai <ukai@google.com>
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: Junji Watanabe <jwata@google.com>
Cr-Commit-Position: refs/heads/main@{#1534717}
NOKEYCHECK=True
GitOrigin-RevId: 4f40a15ff36b0156ea2c4931f86ef0c16074f85f
diff --git a/rbe.gni b/rbe.gni
index a2366ef..46cd247 100644
--- a/rbe.gni
+++ b/rbe.gni
@@ -126,7 +126,6 @@
   }
 
   if (use_reclient) {
-    # TODO: crbug.com/342270134 - Rename reclient_cros_cc_wrapper to reclient_cros_cc_wrapper.
     # Note that reclient_cros_cc_wrapper is referenced by CrOS's chromite.
     # Set to the path of the RBE recleint wrapper for ChromeOS.
     if (rbe_cros_cc_wrapper != "") {
@@ -143,6 +142,16 @@
   }
 }
 
+if (use_reclient) {
+  rewrapper_path = "${reclient_bin_dir}/rewrapper"
+  if (is_win) {
+    rewrapper_path = "${reclient_bin_dir}/rewrapper.exe"
+  }
+  assert(path_exists(rewrapper_path),
+         "use_reclient=true requires reclient binary. " +
+             "need '\"download_reclient\": True' in .gclient custom_vars.")
+}
+
 if (use_reclient_cfgs && current_toolchain == default_toolchain) {
   # Check existence of reclient configs and show user friendly error message if
   # it doesn't.