0

Update docs to deprecate goma and show warning in gn gen

Test: Tested that `gn gen` prints a warning if `use_goma=true` in args.gn

Bug: b/210975050
Change-Id: Iacfb4edbaf9b06fd693bd681225a7e86ad3e93c1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4850412
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Commit-Queue: Ben Segall <bentekkie@google.com>
Cr-Commit-Position: refs/heads/main@{#1201582}
This commit is contained in:
Ben Segall
2023-09-26 15:02:56 +00:00
committed by Chromium LUCI CQ
parent 2c18e50675
commit 4a89ec597e
2 changed files with 35 additions and 1 deletions

@ -18,3 +18,22 @@ if (use_goma && goma_dir == "") {
assert(!is_win || !use_goma || is_clang,
"cl.exe does not work on goma, use clang")
if (use_goma) {
if (host_os == "win") {
print("WARNING: use_goma=true will be deprecated by EOY 2023. " +
"Please use `use_remoteexec=true` instead. See " +
"https://chromium.googlesource.com/chromium/src/+/main/docs/" +
"windows_build_instructions.md#use-reclient for more info.")
} else if (host_os == "mac") {
print("WARNING: use_goma=true will be deprecated by EOY 2023. " +
"Please use `use_remoteexec=true` instead. " +
"If you are a googler see " +
"go/building-chrome-mac#using-reclient-for-build for more info.")
} else {
print("WARNING: use_goma=true will be deprecated by EOY 2023. " +
"Please use `use_remoteexec=true` instead. See " +
"https://chromium.googlesource.com/chromium/src/+/main/docs/" +
"linux/build_instructions.md#use-reclient for more info.")
}
}

@ -232,6 +232,21 @@ local variable or type information. With `symbol_level = 0` there is no
source-level debugging but call stacks still have function names. Changing
`symbol_level` requires recompiling everything.
#### Use Reclient
In addition, Google employees should use reclient, a distributed compilation system.
Detailed information is available internally but the relevant gn arg is:
* `use_remoteexec = true`
Google employees can visit go/building-chrome-win#setup-reclient for more information.
When invoking ninja, specify 'chrome' as the target to avoid building all test
binaries as well.
Still, builds will take many hours on many machines.
#### Use Goma (deprecated)
In addition, Google employees should use goma, a distributed compilation system.
Detailed information is available internally but the relevant gn arg is:
* `use_goma = true`
@ -244,7 +259,7 @@ will automatically pass an appropriate -j value to ninja for goma or not.
$ autoninja -C out\Default chrome
```
When invoking ninja specify 'chrome' as the target to avoid building all test
When invoking ninja, specify 'chrome' as the target to avoid building all test
binaries as well.
Still, builds will take many hours on many machines.