load("@bazel_skylib//lib:selects.bzl", "selects") load("//bazel:skia_rules.bzl", "exports_files_legacy", "skia_cc_library", "skia_objc_library") package( default_applicable_licenses = ["//:license"], ) 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 legacy_skshaper (uses legacy non-modular build) skia_cc_library( name = "legacy_harfbuzz", deps = ["@harfbuzz"], ) 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": [ ":legacy_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", "//src/ports:coretext_typeface", "//src/utils/mac:mac_utils_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", ] + # We have this harfbuzz dependency all by itself because we need to turn this into a # select statement when rolling into G3. [ "@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", ], )