xref: /aosp_15_r20/external/skia/src/encode/BUILD.bazel (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1load("//bazel:skia_rules.bzl", "generate_cpp_files_for_headers", "skia_cc_library", "skia_filegroup")
2
3package(
4    default_applicable_licenses = ["//:license"],
5)
6
7licenses(["notice"])
8
9# In separate skia_filegroups to export these as gni file lists
10skia_filegroup(
11    name = "jpeg_encode_srcs",
12    srcs = [
13        "SkJPEGWriteUtility.cpp",
14        "SkJpegEncoderImpl.cpp",
15    ],
16)
17
18skia_filegroup(
19    name = "jpeg_encode_hdrs",
20    srcs = [
21        "SkJPEGWriteUtility.h",
22        "SkJpegEncoderImpl.h",
23    ],
24)
25
26skia_filegroup(
27    name = "no_jpeg_encode_srcs",
28    srcs = ["SkJpegEncoder_none.cpp"],
29)
30
31skia_filegroup(
32    name = "png_encode_base_hdrs",
33    srcs = ["SkPngEncoderBase.h"],
34)
35
36skia_filegroup(
37    name = "png_encode_base_srcs",
38    srcs = ["SkPngEncoderBase.cpp"],
39)
40
41skia_filegroup(
42    name = "png_encode_hdrs",
43    srcs = ["SkPngEncoderImpl.h"],
44)
45
46skia_filegroup(
47    name = "png_encode_srcs",
48    srcs = ["SkPngEncoderImpl.cpp"],
49)
50
51skia_filegroup(
52    name = "no_png_encode_srcs",
53    srcs = ["SkPngEncoder_none.cpp"],
54)
55
56skia_filegroup(
57    name = "webp_encode_srcs",
58    srcs = ["SkWebpEncoderImpl.cpp"],
59)
60
61skia_filegroup(
62    name = "no_webp_encode_srcs",
63    srcs = ["SkWebpEncoder_none.cpp"],
64)
65
66skia_cc_library(
67    name = "icc_support",
68    srcs = [
69        "SkICC.cpp",
70    ],
71    hdrs = [
72        "SkICCPriv.h",
73        "//include/encode:icc_hdrs",
74    ],
75    features = ["layering_check"],
76    deps = [
77        "//:core",
78        "//modules/skcms",
79        "//src/base",
80        "//src/core:core_priv",
81    ],
82)
83
84skia_cc_library(
85    name = "encoder_common",
86    srcs = [
87        "SkEncoder.cpp",
88    ],
89    hdrs = [
90        "SkImageEncoderFns.h",
91        "SkImageEncoderPriv.h",
92        "//include/encode:encode_hdrs",
93    ],
94    features = ["layering_check"],
95    visibility = ["//experimental/rust_png/encoder:__subpackages__"],
96    deps = [
97        ":icc_support",
98        "//:core",
99        "//modules/skcms",
100        "//src/base",
101        "//src/codec:any_decoder",
102        "//src/core:core_priv",
103    ],
104)
105
106skia_cc_library(
107    name = "icc_encode",
108    hdrs = [
109        "//include/encode:icc_hdrs",
110    ],
111    visibility = ["//:__subpackages__"],
112    deps = [
113        ":icc_support",
114    ],
115)
116
117skia_cc_library(
118    name = "png_encode_base",
119    srcs = [":png_encode_base_srcs"],
120    hdrs = [":png_encode_base_hdrs"],
121    features = ["layering_check"],
122    visibility = [
123        "//:__pkg__",
124        "//experimental/rust_png/encoder:__pkg__",
125    ],
126    deps = [
127        ":encoder_common",
128        "//:core",
129        "//src/base",
130        "//src/codec:any_decoder",
131    ],
132)
133
134skia_cc_library(
135    name = "png_encode",
136    srcs = [
137        ":png_encode_hdrs",
138        ":png_encode_srcs",
139        "//src/codec:common_png_srcs",
140    ],
141    hdrs = [
142        "//include/encode:encode_hdrs",
143        "//include/encode:png_hdrs",
144    ],
145    features = ["layering_check"],
146    visibility = ["//:__pkg__"],
147    deps = [
148        ":encoder_common",
149        ":png_encode_base",
150        "//:core",
151        "//modules/skcms",
152        "//src/base",
153        "//src/codec:any_decoder",
154        "//src/core:core_priv",
155        "@libpng",
156    ],
157)
158
159skia_cc_library(
160    name = "jpeg_encode",
161    srcs = [
162        ":jpeg_encode_hdrs",
163        ":jpeg_encode_srcs",
164        "//src/codec:common_jpeg_srcs",
165    ],
166    hdrs = [
167        "//include/encode:encode_hdrs",
168        "//include/encode:jpeg_hdrs",
169    ],
170    features = ["layering_check"],
171    visibility = ["//:__pkg__"],
172    deps = [
173        ":encoder_common",
174        "//:core",
175        "//src/base",
176        "//src/core:core_priv",
177        "@libjpeg_turbo",
178    ],
179)
180
181skia_cc_library(
182    name = "webp_encode",
183    srcs = [
184        ":webp_encode_srcs",
185    ],
186    hdrs = [
187        "//include/encode:encode_hdrs",
188        "//include/encode:webp_hdrs",
189    ],
190    features = ["layering_check"],
191    visibility = ["//:__pkg__"],
192    deps = [
193        ":encoder_common",
194        "//:core",
195        "//src/base",
196        "//src/core:core_priv",
197        "@libwebp",
198    ],
199)
200
201generate_cpp_files_for_headers(
202    name = "headers_to_compile",
203    headers = [
204        "SkICCPriv.h",
205        "SkImageEncoderFns.h",
206        "SkImageEncoderPriv.h",
207    ],
208)
209