blob: 93087f09459e1fcdac8a506da810aad07432d146 [file] [log] [blame]
load("@bazel_skylib//lib:selects.bzl", "selects")
load("//bazel:skia_rules.bzl", "exports_files_legacy", "skia_cc_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"],
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": [],
}),
)
# TODO(kjlubick,bungeman) break this up such that a client could have one or more
# non-conflicting skshaper targets (e.g. move core_srcs to a central cc_library)
skia_cc_library(
name = "skshaper_harfbuzz",
srcs = [
"//modules/skshaper/src:core_srcs",
"//modules/skshaper/src:harfbuzz_srcs",
],
hdrs = ["//modules/skshaper/include:hdrs"],
defines = [
"SK_SHAPER_UNICODE_AVAILABLE",
"SK_SHAPER_HARFBUZZ_AVAILABLE",
],
features = ["layering_check"],
local_defines = ["SKSHAPER_IMPLEMENTATION=1"],
visibility = [
"//:__subpackages__",
],
deps = [
"//:core",
"//modules/skunicode:skunicode_icu",
"//src/base",
"//src/core:core_priv",
"@harfbuzz",
],
)