xref: /aosp_15_r20/external/skia/modules/skshaper/BUILD.bazel (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1load("//bazel:skia_rules.bzl", "skia_cc_library", "skia_objc_library")
2
3package(
4    default_applicable_licenses = ["//:license"],
5)
6
7licenses(["notice"])
8
9skia_cc_library(
10    name = "skshaper_core",
11    srcs = [
12        "//modules/skshaper/src:core_srcs",
13    ],
14    hdrs = [
15        "//modules/skshaper/include:core_hdrs",
16    ],
17    defines = ["SK_DISABLE_LEGACY_SKSHAPER_FUNCTIONS"],
18    features = ["layering_check"],
19    local_defines = ["SKSHAPER_IMPLEMENTATION=1"],
20    visibility = [
21        "//modules/skottie:__subpackages__",
22        "//modules/svg:__subpackages__",
23    ],
24    deps = [
25        "//:core",
26        "//src/base",
27        "//src/core:core_priv",
28    ],
29)
30
31# This is its own library to make it harder for Skia itself to unintentionally
32# include FactoryHelpers.h in utils
33skia_cc_library(
34    name = "skshaper_core_and_utils",
35    hdrs = [
36        "//modules/skshaper/include:core_hdrs",
37        "//modules/skshaper/utils:core_hdrs",
38    ],
39    local_defines = ["SKSHAPER_IMPLEMENTATION=1"],
40    visibility = [
41        "//:__pkg__",
42    ],
43    deps = [
44        ":skshaper_core",
45    ],
46)
47
48skia_objc_library(
49    name = "skshaper_coretext",
50    srcs = [
51        "//modules/skshaper/src:coretext_srcs",
52    ],
53    hdrs = [
54        "//modules/skshaper/include:core_hdrs",
55        "//modules/skshaper/include:coretext_hdrs",
56        "//modules/skshaper/utils:core_hdrs",
57    ],
58    copts = ["-DSKSHAPER_IMPLEMENTATION=1"],
59    defines = [
60        "SK_SHAPER_CORETEXT_AVAILABLE",
61        "SK_DISABLE_LEGACY_SKSHAPER_FUNCTIONS",
62    ],
63    features = ["layering_check"],
64    ios_frameworks = [
65        "CoreText",
66        "CoreGraphics",
67        "CoreFoundation",
68    ],
69    mac_frameworks = ["ApplicationServices"],
70    visibility = [
71        "//:__subpackages__",
72    ],
73    deps = [
74        ":skshaper_core",
75        "//:core",
76        "//src/base",
77        "//src/core:core_priv",
78        "//src/ports:coretext_typeface",
79        "//src/utils/mac:mac_utils_priv",
80    ],
81)
82
83skia_cc_library(
84    name = "skshaper_harfbuzz",
85    srcs = [
86        "//modules/skshaper/src:harfbuzz_srcs",
87    ],
88    hdrs = [
89        "//modules/skshaper/include:core_hdrs",
90        "//modules/skshaper/include:harfbuzz_hdrs",
91        "//modules/skshaper/utils:core_hdrs",
92    ],
93    defines = [
94        "SK_SHAPER_HARFBUZZ_AVAILABLE",
95        "SK_DISABLE_LEGACY_SKSHAPER_FUNCTIONS",
96    ],
97    features = ["layering_check"],
98    local_defines = ["SKSHAPER_IMPLEMENTATION=1"],
99    visibility = [
100        "//:__subpackages__",
101    ],
102    deps = [
103        ":skshaper_core",
104        "//:core",
105        "//modules/skunicode:skunicode_core",
106        "//src/base",
107        "//src/core:core_priv",
108    ] +
109    # We have this harfbuzz dependency all by itself because we need to turn this into a
110    # select statement when rolling into G3.
111    [
112        "@harfbuzz",
113    ],
114)
115
116skia_cc_library(
117    name = "skshaper_unicode",
118    srcs = [
119        "//modules/skshaper/src:skunicode_srcs",
120    ],
121    hdrs = [
122        "//modules/skshaper/include:core_hdrs",
123        "//modules/skshaper/include:skunicode_hdrs",
124        "//modules/skshaper/utils:core_hdrs",
125    ],
126    defines = [
127        "SK_SHAPER_UNICODE_AVAILABLE",
128        "SK_DISABLE_LEGACY_SKSHAPER_FUNCTIONS",
129    ],
130    features = ["layering_check"],
131    local_defines = ["SKSHAPER_IMPLEMENTATION=1"],
132    visibility = [
133        "//:__subpackages__",
134    ],
135    deps = [
136        ":skshaper_core",
137        "//:core",
138        "//modules/skunicode:skunicode_core",
139        "//src/base",
140        "//src/core:core_priv",
141    ],
142)
143