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