• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1load("//bazel:skia_rules.bzl", "exports_files_legacy", "select_multi", "skia_cc_deps", "skia_filegroup")
2load("//bazel:flags.bzl", "string_flag_with_values")
3
4licenses(["notice"])
5
6exports_files_legacy()
7
8string_flag_with_values(
9    name = "include_encoder",
10    multiple = True,
11    values = [
12        "jpeg_encode_codec",
13        "png_encode_codec",
14        "webp_encode_codec",
15    ],
16)
17
18# In separate skia_filegroups to export these as gni file lists
19skia_filegroup(
20    name = "jpeg_encode_srcs",
21    srcs = [
22        "SkJPEGWriteUtility.cpp",
23        "SkJpegEncoder.cpp",
24    ],
25)
26
27skia_filegroup(
28    name = "jpeg_encode_hdrs",
29    srcs = [
30        "SkJPEGWriteUtility.h",
31    ],
32)
33
34skia_filegroup(
35    name = "png_encode_srcs",
36    srcs = ["SkPngEncoder.cpp"],
37)
38
39skia_filegroup(
40    name = "webp_encode_srcs",
41    srcs = ["SkWebpEncoder.cpp"],
42)
43
44skia_filegroup(
45    name = "srcs",
46    srcs = [
47        "SkEncoder.cpp",
48        "SkImageEncoder.cpp",
49    ] + select_multi({
50        ":jpeg_encode_codec": [":jpeg_encode_srcs"],
51        ":png_encode_codec": [":png_encode_srcs"],
52        ":webp_encode_codec": [":webp_encode_srcs"],
53    }),
54    visibility = ["//src:__pkg__"],
55)
56
57skia_filegroup(
58    name = "private_hdrs",
59    srcs = [
60        "SkImageEncoderFns.h",
61        "SkImageEncoderPriv.h",
62    ] + select({
63        ":jpeg_encode_codec": [":jpeg_encode_hdrs"],
64        "//conditions:default": [],
65    }),
66    visibility = ["//src:__pkg__"],
67)
68
69skia_cc_deps(
70    name = "deps",
71    visibility = ["//src:__pkg__"],
72    deps = select_multi(
73        {
74            ":jpeg_encode_codec": ["@libjpeg_turbo"],
75            ":png_encode_codec": ["@libpng"],
76            ":webp_encode_codec": ["@libwebp"],
77        },
78    ),
79)
80