• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# https://github.com/bazelbuild/bazel-skylib
2load("@bazel_skylib//lib:selects.bzl", "selects")
3load("//bazel:macros.bzl", "select_multi")
4load("@bazel_gazelle//:def.bzl", "gazelle")
5
6package(default_visibility = ["//:__subpackages__"])
7
8selects.config_setting_group(
9    name = "needs_jpeg",
10    match_any = [
11        "//bazel/common_config_settings:raw_decode_codec",
12        "//bazel/common_config_settings:jpeg_decode_codec",
13        "//bazel/common_config_settings:jpeg_encode_codec",
14    ],
15)
16
17selects.config_setting_group(
18    name = "needs_png",
19    match_any = [
20        "//bazel/common_config_settings:png_decode_codec",
21        "//bazel/common_config_settings:png_encode_codec",
22    ],
23)
24
25selects.config_setting_group(
26    name = "needs_webp",
27    match_any = [
28        "//bazel/common_config_settings:webp_decode_codec",
29        "//bazel/common_config_settings:webp_encode_codec",
30    ],
31)
32
33selects.config_setting_group(
34    name = "any_freetype_fontmgr",
35    match_any = [
36        "//bazel/common_config_settings:custom_directory_fontmgr",
37        "//bazel/common_config_settings:custom_embedded_fontmgr",
38        "//bazel/common_config_settings:custom_empty_fontmgr",
39    ],
40)
41
42CORE_DEPS = [
43    "//src/android:srcs",
44    "//src/codec:srcs",
45    "//src/core:srcs",
46    "//src/image:srcs",
47    "//src/images:srcs",
48    "//src/effects:srcs",
49    "//src/opts:srcs",
50    "//src/pathops:srcs",
51    "//src/ports:srcs",
52    "//src/sfnt:srcs",
53    "//src/shaders:srcs",
54    "//src/utils:srcs",
55    "//third_party:skcms",
56] + selects.with_or({
57    # https://github.com/bazelbuild/bazel-skylib/blob/main/docs/selects_doc.md#selectswith_or
58    ("//bazel/common_config_settings:gl_backend", "//bazel/common_config_settings:vulkan_backend"): [
59        "//src/gpu:srcs",
60        "//src/sksl:srcs",
61        # TODO(kjlubick) should mock be test only?
62        "//src/gpu:mock_srcs",
63    ],
64    "//conditions:default": [],
65}) + select_multi(
66    {
67        "//bazel/common_config_settings:gif_decode_codec": ["//third_party:wuffs"],
68        ":needs_png": ["//third_party:libpng"],
69        "//bazel/common_config_settings:raw_decode_codec": [
70            "//third_party:piex",
71            "//third_party:dng_sdk",
72        ],
73        ":needs_webp": ["//third_party:libwebp"],
74        ":needs_jpeg": ["//third_party:libjpeg-turbo"],
75    },
76    default = [],
77) + select({
78    ":any_freetype_fontmgr": [
79        "//third_party:freetype2",
80    ],
81    "//conditions:default": [],
82})
83
84cc_library(
85    name = "skia_core",
86    textual_hdrs = ["//src/sksl:txts"],
87    deps = CORE_DEPS,
88)
89
90# gazelle:prefix go.skia.org/skia
91gazelle(name = "gazelle")
92