summaryrefslogtreecommitdiff
path: root/chromium/third_party/win_build_output/README.chromium
blob: 6e27eb09f3f38280d73c51579657e349d66b2e7e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Name: Checked in build outputs generated on Windows.
Version: -
Revision: -
License: BSD 3-clause
License File: ../../LICENSE
Security Critical: 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 in 32-bit and 64-bit builds, do one each and put the
  32-bit outputs in subfolder 'x86' and 64-bit outputs in subfolder 'x64'.