tree: 4e21091c52ffc65be4df7839cc2e86575237e968 [path history] [tgz]
  1. linux64/
  2. mac/
  3. win/
  4. .gitignore


This contains a cross-platform reimplementation of rc.exe.

This exists mainly to compile .rc files on non-Windows hosts for cross builds. However, it also runs on Windows for two reasons:

  1. To compare the output of Microsoft's rc.exe and the reimplementation and to check that they produce bitwise identical output.
  2. The reimplementation supports printing resource files in /showIncludes output, which helps getting build dependencies right.

The resource compiler consists of two parts:

  1. A python script that serves as the driver. It does unicode conversions, runs the input through the preprocessor, and then calls the actual resource compiler.
  2. The resource compiler, a C++ binary obtained via sha1 files from Google Storage. The binary's code currenty lives at, even though work is (slowly) underway to upstream it into LLVM.

To update the rc binary, run in this directory, on a Mac.

rc isn‘t built from source as part of the regular chrome build because it’s needed in a gn toolchain tool, and these currently cannot have deps. Alternatively, gn could be taught about deps on tools, or rc invocations could be not a tool but a template like e.g. yasm invocations (which can have deps), then the prebuilt binaries wouldn't be needed.