blob: ceb89ddd4750dd4c3a5cf9d16e2192d8a441994c [file] [log] [blame]
load("@bazel_skylib//lib:selects.bzl", "selects")
load("//bazel:skia_rules.bzl", "exports_files_legacy", "skia_cc_library", "skia_objc_library")
licenses(["notice"])
exports_files_legacy()
selects.config_setting_group(
name = "use_harfbuzz_shaper",
match_all = [
"//bazel/common_config_settings:use_harfbuzz_true",
],
)
# TODO(kjlubick,bungeman) delete skshaper (uses legacy non-modular build)
skia_cc_library(
name = "legacy_skshaper",
srcs = ["//modules/skshaper/src:srcs"],
hdrs = [
"//modules/skshaper/include:hdrs",
"//modules/skshaper/utils:core_hdrs",
],
defines = [
"SK_SHAPER_UNICODE_AVAILABLE",
"SK_SHAPER_PRIMITIVE_AVAILABLE",
] + select({
":use_harfbuzz_shaper": ["SK_SHAPER_HARFBUZZ_AVAILABLE"],
"//conditions:default": [],
}),
local_defines = ["SKSHAPER_IMPLEMENTATION=1"],
visibility = ["//:__subpackages__"],
# TODO(kjlubick,bungeman) someday implementation_deps will be available
#implementation_deps = ["//modules/skunicode"] + select({
# ":use_harfbuzz_shaper": [
# "@harfbuzz",
# ],
# "//conditions:default": [],
#}),
#deps = ["//:skia_internal"]
deps = [
"//:skia_internal",
"//modules/skunicode:legacy_skunicode",
] + select({
":use_harfbuzz_shaper": [
"@harfbuzz",
],
"//conditions:default": [],
}),
)
skia_cc_library(
name = "skshaper_core",
srcs = [
"//modules/skshaper/src:core_srcs",
],
hdrs = [
"//modules/skshaper/include:core_hdrs",
],
defines = ["SK_DISABLE_LEGACY_SKSHAPER_FUNCTIONS"],
features = ["layering_check"],
local_defines = ["SKSHAPER_IMPLEMENTATION=1"],
visibility = [
"//modules/skottie:__subpackages__",
"//modules/svg:__subpackages__",
],
deps = [
"//:core",
"//src/base",
"//src/core:core_priv",
],
)
# This is its own library to make it harder for Skia itself to unintentionally
# include FactoryHelpers.h in utils
skia_cc_library(
name = "skshaper_core_and_utils",
hdrs = [
"//modules/skshaper/include:core_hdrs",
"//modules/skshaper/utils:core_hdrs",
],
local_defines = ["SKSHAPER_IMPLEMENTATION=1"],
visibility = [
"//:__pkg__",
],
deps = [
":skshaper_core",
],
)
skia_objc_library(
name = "skshaper_coretext",
srcs = [
"//modules/skshaper/src:coretext_srcs",
],
hdrs = [
"//modules/skshaper/include:core_hdrs",
"//modules/skshaper/include:coretext_hdrs",
"//modules/skshaper/utils:core_hdrs",
],
copts = ["-DSKSHAPER_IMPLEMENTATION=1"],
defines = [
"SK_SHAPER_CORETEXT_AVAILABLE",
"SK_DISABLE_LEGACY_SKSHAPER_FUNCTIONS",
],
features = ["layering_check"],
ios_frameworks = [
"CoreText",
"CoreGraphics",
"CoreFoundation",
],
mac_frameworks = ["ApplicationServices"],
visibility = [
"//:__subpackages__",
],
deps = [
":skshaper_core",
"//:core",
"//src/base",
"//src/core:core_priv",
],
)
skia_cc_library(
name = "skshaper_harfbuzz",
srcs = [
"//modules/skshaper/src:harfbuzz_srcs",
],
hdrs = [
"//modules/skshaper/include:core_hdrs",
"//modules/skshaper/include:harfbuzz_hdrs",
"//modules/skshaper/utils:core_hdrs",
],
defines = [
"SK_SHAPER_HARFBUZZ_AVAILABLE",
"SK_DISABLE_LEGACY_SKSHAPER_FUNCTIONS",
],
features = ["layering_check"],
local_defines = ["SKSHAPER_IMPLEMENTATION=1"],
visibility = [
"//:__subpackages__",
],
deps = [
":skshaper_core",
"//:core",
"//modules/skunicode:skunicode_core",
"//src/base",
"//src/core:core_priv",
"@harfbuzz",
],
)
skia_cc_library(
name = "skshaper_unicode",
srcs = [
"//modules/skshaper/src:skunicode_srcs",
],
hdrs = [
"//modules/skshaper/include:core_hdrs",
"//modules/skshaper/include:skunicode_hdrs",
"//modules/skshaper/utils:core_hdrs",
],
defines = [
"SK_SHAPER_UNICODE_AVAILABLE",
"SK_DISABLE_LEGACY_SKSHAPER_FUNCTIONS",
],
features = ["layering_check"],
local_defines = ["SKSHAPER_IMPLEMENTATION=1"],
visibility = [
"//:__subpackages__",
],
deps = [
":skshaper_core",
"//:core",
"//modules/skunicode:skunicode_core",
"//src/base",
"//src/core:core_priv",
],
)