1load("@bazel_skylib//lib:selects.bzl", "selects") 2load("//bazel:skia_rules.bzl", "exports_files_legacy", "skia_cc_library", "skia_objc_library") 3 4package( 5 default_applicable_licenses = ["//:license"], 6) 7 8licenses(["notice"]) 9 10exports_files_legacy() 11 12selects.config_setting_group( 13 name = "use_harfbuzz_shaper", 14 match_all = [ 15 "//bazel/common_config_settings:use_harfbuzz_true", 16 ], 17) 18 19# TODO(kjlubick,bungeman) delete legacy_skshaper (uses legacy non-modular build) 20 21skia_cc_library( 22 name = "legacy_harfbuzz", 23 deps = ["@harfbuzz"], 24) 25 26skia_cc_library( 27 name = "legacy_skshaper", 28 srcs = ["//modules/skshaper/src:srcs"], 29 hdrs = [ 30 "//modules/skshaper/include:hdrs", 31 "//modules/skshaper/utils:core_hdrs", 32 ], 33 defines = [ 34 "SK_SHAPER_UNICODE_AVAILABLE", 35 "SK_SHAPER_PRIMITIVE_AVAILABLE", 36 ] + select({ 37 ":use_harfbuzz_shaper": ["SK_SHAPER_HARFBUZZ_AVAILABLE"], 38 "//conditions:default": [], 39 }), 40 local_defines = ["SKSHAPER_IMPLEMENTATION=1"], 41 visibility = ["//:__subpackages__"], 42 # TODO(kjlubick,bungeman) someday implementation_deps will be available 43 #implementation_deps = ["//modules/skunicode"] + select({ 44 # ":use_harfbuzz_shaper": [ 45 # "@harfbuzz", 46 # ], 47 # "//conditions:default": [], 48 #}), 49 #deps = ["//:skia_internal"] 50 deps = [ 51 "//:skia_internal", 52 "//modules/skunicode:legacy_skunicode", 53 ] + select({ 54 ":use_harfbuzz_shaper": [ 55 ":legacy_harfbuzz", 56 ], 57 "//conditions:default": [], 58 }), 59) 60 61skia_cc_library( 62 name = "skshaper_core", 63 srcs = [ 64 "//modules/skshaper/src:core_srcs", 65 ], 66 hdrs = [ 67 "//modules/skshaper/include:core_hdrs", 68 ], 69 defines = ["SK_DISABLE_LEGACY_SKSHAPER_FUNCTIONS"], 70 features = ["layering_check"], 71 local_defines = ["SKSHAPER_IMPLEMENTATION=1"], 72 visibility = [ 73 "//modules/skottie:__subpackages__", 74 "//modules/svg:__subpackages__", 75 ], 76 deps = [ 77 "//:core", 78 "//src/base", 79 "//src/core:core_priv", 80 ], 81) 82 83# This is its own library to make it harder for Skia itself to unintentionally 84# include FactoryHelpers.h in utils 85skia_cc_library( 86 name = "skshaper_core_and_utils", 87 hdrs = [ 88 "//modules/skshaper/include:core_hdrs", 89 "//modules/skshaper/utils:core_hdrs", 90 ], 91 local_defines = ["SKSHAPER_IMPLEMENTATION=1"], 92 visibility = [ 93 "//:__pkg__", 94 ], 95 deps = [ 96 ":skshaper_core", 97 ], 98) 99 100skia_objc_library( 101 name = "skshaper_coretext", 102 srcs = [ 103 "//modules/skshaper/src:coretext_srcs", 104 ], 105 hdrs = [ 106 "//modules/skshaper/include:core_hdrs", 107 "//modules/skshaper/include:coretext_hdrs", 108 "//modules/skshaper/utils:core_hdrs", 109 ], 110 copts = ["-DSKSHAPER_IMPLEMENTATION=1"], 111 defines = [ 112 "SK_SHAPER_CORETEXT_AVAILABLE", 113 "SK_DISABLE_LEGACY_SKSHAPER_FUNCTIONS", 114 ], 115 features = ["layering_check"], 116 ios_frameworks = [ 117 "CoreText", 118 "CoreGraphics", 119 "CoreFoundation", 120 ], 121 mac_frameworks = ["ApplicationServices"], 122 visibility = [ 123 "//:__subpackages__", 124 ], 125 deps = [ 126 ":skshaper_core", 127 "//:core", 128 "//src/base", 129 "//src/core:core_priv", 130 "//src/ports:coretext_typeface", 131 "//src/utils/mac:mac_utils_priv", 132 ], 133) 134 135skia_cc_library( 136 name = "skshaper_harfbuzz", 137 srcs = [ 138 "//modules/skshaper/src:harfbuzz_srcs", 139 ], 140 hdrs = [ 141 "//modules/skshaper/include:core_hdrs", 142 "//modules/skshaper/include:harfbuzz_hdrs", 143 "//modules/skshaper/utils:core_hdrs", 144 ], 145 defines = [ 146 "SK_SHAPER_HARFBUZZ_AVAILABLE", 147 "SK_DISABLE_LEGACY_SKSHAPER_FUNCTIONS", 148 ], 149 features = ["layering_check"], 150 local_defines = ["SKSHAPER_IMPLEMENTATION=1"], 151 visibility = [ 152 "//:__subpackages__", 153 ], 154 deps = [ 155 ":skshaper_core", 156 "//:core", 157 "//modules/skunicode:skunicode_core", 158 "//src/base", 159 "//src/core:core_priv", 160 ] + 161 # We have this harfbuzz dependency all by itself because we need to turn this into a 162 # select statement when rolling into G3. 163 [ 164 "@harfbuzz", 165 ], 166) 167 168skia_cc_library( 169 name = "skshaper_unicode", 170 srcs = [ 171 "//modules/skshaper/src:skunicode_srcs", 172 ], 173 hdrs = [ 174 "//modules/skshaper/include:core_hdrs", 175 "//modules/skshaper/include:skunicode_hdrs", 176 "//modules/skshaper/utils:core_hdrs", 177 ], 178 defines = [ 179 "SK_SHAPER_UNICODE_AVAILABLE", 180 "SK_DISABLE_LEGACY_SKSHAPER_FUNCTIONS", 181 ], 182 features = ["layering_check"], 183 local_defines = ["SKSHAPER_IMPLEMENTATION=1"], 184 visibility = [ 185 "//:__subpackages__", 186 ], 187 deps = [ 188 ":skshaper_core", 189 "//:core", 190 "//modules/skunicode:skunicode_core", 191 "//src/base", 192 "//src/core:core_priv", 193 ], 194) 195