doc: Update Windows build instructions to reflect siso build tool usage.

Ninja has been replaced by siso in chrome builds.

Bug: 430089398
Change-Id: Ie1fc6b00542bf19af63f0652013d870a9d1a06c8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6716300
Commit-Queue: Junji Watanabe <[email protected]>
Auto-Submit: Junji Watanabe <[email protected]>
Reviewed-by: Fumitoshi Ukai <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1484124}
diff --git a/docs/windows_build_instructions.md b/docs/windows_build_instructions.md
index 9f85a8b..a360e8e6 100644
--- a/docs/windows_build_instructions.md
+++ b/docs/windows_build_instructions.md
@@ -235,8 +235,8 @@
 
 ## Setting up the build
 
-Chromium uses [Ninja](https://ninja-build.org) as its main build tool along with
-a tool called [GN](https://gn.googlesource.com/gn/+/main/docs/quick_start.md)
+Chromium uses [Siso](https://pkg.go.dev/go.chromium.org/infra/build/siso#section-readme)
+ as its main build tool along with a tool called [GN](https://gn.googlesource.com/gn/+/main/docs/quick_start.md)
 to generate `.ninja` files. You can create any number of *build directories*
 with different configurations. To create a build directory:
 
@@ -244,7 +244,7 @@
 $ gn gen out\Default
 ```
 
-* You only have to run this once for each new build directory, Ninja will
+* You only have to run this once for each new build directory, Siso will
   update the build files as needed.
 * You can replace `Default` with another name, but
   it should be a subdirectory of `out`.
@@ -289,19 +289,17 @@
 source-level debugging but call stacks still have function names. Changing
 `symbol_level` requires recompiling everything.
 
-When invoking ninja, specify 'chrome' as the target to avoid building all test
+When you build, specify `chrome` as the target to avoid building all test
 binaries as well.
 
-#### Use Reclient
+#### Use Remote Execution
 
-In addition, Google employees should use Reclient, a distributed compilation
-system. Detailed information is available internally but the relevant gn arg is:
+In addition, Google employees should use RBE, a remote execution system. Detailed information is available internally but the relevant gn arg is:
 * `use_remoteexec = true`
 
 Google employees can visit
 [go/building-chrome-win#setup-remote-execution](https://goto.google.com/building-chrome-win#setup-remote-execution)
-for more information. For external contributors, Reclient does not support
-Windows builds.
+for more information. For external contributors, remote execution for Windows builds is not supported.
 
 #### Use SCCACHE
 
@@ -324,19 +322,17 @@
 [Performance analyzer for Microsoft Defender Antivirus](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/tune-performance-defender-antivirus?view=o365-worldwide)
 to investigate in detail.
 
-The next step is to gather some data. If you set the ``NINJA_SUMMARIZE_BUILD``
-environment variable to 1 then ``autoninja`` will do three things. First, it
-will set the [NINJA_STATUS](https://ninja-build.org/manual.html#_environment_variables)
-environment variable so that ninja will print additional information while
-building Chrome. It will show how many build processes are running at any given
-time, how many build steps have completed, how many build steps have completed
-per second, and how long the build has been running, as shown here:
+Siso prints progress while building Chrome. It shows how many build processes
+are running at any given time, how many build steps have completed, how many
+ build steps have completed per second, and how long the entire build and
+ the longest build step has been running, as shown here:
 
 ```shell
-$ set NINJA_SUMMARIZE_BUILD=1
 $ autoninja -C out\Default base
 ninja: Entering directory `out\Default'
-[1 processes, 86/86 @ 2.7/s : 31.785s ] LINK(DLL) base.dll base.dll.lib base.dll.pdb
+...
+pre:0 local:0 remote:6461 15.6/s cache: 0.00% fallback:0
+[3829/64499] 4m47.48s 4m00.35s[remote]: LINK(DLL) base.dll base.dll.lib base.dll.pdb
 ```
 
 This makes slow process creation immediately obvious and lets you tell quickly
@@ -379,36 +375,9 @@
 $ python depot_tools\post_build_ninja_summary.py -C out\Default
 ```
 
-Finally, setting ``NINJA_SUMMARIZE_BUILD=1`` tells autoninja to tell Ninja to
-report on its own overhead by passing "-d stats". This can be helpful if, for
-instance, process creation (which shows up in the StartEdge metric) is making
-builds slow, perhaps due to antivirus interference due to clang-cl not being in
-an excluded directory:
-
-```shell
-$ set NINJA_SUMMARIZE_BUILD=1
-$ autoninja -C out\Default base
-metric                  count   avg (us)        total (ms)
-.ninja parse            3555    1539.4          5472.6
-canonicalize str        1383032 0.0             12.7
-canonicalize path       1402349 0.0             11.2
-lookup node             1398245 0.0             8.1
-.ninja_log load         2       118.0           0.2
-.ninja_deps load        2       67.5            0.1
-node stat               2516    29.6            74.4
-depfile load            2       1132.0          2.3
-StartEdge               88      3508.1          308.7
-FinishCommand           87      1670.9          145.4
-CLParser::Parse         45      1889.1          85.0
-```
-
 You can also get a visual report of the build performance with
-[ninjatracing](https://github.com/nico/ninjatracing). This converts the
-.ninja_log file into a .json file which can be loaded into [chrome://tracing](chrome://tracing):
-
-```shell
-$ python ninjatracing out\Default\.ninja_log >build.json
-```
+[perfetto](https://ui.perfetto.dev/) by uploading `.ninja_log` or
+ `siso_trace.json`.
 
 ## Build Chromium
 
@@ -548,7 +517,7 @@
 output directory is `out\Default`:
 
 ```shell
-$ gn gen --ide=vs --ninja-executable=C:\src\chromium\src\third_party\ninja\ninja.exe out\Default
+$ gn gen --ide=vs --ninja-executable=autoninja out\Default
 $ devenv out\Default\all.sln
 ```
 
@@ -567,7 +536,7 @@
 is:
 
 ```
-$ gn gen --ide=vs --ninja-executable=C:\src\chromium\src\third_party\ninja\ninja.exe --filters=//chrome --no-deps out\Default
+$ gn gen --ide=vs --ninja-executable=autoninja --filters=//chrome --no-deps out\Default
 ```
 
 You can selectively add other directories you care about to the filter like so: