summaryrefslogtreecommitdiff
path: root/chromium/build/docs
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-12 14:27:29 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-13 09:35:20 +0000
commitc30a6232df03e1efbd9f3b226777b07e087a1122 (patch)
treee992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/build/docs
parent7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff)
downloadqtwebengine-chromium-c30a6232df03e1efbd9f3b226777b07e087a1122.tar.gz
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/build/docs')
-rw-r--r--chromium/build/docs/mac_hermetic_toolchain.md38
1 files changed, 14 insertions, 24 deletions
diff --git a/chromium/build/docs/mac_hermetic_toolchain.md b/chromium/build/docs/mac_hermetic_toolchain.md
index b1ee13ef670..d5c88deefb3 100644
--- a/chromium/build/docs/mac_hermetic_toolchain.md
+++ b/chromium/build/docs/mac_hermetic_toolchain.md
@@ -1,44 +1,34 @@
# 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.
+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. Download a new version of Xcode, and confirm either mac or ios builds
properly with this new version.
-2. Run the following command:
+2. Create a new CIPD package by moving Xcode.app to the `build/` directory, then
+ follow the instructions in
+ [build/xcode_binaries.yaml](../xcode_binaries.yaml).
- ```
- src/build/package_mac_toolchain.py /path/to/Xcode.app/ [ios|mac]
- ```
+ The CIPD package creates a subset of the toolchain necessary for a build.
- The script will create a subset of the toolchain necessary for a build, and
- upload them to be used by hermetic builds.
-
- If for some reason this toolchain version has already been uploaded, the
- script will ask if we should create sub revision. This can be necessary when
- the package script has been updated to compress additional files.
-
-2. Create a CL with updated [MAC|IOS]_TOOLCHAIN_VERSION and _SUB_REVISION in
- src/build/mac_toolchain.py with the version created by the previous command.
+2. Create a CL with the updated `MAC_BINARIES_TAG` in
+ [mac_toolchain.py](../mac_toolchain.py) with the version created by the
+ previous command.
3. Run the CL through the trybots to confirm the roll works.
## 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.
-
-Chrome should be built against the latest SDK available, but historically,
-updating the SDK has been nontrivially difficult. Additionally, bot system
-installs can range from Xcode 5 on some bots, to the latest and
-greatest. Using a hermetic toolchain has two main benefits:
+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. Build Chrome with a well-defined toolchain [rather than whatever happens to
-be installed on the machine].
+1. Build Chrome with a well-defined toolchain (rather than whatever happens to
+ be installed on the machine).
2. Easily roll/update the toolchain.