Bug 1913646 - Add win64-aarch64-clang-18 task r=firefox-build-system-reviewers,sergesanspaille

For now this uses Linux x64 profile for PGO as the macosx64-aarch64 task does, because we don't have aarch64 Windows worker now.

Differential Revision: https://phabricator.services.mozilla.com/D219012
This commit is contained in:
Kagami Sascha Rosylight 2024-08-26 09:56:11 +00:00
Родитель d0b2acb43f
Коммит 6bc82eb120
6 изменённых файлов: 98 добавлений и 0 удалений

Просмотреть файл

@ -25,6 +25,7 @@ import zstandard
SUPPORTED_TARGETS = {
"x86_64-unknown-linux-gnu": ("Linux", "x86_64"),
"x86_64-pc-windows-msvc": ("Windows", "AMD64"),
"aarch64-pc-windows-msvc": ("Windows", "ARM64"),
"x86_64-apple-darwin": ("Darwin", "x86_64"),
"aarch64-apple-darwin": ("Darwin", "arm64"),
}
@ -624,6 +625,9 @@ def main():
exe_ext = ".exe"
cc_name = "clang-cl"
cxx_name = "clang-cl"
# Used by llvm/lib/DebugInfo/PDB
os.environ["VSCMD_ARG_TGT_ARCH"] = SUPPORTED_TARGETS[target][1].lower()
else:
exe_ext = ""
cc_name = "clang"

Просмотреть файл

@ -0,0 +1,7 @@
{
"skip_stages": "3",
"cc": "{MOZ_FETCHES_DIR}/clang/bin/clang-cl",
"cxx": "{MOZ_FETCHES_DIR}/clang/bin/clang-cl",
"ml": "{MOZ_FETCHES_DIR}/clang/bin/clang-cl",
"lib": "{MOZ_FETCHES_DIR}/clang/bin/llvm-lib"
}

Просмотреть файл

@ -0,0 +1,3 @@
{
"target": "aarch64-pc-windows-msvc"
}

Просмотреть файл

@ -513,6 +513,71 @@ win64-clang-18:
- win64-compiler-rt-18
- win64-aarch64-compiler-rt-18
win64-aarch64-clang-18-raw:
description: "Clang-cl 18 toolchain build"
treeherder:
symbol: TW64(clang-18-aarch64-raw)
worker:
max-run-time: 3600
run:
script: build-clang.sh
arguments:
- 'build/build-clang/win64.json'
- 'build/build-clang/win64-aarch64.json'
- 'build/build-clang/clang-18.json'
- 'build/build-clang/skip-3-stages-win64.json'
- 'build/build-clang/4stages-pgo.json'
resources:
- 'build/build-clang/win64.json'
- 'build/build-clang/win64-aarch64.json'
- 'build/build-clang/clang-18.json'
- 'build/build-clang/skip-3-stages-win64.json'
- 'build/build-clang/4stages-pgo.json'
toolchain-artifact: public/build/clang.tar.zst
fetches:
fetch:
- clang-18
toolchain:
- linux64-clang-18-stage1
- linux64-clang-18-profile
- win64-aarch64-compiler-rt-18
- vs-toolchain
- win64-aarch64-libxml2
win64-aarch64-clang-18:
description: "Clang-cl 18 toolchain build"
attributes:
local-toolchain: true
treeherder:
symbol: TW64(clang-18-aarch64)
worker-type: b-linux-gcp
worker:
max-run-time: 600
run:
script: repack-clang.sh
toolchain-artifact: public/build/clang.tar.zst
fetches:
toolchain:
- linux64-cctools-port
- win64-aarch64-clang-18-raw
- android-aarch64-compiler-rt-18
- android-aarch64-libunwind-18
- android-arm-compiler-rt-18
- android-arm-libunwind-18
- android-x64-compiler-rt-18
- android-x64-libunwind-18
- android-x86-compiler-rt-18
- android-x86-libunwind-18
- linux64-aarch64-compiler-rt-18
- linux64-x64-compiler-rt-18
- linux64-x86-compiler-rt-18
- macosx64-aarch64-compiler-rt-18
- macosx64-x64-compiler-rt-18
- wasm32-wasi-compiler-rt-18
- win32-compiler-rt-18
- win64-compiler-rt-18
- win64-aarch64-compiler-rt-18
linux64-clang-trunk-mingw-x86:
description: "MinGW-Clang trunk x86 toolchain build"
attributes:

Просмотреть файл

@ -574,6 +574,22 @@ win64-libxml2:
symbol: TW64(libxml2)
run:
script: build-libxml2.sh
arguments: ['x86_64-pc-windows-msvc']
toolchain-artifact: public/build/libxml2.tar.zst
fetches:
fetch:
- libxml2
toolchain:
- linux64-clang-toolchain
- vs-toolchain
win64-aarch64-libxml2:
description: "libxml2 toolchain build"
treeherder:
symbol: TW64(libxml2-aarch64)
run:
script: build-libxml2.sh
arguments: ['aarch64-pc-windows-msvc']
toolchain-artifact: public/build/libxml2.tar.zst
fetches:
fetch:

Просмотреть файл

@ -7,6 +7,8 @@ cd $MOZ_FETCHES_DIR/libxml2
export PATH="$MOZ_FETCHES_DIR/clang/bin:$PATH"
TARGET=${1?"First argument must be a valid value for CMAKE_C_COMPILER_TARGET"}
# Building the .rc file requires some extra work, but we don't
# actually need it, so just remove its creation.
sed -i /libxml2\\.rc/d CMakeLists.txt
@ -16,6 +18,7 @@ cmake \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=Off \
-DCMAKE_C_COMPILER=clang-cl \
-DCMAKE_C_COMPILER_TARGET=$TARGET \
-DCMAKE_LINKER=lld-link \
-DCMAKE_MT=llvm-mt \
-DCMAKE_C_FLAGS="-fuse-ld=lld -Xclang -ivfsoverlay -Xclang $MOZ_FETCHES_DIR/vs/overlay.yaml -winsysroot $MOZ_FETCHES_DIR/vs" \