File: xcode_binaries.yaml

package info (click to toggle)
chromium 145.0.7632.159-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,976,224 kB
  • sloc: cpp: 36,198,469; ansic: 7,634,080; javascript: 3,564,060; python: 1,649,622; xml: 838,470; asm: 717,087; pascal: 185,708; sh: 88,786; perl: 88,718; objc: 79,984; sql: 59,811; cs: 42,452; fortran: 24,101; makefile: 21,144; tcl: 15,277; php: 14,022; yacc: 9,066; ruby: 7,553; awk: 3,720; lisp: 3,233; lex: 1,328; ada: 727; jsp: 228; sed: 36
file content (101 lines) | stat: -rw-r--r-- 5,843 bytes parent folder | download | duplicates (6)
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# This yaml file is used to package binaries from Xcode.app.
#
# To use this:
#
#   1. Make sure Xcode is fully updated (via the app store or otherwise).
#
#   2. Copy Xcode.app to the same directory as this file, naming it
#      xcode_binaries. `cp -c` uses `clonefile` which is speedier and uses less
#      disk space than making true copies, but requires source and destination
#      to be on the same APFS filesystem. Remove the `-c` if clonefile failures
#      are reported.
#
#      % rm -rf build/xcode_binaries
#      % cp -ac /Applications/Xcode.app/ build/xcode_binaries
#
#      Xcode 26 has unbundled the Metal compiler, so download it and integrate
#      it into the toolchain. This installs the Metal toolchain corresponding
#      to Xcode’s version, finds the filesystem mount point where it appears,
#      and splices it into build/xcode_binaries:
#
#      % DEVELOPER_DIR=/Applications/Xcode.app \
#        xcodebuild -downloadComponent MetalToolchain
#      % METAL_DIR=$(xcrun --find metal |
#                    sed -E -e 's%(/Metal\.xctoolchain)/.*%\1%')
#      % rsync --archive --delete ${METAL_DIR}/usr/metal/ \
#        build/xcode_binaries/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/metal
#      % rsync --archive ${METAL_DIR}/usr/bin/{air-lld,metal,metallib} \
#        build/xcode_binaries/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
#
#   3. Create the package and upload it to CIPD:
#
#      % cipd create --pkg-def build/xcode_binaries.yaml \
#            -ref ${xcode_version} -ref ${xcode_build_version} \
#            -ref sdk_${sdk_version} -ref sdk_${sdk_build_version}
#
#      ${xcode_version} and ${xcode_build_version} can be found in "About
#      Xcode", or by running `xcodebuild -version`. ${sdk_version} can be found
#      by running `xcrun --show-sdk-version`. ${sdk_build_version} can be found
#      by running `xcrun --show-sdk-build-version`.
#
#   4. Optional: clean up.
#
#      % rm -rf build/xcode_binaries
#
# To deploy the newly created cipd package across the fleet, modify
# build/mac_toolchain.py to point to the new cipd hash, and update the
# mac_sdk_official_* variables in build/config/mac/mac_sdk.gni.
#
# Note that the Chromium build looks for the mac binaries in
# build/mac_files/xcode_binaries; it won't see the build/xcode_binaries that you
# just created. In order to use the new toolchain version, you still need to
# `gclient runhooks` after updating the hash in mac_toolchain.py.
#
# The ACLs for this package are determined by the directory structure. The
# nomenclature mirrors that of the hermetic toolchain to avoid ACL duplication.

package: infra_internal/ios/xcode/xcode_binaries/mac-amd64
description: A hermetic deployment of all Xcode binaries used to build Chromium.
root: "xcode_binaries"
data:
  - dir: Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
  - dir: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/bison/
  - dir: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/metal/
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/air-lld
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/bison
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/gm4
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/gperf
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/llvm-nm
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/llvm-objdump
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/llvm-otool
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/llvm-size
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/metal
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/metallib
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/mig
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool-classic
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/size
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/size-classic
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libLTO.dylib
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libcodedirectory.dylib
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libswiftDemangle.dylib
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libtapi.dylib
  - file: Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/libexec/migcom
  - file: Contents/Developer/usr/bin/atos
  - file: Contents/Developer/usr/bin/notarytool
  - file: Contents/Resources/LicenseInfo.plist
  - file: Contents/Resources/en.lproj/License.rtf
  - dir: Contents/SharedFrameworks/CoreSymbolicationDT.framework/
  - dir: Contents/SharedFrameworks/DebugSymbolsDT.framework/
  - dir: Contents/SharedFrameworks/MallocStackLoggingDT.framework/
  - dir: Contents/SharedFrameworks/SymbolicationDT.framework/
  - file: Contents/version.plist
# llvm-size and size are run on swarming, those are symlinked to out of
# isolated tree and produce invalid symlinks if we don't use copy mode here.
install_mode: copy