chromium/third_party/win_build_output/README.chromium

Name: Checked in build outputs generated on Windows.
URL: https://source.chromium.org/chromium/chromium/src/+/main:third_party/win_build_output/
Version: -
Revision: -
License: BSD 3-clause
License File: ../../LICENSE
Security Critical: yes
Shipped: yes

This directory contains outputs of some tools that run during the chrome/win
build and that exist only as closed-source Windows binaries and that are used
only in very few places of the build, and whose build inputs change almost
never.  By checking in the outputs of these tools, the chrome/win build can
work on non-Windows hosts.

On Windows, we run the tool and then compare its output with the checked-in
files.  If they differ, we error out.  In that case (e.g. when you change
the input files, or the tool versions), you need to copy the new outputs into
this directory.

For mc.exe:
* mc.exe generates foo.h and foo.rc for input path\to\file.mc in
  out\gn\gen\path\to. Copy over these two files to
  third_party\win_build_output\mc\path\to. Then open foo.rc and copy all the
  .bin files referenced from the .rc file (and delete all checked-in files not
  in this list).

For midl.exe:
* midl.exe generates foo.h, foo.dlldata.c, foo_i.c, foo_p.i, foo_p.c, and
  sometimes foo.tlb. Copy these 5 (or 6, if the .tlb file is present) to
  third_party\win_build_output\midl\path\to\file.  If there are multiple idl
  files producing output in the same output directory, create directories called
  "foo1.idl", "foo2.idl" etc in that directory and put the output for each idl
  file into the directory named after the input file.  Because midl.exe produces
  different outputs for each target cpu, do one each and put the x86 outputs in
  subfolder 'x86', x64 outputs in subfolder 'x64' and arm64 outputs in subfolder
  'arm64'.