xref: /aosp_15_r20/external/skia/modules/skottie/BUILD.bazel (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workerload("//bazel:skia_rules.bzl", "skia_cc_binary", "skia_cc_library")
2*c8dee2aaSAndroid Build Coastguard Worker
3*c8dee2aaSAndroid Build Coastguard Workerpackage(
4*c8dee2aaSAndroid Build Coastguard Worker    default_applicable_licenses = ["//:license"],
5*c8dee2aaSAndroid Build Coastguard Worker)
6*c8dee2aaSAndroid Build Coastguard Worker
7*c8dee2aaSAndroid Build Coastguard Workerlicenses(["notice"])
8*c8dee2aaSAndroid Build Coastguard Worker
9*c8dee2aaSAndroid Build Coastguard Workerskia_cc_binary(
10*c8dee2aaSAndroid Build Coastguard Worker    name = "skottie_tool_cpu",
11*c8dee2aaSAndroid Build Coastguard Worker    testonly = True,
12*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
13*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skottie/src:skottie_tool",
14*c8dee2aaSAndroid Build Coastguard Worker    ],
15*c8dee2aaSAndroid Build Coastguard Worker    defines = ["CPU_ONLY"],
16*c8dee2aaSAndroid Build Coastguard Worker    deps = [
17*c8dee2aaSAndroid Build Coastguard Worker        ":skottie",
18*c8dee2aaSAndroid Build Coastguard Worker        "//:core",
19*c8dee2aaSAndroid Build Coastguard Worker        "//:fontmgr_empty_freetype",
20*c8dee2aaSAndroid Build Coastguard Worker        "//:jpeg_decode_codec",
21*c8dee2aaSAndroid Build Coastguard Worker        "//:png_decode_codec",
22*c8dee2aaSAndroid Build Coastguard Worker        "//:png_encode_codec",
23*c8dee2aaSAndroid Build Coastguard Worker        "//:webp_decode_codec",
24*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skottie/utils:skottie_utils",
25*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skresources",
26*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skshaper:skshaper_harfbuzz",
27*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skshaper:skshaper_unicode",
28*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skunicode:skunicode_icu",
29*c8dee2aaSAndroid Build Coastguard Worker        "//src/base",
30*c8dee2aaSAndroid Build Coastguard Worker        "//src/core:core_priv",
31*c8dee2aaSAndroid Build Coastguard Worker        "//tools/flags:cmd_flags",
32*c8dee2aaSAndroid Build Coastguard Worker    ] + select({
33*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:linux": [
34*c8dee2aaSAndroid Build Coastguard Worker            "@skia//:fontmgr_fontconfig_freetype",
35*c8dee2aaSAndroid Build Coastguard Worker            "@skia//:freetype_support",
36*c8dee2aaSAndroid Build Coastguard Worker        ],
37*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:macos": ["//:fontmgr_coretext"],
38*c8dee2aaSAndroid Build Coastguard Worker        "//conditions:default": ["//:fontmgr_empty_freetype"],
39*c8dee2aaSAndroid Build Coastguard Worker    }),
40*c8dee2aaSAndroid Build Coastguard Worker)
41*c8dee2aaSAndroid Build Coastguard Worker
42*c8dee2aaSAndroid Build Coastguard Workerskia_cc_binary(
43*c8dee2aaSAndroid Build Coastguard Worker    name = "skottie_tool_gpu",
44*c8dee2aaSAndroid Build Coastguard Worker    testonly = True,
45*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
46*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skottie/src:skottie_tool",
47*c8dee2aaSAndroid Build Coastguard Worker    ],
48*c8dee2aaSAndroid Build Coastguard Worker    defines = ["GPU_ONLY"],
49*c8dee2aaSAndroid Build Coastguard Worker    deps = [
50*c8dee2aaSAndroid Build Coastguard Worker        ":skottie",
51*c8dee2aaSAndroid Build Coastguard Worker        "//:core",
52*c8dee2aaSAndroid Build Coastguard Worker        "//:fontmgr_empty_freetype",
53*c8dee2aaSAndroid Build Coastguard Worker        "//:jpeg_decode_codec",
54*c8dee2aaSAndroid Build Coastguard Worker        "//:png_decode_codec",
55*c8dee2aaSAndroid Build Coastguard Worker        "//:png_encode_codec",
56*c8dee2aaSAndroid Build Coastguard Worker        "//:webp_decode_codec",
57*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skottie/utils:skottie_utils",
58*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skresources",
59*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skshaper:skshaper_harfbuzz",
60*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skshaper:skshaper_unicode",
61*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skunicode:skunicode_icu",
62*c8dee2aaSAndroid Build Coastguard Worker        "//src/base",
63*c8dee2aaSAndroid Build Coastguard Worker        "//src/core:core_priv",
64*c8dee2aaSAndroid Build Coastguard Worker        "//src/gpu/ganesh/gl:ganesh_gl_TEST_UTIL",
65*c8dee2aaSAndroid Build Coastguard Worker        "//tools/flags:cmd_flags",
66*c8dee2aaSAndroid Build Coastguard Worker        "//tools/gpu:ganesh_gl_utils",
67*c8dee2aaSAndroid Build Coastguard Worker    ],
68*c8dee2aaSAndroid Build Coastguard Worker)
69*c8dee2aaSAndroid Build Coastguard Worker
70*c8dee2aaSAndroid Build Coastguard Workerskia_cc_binary(
71*c8dee2aaSAndroid Build Coastguard Worker    name = "skottie_preshape_tool",
72*c8dee2aaSAndroid Build Coastguard Worker    testonly = True,
73*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
74*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skottie/utils:skottie_preshape_tool",
75*c8dee2aaSAndroid Build Coastguard Worker    ],
76*c8dee2aaSAndroid Build Coastguard Worker    deps = [
77*c8dee2aaSAndroid Build Coastguard Worker        ":skottie",
78*c8dee2aaSAndroid Build Coastguard Worker        "//:core",
79*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skottie/utils:skottie_utils",
80*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skottie/utils:text_preshape",
81*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skresources",
82*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skshaper:skshaper_harfbuzz",
83*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skshaper:skshaper_unicode",
84*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skunicode:skunicode_icu",
85*c8dee2aaSAndroid Build Coastguard Worker        "//src/base",
86*c8dee2aaSAndroid Build Coastguard Worker        "//src/core:core_priv",
87*c8dee2aaSAndroid Build Coastguard Worker        "//tools/flags:cmd_flags",
88*c8dee2aaSAndroid Build Coastguard Worker    ] + select({
89*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:linux": [
90*c8dee2aaSAndroid Build Coastguard Worker            "@skia//:freetype_support",
91*c8dee2aaSAndroid Build Coastguard Worker            "@skia//:fontmgr_fontconfig_freetype",
92*c8dee2aaSAndroid Build Coastguard Worker        ],
93*c8dee2aaSAndroid Build Coastguard Worker        "@platforms//os:macos": ["//:fontmgr_coretext"],
94*c8dee2aaSAndroid Build Coastguard Worker        "//conditions:default": ["//:fontmgr_empty_freetype"],
95*c8dee2aaSAndroid Build Coastguard Worker    }),
96*c8dee2aaSAndroid Build Coastguard Worker)
97*c8dee2aaSAndroid Build Coastguard Worker
98*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
99*c8dee2aaSAndroid Build Coastguard Worker    name = "skottie",
100*c8dee2aaSAndroid Build Coastguard Worker    srcs = [
101*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skottie/src:private_hdrs",
102*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skottie/src:srcs",
103*c8dee2aaSAndroid Build Coastguard Worker    ],
104*c8dee2aaSAndroid Build Coastguard Worker    hdrs = ["//modules/skottie/include:hdrs"],
105*c8dee2aaSAndroid Build Coastguard Worker    defines = [
106*c8dee2aaSAndroid Build Coastguard Worker        "SK_ENABLE_SKOTTIE",
107*c8dee2aaSAndroid Build Coastguard Worker    ],
108*c8dee2aaSAndroid Build Coastguard Worker    features = ["layering_check"],
109*c8dee2aaSAndroid Build Coastguard Worker    local_defines = [
110*c8dee2aaSAndroid Build Coastguard Worker        "SK_DISABLE_LEGACY_SHAPER_FACTORY",
111*c8dee2aaSAndroid Build Coastguard Worker        "SK_ENABLE_SKOTTIE_SKSLEFFECT",
112*c8dee2aaSAndroid Build Coastguard Worker    ],
113*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//:__subpackages__"],
114*c8dee2aaSAndroid Build Coastguard Worker    deps = [
115*c8dee2aaSAndroid Build Coastguard Worker        ":textshaper",
116*c8dee2aaSAndroid Build Coastguard Worker        "//:core",
117*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skresources",
118*c8dee2aaSAndroid Build Coastguard Worker        "//modules/sksg",
119*c8dee2aaSAndroid Build Coastguard Worker        "//modules/sksg:sksg_priv",
120*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skshaper:skshaper_core",
121*c8dee2aaSAndroid Build Coastguard Worker        "//src/base",
122*c8dee2aaSAndroid Build Coastguard Worker        "//src/codec:codec_support_priv",
123*c8dee2aaSAndroid Build Coastguard Worker        "//src/core:core_priv",
124*c8dee2aaSAndroid Build Coastguard Worker    ],
125*c8dee2aaSAndroid Build Coastguard Worker)
126*c8dee2aaSAndroid Build Coastguard Worker
127*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
128*c8dee2aaSAndroid Build Coastguard Worker    name = "skottie_priv",
129*c8dee2aaSAndroid Build Coastguard Worker    hdrs = [
130*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skottie/include:hdrs",
131*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skottie/src:private_hdrs",
132*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skottie/src/text:private_hdrs",
133*c8dee2aaSAndroid Build Coastguard Worker    ],
134*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//modules/skottie/utils:__pkg__"],
135*c8dee2aaSAndroid Build Coastguard Worker    deps = [":skottie"],
136*c8dee2aaSAndroid Build Coastguard Worker)
137*c8dee2aaSAndroid Build Coastguard Worker
138*c8dee2aaSAndroid Build Coastguard Worker# A tiny subset of Skottie, exposing text-shaping related functions
139*c8dee2aaSAndroid Build Coastguard Worker# for clients which require low-level access to shaping metrics.
140*c8dee2aaSAndroid Build Coastguard Worker# There is no animation code available here.
141*c8dee2aaSAndroid Build Coastguard Workerskia_cc_library(
142*c8dee2aaSAndroid Build Coastguard Worker    name = "textshaper",
143*c8dee2aaSAndroid Build Coastguard Worker    srcs = ["//modules/skottie/src/text:text_shaper_srcs"],
144*c8dee2aaSAndroid Build Coastguard Worker    hdrs = ["//modules/skottie/include:text_shaper_hdrs"],
145*c8dee2aaSAndroid Build Coastguard Worker    defines = [
146*c8dee2aaSAndroid Build Coastguard Worker        "SK_DISABLE_LEGACY_SHAPER_FACTORY",
147*c8dee2aaSAndroid Build Coastguard Worker    ],
148*c8dee2aaSAndroid Build Coastguard Worker    features = ["layering_check"],
149*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//:__subpackages__"],
150*c8dee2aaSAndroid Build Coastguard Worker    deps = [
151*c8dee2aaSAndroid Build Coastguard Worker        "//:core",
152*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skshaper:skshaper_core",
153*c8dee2aaSAndroid Build Coastguard Worker        "//modules/skunicode:skunicode_core",
154*c8dee2aaSAndroid Build Coastguard Worker        "//src/base",
155*c8dee2aaSAndroid Build Coastguard Worker        "//src/core:core_priv",
156*c8dee2aaSAndroid Build Coastguard Worker    ],
157*c8dee2aaSAndroid Build Coastguard Worker)
158