xref: /aosp_15_r20/external/skia/example/external_client/BUILD.bazel (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workerload("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")
2*c8dee2aaSAndroid Build Coastguard Worker
3*c8dee2aaSAndroid Build Coastguard Worker# This first example only needs the core Skia functionality and the pathops
4*c8dee2aaSAndroid Build Coastguard Worker# module. Thus, the client defines a cc_library (skia_core_and_pathops) with
5*c8dee2aaSAndroid Build Coastguard Worker# those components and then depending on that library.
6*c8dee2aaSAndroid Build Coastguard Workercc_binary(
7*c8dee2aaSAndroid Build Coastguard Worker    name = "path_combiner",
8*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["src/path_main.cpp"],
9*c8dee2aaSAndroid Build Coastguard Worker    linkopts = [
10*c8dee2aaSAndroid Build Coastguard Worker        "-fuse-ld=lld",
11*c8dee2aaSAndroid Build Coastguard Worker        "-lpthread",
12*c8dee2aaSAndroid Build Coastguard Worker    ],
13*c8dee2aaSAndroid Build Coastguard Worker    deps = [":skia_core_and_pathops"],
14*c8dee2aaSAndroid Build Coastguard Worker)
15*c8dee2aaSAndroid Build Coastguard Worker
16*c8dee2aaSAndroid Build Coastguard Workercc_library(
17*c8dee2aaSAndroid Build Coastguard Worker    name = "skia_core_and_pathops",
18*c8dee2aaSAndroid Build Coastguard Worker    deps = [
19*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:core",
20*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:pathops",
21*c8dee2aaSAndroid Build Coastguard Worker    ],
22*c8dee2aaSAndroid Build Coastguard Worker)
23*c8dee2aaSAndroid Build Coastguard Worker
24*c8dee2aaSAndroid Build Coastguard Workercc_binary(
25*c8dee2aaSAndroid Build Coastguard Worker    name = "png_decoder",
26*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["src/decode_png_main.cpp"],
27*c8dee2aaSAndroid Build Coastguard Worker    linkopts = [
28*c8dee2aaSAndroid Build Coastguard Worker        "-fuse-ld=lld",
29*c8dee2aaSAndroid Build Coastguard Worker        "-lpthread",
30*c8dee2aaSAndroid Build Coastguard Worker    ],
31*c8dee2aaSAndroid Build Coastguard Worker    deps = [
32*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:core",
33*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:png_decode_codec",
34*c8dee2aaSAndroid Build Coastguard Worker    ],
35*c8dee2aaSAndroid Build Coastguard Worker)
36*c8dee2aaSAndroid Build Coastguard Worker
37*c8dee2aaSAndroid Build Coastguard Workercc_binary(
38*c8dee2aaSAndroid Build Coastguard Worker    name = "decode_everything",
39*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["src/decode_everything.cpp"],
40*c8dee2aaSAndroid Build Coastguard Worker    linkopts = select({
41*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:linux": [
42*c8dee2aaSAndroid Build Coastguard Worker            "-fuse-ld=lld",
43*c8dee2aaSAndroid Build Coastguard Worker            "-lpthread",
44*c8dee2aaSAndroid Build Coastguard Worker        ],
45*c8dee2aaSAndroid Build Coastguard Worker        "//conditions:default": [],
46*c8dee2aaSAndroid Build Coastguard Worker    }),
47*c8dee2aaSAndroid Build Coastguard Worker    deps = [
48*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:bmp_decode_codec",
49*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:core",
50*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:gif_decode_codec",
51*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:ico_decode_codec",
52*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:jpeg_decode_codec",
53*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:jpegxl_decode_codec",
54*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:png_decode_codec",
55*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:wbmp_decode_codec",
56*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:webp_decode_codec",
57*c8dee2aaSAndroid Build Coastguard Worker    ],
58*c8dee2aaSAndroid Build Coastguard Worker)
59*c8dee2aaSAndroid Build Coastguard Worker
60*c8dee2aaSAndroid Build Coastguard Workercc_binary(
61*c8dee2aaSAndroid Build Coastguard Worker    name = "write_text_to_png",
62*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["src/write_text_to_png.cpp"],
63*c8dee2aaSAndroid Build Coastguard Worker    linkopts = [
64*c8dee2aaSAndroid Build Coastguard Worker        "-fuse-ld=lld",
65*c8dee2aaSAndroid Build Coastguard Worker        "-lpthread",
66*c8dee2aaSAndroid Build Coastguard Worker    ],
67*c8dee2aaSAndroid Build Coastguard Worker    deps = [
68*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:core",
69*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:png_encode_codec",
70*c8dee2aaSAndroid Build Coastguard Worker    ] + select({
71*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:linux": [
72*c8dee2aaSAndroid Build Coastguard Worker            "@skia//:fontmgr_fontconfig_freetype",
73*c8dee2aaSAndroid Build Coastguard Worker            "@skia//:freetype_support",
74*c8dee2aaSAndroid Build Coastguard Worker        ],
75*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:macos": ["@skia//:fontmgr_coretext"],
76*c8dee2aaSAndroid Build Coastguard Worker        "//conditions:default": ["@skia//:fontmgr_empty_freetype"],
77*c8dee2aaSAndroid Build Coastguard Worker    }),
78*c8dee2aaSAndroid Build Coastguard Worker)
79*c8dee2aaSAndroid Build Coastguard Worker
80*c8dee2aaSAndroid Build Coastguard Workercc_binary(
81*c8dee2aaSAndroid Build Coastguard Worker    name = "shape_text",
82*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["src/shape_text.cpp"],
83*c8dee2aaSAndroid Build Coastguard Worker    linkopts = [
84*c8dee2aaSAndroid Build Coastguard Worker        "-fuse-ld=lld",
85*c8dee2aaSAndroid Build Coastguard Worker        "-lpthread",
86*c8dee2aaSAndroid Build Coastguard Worker    ],
87*c8dee2aaSAndroid Build Coastguard Worker    deps = [
88*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:core",
89*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:fontmgr_empty_freetype",
90*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:jpeg_encode_codec",
91*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:skparagraph_harfbuzz_skunicode",
92*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:skunicode_icu",
93*c8dee2aaSAndroid Build Coastguard Worker    ],
94*c8dee2aaSAndroid Build Coastguard Worker)
95*c8dee2aaSAndroid Build Coastguard Worker
96*c8dee2aaSAndroid Build Coastguard Workercc_binary(
97*c8dee2aaSAndroid Build Coastguard Worker    name = "use_ganesh_gl",
98*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["src/ganesh_gl.cpp"],
99*c8dee2aaSAndroid Build Coastguard Worker    linkopts = [
100*c8dee2aaSAndroid Build Coastguard Worker    ] + select(
101*c8dee2aaSAndroid Build Coastguard Worker        {
102*c8dee2aaSAndroid Build Coastguard Worker            "@platforms//os:windows": [],
103*c8dee2aaSAndroid Build Coastguard Worker            "//conditions:default": [
104*c8dee2aaSAndroid Build Coastguard Worker                "-lpthread",
105*c8dee2aaSAndroid Build Coastguard Worker            ],
106*c8dee2aaSAndroid Build Coastguard Worker        },
107*c8dee2aaSAndroid Build Coastguard Worker    ) + select(
108*c8dee2aaSAndroid Build Coastguard Worker        {
109*c8dee2aaSAndroid Build Coastguard Worker            "@platforms//os:linux": [
110*c8dee2aaSAndroid Build Coastguard Worker                "-lGL",
111*c8dee2aaSAndroid Build Coastguard Worker                "-lX11",
112*c8dee2aaSAndroid Build Coastguard Worker            ],
113*c8dee2aaSAndroid Build Coastguard Worker            "@platforms//os:windows": [
114*c8dee2aaSAndroid Build Coastguard Worker                "-lgdi32",
115*c8dee2aaSAndroid Build Coastguard Worker                "-lOpenGL32",
116*c8dee2aaSAndroid Build Coastguard Worker                "-luser32",
117*c8dee2aaSAndroid Build Coastguard Worker            ],
118*c8dee2aaSAndroid Build Coastguard Worker            "//conditions:default": [],
119*c8dee2aaSAndroid Build Coastguard Worker        },
120*c8dee2aaSAndroid Build Coastguard Worker    ),
121*c8dee2aaSAndroid Build Coastguard Worker    deps = [
122*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:core",
123*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:ganesh_gl",
124*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:webp_encode_codec",
125*c8dee2aaSAndroid Build Coastguard Worker    ] + select({
126*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:linux": ["@skia//:ganesh_glx_factory"],
127*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:macos": [
128*c8dee2aaSAndroid Build Coastguard Worker            ":gl_context_helper",
129*c8dee2aaSAndroid Build Coastguard Worker            "@skia//:ganesh_gl_mac_factory",
130*c8dee2aaSAndroid Build Coastguard Worker        ],
131*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:windows": [
132*c8dee2aaSAndroid Build Coastguard Worker            "@skia//:ganesh_gl_win_factory",
133*c8dee2aaSAndroid Build Coastguard Worker        ],
134*c8dee2aaSAndroid Build Coastguard Worker        "//conditions:default": ["@platforms//:incompatible"],
135*c8dee2aaSAndroid Build Coastguard Worker    }),
136*c8dee2aaSAndroid Build Coastguard Worker)
137*c8dee2aaSAndroid Build Coastguard Worker
138*c8dee2aaSAndroid Build Coastguard Workerobjc_library(
139*c8dee2aaSAndroid Build Coastguard Worker    name = "gl_context_helper",
140*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["src/gl_context_helper.mm"],
141*c8dee2aaSAndroid Build Coastguard Worker    hdrs = ["src/gl_context_helper.h"],
142*c8dee2aaSAndroid Build Coastguard Worker    copts = ["-DGL_SILENCE_DEPRECATION"],
143*c8dee2aaSAndroid Build Coastguard Worker    includes = ["src"],
144*c8dee2aaSAndroid Build Coastguard Worker    sdk_frameworks = [
145*c8dee2aaSAndroid Build Coastguard Worker        "OpenGL",
146*c8dee2aaSAndroid Build Coastguard Worker    ],
147*c8dee2aaSAndroid Build Coastguard Worker)
148*c8dee2aaSAndroid Build Coastguard Worker
149*c8dee2aaSAndroid Build Coastguard Workercc_binary(
150*c8dee2aaSAndroid Build Coastguard Worker    name = "use_ganesh_vulkan",
151*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["src/ganesh_vulkan.cpp"],
152*c8dee2aaSAndroid Build Coastguard Worker    linkopts = [
153*c8dee2aaSAndroid Build Coastguard Worker        "-lpthread",
154*c8dee2aaSAndroid Build Coastguard Worker    ],
155*c8dee2aaSAndroid Build Coastguard Worker    deps = [
156*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:core",
157*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:ganesh_vulkan",
158*c8dee2aaSAndroid Build Coastguard Worker    ],
159*c8dee2aaSAndroid Build Coastguard Worker)
160*c8dee2aaSAndroid Build Coastguard Worker
161*c8dee2aaSAndroid Build Coastguard Workercc_binary(
162*c8dee2aaSAndroid Build Coastguard Worker    name = "use_ganesh_metal",
163*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["src/ganesh_metal.cpp"],
164*c8dee2aaSAndroid Build Coastguard Worker    target_compatible_with = select({
165*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:macos": [],
166*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:ios": [],
167*c8dee2aaSAndroid Build Coastguard Worker        "//conditions:default": ["@platforms//:incompatible"],
168*c8dee2aaSAndroid Build Coastguard Worker    }),
169*c8dee2aaSAndroid Build Coastguard Worker    deps = [
170*c8dee2aaSAndroid Build Coastguard Worker        ":ganesh_metal_context_helper",
171*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:core",
172*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:ganesh_metal",
173*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:jpeg_encode_codec",
174*c8dee2aaSAndroid Build Coastguard Worker    ],
175*c8dee2aaSAndroid Build Coastguard Worker)
176*c8dee2aaSAndroid Build Coastguard Worker
177*c8dee2aaSAndroid Build Coastguard Workerobjc_library(
178*c8dee2aaSAndroid Build Coastguard Worker    name = "ganesh_metal_context_helper",
179*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["src/ganesh_metal_context_helper.mm"],
180*c8dee2aaSAndroid Build Coastguard Worker    hdrs = ["src/ganesh_metal_context_helper.h"],
181*c8dee2aaSAndroid Build Coastguard Worker    includes = ["src"],
182*c8dee2aaSAndroid Build Coastguard Worker    sdk_frameworks = [
183*c8dee2aaSAndroid Build Coastguard Worker        # Without MetalKit added as a dependency, `[*device newCommandQueue]` fails
184*c8dee2aaSAndroid Build Coastguard Worker        "MetalKit",
185*c8dee2aaSAndroid Build Coastguard Worker        "Metal",
186*c8dee2aaSAndroid Build Coastguard Worker    ],
187*c8dee2aaSAndroid Build Coastguard Worker    target_compatible_with = select({
188*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:macos": [],
189*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:ios": [],
190*c8dee2aaSAndroid Build Coastguard Worker        "//conditions:default": ["@platforms//:incompatible"],
191*c8dee2aaSAndroid Build Coastguard Worker    }),
192*c8dee2aaSAndroid Build Coastguard Worker    deps = [
193*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:core",
194*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:ganesh_metal",
195*c8dee2aaSAndroid Build Coastguard Worker    ],
196*c8dee2aaSAndroid Build Coastguard Worker)
197*c8dee2aaSAndroid Build Coastguard Worker
198*c8dee2aaSAndroid Build Coastguard Workercc_binary(
199*c8dee2aaSAndroid Build Coastguard Worker    name = "use_graphite_native_metal",
200*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["src/graphite_native_metal.cpp"],
201*c8dee2aaSAndroid Build Coastguard Worker    target_compatible_with = select({
202*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:macos": [],
203*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:ios": [],
204*c8dee2aaSAndroid Build Coastguard Worker        "//conditions:default": ["@platforms//:incompatible"],
205*c8dee2aaSAndroid Build Coastguard Worker    }),
206*c8dee2aaSAndroid Build Coastguard Worker    deps = [
207*c8dee2aaSAndroid Build Coastguard Worker        ":graphite_metal_context_helper",
208*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:core",
209*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:graphite_native_metal",
210*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:jpeg_encode_codec",
211*c8dee2aaSAndroid Build Coastguard Worker    ],
212*c8dee2aaSAndroid Build Coastguard Worker)
213*c8dee2aaSAndroid Build Coastguard Worker
214*c8dee2aaSAndroid Build Coastguard Workerobjc_library(
215*c8dee2aaSAndroid Build Coastguard Worker    name = "graphite_metal_context_helper",
216*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["src/graphite_metal_context_helper.mm"],
217*c8dee2aaSAndroid Build Coastguard Worker    hdrs = ["src/graphite_metal_context_helper.h"],
218*c8dee2aaSAndroid Build Coastguard Worker    includes = ["src"],
219*c8dee2aaSAndroid Build Coastguard Worker    sdk_frameworks = [
220*c8dee2aaSAndroid Build Coastguard Worker        # Without MetalKit added as a dependency, `[*device newCommandQueue]` fails
221*c8dee2aaSAndroid Build Coastguard Worker        "MetalKit",
222*c8dee2aaSAndroid Build Coastguard Worker        "Metal",
223*c8dee2aaSAndroid Build Coastguard Worker    ],
224*c8dee2aaSAndroid Build Coastguard Worker    target_compatible_with = select({
225*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:macos": [],
226*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:ios": [],
227*c8dee2aaSAndroid Build Coastguard Worker        "//conditions:default": ["@platforms//:incompatible"],
228*c8dee2aaSAndroid Build Coastguard Worker    }),
229*c8dee2aaSAndroid Build Coastguard Worker    deps = [
230*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:core",
231*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:graphite_native_metal",
232*c8dee2aaSAndroid Build Coastguard Worker    ],
233*c8dee2aaSAndroid Build Coastguard Worker)
234*c8dee2aaSAndroid Build Coastguard Worker
235*c8dee2aaSAndroid Build Coastguard Workercc_binary(
236*c8dee2aaSAndroid Build Coastguard Worker    name = "use_graphite_native_vulkan",
237*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["src/graphite_native_vulkan.cpp"],
238*c8dee2aaSAndroid Build Coastguard Worker    linkopts = [
239*c8dee2aaSAndroid Build Coastguard Worker        "-lpthread",
240*c8dee2aaSAndroid Build Coastguard Worker    ],
241*c8dee2aaSAndroid Build Coastguard Worker    deps = [
242*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:core",
243*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:graphite_native_vulkan",
244*c8dee2aaSAndroid Build Coastguard Worker        "@vulkan_headers",
245*c8dee2aaSAndroid Build Coastguard Worker    ],
246*c8dee2aaSAndroid Build Coastguard Worker)
247*c8dee2aaSAndroid Build Coastguard Worker
248*c8dee2aaSAndroid Build Coastguard Workercc_binary(
249*c8dee2aaSAndroid Build Coastguard Worker    name = "use_skresources",
250*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["src/use_skresources.cpp"],
251*c8dee2aaSAndroid Build Coastguard Worker    linkopts = [
252*c8dee2aaSAndroid Build Coastguard Worker        "-lpthread",
253*c8dee2aaSAndroid Build Coastguard Worker    ],
254*c8dee2aaSAndroid Build Coastguard Worker    deps = [
255*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:core",
256*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:jpeg_decode_codec",
257*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:png_decode_codec",
258*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:skresources",
259*c8dee2aaSAndroid Build Coastguard Worker    ],
260*c8dee2aaSAndroid Build Coastguard Worker)
261*c8dee2aaSAndroid Build Coastguard Worker
262*c8dee2aaSAndroid Build Coastguard Workercc_binary(
263*c8dee2aaSAndroid Build Coastguard Worker    name = "svg_with_primitive",
264*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["src/svg_renderer.cpp"],
265*c8dee2aaSAndroid Build Coastguard Worker    linkopts = [
266*c8dee2aaSAndroid Build Coastguard Worker        "-lpthread",
267*c8dee2aaSAndroid Build Coastguard Worker    ],
268*c8dee2aaSAndroid Build Coastguard Worker    deps = [
269*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:core",
270*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:png_encode_codec",
271*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:skshaper_core",
272*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:svg_renderer",
273*c8dee2aaSAndroid Build Coastguard Worker    ] + select({
274*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:linux": ["@skia//:fontmgr_fontconfig_freetype"],
275*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:macos": ["@skia//:fontmgr_coretext"],
276*c8dee2aaSAndroid Build Coastguard Worker        "//conditions:default": [],
277*c8dee2aaSAndroid Build Coastguard Worker    }),
278*c8dee2aaSAndroid Build Coastguard Worker)
279*c8dee2aaSAndroid Build Coastguard Worker
280*c8dee2aaSAndroid Build Coastguard Workercc_binary(
281*c8dee2aaSAndroid Build Coastguard Worker    name = "svg_with_harfbuzz",
282*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["src/svg_renderer.cpp"],
283*c8dee2aaSAndroid Build Coastguard Worker    linkopts = [
284*c8dee2aaSAndroid Build Coastguard Worker        "-lpthread",
285*c8dee2aaSAndroid Build Coastguard Worker    ],
286*c8dee2aaSAndroid Build Coastguard Worker    deps = [
287*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:core",
288*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:png_encode_codec",
289*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:skshaper_harfbuzz",
290*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:skshaper_unicode",
291*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:skunicode_icu",
292*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:svg_renderer",
293*c8dee2aaSAndroid Build Coastguard Worker    ] + select({
294*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:linux": ["@skia//:fontmgr_fontconfig_freetype"],
295*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:macos": ["@skia//:fontmgr_coretext"],
296*c8dee2aaSAndroid Build Coastguard Worker        "//conditions:default": [],
297*c8dee2aaSAndroid Build Coastguard Worker    }),
298*c8dee2aaSAndroid Build Coastguard Worker)
299*c8dee2aaSAndroid Build Coastguard Worker
300*c8dee2aaSAndroid Build Coastguard Workercc_binary(
301*c8dee2aaSAndroid Build Coastguard Worker    name = "write_to_pdf",
302*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["src/write_to_pdf.cpp"],
303*c8dee2aaSAndroid Build Coastguard Worker    linkopts = [
304*c8dee2aaSAndroid Build Coastguard Worker        "-lpthread",
305*c8dee2aaSAndroid Build Coastguard Worker    ],
306*c8dee2aaSAndroid Build Coastguard Worker    deps = [
307*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:core",
308*c8dee2aaSAndroid Build Coastguard Worker        "@skia//:pdf_writer",
309*c8dee2aaSAndroid Build Coastguard Worker    ] + select({
310*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:linux": ["@skia//:fontmgr_fontconfig_freetype"],
311*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:macos": ["@skia//:fontmgr_coretext"],
312*c8dee2aaSAndroid Build Coastguard Worker        "//conditions:default": [],
313*c8dee2aaSAndroid Build Coastguard Worker    }),
314*c8dee2aaSAndroid Build Coastguard Worker)
315