# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
---
task-defaults:
    worker-type: b-linux-large-gcp
    worker:
        max-run-time: 1800
    run:
        script: build-llvm-symbolizer.sh
        toolchain-artifact: public/build/llvm-symbolizer.tar.zst

linux32-llvm-symbolizer-19:
    description: "llvm-symbolizer for Linux"
    treeherder:
        symbol: TL32(llvm-symbolizer-19)
    run:
        arguments:
            - i686-unknown-linux-gnu
            - build/build-clang/clang-19.json
            - build/build-clang/llvm-symbolizer-19.json
        resources:
            - build/build-clang/clang-19.json
            - build/build-clang/llvm-symbolizer-19.json
            - taskcluster/scripts/misc/build-llvm-common.sh
        toolchain-alias:
            by-project:
                toolchains: null
                default: linux32-llvm-symbolizer
    fetches:
        fetch:
            - clang-19
        toolchain:
            - linux64-clang-19-stage1
            - linux32-toolchain-sysroot

linux64-llvm-symbolizer-19:
    description: "llvm-symbolizer for Linux"
    treeherder:
        symbol: TL(llvm-symbolizer-19)
    run:
        arguments:
            - x86_64-unknown-linux-gnu
            - build/build-clang/clang-19.json
            - build/build-clang/llvm-symbolizer-19.json
        resources:
            - build/build-clang/clang-19.json
            - build/build-clang/llvm-symbolizer-19.json
            - taskcluster/scripts/misc/build-llvm-common.sh
        toolchain-alias:
            by-project:
                toolchains: null
                default: linux64-llvm-symbolizer
    fetches:
        fetch:
            - clang-19
        toolchain:
            - linux64-clang-19-stage1
            - linux64-toolchain-sysroot

macosx64-llvm-symbolizer-19:
    description: "llvm-symbolizer for macOS x64"
    treeherder:
        symbol: TM(llvm-symbolizer-19)
    run:
        arguments:
            - x86_64-apple-darwin
            - build/build-clang/clang-19.json
            - build/build-clang/llvm-symbolizer-19.json
        resources:
            - build/build-clang/clang-19.json
            - build/build-clang/llvm-symbolizer-19.json
            - taskcluster/scripts/misc/build-llvm-common.sh
        toolchain-alias:
            by-project:
                toolchains: null
                default: macosx64-llvm-symbolizer
    fetches:
        fetch:
            - clang-19
        toolchain:
            - linux64-clang-19-stage1
            - macosx64-sdk-toolchain

macosx64-aarch64-llvm-symbolizer-19:
    description: "llvm-symbolizer for macOS aarch64"
    treeherder:
        symbol: TMA64(llvm-symbolizer-19)
    run:
        arguments:
            - aarch64-apple-darwin
            - build/build-clang/clang-19.json
            - build/build-clang/llvm-symbolizer-19.json
        resources:
            - build/build-clang/clang-19.json
            - build/build-clang/llvm-symbolizer-19.json
            - taskcluster/scripts/misc/build-llvm-common.sh
        toolchain-alias:
            by-project:
                toolchains: null
                default: macosx64-aarch64-llvm-symbolizer
    fetches:
        fetch:
            - clang-19
        toolchain:
            - linux64-clang-19-stage1
            - macosx64-sdk-toolchain

win64-llvm-symbolizer-19:
    description: "llvm-symbolizer for Windows"
    treeherder:
        symbol: TW64(llvm-symbolizer-19)
    run:
        arguments:
            - x86_64-pc-windows-msvc
            - build/build-clang/clang-19.json
            - build/build-clang/llvm-symbolizer-19.json
        resources:
            - build/build-clang/clang-19.json
            - build/build-clang/llvm-symbolizer-19.json
            - taskcluster/scripts/misc/build-llvm-common.sh
        toolchain-alias:
            by-project:
                toolchains: null
                default: win64-llvm-symbolizer
    fetches:
        fetch:
            - clang-19
        toolchain:
            - linux64-clang-19-stage1
            - vs-toolchain

linux32-llvm-symbolizer-20:
    description: "llvm-symbolizer for Linux"
    treeherder:
        symbol: TL32(llvm-symbolizer-20)
    run:
        arguments:
            - i686-unknown-linux-gnu
            - build/build-clang/clang-20.json
            - build/build-clang/llvm-symbolizer-19.json
        resources:
            - build/build-clang/clang-20.json
            - build/build-clang/llvm-symbolizer-19.json
            - taskcluster/scripts/misc/build-llvm-common.sh
    fetches:
        fetch:
            - clang-20
        toolchain:
            - linux64-clang-20-stage1
            - linux32-toolchain-sysroot

linux64-llvm-symbolizer-20:
    description: "llvm-symbolizer for Linux"
    treeherder:
        symbol: TL(llvm-symbolizer-20)
    run:
        arguments:
            - x86_64-unknown-linux-gnu
            - build/build-clang/clang-20.json
            - build/build-clang/llvm-symbolizer-19.json
        resources:
            - build/build-clang/clang-20.json
            - build/build-clang/llvm-symbolizer-19.json
            - taskcluster/scripts/misc/build-llvm-common.sh
    fetches:
        fetch:
            - clang-20
        toolchain:
            - linux64-clang-20-stage1
            - linux64-toolchain-sysroot

macosx64-llvm-symbolizer-20:
    description: "llvm-symbolizer for macOS x64"
    treeherder:
        symbol: TM(llvm-symbolizer-20)
    run:
        arguments:
            - x86_64-apple-darwin
            - build/build-clang/clang-20.json
            - build/build-clang/llvm-symbolizer-19.json
        resources:
            - build/build-clang/clang-20.json
            - build/build-clang/llvm-symbolizer-19.json
            - taskcluster/scripts/misc/build-llvm-common.sh
    fetches:
        fetch:
            - clang-20
        toolchain:
            - linux64-clang-20-stage1
            - macosx64-sdk-toolchain

macosx64-aarch64-llvm-symbolizer-20:
    description: "llvm-symbolizer for macOS aarch64"
    treeherder:
        symbol: TMA64(llvm-symbolizer-20)
    run:
        arguments:
            - aarch64-apple-darwin
            - build/build-clang/clang-20.json
            - build/build-clang/llvm-symbolizer-19.json
        resources:
            - build/build-clang/clang-20.json
            - build/build-clang/llvm-symbolizer-19.json
            - taskcluster/scripts/misc/build-llvm-common.sh
    fetches:
        fetch:
            - clang-20
        toolchain:
            - linux64-clang-20-stage1
            - macosx64-sdk-toolchain

win64-llvm-symbolizer-20:
    description: "llvm-symbolizer for Windows"
    treeherder:
        symbol: TW64(llvm-symbolizer-20)
    run:
        arguments:
            - x86_64-pc-windows-msvc
            - build/build-clang/clang-20.json
            - build/build-clang/llvm-symbolizer-19.json
        resources:
            - build/build-clang/clang-20.json
            - build/build-clang/llvm-symbolizer-19.json
            - taskcluster/scripts/misc/build-llvm-common.sh
    fetches:
        fetch:
            - clang-20
        toolchain:
            - linux64-clang-20-stage1
            - vs-toolchain

linux32-llvm-symbolizer-trunk:
    description: "llvm-symbolizer for Linux"
    attributes:
        cached_task: false
    treeherder:
        symbol: TL32(llvm-symbolizer-trunk)
    run:
        arguments:
            - i686-unknown-linux-gnu
            - build/build-clang/clang-trunk.json
            - build/build-clang/llvm-symbolizer-trunk.json
        resources:
            - build/build-clang/clang-trunk.json
            - build/build-clang/llvm-symbolizer-trunk.json
            - taskcluster/scripts/misc/build-llvm-common.sh
        toolchain-alias:
            by-project:
                toolchains: linux32-llvm-symbolizer
                default: null
    fetches:
        fetch:
            - clang-trunk
        toolchain:
            - linux64-clang-trunk-stage1
            - linux32-toolchain-sysroot

linux64-llvm-symbolizer-trunk:
    description: "llvm-symbolizer for Linux"
    attributes:
        cached_task: false
    treeherder:
        symbol: TL(llvm-symbolizer-trunk)
    run:
        arguments:
            - x86_64-unknown-linux-gnu
            - build/build-clang/clang-trunk.json
            - build/build-clang/llvm-symbolizer-trunk.json
        resources:
            - build/build-clang/clang-trunk.json
            - build/build-clang/llvm-symbolizer-trunk.json
            - taskcluster/scripts/misc/build-llvm-common.sh
        toolchain-alias:
            by-project:
                toolchains: linux64-llvm-symbolizer
                default: null
    fetches:
        fetch:
            - clang-trunk
        toolchain:
            - linux64-clang-trunk-stage1
            - linux64-toolchain-sysroot

macosx64-llvm-symbolizer-trunk:
    description: "llvm-symbolizer for macOS x64"
    attributes:
        cached_task: false
    treeherder:
        symbol: TM(llvm-symbolizer-trunk)
    run:
        arguments:
            - x86_64-apple-darwin
            - build/build-clang/clang-trunk.json
            - build/build-clang/llvm-symbolizer-trunk.json
        resources:
            - build/build-clang/clang-trunk.json
            - build/build-clang/llvm-symbolizer-trunk.json
            - taskcluster/scripts/misc/build-llvm-common.sh
        toolchain-alias:
            by-project:
                toolchains: macosx64-llvm-symbolizer
                default: null
    fetches:
        fetch:
            - clang-trunk
        toolchain:
            - linux64-clang-trunk-stage1
            - macosx64-sdk-toolchain

macosx64-aarch64-llvm-symbolizer-trunk:
    description: "llvm-symbolizer for macOS aarch64"
    attributes:
        cached_task: false
    treeherder:
        symbol: TMA64(llvm-symbolizer-trunk)
    run:
        arguments:
            - aarch64-apple-darwin
            - build/build-clang/clang-trunk.json
            - build/build-clang/llvm-symbolizer-trunk.json
        resources:
            - build/build-clang/clang-trunk.json
            - build/build-clang/llvm-symbolizer-trunk.json
            - taskcluster/scripts/misc/build-llvm-common.sh
        toolchain-alias:
            by-project:
                toolchains: macosx64-aarch64-llvm-symbolizer
                default: null
    fetches:
        fetch:
            - clang-trunk
        toolchain:
            - linux64-clang-trunk-stage1
            - macosx64-sdk-toolchain

win64-llvm-symbolizer-trunk:
    description: "llvm-symbolizer for Windows"
    attributes:
        cached_task: false
    treeherder:
        symbol: TW64(llvm-symbolizer-trunk)
    run:
        arguments:
            - x86_64-pc-windows-msvc
            - build/build-clang/clang-trunk.json
            - build/build-clang/llvm-symbolizer-trunk.json
        resources:
            - build/build-clang/clang-trunk.json
            - build/build-clang/llvm-symbolizer-trunk.json
            - taskcluster/scripts/misc/build-llvm-common.sh
        toolchain-alias:
            by-project:
                toolchains: win64-llvm-symbolizer
                default: null
    fetches:
        fetch:
            - clang-trunk
        toolchain:
            - linux64-clang-trunk-stage1
            - vs-toolchain
