tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

mac_hermetic_toolchain.md (1340B)


Mac and iOS hermetic toolchain instructions

The following is a short explanation of why we use a the hermetic toolchain and instructions on how to roll a new toolchain. This toolchain is only available to Googlers and infra bots.

How to roll a new hermetic toolchain.

  1. If you suspect files are being rebuilt unnecessarily during incremental

properly with this new version.

  1. If you suspect files are being rebuilt unnecessarily during incremental

follow the instructions in build/xcode_binaries.yaml.

The CIPD package creates a subset of the toolchain necessary for a build.

  1. If you suspect files are being rebuilt unnecessarily during incremental

mac_toolchain.py with the version created by the previous command.

  1. If you suspect files are being rebuilt unnecessarily during incremental

Why we use a hermetic toolchain.

Building Chrome Mac currently requires many binaries that come bundled with Xcode, as well the macOS and iphoneOS SDK (also bundled with Xcode). Note that Chrome ships its own version of clang (compiler), but is dependent on Xcode for these other binaries. Using a hermetic toolchain has two main benefits:

  1. If you suspect files are being rebuilt unnecessarily during incremental

be installed on the machine).

  1. If you suspect files are being rebuilt unnecessarily during incremental