xref: /aosp_15_r20/external/skia/example/external_client/WORKSPACE.bazel (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker# A real client should download a pinned version of Skia such as:
2*c8dee2aaSAndroid Build Coastguard Worker#
3*c8dee2aaSAndroid Build Coastguard Worker#     load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
4*c8dee2aaSAndroid Build Coastguard Worker#
5*c8dee2aaSAndroid Build Coastguard Worker#     git_repository(
6*c8dee2aaSAndroid Build Coastguard Worker#         name = "skia",
7*c8dee2aaSAndroid Build Coastguard Worker#         commit = "8b051126be8ae6c3e718bd3817eebb867b2fd612",
8*c8dee2aaSAndroid Build Coastguard Worker#         remote = "https://skia.googlesource.com/skia",
9*c8dee2aaSAndroid Build Coastguard Worker#     )
10*c8dee2aaSAndroid Build Coastguard Worker#
11*c8dee2aaSAndroid Build Coastguard Worker# We use local_repository to allow us to test Skia at head as if it were checked
12*c8dee2aaSAndroid Build Coastguard Worker# out via git_repository.
13*c8dee2aaSAndroid Build Coastguard Workerlocal_repository(
14*c8dee2aaSAndroid Build Coastguard Worker    name = "skia",
15*c8dee2aaSAndroid Build Coastguard Worker    path = "../..",
16*c8dee2aaSAndroid Build Coastguard Worker)
17*c8dee2aaSAndroid Build Coastguard Worker
18*c8dee2aaSAndroid Build Coastguard Worker# Clients need to define a target here named "skia_user_config" that points to a
19*c8dee2aaSAndroid Build Coastguard Worker# Bazel workspace with:
20*c8dee2aaSAndroid Build Coastguard Worker#   - a user_config cc_library rule that has SkiaUserConfig.h available and
21*c8dee2aaSAndroid Build Coastguard Worker#     the SK_USE_BAZEL_CONFIG_HEADER define set.
22*c8dee2aaSAndroid Build Coastguard Worker#   - A copts.bzl file with at least two string lists: DEFAULT_COPTS, DEFAULT_OBJC_COPTS
23*c8dee2aaSAndroid Build Coastguard Worker#     These lists can be empty if you want to use the toolchain's default.
24*c8dee2aaSAndroid Build Coastguard Worker#   - a linkopts.bzl file with at least the string list DEFAULT_LINKOPTS
25*c8dee2aaSAndroid Build Coastguard Worker#     This list can be empty if you want to use the toolchain's default.
26*c8dee2aaSAndroid Build Coastguard Workerlocal_repository(
27*c8dee2aaSAndroid Build Coastguard Worker    name = "skia_user_config",
28*c8dee2aaSAndroid Build Coastguard Worker    path = "custom_skia_config",
29*c8dee2aaSAndroid Build Coastguard Worker)
30*c8dee2aaSAndroid Build Coastguard Worker
31*c8dee2aaSAndroid Build Coastguard Worker# These two workspace functions will add dependencies for Skia's Bazel rules
32*c8dee2aaSAndroid Build Coastguard Worker# (e.g. @bazel_skylib) and the C++ dependencies (e.g. @libpng)
33*c8dee2aaSAndroid Build Coastguard Workerload("@skia//bazel:deps.bzl", "bazel_deps", "c_plus_plus_deps", "header_based_configs")
34*c8dee2aaSAndroid Build Coastguard Worker
35*c8dee2aaSAndroid Build Coastguard Worker# Be sure to call the functions.
36*c8dee2aaSAndroid Build Coastguard Workerbazel_deps()
37*c8dee2aaSAndroid Build Coastguard Worker
38*c8dee2aaSAndroid Build Coastguard Workerc_plus_plus_deps()
39*c8dee2aaSAndroid Build Coastguard Worker
40*c8dee2aaSAndroid Build Coastguard Workerheader_based_configs()
41*c8dee2aaSAndroid Build Coastguard Worker
42*c8dee2aaSAndroid Build Coastguard Worker##############################################################################
43*c8dee2aaSAndroid Build Coastguard Worker# Everything below here is not required for Skia, but is required for the sample
44*c8dee2aaSAndroid Build Coastguard Worker# rules based on Skia.
45*c8dee2aaSAndroid Build Coastguard Workerload("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
46*c8dee2aaSAndroid Build Coastguard Worker
47*c8dee2aaSAndroid Build Coastguard Worker# https://github.com/bazelbuild/rules_cc
48*c8dee2aaSAndroid Build Coastguard Workerhttp_archive(
49*c8dee2aaSAndroid Build Coastguard Worker    name = "rules_cc",
50*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "ae46b722a8b8e9b62170f83bfb040cbf12adb732144e689985a66b26410a7d6f",
51*c8dee2aaSAndroid Build Coastguard Worker    strip_prefix = "rules_cc-0.0.8",
52*c8dee2aaSAndroid Build Coastguard Worker    urls = ["https://github.com/bazelbuild/rules_cc/releases/download/0.0.8/rules_cc-0.0.8.tar.gz"],
53*c8dee2aaSAndroid Build Coastguard Worker)
54