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