xref: /aosp_15_r20/external/skia/src/codec/BUILD.bazel (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workerload(
2*c8dee2aaSAndroid Build Coastguard Worker    "//bazel:skia_rules.bzl",
3*c8dee2aaSAndroid Build Coastguard Worker    "generate_cpp_files_for_headers",
4*c8dee2aaSAndroid Build Coastguard Worker    "skia_cc_library",
5*c8dee2aaSAndroid Build Coastguard Worker    "skia_filegroup",
6*c8dee2aaSAndroid Build Coastguard Worker    "split_srcs_and_hdrs",
7*c8dee2aaSAndroid Build Coastguard Worker)
8*c8dee2aaSAndroid Build Coastguard Worker
9*c8dee2aaSAndroid Build Coastguard Workerpackage(
10*c8dee2aaSAndroid Build Coastguard Worker    default_applicable_licenses = ["//:license"],
11*c8dee2aaSAndroid Build Coastguard Worker)
12*c8dee2aaSAndroid Build Coastguard Worker
13*c8dee2aaSAndroid Build Coastguard Workerlicenses(["notice"])
14*c8dee2aaSAndroid Build Coastguard Worker
15*c8dee2aaSAndroid Build Coastguard WorkerPRIVATE_CODEC_HEADERS = [
16*c8dee2aaSAndroid Build Coastguard Worker    "SkCodecPriv.h",
17*c8dee2aaSAndroid Build Coastguard Worker    "SkColorPalette.h",
18*c8dee2aaSAndroid Build Coastguard Worker    "SkFrameHolder.h",
19*c8dee2aaSAndroid Build Coastguard Worker    "SkMaskSwizzler.h",
20*c8dee2aaSAndroid Build Coastguard Worker    "SkParseEncodedOrigin.h",
21*c8dee2aaSAndroid Build Coastguard Worker    "SkSampler.h",
22*c8dee2aaSAndroid Build Coastguard Worker    "SkScalingCodec.h",
23*c8dee2aaSAndroid Build Coastguard Worker    "SkSwizzler.h",
24*c8dee2aaSAndroid Build Coastguard Worker    "SkPixmapUtilsPriv.h",
25*c8dee2aaSAndroid Build Coastguard Worker    "//include/private:decode_srcs",
26*c8dee2aaSAndroid Build Coastguard Worker]
27*c8dee2aaSAndroid Build Coastguard Worker
28*c8dee2aaSAndroid Build Coastguard Worker# We put any file that is used by more than one codec here to avoid potential issues if clients
29*c8dee2aaSAndroid Build Coastguard Worker# depend on multiple codecs. This is not a problem for a statically linked binary, but could maybe
30*c8dee2aaSAndroid Build Coastguard Worker# cause issues with producing a shared library (e.g. duplicate symbols showing up).
31*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
32*c8dee2aaSAndroid Build Coastguard Worker    name = "any_decoder",
33*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
34*c8dee2aaSAndroid Build Coastguard Worker        "SkCodec.cpp",
35*c8dee2aaSAndroid Build Coastguard Worker        "SkCodecImageGenerator.cpp",
36*c8dee2aaSAndroid Build Coastguard Worker        "SkCodecImageGenerator.h",
37*c8dee2aaSAndroid Build Coastguard Worker        "SkColorPalette.cpp",
38*c8dee2aaSAndroid Build Coastguard Worker        "SkEncodedInfo.cpp",
39*c8dee2aaSAndroid Build Coastguard Worker        "SkExif.cpp",
40*c8dee2aaSAndroid Build Coastguard Worker        "SkGainmapInfo.cpp",
41*c8dee2aaSAndroid Build Coastguard Worker        "SkImageGenerator_FromEncoded.cpp",
42*c8dee2aaSAndroid Build Coastguard Worker        "SkMaskSwizzler.cpp",
43*c8dee2aaSAndroid Build Coastguard Worker        "SkParseEncodedOrigin.cpp",
44*c8dee2aaSAndroid Build Coastguard Worker        "SkPixmapUtils.cpp",
45*c8dee2aaSAndroid Build Coastguard Worker        "SkSampler.cpp",
46*c8dee2aaSAndroid Build Coastguard Worker        "SkSwizzler.cpp",
47*c8dee2aaSAndroid Build Coastguard Worker        "SkTiffUtility.cpp",
48*c8dee2aaSAndroid Build Coastguard Worker        "SkTiffUtility.h",
49*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:any_codec_hdrs",
50*c8dee2aaSAndroid Build Coastguard Worker    ],
51*c8dee2aaSAndroid Build Coastguard Worker    hdrs = PRIVATE_CODEC_HEADERS,
52*c8dee2aaSAndroid Build Coastguard Worker    features = ["layering_check"],
53*c8dee2aaSAndroid Build Coastguard Worker    local_defines = ["SK_DISABLE_LEGACY_INIT_DECODERS"],
54*c8dee2aaSAndroid Build Coastguard Worker    visibility = [
55*c8dee2aaSAndroid Build Coastguard Worker        "//experimental/rust_png:__subpackages__",
56*c8dee2aaSAndroid Build Coastguard Worker        "//src/encode:__pkg__",
57*c8dee2aaSAndroid Build Coastguard Worker        "//src/ports:__pkg__",
58*c8dee2aaSAndroid Build Coastguard Worker    ],
59*c8dee2aaSAndroid Build Coastguard Worker    deps = [
60*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skcms",
61*c8dee2aaSAndroid Build Coastguard Worker        "//src/base",
62*c8dee2aaSAndroid Build Coastguard Worker        "//src/core",
63*c8dee2aaSAndroid Build Coastguard Worker        "//src/core:core_priv",
64*c8dee2aaSAndroid Build Coastguard Worker    ],
65*c8dee2aaSAndroid Build Coastguard Worker)
66*c8dee2aaSAndroid Build Coastguard Worker
67*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
68*c8dee2aaSAndroid Build Coastguard Worker    name = "codec_support",
69*c8dee2aaSAndroid Build Coastguard Worker    # This is its own rule (with no srcs) to explicitly expose any_codec_hdrs
70*c8dee2aaSAndroid Build Coastguard Worker    # as public in case a client does not want to use any of our codecs, but
71*c8dee2aaSAndroid Build Coastguard Worker    # still register their own and/or make use of SkImage::DeferredFromEncodedData
72*c8dee2aaSAndroid Build Coastguard Worker    hdrs = [
73*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:any_codec_hdrs",
74*c8dee2aaSAndroid Build Coastguard Worker    ],
75*c8dee2aaSAndroid Build Coastguard Worker    visibility = [
76*c8dee2aaSAndroid Build Coastguard Worker        "//:__pkg__",
77*c8dee2aaSAndroid Build Coastguard Worker    ],
78*c8dee2aaSAndroid Build Coastguard Worker    deps = [
79*c8dee2aaSAndroid Build Coastguard Worker        ":any_decoder",
80*c8dee2aaSAndroid Build Coastguard Worker    ],
81*c8dee2aaSAndroid Build Coastguard Worker)
82*c8dee2aaSAndroid Build Coastguard Worker
83*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
84*c8dee2aaSAndroid Build Coastguard Worker    name = "codec_support_priv",
85*c8dee2aaSAndroid Build Coastguard Worker    hdrs = [
86*c8dee2aaSAndroid Build Coastguard Worker        "SkCodecImageGenerator.h",
87*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:any_codec_hdrs",
88*c8dee2aaSAndroid Build Coastguard Worker    ] + PRIVATE_CODEC_HEADERS,
89*c8dee2aaSAndroid Build Coastguard Worker    visibility = [
90*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skottie:__pkg__",
91*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skottie/src:__pkg__",
92*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skresources:__pkg__",
93*c8dee2aaSAndroid Build Coastguard Worker        "//src/android:__pkg__",
94*c8dee2aaSAndroid Build Coastguard Worker        "//tools:__pkg__",
95*c8dee2aaSAndroid Build Coastguard Worker    ],
96*c8dee2aaSAndroid Build Coastguard Worker    deps = [
97*c8dee2aaSAndroid Build Coastguard Worker        ":any_decoder",
98*c8dee2aaSAndroid Build Coastguard Worker    ],
99*c8dee2aaSAndroid Build Coastguard Worker)
100*c8dee2aaSAndroid Build Coastguard Worker
101*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
102*c8dee2aaSAndroid Build Coastguard Worker    name = "android_codec",
103*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
104*c8dee2aaSAndroid Build Coastguard Worker        "SkAndroidCodec.cpp",
105*c8dee2aaSAndroid Build Coastguard Worker        "SkAndroidCodecAdapter.cpp",
106*c8dee2aaSAndroid Build Coastguard Worker        "SkAndroidCodecAdapter.h",
107*c8dee2aaSAndroid Build Coastguard Worker        "SkSampledCodec.cpp",
108*c8dee2aaSAndroid Build Coastguard Worker        "SkSampledCodec.h",
109*c8dee2aaSAndroid Build Coastguard Worker    ],
110*c8dee2aaSAndroid Build Coastguard Worker    hdrs = [
111*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:android_public_hdrs",
112*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:any_codec_hdrs",
113*c8dee2aaSAndroid Build Coastguard Worker    ],
114*c8dee2aaSAndroid Build Coastguard Worker    features = ["layering_check"],
115*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//:__subpackages__"],
116*c8dee2aaSAndroid Build Coastguard Worker    deps = [
117*c8dee2aaSAndroid Build Coastguard Worker        ":any_decoder",
118*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skcms",
119*c8dee2aaSAndroid Build Coastguard Worker        "//src/base",
120*c8dee2aaSAndroid Build Coastguard Worker        "//src/core",
121*c8dee2aaSAndroid Build Coastguard Worker        "//src/core:core_priv",
122*c8dee2aaSAndroid Build Coastguard Worker    ],
123*c8dee2aaSAndroid Build Coastguard Worker)
124*c8dee2aaSAndroid Build Coastguard Worker
125*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
126*c8dee2aaSAndroid Build Coastguard Worker    name = "bmp_decode",
127*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
128*c8dee2aaSAndroid Build Coastguard Worker        "SkBmpBaseCodec.cpp",
129*c8dee2aaSAndroid Build Coastguard Worker        "SkBmpBaseCodec.h",
130*c8dee2aaSAndroid Build Coastguard Worker        "SkBmpCodec.cpp",
131*c8dee2aaSAndroid Build Coastguard Worker        "SkBmpCodec.h",
132*c8dee2aaSAndroid Build Coastguard Worker        "SkBmpMaskCodec.cpp",
133*c8dee2aaSAndroid Build Coastguard Worker        "SkBmpMaskCodec.h",
134*c8dee2aaSAndroid Build Coastguard Worker        "SkBmpRLECodec.cpp",
135*c8dee2aaSAndroid Build Coastguard Worker        "SkBmpRLECodec.h",
136*c8dee2aaSAndroid Build Coastguard Worker        "SkBmpStandardCodec.cpp",
137*c8dee2aaSAndroid Build Coastguard Worker        "SkBmpStandardCodec.h",
138*c8dee2aaSAndroid Build Coastguard Worker    ],
139*c8dee2aaSAndroid Build Coastguard Worker    hdrs = [
140*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:any_codec_hdrs",
141*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:bmp_public_hdrs",
142*c8dee2aaSAndroid Build Coastguard Worker    ],
143*c8dee2aaSAndroid Build Coastguard Worker    defines = ["SK_CODEC_DECODES_BMP"],
144*c8dee2aaSAndroid Build Coastguard Worker    features = ["layering_check"],
145*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//:__subpackages__"],
146*c8dee2aaSAndroid Build Coastguard Worker    deps = [
147*c8dee2aaSAndroid Build Coastguard Worker        ":any_decoder",
148*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skcms",
149*c8dee2aaSAndroid Build Coastguard Worker        "//src/base",
150*c8dee2aaSAndroid Build Coastguard Worker        "//src/core",
151*c8dee2aaSAndroid Build Coastguard Worker        "//src/core:core_priv",
152*c8dee2aaSAndroid Build Coastguard Worker    ],
153*c8dee2aaSAndroid Build Coastguard Worker)
154*c8dee2aaSAndroid Build Coastguard Worker
155*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
156*c8dee2aaSAndroid Build Coastguard Worker    name = "gif_decode",
157*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
158*c8dee2aaSAndroid Build Coastguard Worker        "SkWuffsCodec.cpp",
159*c8dee2aaSAndroid Build Coastguard Worker    ],
160*c8dee2aaSAndroid Build Coastguard Worker    hdrs = [
161*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:any_codec_hdrs",
162*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:gif_public_hdrs",
163*c8dee2aaSAndroid Build Coastguard Worker    ],
164*c8dee2aaSAndroid Build Coastguard Worker    defines = ["SK_CODEC_DECODES_GIF"],
165*c8dee2aaSAndroid Build Coastguard Worker    features = ["layering_check"],
166*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//:__subpackages__"],
167*c8dee2aaSAndroid Build Coastguard Worker    deps = [
168*c8dee2aaSAndroid Build Coastguard Worker        ":any_decoder",
169*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skcms",
170*c8dee2aaSAndroid Build Coastguard Worker        "//src/base",
171*c8dee2aaSAndroid Build Coastguard Worker        "//src/core",
172*c8dee2aaSAndroid Build Coastguard Worker        "//src/core:core_priv",
173*c8dee2aaSAndroid Build Coastguard Worker        "@wuffs",
174*c8dee2aaSAndroid Build Coastguard Worker    ],
175*c8dee2aaSAndroid Build Coastguard Worker)
176*c8dee2aaSAndroid Build Coastguard Worker
177*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
178*c8dee2aaSAndroid Build Coastguard Worker    name = "ico_decode",
179*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
180*c8dee2aaSAndroid Build Coastguard Worker        "SkBmpCodec.h",
181*c8dee2aaSAndroid Build Coastguard Worker        "SkIcoCodec.cpp",
182*c8dee2aaSAndroid Build Coastguard Worker        "SkIcoCodec.h",
183*c8dee2aaSAndroid Build Coastguard Worker    ],
184*c8dee2aaSAndroid Build Coastguard Worker    hdrs = [
185*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:any_codec_hdrs",
186*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:ico_public_hdrs",
187*c8dee2aaSAndroid Build Coastguard Worker    ],
188*c8dee2aaSAndroid Build Coastguard Worker    defines = ["SK_CODEC_DECODES_ICO"],
189*c8dee2aaSAndroid Build Coastguard Worker    features = ["layering_check"],
190*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//:__subpackages__"],
191*c8dee2aaSAndroid Build Coastguard Worker    deps = [
192*c8dee2aaSAndroid Build Coastguard Worker        "//src/base",
193*c8dee2aaSAndroid Build Coastguard Worker        "//src/core",
194*c8dee2aaSAndroid Build Coastguard Worker        "//src/core:core_priv",
195*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skcms",
196*c8dee2aaSAndroid Build Coastguard Worker        ":any_decoder",
197*c8dee2aaSAndroid Build Coastguard Worker        # icos can be either PNG or BMP
198*c8dee2aaSAndroid Build Coastguard Worker        ":bmp_decode",
199*c8dee2aaSAndroid Build Coastguard Worker        ":png_decode",
200*c8dee2aaSAndroid Build Coastguard Worker    ],
201*c8dee2aaSAndroid Build Coastguard Worker)
202*c8dee2aaSAndroid Build Coastguard Worker
203*c8dee2aaSAndroid Build Coastguard Workerskia_filegroup(
204*c8dee2aaSAndroid Build Coastguard Worker    name = "common_jpeg_srcs",
205*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
206*c8dee2aaSAndroid Build Coastguard Worker        "SkJpegConstants.h",
207*c8dee2aaSAndroid Build Coastguard Worker        "SkJpegPriv.h",
208*c8dee2aaSAndroid Build Coastguard Worker    ],
209*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//src/encode:__pkg__"],
210*c8dee2aaSAndroid Build Coastguard Worker)
211*c8dee2aaSAndroid Build Coastguard Worker
212*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
213*c8dee2aaSAndroid Build Coastguard Worker    name = "jpeg_decode",
214*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
215*c8dee2aaSAndroid Build Coastguard Worker        "SkJpegCodec.cpp",
216*c8dee2aaSAndroid Build Coastguard Worker        "SkJpegCodec.h",
217*c8dee2aaSAndroid Build Coastguard Worker        "SkJpegDecoderMgr.cpp",
218*c8dee2aaSAndroid Build Coastguard Worker        "SkJpegDecoderMgr.h",
219*c8dee2aaSAndroid Build Coastguard Worker        "SkJpegMetadataDecoderImpl.cpp",
220*c8dee2aaSAndroid Build Coastguard Worker        "SkJpegMetadataDecoderImpl.h",
221*c8dee2aaSAndroid Build Coastguard Worker        "SkJpegSourceMgr.cpp",
222*c8dee2aaSAndroid Build Coastguard Worker        "SkJpegSourceMgr.h",
223*c8dee2aaSAndroid Build Coastguard Worker        "SkJpegUtility.cpp",
224*c8dee2aaSAndroid Build Coastguard Worker        "SkJpegUtility.h",
225*c8dee2aaSAndroid Build Coastguard Worker        ":common_jpeg_srcs",
226*c8dee2aaSAndroid Build Coastguard Worker        "//include/private:jpeg_decode_srcs",
227*c8dee2aaSAndroid Build Coastguard Worker    ],
228*c8dee2aaSAndroid Build Coastguard Worker    hdrs = [
229*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:any_codec_hdrs",
230*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:jpeg_public_hdrs",
231*c8dee2aaSAndroid Build Coastguard Worker    ],
232*c8dee2aaSAndroid Build Coastguard Worker    defines = ["SK_CODEC_DECODES_JPEG"],
233*c8dee2aaSAndroid Build Coastguard Worker    features = ["layering_check"],
234*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//:__subpackages__"],
235*c8dee2aaSAndroid Build Coastguard Worker    deps = [
236*c8dee2aaSAndroid Build Coastguard Worker        ":any_decoder",
237*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skcms",
238*c8dee2aaSAndroid Build Coastguard Worker        "//src/base",
239*c8dee2aaSAndroid Build Coastguard Worker        "//src/core",
240*c8dee2aaSAndroid Build Coastguard Worker        "//src/core:core_priv",
241*c8dee2aaSAndroid Build Coastguard Worker        "@libjpeg_turbo",
242*c8dee2aaSAndroid Build Coastguard Worker    ],
243*c8dee2aaSAndroid Build Coastguard Worker)
244*c8dee2aaSAndroid Build Coastguard Worker
245*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
246*c8dee2aaSAndroid Build Coastguard Worker    name = "jpegxl_decode",
247*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
248*c8dee2aaSAndroid Build Coastguard Worker        "SkJpegxlCodec.cpp",
249*c8dee2aaSAndroid Build Coastguard Worker        "SkJpegxlCodec.h",
250*c8dee2aaSAndroid Build Coastguard Worker        ":common_jpeg_srcs",
251*c8dee2aaSAndroid Build Coastguard Worker    ],
252*c8dee2aaSAndroid Build Coastguard Worker    hdrs = [
253*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:any_codec_hdrs",
254*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:jpegxl_public_hdrs",
255*c8dee2aaSAndroid Build Coastguard Worker    ],
256*c8dee2aaSAndroid Build Coastguard Worker    defines = ["SK_CODEC_DECODES_JPEGXL"],
257*c8dee2aaSAndroid Build Coastguard Worker    features = ["layering_check"],
258*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//:__subpackages__"],
259*c8dee2aaSAndroid Build Coastguard Worker    deps = [
260*c8dee2aaSAndroid Build Coastguard Worker        ":any_decoder",
261*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skcms",
262*c8dee2aaSAndroid Build Coastguard Worker        "//src/base",
263*c8dee2aaSAndroid Build Coastguard Worker        "//src/core",
264*c8dee2aaSAndroid Build Coastguard Worker        "//src/core:core_priv",
265*c8dee2aaSAndroid Build Coastguard Worker        "@libjxl",
266*c8dee2aaSAndroid Build Coastguard Worker    ],
267*c8dee2aaSAndroid Build Coastguard Worker)
268*c8dee2aaSAndroid Build Coastguard Worker
269*c8dee2aaSAndroid Build Coastguard Workerskia_filegroup(
270*c8dee2aaSAndroid Build Coastguard Worker    name = "png_codec_base_srcs",
271*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["SkPngCodecBase.cpp"],
272*c8dee2aaSAndroid Build Coastguard Worker)
273*c8dee2aaSAndroid Build Coastguard Worker
274*c8dee2aaSAndroid Build Coastguard Workerskia_filegroup(
275*c8dee2aaSAndroid Build Coastguard Worker    name = "png_codec_base_hdrs",
276*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["SkPngCodecBase.h"],
277*c8dee2aaSAndroid Build Coastguard Worker)
278*c8dee2aaSAndroid Build Coastguard Worker
279*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
280*c8dee2aaSAndroid Build Coastguard Worker    name = "png_codec_base",
281*c8dee2aaSAndroid Build Coastguard Worker    srcs = [":png_codec_base_srcs"],
282*c8dee2aaSAndroid Build Coastguard Worker    hdrs = [
283*c8dee2aaSAndroid Build Coastguard Worker        ":png_codec_base_hdrs",
284*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:any_codec_hdrs",
285*c8dee2aaSAndroid Build Coastguard Worker    ],
286*c8dee2aaSAndroid Build Coastguard Worker    features = ["layering_check"],
287*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//experimental/rust_png/decoder:__pkg__"],
288*c8dee2aaSAndroid Build Coastguard Worker    deps = [
289*c8dee2aaSAndroid Build Coastguard Worker        ":any_decoder",
290*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skcms",
291*c8dee2aaSAndroid Build Coastguard Worker        "//src/base",
292*c8dee2aaSAndroid Build Coastguard Worker        "//src/core",
293*c8dee2aaSAndroid Build Coastguard Worker        "//src/core:core_priv",
294*c8dee2aaSAndroid Build Coastguard Worker    ],
295*c8dee2aaSAndroid Build Coastguard Worker)
296*c8dee2aaSAndroid Build Coastguard Worker
297*c8dee2aaSAndroid Build Coastguard Workerskia_filegroup(
298*c8dee2aaSAndroid Build Coastguard Worker    name = "buffet_png_srcs",
299*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
300*c8dee2aaSAndroid Build Coastguard Worker        "SkPngCodec.cpp",
301*c8dee2aaSAndroid Build Coastguard Worker        "SkPngCodec.h",
302*c8dee2aaSAndroid Build Coastguard Worker        "SkPngCompositeChunkReader.cpp",
303*c8dee2aaSAndroid Build Coastguard Worker        "SkPngCompositeChunkReader.h",
304*c8dee2aaSAndroid Build Coastguard Worker    ],
305*c8dee2aaSAndroid Build Coastguard Worker)
306*c8dee2aaSAndroid Build Coastguard Worker
307*c8dee2aaSAndroid Build Coastguard Workerskia_filegroup(
308*c8dee2aaSAndroid Build Coastguard Worker    name = "common_png_srcs",
309*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
310*c8dee2aaSAndroid Build Coastguard Worker        "SkPngPriv.h",
311*c8dee2aaSAndroid Build Coastguard Worker    ],
312*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//src/encode:__pkg__"],
313*c8dee2aaSAndroid Build Coastguard Worker)
314*c8dee2aaSAndroid Build Coastguard Worker
315*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
316*c8dee2aaSAndroid Build Coastguard Worker    name = "png_decode",
317*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
318*c8dee2aaSAndroid Build Coastguard Worker        ":buffet_png_srcs",
319*c8dee2aaSAndroid Build Coastguard Worker        ":common_png_srcs",
320*c8dee2aaSAndroid Build Coastguard Worker    ],
321*c8dee2aaSAndroid Build Coastguard Worker    hdrs = [
322*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:any_codec_hdrs",
323*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:png_public_hdrs",
324*c8dee2aaSAndroid Build Coastguard Worker    ],
325*c8dee2aaSAndroid Build Coastguard Worker    defines = ["SK_CODEC_DECODES_PNG"],
326*c8dee2aaSAndroid Build Coastguard Worker    features = ["layering_check"],
327*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//:__subpackages__"],
328*c8dee2aaSAndroid Build Coastguard Worker    deps = [
329*c8dee2aaSAndroid Build Coastguard Worker        ":any_decoder",
330*c8dee2aaSAndroid Build Coastguard Worker        ":png_codec_base",
331*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skcms",
332*c8dee2aaSAndroid Build Coastguard Worker        "//src/base",
333*c8dee2aaSAndroid Build Coastguard Worker        "//src/core",
334*c8dee2aaSAndroid Build Coastguard Worker        "//src/core:core_priv",
335*c8dee2aaSAndroid Build Coastguard Worker        "@libpng",
336*c8dee2aaSAndroid Build Coastguard Worker    ],
337*c8dee2aaSAndroid Build Coastguard Worker)
338*c8dee2aaSAndroid Build Coastguard Worker
339*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
340*c8dee2aaSAndroid Build Coastguard Worker    name = "wbmp_decode",
341*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
342*c8dee2aaSAndroid Build Coastguard Worker        "SkBmpBaseCodec.h",
343*c8dee2aaSAndroid Build Coastguard Worker        "SkBmpCodec.h",
344*c8dee2aaSAndroid Build Coastguard Worker        "SkBmpMaskCodec.h",
345*c8dee2aaSAndroid Build Coastguard Worker        "SkBmpRLECodec.h",
346*c8dee2aaSAndroid Build Coastguard Worker        "SkBmpStandardCodec.h",
347*c8dee2aaSAndroid Build Coastguard Worker        "SkWbmpCodec.cpp",
348*c8dee2aaSAndroid Build Coastguard Worker        "SkWbmpCodec.h",
349*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:bmp_public_hdrs",
350*c8dee2aaSAndroid Build Coastguard Worker    ],
351*c8dee2aaSAndroid Build Coastguard Worker    hdrs = [
352*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:any_codec_hdrs",
353*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:wbmp_public_hdrs",
354*c8dee2aaSAndroid Build Coastguard Worker    ],
355*c8dee2aaSAndroid Build Coastguard Worker    defines = ["SK_CODEC_DECODES_WBMP"],
356*c8dee2aaSAndroid Build Coastguard Worker    features = ["layering_check"],
357*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//:__subpackages__"],
358*c8dee2aaSAndroid Build Coastguard Worker    deps = [
359*c8dee2aaSAndroid Build Coastguard Worker        ":any_decoder",
360*c8dee2aaSAndroid Build Coastguard Worker        ":bmp_decode",  # Avoid ODR violations by not duplicating .cpp files
361*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skcms",
362*c8dee2aaSAndroid Build Coastguard Worker        "//src/base",
363*c8dee2aaSAndroid Build Coastguard Worker        "//src/core",
364*c8dee2aaSAndroid Build Coastguard Worker        "//src/core:core_priv",
365*c8dee2aaSAndroid Build Coastguard Worker    ],
366*c8dee2aaSAndroid Build Coastguard Worker)
367*c8dee2aaSAndroid Build Coastguard Worker
368*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
369*c8dee2aaSAndroid Build Coastguard Worker    name = "webp_decode",
370*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
371*c8dee2aaSAndroid Build Coastguard Worker        "SkWebpCodec.cpp",
372*c8dee2aaSAndroid Build Coastguard Worker        "SkWebpCodec.h",
373*c8dee2aaSAndroid Build Coastguard Worker    ],
374*c8dee2aaSAndroid Build Coastguard Worker    hdrs = [
375*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:any_codec_hdrs",
376*c8dee2aaSAndroid Build Coastguard Worker        "//include/codec:webp_public_hdrs",
377*c8dee2aaSAndroid Build Coastguard Worker    ],
378*c8dee2aaSAndroid Build Coastguard Worker    defines = ["SK_CODEC_DECODES_WEBP"],
379*c8dee2aaSAndroid Build Coastguard Worker    features = ["layering_check"],
380*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//:__subpackages__"],
381*c8dee2aaSAndroid Build Coastguard Worker    deps = [
382*c8dee2aaSAndroid Build Coastguard Worker        ":any_decoder",
383*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skcms",
384*c8dee2aaSAndroid Build Coastguard Worker        "//src/base",
385*c8dee2aaSAndroid Build Coastguard Worker        "//src/core",
386*c8dee2aaSAndroid Build Coastguard Worker        "//src/core:core_priv",
387*c8dee2aaSAndroid Build Coastguard Worker        "@libwebp",
388*c8dee2aaSAndroid Build Coastguard Worker    ],
389*c8dee2aaSAndroid Build Coastguard Worker)
390*c8dee2aaSAndroid Build Coastguard Worker
391*c8dee2aaSAndroid Build Coastguard Workergenerate_cpp_files_for_headers(
392*c8dee2aaSAndroid Build Coastguard Worker    name = "headers_to_compile",
393*c8dee2aaSAndroid Build Coastguard Worker    headers = [
394*c8dee2aaSAndroid Build Coastguard Worker        "SkPixmapUtilsPriv.h",
395*c8dee2aaSAndroid Build Coastguard Worker        "SkScalingCodec.h",
396*c8dee2aaSAndroid Build Coastguard Worker    ],
397*c8dee2aaSAndroid Build Coastguard Worker)
398*c8dee2aaSAndroid Build Coastguard Worker
399*c8dee2aaSAndroid Build Coastguard Worker# The following are not yet incorporated into the Bazel build
400*c8dee2aaSAndroid Build Coastguard Workerskia_filegroup(
401*c8dee2aaSAndroid Build Coastguard Worker    name = "xmp_srcs",
402*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
403*c8dee2aaSAndroid Build Coastguard Worker        "SkXmp.cpp",
404*c8dee2aaSAndroid Build Coastguard Worker    ],
405*c8dee2aaSAndroid Build Coastguard Worker)
406*c8dee2aaSAndroid Build Coastguard Worker
407*c8dee2aaSAndroid Build Coastguard Workersplit_srcs_and_hdrs(
408*c8dee2aaSAndroid Build Coastguard Worker    name = "jpeg_xmp",
409*c8dee2aaSAndroid Build Coastguard Worker    files = [
410*c8dee2aaSAndroid Build Coastguard Worker        "SkJpegXmp.cpp",
411*c8dee2aaSAndroid Build Coastguard Worker        "SkJpegXmp.h",
412*c8dee2aaSAndroid Build Coastguard Worker    ],
413*c8dee2aaSAndroid Build Coastguard Worker)
414