xref: /aosp_15_r20/external/skia/tools/BUILD.bazel (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workerload("//bazel:macros.bzl", "py_binary")
2*c8dee2aaSAndroid Build Coastguard Workerload("//bazel:skia_rules.bzl", "skia_cc_library", "skia_objc_library")
3*c8dee2aaSAndroid Build Coastguard Worker
4*c8dee2aaSAndroid Build Coastguard Workerpackage(
5*c8dee2aaSAndroid Build Coastguard Worker    default_applicable_licenses = ["//:license"],
6*c8dee2aaSAndroid Build Coastguard Worker)
7*c8dee2aaSAndroid Build Coastguard Worker
8*c8dee2aaSAndroid Build Coastguard Workerlicenses(["notice"])
9*c8dee2aaSAndroid Build Coastguard Worker
10*c8dee2aaSAndroid Build Coastguard Workerexports_files([
11*c8dee2aaSAndroid Build Coastguard Worker    "ToolUtils.h",
12*c8dee2aaSAndroid Build Coastguard Worker    "ToolUtils.cpp",
13*c8dee2aaSAndroid Build Coastguard Worker    "SkMetaData.h",
14*c8dee2aaSAndroid Build Coastguard Worker    "SkMetaData.cpp",
15*c8dee2aaSAndroid Build Coastguard Worker    "Registry.h",
16*c8dee2aaSAndroid Build Coastguard Worker    "Resources.h",
17*c8dee2aaSAndroid Build Coastguard Worker    "Resources.cpp",
18*c8dee2aaSAndroid Build Coastguard Worker    "ResourceFactory.h",
19*c8dee2aaSAndroid Build Coastguard Worker])
20*c8dee2aaSAndroid Build Coastguard Worker
21*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
22*c8dee2aaSAndroid Build Coastguard Worker    name = "registry",
23*c8dee2aaSAndroid Build Coastguard Worker    hdrs = ["Registry.h"],
24*c8dee2aaSAndroid Build Coastguard Worker    visibility = [
25*c8dee2aaSAndroid Build Coastguard Worker        "//bench:__pkg__",
26*c8dee2aaSAndroid Build Coastguard Worker        "//gm:__pkg__",
27*c8dee2aaSAndroid Build Coastguard Worker        "//tests:__subpackages__",
28*c8dee2aaSAndroid Build Coastguard Worker        "//tools/testrunners/benchmark:__pkg__",
29*c8dee2aaSAndroid Build Coastguard Worker        "//tools/viewer:__pkg__",
30*c8dee2aaSAndroid Build Coastguard Worker    ],
31*c8dee2aaSAndroid Build Coastguard Worker    deps = ["//:core"],
32*c8dee2aaSAndroid Build Coastguard Worker)
33*c8dee2aaSAndroid Build Coastguard Worker
34*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
35*c8dee2aaSAndroid Build Coastguard Worker    name = "hash_and_encode",
36*c8dee2aaSAndroid Build Coastguard Worker    testonly = True,
37*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["HashAndEncode.cpp"],
38*c8dee2aaSAndroid Build Coastguard Worker    hdrs = ["HashAndEncode.h"],
39*c8dee2aaSAndroid Build Coastguard Worker    visibility = [
40*c8dee2aaSAndroid Build Coastguard Worker        "//dm:__pkg__",
41*c8dee2aaSAndroid Build Coastguard Worker        "//gm:__pkg__",
42*c8dee2aaSAndroid Build Coastguard Worker    ],
43*c8dee2aaSAndroid Build Coastguard Worker    deps = [
44*c8dee2aaSAndroid Build Coastguard Worker        "//:core",
45*c8dee2aaSAndroid Build Coastguard Worker        "//:png_encode_codec",
46*c8dee2aaSAndroid Build Coastguard Worker        "//tools/flags:cmd_flags",
47*c8dee2aaSAndroid Build Coastguard Worker    ],
48*c8dee2aaSAndroid Build Coastguard Worker)
49*c8dee2aaSAndroid Build Coastguard Worker
50*c8dee2aaSAndroid Build Coastguard Workerpy_binary(
51*c8dee2aaSAndroid Build Coastguard Worker    name = "embed_resources",
52*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["embed_resources.py"],
53*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//:__subpackages__"],
54*c8dee2aaSAndroid Build Coastguard Worker)
55*c8dee2aaSAndroid Build Coastguard Worker
56*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
57*c8dee2aaSAndroid Build Coastguard Worker    name = "autorelease_pool",
58*c8dee2aaSAndroid Build Coastguard Worker    hdrs = ["AutoreleasePool.h"],
59*c8dee2aaSAndroid Build Coastguard Worker    visibility = [
60*c8dee2aaSAndroid Build Coastguard Worker        "//bench:__pkg__",
61*c8dee2aaSAndroid Build Coastguard Worker        "//dm:__pkg__",
62*c8dee2aaSAndroid Build Coastguard Worker        "//tools/gpu:__pkg__",
63*c8dee2aaSAndroid Build Coastguard Worker        "//tools/testrunners/benchmark:__pkg__",
64*c8dee2aaSAndroid Build Coastguard Worker    ],
65*c8dee2aaSAndroid Build Coastguard Worker)
66*c8dee2aaSAndroid Build Coastguard Worker
67*c8dee2aaSAndroid Build Coastguard Workerskia_objc_library(
68*c8dee2aaSAndroid Build Coastguard Worker    name = "autorelease_pool_objc",
69*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["AutoreleasePool.mm"],
70*c8dee2aaSAndroid Build Coastguard Worker    hdrs = ["AutoreleasePool.h"],
71*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//tools/gpu:__pkg__"],
72*c8dee2aaSAndroid Build Coastguard Worker)
73*c8dee2aaSAndroid Build Coastguard Worker
74*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
75*c8dee2aaSAndroid Build Coastguard Worker    name = "url_data_manager",
76*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["UrlDataManager.cpp"],
77*c8dee2aaSAndroid Build Coastguard Worker    hdrs = ["UrlDataManager.h"],
78*c8dee2aaSAndroid Build Coastguard Worker    visibility = [
79*c8dee2aaSAndroid Build Coastguard Worker        "//dm:__pkg__",
80*c8dee2aaSAndroid Build Coastguard Worker        "//tools/debugger:__pkg__",
81*c8dee2aaSAndroid Build Coastguard Worker    ],
82*c8dee2aaSAndroid Build Coastguard Worker    deps = ["//:core"],
83*c8dee2aaSAndroid Build Coastguard Worker)
84*c8dee2aaSAndroid Build Coastguard Worker
85*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
86*c8dee2aaSAndroid Build Coastguard Worker    name = "ddl_utils",
87*c8dee2aaSAndroid Build Coastguard Worker    testonly = True,
88*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
89*c8dee2aaSAndroid Build Coastguard Worker        "DDLPromiseImageHelper.cpp",
90*c8dee2aaSAndroid Build Coastguard Worker        "DDLPromiseImageHelper.h",
91*c8dee2aaSAndroid Build Coastguard Worker        "DDLTileHelper.cpp",
92*c8dee2aaSAndroid Build Coastguard Worker        "DDLTileHelper.h",
93*c8dee2aaSAndroid Build Coastguard Worker    ],
94*c8dee2aaSAndroid Build Coastguard Worker    hdrs = [
95*c8dee2aaSAndroid Build Coastguard Worker        "DDLPromiseImageHelper.h",
96*c8dee2aaSAndroid Build Coastguard Worker        "DDLTileHelper.h",
97*c8dee2aaSAndroid Build Coastguard Worker    ],
98*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//dm:__pkg__"],
99*c8dee2aaSAndroid Build Coastguard Worker    deps = [
100*c8dee2aaSAndroid Build Coastguard Worker        "//:core",
101*c8dee2aaSAndroid Build Coastguard Worker        "//src/codec:codec_support_priv",
102*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu/ganesh:ganesh_TEST_UTIL",
103*c8dee2aaSAndroid Build Coastguard Worker    ],
104*c8dee2aaSAndroid Build Coastguard Worker)
105*c8dee2aaSAndroid Build Coastguard Worker
106*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
107*c8dee2aaSAndroid Build Coastguard Worker    name = "test_font_data_provider",
108*c8dee2aaSAndroid Build Coastguard Worker    testonly = True,
109*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["TestFontDataProvider.cpp"],
110*c8dee2aaSAndroid Build Coastguard Worker    hdrs = ["TestFontDataProvider.h"],
111*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//dm:__pkg__"],
112*c8dee2aaSAndroid Build Coastguard Worker    deps = [
113*c8dee2aaSAndroid Build Coastguard Worker        "//:core",
114*c8dee2aaSAndroid Build Coastguard Worker        "//tools/flags:cmd_flags",
115*c8dee2aaSAndroid Build Coastguard Worker    ],
116*c8dee2aaSAndroid Build Coastguard Worker)
117*c8dee2aaSAndroid Build Coastguard Worker
118*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
119*c8dee2aaSAndroid Build Coastguard Worker    name = "sk_sharing_proc",
120*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["SkSharingProc.cpp"],
121*c8dee2aaSAndroid Build Coastguard Worker    hdrs = ["SkSharingProc.h"],
122*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//tools/debugger:__pkg__"],
123*c8dee2aaSAndroid Build Coastguard Worker    deps = [
124*c8dee2aaSAndroid Build Coastguard Worker        "//:core",
125*c8dee2aaSAndroid Build Coastguard Worker        "//:png_decode_codec",
126*c8dee2aaSAndroid Build Coastguard Worker        "//:png_encode_codec",
127*c8dee2aaSAndroid Build Coastguard Worker    ],
128*c8dee2aaSAndroid Build Coastguard Worker)
129*c8dee2aaSAndroid Build Coastguard Worker
130*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
131*c8dee2aaSAndroid Build Coastguard Worker    name = "mskp_player",
132*c8dee2aaSAndroid Build Coastguard Worker    testonly = True,
133*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["MSKPPlayer.cpp"],
134*c8dee2aaSAndroid Build Coastguard Worker    hdrs = ["MSKPPlayer.h"],
135*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//tools/viewer:__pkg__"],
136*c8dee2aaSAndroid Build Coastguard Worker    deps = [
137*c8dee2aaSAndroid Build Coastguard Worker        ":sk_sharing_proc",
138*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu/ganesh:ganesh_TEST_UTIL",
139*c8dee2aaSAndroid Build Coastguard Worker        "//src/utils:multi_picture_document",
140*c8dee2aaSAndroid Build Coastguard Worker    ],
141*c8dee2aaSAndroid Build Coastguard Worker)
142*c8dee2aaSAndroid Build Coastguard Worker
143*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
144*c8dee2aaSAndroid Build Coastguard Worker    name = "runtime_blend_utils",
145*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["RuntimeBlendUtils.cpp"],
146*c8dee2aaSAndroid Build Coastguard Worker    hdrs = ["RuntimeBlendUtils.h"],
147*c8dee2aaSAndroid Build Coastguard Worker    visibility = [
148*c8dee2aaSAndroid Build Coastguard Worker        "//dm:__pkg__",
149*c8dee2aaSAndroid Build Coastguard Worker        "//tests:__pkg__",
150*c8dee2aaSAndroid Build Coastguard Worker        "//tools/viewer:__pkg__",
151*c8dee2aaSAndroid Build Coastguard Worker    ],
152*c8dee2aaSAndroid Build Coastguard Worker    deps = ["//:core"],
153*c8dee2aaSAndroid Build Coastguard Worker)
154*c8dee2aaSAndroid Build Coastguard Worker
155*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
156*c8dee2aaSAndroid Build Coastguard Worker    name = "stats",
157*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["ProcStats.cpp"],
158*c8dee2aaSAndroid Build Coastguard Worker    hdrs = [
159*c8dee2aaSAndroid Build Coastguard Worker        "ProcStats.h",
160*c8dee2aaSAndroid Build Coastguard Worker        "Stats.h",
161*c8dee2aaSAndroid Build Coastguard Worker    ],
162*c8dee2aaSAndroid Build Coastguard Worker    visibility = [
163*c8dee2aaSAndroid Build Coastguard Worker        "//bench:__pkg__",
164*c8dee2aaSAndroid Build Coastguard Worker        "//dm:__pkg__",
165*c8dee2aaSAndroid Build Coastguard Worker        "//tools/testrunners/benchmark:__pkg__",
166*c8dee2aaSAndroid Build Coastguard Worker    ],
167*c8dee2aaSAndroid Build Coastguard Worker    deps = ["//:core"],
168*c8dee2aaSAndroid Build Coastguard Worker)
169*c8dee2aaSAndroid Build Coastguard Worker
170*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
171*c8dee2aaSAndroid Build Coastguard Worker    name = "tool_utils",
172*c8dee2aaSAndroid Build Coastguard Worker    testonly = True,
173*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
174*c8dee2aaSAndroid Build Coastguard Worker        "SkMetaData.cpp",
175*c8dee2aaSAndroid Build Coastguard Worker        "ToolUtils.cpp",
176*c8dee2aaSAndroid Build Coastguard Worker    ],
177*c8dee2aaSAndroid Build Coastguard Worker    hdrs = [
178*c8dee2aaSAndroid Build Coastguard Worker        "SkMetaData.h",
179*c8dee2aaSAndroid Build Coastguard Worker        "ToolUtils.h",
180*c8dee2aaSAndroid Build Coastguard Worker    ],
181*c8dee2aaSAndroid Build Coastguard Worker    visibility = [
182*c8dee2aaSAndroid Build Coastguard Worker        "//bench:__subpackages__",
183*c8dee2aaSAndroid Build Coastguard Worker        "//gm:__subpackages__",
184*c8dee2aaSAndroid Build Coastguard Worker        "//tools:__subpackages__",
185*c8dee2aaSAndroid Build Coastguard Worker    ],
186*c8dee2aaSAndroid Build Coastguard Worker    deps = [
187*c8dee2aaSAndroid Build Coastguard Worker        "//:core",
188*c8dee2aaSAndroid Build Coastguard Worker        "//src/base",
189*c8dee2aaSAndroid Build Coastguard Worker        "//src/core:core_priv",
190*c8dee2aaSAndroid Build Coastguard Worker    ],
191*c8dee2aaSAndroid Build Coastguard Worker)
192*c8dee2aaSAndroid Build Coastguard Worker
193*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
194*c8dee2aaSAndroid Build Coastguard Worker    name = "codec_utils",
195*c8dee2aaSAndroid Build Coastguard Worker    testonly = True,
196*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
197*c8dee2aaSAndroid Build Coastguard Worker        "DecodeUtils.cpp",
198*c8dee2aaSAndroid Build Coastguard Worker        "EncodeUtils.cpp",
199*c8dee2aaSAndroid Build Coastguard Worker    ],
200*c8dee2aaSAndroid Build Coastguard Worker    hdrs = [
201*c8dee2aaSAndroid Build Coastguard Worker        "CodecUtils.h",
202*c8dee2aaSAndroid Build Coastguard Worker        "DecodeUtils.h",
203*c8dee2aaSAndroid Build Coastguard Worker        "EncodeUtils.h",
204*c8dee2aaSAndroid Build Coastguard Worker    ],
205*c8dee2aaSAndroid Build Coastguard Worker    visibility = [
206*c8dee2aaSAndroid Build Coastguard Worker        "//dm:__pkg__",
207*c8dee2aaSAndroid Build Coastguard Worker        "//gm:__subpackages__",
208*c8dee2aaSAndroid Build Coastguard Worker        "//tools/viewer:__pkg__",
209*c8dee2aaSAndroid Build Coastguard Worker    ],
210*c8dee2aaSAndroid Build Coastguard Worker    deps = [
211*c8dee2aaSAndroid Build Coastguard Worker        "//:core",
212*c8dee2aaSAndroid Build Coastguard Worker        "//:png_decode_codec",
213*c8dee2aaSAndroid Build Coastguard Worker        "//:png_encode_codec",
214*c8dee2aaSAndroid Build Coastguard Worker        "//src/base",
215*c8dee2aaSAndroid Build Coastguard Worker        "//src/core:core_priv",
216*c8dee2aaSAndroid Build Coastguard Worker        "//tools:resources",
217*c8dee2aaSAndroid Build Coastguard Worker    ],
218*c8dee2aaSAndroid Build Coastguard Worker)
219*c8dee2aaSAndroid Build Coastguard Worker
220*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
221*c8dee2aaSAndroid Build Coastguard Worker    name = "resources",
222*c8dee2aaSAndroid Build Coastguard Worker    testonly = True,
223*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
224*c8dee2aaSAndroid Build Coastguard Worker        "Resources.cpp",
225*c8dee2aaSAndroid Build Coastguard Worker    ],
226*c8dee2aaSAndroid Build Coastguard Worker    hdrs = [
227*c8dee2aaSAndroid Build Coastguard Worker        "Resources.h",
228*c8dee2aaSAndroid Build Coastguard Worker    ],
229*c8dee2aaSAndroid Build Coastguard Worker    visibility = [
230*c8dee2aaSAndroid Build Coastguard Worker        "//bench:__subpackages__",
231*c8dee2aaSAndroid Build Coastguard Worker        "//tools:__subpackages__",
232*c8dee2aaSAndroid Build Coastguard Worker    ],
233*c8dee2aaSAndroid Build Coastguard Worker    deps = [
234*c8dee2aaSAndroid Build Coastguard Worker        "//:core",
235*c8dee2aaSAndroid Build Coastguard Worker        "//src/base",
236*c8dee2aaSAndroid Build Coastguard Worker        "//src/core:core_priv",
237*c8dee2aaSAndroid Build Coastguard Worker        "//tools/flags:cmd_flags",
238*c8dee2aaSAndroid Build Coastguard Worker    ],
239*c8dee2aaSAndroid Build Coastguard Worker)
240*c8dee2aaSAndroid Build Coastguard Worker
241*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
242*c8dee2aaSAndroid Build Coastguard Worker    name = "gpu_tool_utils",
243*c8dee2aaSAndroid Build Coastguard Worker    testonly = True,
244*c8dee2aaSAndroid Build Coastguard Worker    hdrs = ["GpuToolUtils.h"],
245*c8dee2aaSAndroid Build Coastguard Worker    visibility = [
246*c8dee2aaSAndroid Build Coastguard Worker        "//tools:__subpackages__",
247*c8dee2aaSAndroid Build Coastguard Worker    ],
248*c8dee2aaSAndroid Build Coastguard Worker    deps = [
249*c8dee2aaSAndroid Build Coastguard Worker        "//:core",
250*c8dee2aaSAndroid Build Coastguard Worker    ],
251*c8dee2aaSAndroid Build Coastguard Worker)
252*c8dee2aaSAndroid Build Coastguard Worker
253*c8dee2aaSAndroid Build Coastguard Worker# Regenerate workarounds with `bazel run //tools:generate_workarounds`
254*c8dee2aaSAndroid Build Coastguard Workerpy_binary(
255*c8dee2aaSAndroid Build Coastguard Worker    name = "generate_workarounds",
256*c8dee2aaSAndroid Build Coastguard Worker    srcs = [":generate_workarounds.py"],
257*c8dee2aaSAndroid Build Coastguard Worker    args = [
258*c8dee2aaSAndroid Build Coastguard Worker        "--output-file",
259*c8dee2aaSAndroid Build Coastguard Worker        "include/gpu/ganesh/GrDriverBugWorkaroundsAutogen.h",
260*c8dee2aaSAndroid Build Coastguard Worker        "src/gpu/gpu_workaround_list.txt",
261*c8dee2aaSAndroid Build Coastguard Worker    ],
262*c8dee2aaSAndroid Build Coastguard Worker    data = [
263*c8dee2aaSAndroid Build Coastguard Worker        ":build_workaround_header",
264*c8dee2aaSAndroid Build Coastguard Worker    ],
265*c8dee2aaSAndroid Build Coastguard Worker    tags = ["no-remote"],
266*c8dee2aaSAndroid Build Coastguard Worker)
267*c8dee2aaSAndroid Build Coastguard Worker
268*c8dee2aaSAndroid Build Coastguard Workerpy_binary(
269*c8dee2aaSAndroid Build Coastguard Worker    name = "build_workaround_header",
270*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["build_workaround_header.py"],
271*c8dee2aaSAndroid Build Coastguard Worker)
272*c8dee2aaSAndroid Build Coastguard Worker
273*c8dee2aaSAndroid Build Coastguard Worker_GENERATE_WORKAROUNDS = """
274*c8dee2aaSAndroid Build Coastguard Workerimport os
275*c8dee2aaSAndroid Build Coastguard Workerimport subprocess
276*c8dee2aaSAndroid Build Coastguard Workerimport sys
277*c8dee2aaSAndroid Build Coastguard Worker
278*c8dee2aaSAndroid Build Coastguard Worker# https://bazel.build/docs/user-manual#running-executables
279*c8dee2aaSAndroid Build Coastguard Worker# Note: Bazel eats single quotes, so we must use double quotes.
280*c8dee2aaSAndroid Build Coastguard Workeros.chdir(os.environ["BUILD_WORKSPACE_DIRECTORY"])
281*c8dee2aaSAndroid Build Coastguard Worker
282*c8dee2aaSAndroid Build Coastguard Worker# execpath returns the path to the given label relative to the Skia root.
283*c8dee2aaSAndroid Build Coastguard Worker# This will be something like:
284*c8dee2aaSAndroid Build Coastguard Worker#   bazel-out/k8-opt-exec-81C6BA4F/bin/tools/build_workaround_header
285*c8dee2aaSAndroid Build Coastguard Worker# https://bazel.build/reference/be/make-variables#predefined_label_variables
286*c8dee2aaSAndroid Build Coastguard Workergenerate_script = os.path.abspath("$(execpath :build_workaround_header)")
287*c8dee2aaSAndroid Build Coastguard Worker
288*c8dee2aaSAndroid Build Coastguard Workerresult = subprocess.run(
289*c8dee2aaSAndroid Build Coastguard Worker    [generate_script] + sys.argv[1:], capture_output=True, encoding="utf-8")
290*c8dee2aaSAndroid Build Coastguard Workerif result.returncode != 0:
291*c8dee2aaSAndroid Build Coastguard Worker    print(result.stdout)
292*c8dee2aaSAndroid Build Coastguard Worker    print(result.stderr)
293*c8dee2aaSAndroid Build Coastguard Worker    sys.exit(result.returncode)
294*c8dee2aaSAndroid Build Coastguard Worker"""
295*c8dee2aaSAndroid Build Coastguard Worker
296*c8dee2aaSAndroid Build Coastguard Workergenrule(
297*c8dee2aaSAndroid Build Coastguard Worker    name = "create_generate_workarounds_script",
298*c8dee2aaSAndroid Build Coastguard Worker    outs = ["generate_workarounds.py"],
299*c8dee2aaSAndroid Build Coastguard Worker    cmd = "echo '%s' > $@" % _GENERATE_WORKAROUNDS,
300*c8dee2aaSAndroid Build Coastguard Worker    tools = [":build_workaround_header"],
301*c8dee2aaSAndroid Build Coastguard Worker)
302*c8dee2aaSAndroid Build Coastguard Worker
303*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
304*c8dee2aaSAndroid Build Coastguard Worker    name = "full_build",
305*c8dee2aaSAndroid Build Coastguard Worker    testonly = True,
306*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
307*c8dee2aaSAndroid Build Coastguard Worker        # These are *not* skia_cc_library targets because we'd have to set the deps
308*c8dee2aaSAndroid Build Coastguard Worker        # for them, which is redundent. Thus we just compile them as a list of files
309*c8dee2aaSAndroid Build Coastguard Worker        # and the deps specified below should be sufficient for them.
310*c8dee2aaSAndroid Build Coastguard Worker        "//include/core:headers_to_compile",
311*c8dee2aaSAndroid Build Coastguard Worker        "//include/effects:headers_to_compile",
312*c8dee2aaSAndroid Build Coastguard Worker        "//include/encode:headers_to_compile",
313*c8dee2aaSAndroid Build Coastguard Worker        "//include/gpu/ganesh:headers_to_compile",
314*c8dee2aaSAndroid Build Coastguard Worker        "//include/gpu:headers_to_compile",
315*c8dee2aaSAndroid Build Coastguard Worker        "//include/gpu/vk:headers_to_compile",
316*c8dee2aaSAndroid Build Coastguard Worker        "//include/private/base:headers_to_compile",
317*c8dee2aaSAndroid Build Coastguard Worker        "//include/private/chromium:headers_to_compile",
318*c8dee2aaSAndroid Build Coastguard Worker        "//include/private/gpu/ganesh:headers_to_compile",
319*c8dee2aaSAndroid Build Coastguard Worker        "//include/private:headers_to_compile",
320*c8dee2aaSAndroid Build Coastguard Worker        "//modules/svg/src:headers_to_compile",
321*c8dee2aaSAndroid Build Coastguard Worker        "//src/base:headers_to_compile",
322*c8dee2aaSAndroid Build Coastguard Worker        "//src/codec:headers_to_compile",
323*c8dee2aaSAndroid Build Coastguard Worker        "//src/core:headers_to_compile",
324*c8dee2aaSAndroid Build Coastguard Worker        "//src/encode:headers_to_compile",
325*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu/ganesh/effects:headers_to_compile",
326*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu/ganesh/geometry:headers_to_compile",
327*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu/ganesh/gl:headers_to_compile",
328*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu/ganesh/mock:headers_to_compile",
329*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu/ganesh/ops:headers_to_compile",
330*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu/ganesh/tessellate:headers_to_compile",
331*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu/ganesh:headers_to_compile",
332*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu/graphite/geom:headers_to_compile",
333*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu/tessellate:headers_to_compile",
334*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu/vk:headers_to_compile",
335*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu:headers_to_compile",
336*c8dee2aaSAndroid Build Coastguard Worker        "//src/pdf:headers_to_compile",
337*c8dee2aaSAndroid Build Coastguard Worker    ],
338*c8dee2aaSAndroid Build Coastguard Worker    copts = [
339*c8dee2aaSAndroid Build Coastguard Worker        # Since we are generating .cpp files for headers, some variables/functions which
340*c8dee2aaSAndroid Build Coastguard Worker        # were properly declared static could be mis-interpreted to be unused. We don't
341*c8dee2aaSAndroid Build Coastguard Worker        # want to fail on that. Therefore, we do not want warnings about those unused
342*c8dee2aaSAndroid Build Coastguard Worker        # things to be flagged.
343*c8dee2aaSAndroid Build Coastguard Worker        "-Wno-unused-function",
344*c8dee2aaSAndroid Build Coastguard Worker        "-Wno-unused-template",
345*c8dee2aaSAndroid Build Coastguard Worker        "-Wno-unused-const-variable",
346*c8dee2aaSAndroid Build Coastguard Worker        "-Wno-invalid-constexpr",
347*c8dee2aaSAndroid Build Coastguard Worker    ] + select({
348*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:windows": [
349*c8dee2aaSAndroid Build Coastguard Worker            "-D_CRT_USE_BUILTIN_OFFSETOF",
350*c8dee2aaSAndroid Build Coastguard Worker        ],
351*c8dee2aaSAndroid Build Coastguard Worker        "//conditions:default": [],
352*c8dee2aaSAndroid Build Coastguard Worker    }),
353*c8dee2aaSAndroid Build Coastguard Worker    # This is not intended to be used for tests or anything, just for IWYU
354*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//visibility:private"],
355*c8dee2aaSAndroid Build Coastguard Worker    deps = [
356*c8dee2aaSAndroid Build Coastguard Worker        "//:bmp_decode_codec",
357*c8dee2aaSAndroid Build Coastguard Worker        "//:core",
358*c8dee2aaSAndroid Build Coastguard Worker        "//:fontmgr_data_freetype",
359*c8dee2aaSAndroid Build Coastguard Worker        "//:fontmgr_directory_freetype",
360*c8dee2aaSAndroid Build Coastguard Worker        "//:fontmgr_empty_freetype",
361*c8dee2aaSAndroid Build Coastguard Worker        "//:gif_decode_codec",
362*c8dee2aaSAndroid Build Coastguard Worker        "//:ico_decode_codec",
363*c8dee2aaSAndroid Build Coastguard Worker        "//:jpeg_decode_codec",
364*c8dee2aaSAndroid Build Coastguard Worker        "//:jpeg_encode_codec",
365*c8dee2aaSAndroid Build Coastguard Worker        "//:jpegxl_decode_codec",
366*c8dee2aaSAndroid Build Coastguard Worker        "//:pathops",
367*c8dee2aaSAndroid Build Coastguard Worker        "//:pdf_writer",
368*c8dee2aaSAndroid Build Coastguard Worker        "//:png_decode_codec",
369*c8dee2aaSAndroid Build Coastguard Worker        "//:png_encode_codec",
370*c8dee2aaSAndroid Build Coastguard Worker        "//:skparagraph_harfbuzz_skunicode",
371*c8dee2aaSAndroid Build Coastguard Worker        "//:skresources",
372*c8dee2aaSAndroid Build Coastguard Worker        "//:skshaper_core",
373*c8dee2aaSAndroid Build Coastguard Worker        "//:skshaper_harfbuzz",
374*c8dee2aaSAndroid Build Coastguard Worker        "//:skshaper_unicode",
375*c8dee2aaSAndroid Build Coastguard Worker        "//:skunicode_core",
376*c8dee2aaSAndroid Build Coastguard Worker        "//:skunicode_icu",
377*c8dee2aaSAndroid Build Coastguard Worker        "//:svg_renderer",
378*c8dee2aaSAndroid Build Coastguard Worker        "//:svg_writer",
379*c8dee2aaSAndroid Build Coastguard Worker        "//:wbmp_decode_codec",
380*c8dee2aaSAndroid Build Coastguard Worker        "//:webp_decode_codec",
381*c8dee2aaSAndroid Build Coastguard Worker        "//:webp_encode_codec",
382*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu/ganesh/gl:ganesh_gl_TEST_UTIL",
383*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu/ganesh/vk:ganesh_vulkan_TEST_UTIL",
384*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu/graphite/vk:graphite_native_vulkan_TEST_UTIL",
385*c8dee2aaSAndroid Build Coastguard Worker    ],
386*c8dee2aaSAndroid Build Coastguard Worker)
387