xref: /aosp_15_r20/external/mesa3d/WORKSPACE.bazel (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker
2*61046927SAndroid Build Coastguard Worker# Copyright 2023 The Fuchsia Authors. All rights reserved.
3*61046927SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
4*61046927SAndroid Build Coastguard Worker# found in the LICENSE file.
5*61046927SAndroid Build Coastguard Worker# buildifier: disable=load-on-top
6*61046927SAndroid Build Coastguard Workerload("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
7*61046927SAndroid Build Coastguard Worker# Set up bazel skylib and its dependencies
8*61046927SAndroid Build Coastguard Workerhttp_archive(
9*61046927SAndroid Build Coastguard Worker    name = "bazel_skylib",
10*61046927SAndroid Build Coastguard Worker    sha256 = "f7be3474d42aae265405a592bb7da8e171919d74c16f082a5457840f06054728",
11*61046927SAndroid Build Coastguard Worker    urls = [
12*61046927SAndroid Build Coastguard Worker        "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz",
13*61046927SAndroid Build Coastguard Worker        "https://github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz",
14*61046927SAndroid Build Coastguard Worker    ],
15*61046927SAndroid Build Coastguard Worker)
16*61046927SAndroid Build Coastguard Workerload("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
17*61046927SAndroid Build Coastguard Workerbazel_skylib_workspace()
18*61046927SAndroid Build Coastguard Worker# The fuchsia_infra repository provides rules which allow us to work inside of
19*61046927SAndroid Build Coastguard Worker# fuchsia's infrastructure.
20*61046927SAndroid Build Coastguard Workerlocal_repository(
21*61046927SAndroid Build Coastguard Worker    name = "fuchsia_infra",
22*61046927SAndroid Build Coastguard Worker    path = "fuchsia-build/third_party/fuchsia-infra-bazel-rules",
23*61046927SAndroid Build Coastguard Worker)
24*61046927SAndroid Build Coastguard Workerload("@fuchsia_infra//:workspace.bzl", "fuchsia_infra_workspace")
25*61046927SAndroid Build Coastguard Workerload("@fuchsia_infra//cipd:defs.bzl", "cipd_repository", "cipd_tool_repository")
26*61046927SAndroid Build Coastguard Workerfuchsia_infra_workspace()
27*61046927SAndroid Build Coastguard Worker# Create a common cipd binary which will be used to download prebuilts
28*61046927SAndroid Build Coastguard Workercipd_tool_repository(
29*61046927SAndroid Build Coastguard Worker    name = "cipd_tool",
30*61046927SAndroid Build Coastguard Worker)
31*61046927SAndroid Build Coastguard Worker# Fetch the Fuchsia SDK and register it as a repostiory. The version that is
32*61046927SAndroid Build Coastguard Worker# used is stored in the manifests/bazel_sdk.ensure file so it can be updated by
33*61046927SAndroid Build Coastguard Worker# our autoroller infrastructure. When the version changes bazel will fetch the
34*61046927SAndroid Build Coastguard Worker# new prebuilts.
35*61046927SAndroid Build Coastguard Workercipd_repository(
36*61046927SAndroid Build Coastguard Worker    name = "fuchsia_sdk",
37*61046927SAndroid Build Coastguard Worker    cipd_bin = "@cipd_tool//:cipd",
38*61046927SAndroid Build Coastguard Worker    ensure_file = "//fuchsia-build/manifests:bazel_sdk.ensure",
39*61046927SAndroid Build Coastguard Worker)
40*61046927SAndroid Build Coastguard Workerload(
41*61046927SAndroid Build Coastguard Worker    "@fuchsia_sdk//fuchsia:deps.bzl",
42*61046927SAndroid Build Coastguard Worker    "rules_fuchsia_deps",
43*61046927SAndroid Build Coastguard Worker)
44*61046927SAndroid Build Coastguard Workerrules_fuchsia_deps()
45*61046927SAndroid Build Coastguard Worker# The fuchsia toolchain contains tools like ffx and fidlc.
46*61046927SAndroid Build Coastguard Workerregister_toolchains("@fuchsia_sdk//:fuchsia_toolchain_sdk")
47*61046927SAndroid Build Coastguard Workerload(
48*61046927SAndroid Build Coastguard Worker    "@fuchsia_sdk//fuchsia:products.bzl",
49*61046927SAndroid Build Coastguard Worker    "fuchsia_products_repository",
50*61046927SAndroid Build Coastguard Worker)
51*61046927SAndroid Build Coastguard Workerfuchsia_products_repository(
52*61046927SAndroid Build Coastguard Worker    name = "fuchsia_products",
53*61046927SAndroid Build Coastguard Worker    cipd_bin = "@cipd_tool//:cipd",
54*61046927SAndroid Build Coastguard Worker    ensure_file = "//fuchsia-build/manifests:product_bundles.ensure",
55*61046927SAndroid Build Coastguard Worker)
56*61046927SAndroid Build Coastguard Workerload(
57*61046927SAndroid Build Coastguard Worker    "@fuchsia_sdk//fuchsia:clang.bzl",
58*61046927SAndroid Build Coastguard Worker    "fuchsia_clang_repository",
59*61046927SAndroid Build Coastguard Worker)
60*61046927SAndroid Build Coastguard Worker# Set up our clang repository.
61*61046927SAndroid Build Coastguard Workerfuchsia_clang_repository(
62*61046927SAndroid Build Coastguard Worker    name = "fuchsia_clang",
63*61046927SAndroid Build Coastguard Worker    cipd_bin = "@cipd_tool//:cipd",
64*61046927SAndroid Build Coastguard Worker    cipd_ensure_file = "//fuchsia-build/manifests:clang.ensure",
65*61046927SAndroid Build Coastguard Worker)
66*61046927SAndroid Build Coastguard Workerload("@fuchsia_clang//:defs.bzl", "register_clang_toolchains")
67*61046927SAndroid Build Coastguard Worker# Register a clang toolchain which will be used to compile fuchsia targets
68*61046927SAndroid Build Coastguard Workerregister_clang_toolchains()
69*61046927SAndroid Build Coastguard Workerload("@fuchsia_infra//infra:host_toolchains.bzl", "configure_fuchsia_clang_host_toolchain")
70*61046927SAndroid Build Coastguard Worker# Configure a host toolchain for local execution. This is not used to compile
71*61046927SAndroid Build Coastguard Worker# fuchsia targets but is made available so we don't try to access the host gcc
72*61046927SAndroid Build Coastguard Worker# which is not available in infrastructure builds. This call must happen after
73*61046927SAndroid Build Coastguard Worker# you create a fuchsia_clang repository.
74*61046927SAndroid Build Coastguard Workerconfigure_fuchsia_clang_host_toolchain(name = "host_clang_toolchain")
75*61046927SAndroid Build Coastguard Worker# gTest.
76*61046927SAndroid Build Coastguard Workerlocal_repository(
77*61046927SAndroid Build Coastguard Worker    name = "com_google_googletest",
78*61046927SAndroid Build Coastguard Worker    path = "third_party/googletest",
79*61046927SAndroid Build Coastguard Worker)
80*61046927SAndroid Build Coastguard Workerlocal_repository(
81*61046927SAndroid Build Coastguard Worker    name = "zlib",
82*61046927SAndroid Build Coastguard Worker    path = "fuchsia-build/third_party/zlib-1.3.1",
83*61046927SAndroid Build Coastguard Worker)
84