blob: 8157279b35a5586217ddd683883c06d717f36e70 [file] [log] [blame]
# https://github.com/bazelbuild/bazel-skylib
load("@bazel_skylib//lib:selects.bzl", "selects")
load("//bazel:macros.bzl", "select_multi")
load("@bazel_gazelle//:def.bzl", "gazelle")
package(default_visibility = ["//:__subpackages__"])
selects.config_setting_group(
name = "needs_jpeg",
match_any = [
"//bazel/common_config_settings:raw_decode_codec",
"//bazel/common_config_settings:jpeg_decode_codec",
"//bazel/common_config_settings:jpeg_encode_codec",
],
)
selects.config_setting_group(
name = "needs_png",
match_any = [
"//bazel/common_config_settings:png_decode_codec",
"//bazel/common_config_settings:png_encode_codec",
],
)
selects.config_setting_group(
name = "needs_webp",
match_any = [
"//bazel/common_config_settings:webp_decode_codec",
"//bazel/common_config_settings:webp_encode_codec",
],
)
selects.config_setting_group(
name = "any_freetype_fontmgr",
match_any = [
"//bazel/common_config_settings:custom_directory_fontmgr",
"//bazel/common_config_settings:custom_embedded_fontmgr",
"//bazel/common_config_settings:custom_empty_fontmgr",
],
)
CORE_DEPS = [
"//src/android:srcs",
"//src/codec:srcs",
"//src/core:srcs",
"//src/image:srcs",
"//src/images:srcs",
"//src/effects:srcs",
"//src/opts:srcs",
"//src/pathops:srcs",
"//src/ports:srcs",
"//src/sfnt:srcs",
"//src/shaders:srcs",
"//src/utils:srcs",
"//third_party:skcms",
] + selects.with_or({
# https://github.com/bazelbuild/bazel-skylib/blob/main/docs/selects_doc.md#selectswith_or
("//bazel/common_config_settings:gl_backend", "//bazel/common_config_settings:vulkan_backend"): [
"//src/gpu:srcs",
"//src/sksl:srcs",
# TODO(kjlubick) should mock be test only?
"//src/gpu:mock_srcs",
],
"//conditions:default": [],
}) + select_multi(
{
"//bazel/common_config_settings:gif_decode_codec": ["//third_party:wuffs"],
":needs_png": ["//third_party:libpng"],
"//bazel/common_config_settings:raw_decode_codec": [
"//third_party:piex",
"//third_party:dng_sdk",
],
":needs_webp": ["//third_party:libwebp"],
":needs_jpeg": ["//third_party:libjpeg-turbo"],
},
default = [],
) + select({
":any_freetype_fontmgr": [
"//third_party:freetype2",
],
"//conditions:default": [],
})
cc_library(
name = "skia_core",
textual_hdrs = ["//src/sksl:txts"],
deps = CORE_DEPS,
)
# gazelle:prefix go.skia.org/skia
gazelle(name = "gazelle")