[gn build] assert that goma_dir and sysroot are set for goma builds

GitOrigin-RevId: afdfdc4bcf1e3d9d8596b701da69f2309e7bf697
diff --git a/utils/gn/build/BUILD.gn b/utils/gn/build/BUILD.gn
index 907520b..df30890 100644
--- a/utils/gn/build/BUILD.gn
+++ b/utils/gn/build/BUILD.gn
@@ -293,6 +293,9 @@
   if (sysroot != "" && current_os != "win" && is_clang) {
     cflags += [ "-Wpoison-system-directories" ]
   }
+  assert(
+      !use_goma || sysroot != "",
+      "goma needs a sysroot: run `llvm/utils/sysroot.py make-fake --out-dir=sysroot` and add `sysroot = \"//sysroot\"` to your args.gn")
 
   if (use_ubsan) {
     assert(is_clang && current_os == "linux",
diff --git a/utils/gn/build/toolchain/BUILD.gn b/utils/gn/build/toolchain/BUILD.gn
index bf37776..0042df8 100644
--- a/utils/gn/build/toolchain/BUILD.gn
+++ b/utils/gn/build/toolchain/BUILD.gn
@@ -10,6 +10,9 @@
   }
 }
 
+assert(!use_goma || goma_dir != "",
+       "set goma_dir to the output of `goma_ctl goma_dir` in your args.gn")
+
 template("unix_toolchain") {
   toolchain(target_name) {
     # https://groups.google.com/a/chromium.org/d/msg/gn-dev/F_lv5T-tNDM