blob: 2f3ec1caab8430e56f6b75a9f55605f59ad14c05 [file] [log] [blame]
load(
"//bazel:skia_rules.bzl",
"skia_cc_library",
"skia_filegroup",
"skia_objc_library",
)
package(
default_applicable_licenses = ["//:license"],
)
licenses(["notice"])
skia_filegroup(
name = "fontconfig_interface_srcs",
srcs = [
"SkFontConfigInterface.cpp",
"SkFontConfigInterface_direct.cpp",
"SkFontConfigInterface_direct_factory.cpp",
"SkFontConfigTypeface.h",
"SkFontMgr_FontConfigInterface.cpp",
],
)
skia_filegroup(
name = "global_init",
srcs = ["SkGlobalInitialization_default.cpp"],
)
# In own group to prevent exporting to *.gni files.
skia_filegroup(
name = "osfile_platform",
srcs = select({
"@platforms//os:windows": [":osfile_win"],
"@platforms//os:ios": [
"SkOSFile_ios.h",
":osfile_posix",
"//include/ports:core_foundation_hdrs",
],
"//conditions:default": [":osfile_posix"],
}),
)
skia_filegroup(
name = "osfile",
srcs = [
"SkOSFile_stdio.cpp",
":osfile_platform",
],
visibility = ["//tools/skslc:__pkg__"],
)
skia_filegroup(
name = "osfile_posix",
srcs = ["SkOSFile_posix.cpp"],
)
skia_filegroup(
name = "osfile_win",
srcs = ["SkOSFile_win.cpp"],
)
skia_filegroup(
name = "malloc",
srcs = ["SkMemory_malloc.cpp"], # TODO(kjlubick) add select() if necessary
)
skia_filegroup(
name = "skdebug",
srcs = select({
"@platforms//os:windows": ["SkDebug_win.cpp"],
"@platforms//os:android": ["SkDebug_android.cpp"],
"//conditions:default": ["SkDebug_stdio.cpp"],
}),
)
skia_filegroup(
name = "base_srcs",
srcs = [
":skdebug",
# TODO(kjlubick) Chromium will need a way to overwrite the malloc impls. Having malloc
# be a module doesn't quite work because ld complains "backward reference detected"
# when something in a module like pathops uses malloc without depending on it.
":malloc",
],
visibility = ["//src/base:__pkg__"],
)
skia_filegroup(
name = "core_srcs",
srcs = [
":global_init",
":osfile",
],
visibility = ["//src/core:__pkg__"],
)
skia_cc_library(
name = "fontmgr_custom",
srcs = ["SkFontMgr_custom.cpp"],
hdrs = ["SkFontMgr_custom.h"],
deps = [
":freetype_support",
"//src/base",
"//src/core",
"//src/core:core_priv",
],
)
skia_cc_library(
name = "freetype_support",
srcs = [
"SkFontHost_FreeType.cpp",
"SkFontHost_FreeType_common.cpp",
],
hdrs = [
"SkFontHost_FreeType_common.h",
"SkFontScanner_FreeType_priv.h",
"SkTypeface_FreeType.h",
"//include/ports:typeface_freetype_hdrs",
],
implementation_deps = [
"//:pathops",
"@freetype",
],
visibility = [
"//:__pkg__",
"//tests:__pkg__",
"//tools/fonts:__pkg__",
],
deps = [
"//:core",
"//src/utils:char_to_glyphcache",
],
)
skia_cc_library(
name = "fontations_support",
srcs = [":typeface_fontations_srcs"],
hdrs = [
":typeface_fontations_hdrs",
"//include/ports:typeface_fontations_hdrs",
],
defines = ["SK_TYPEFACE_FACTORY_FONTATIONS"],
implementation_deps = [
"//:pathops",
"//src/ports/fontations:deps",
],
visibility = [
"//tests:__pkg__",
"//tools/fonts:__pkg__",
],
deps = [
"//:core",
"//src/utils:char_to_glyphcache",
],
)
skia_cc_library(
name = "fontmgr_android_freetype",
srcs = [
"SkFontMgr_android.cpp",
"SkFontMgr_android_parser.cpp",
],
hdrs = [
"SkFontMgr_android_parser.h",
"//include/ports:android_fontmgr_hdrs",
],
defines = ["SK_FONTMGR_ANDROID_AVAILABLE"],
visibility = ["//:__pkg__"],
deps = [
":freetype_support",
":typeface_proxy",
"//:core",
"//src/base",
"//src/core:core_priv",
"@expat",
],
)
skia_cc_library(
name = "fontmgr_android_ndk_freetype",
srcs = [
"SkFontMgr_android_ndk.cpp",
],
hdrs = [
"//include/ports:android_ndk_fontmgr_hdrs",
],
defines = ["SK_FONTMGR_ANDROID_NDK_AVAILABLE"],
visibility = ["//:__pkg__"],
deps = [
":freetype_support",
":typeface_proxy",
"//:core",
"//src/base",
"//src/core:core_priv",
],
)
skia_objc_library(
name = "fontmgr_coretext",
srcs = [
"SkFontMgr_mac_ct.cpp",
],
hdrs = [
"//include/ports:coretext_fontmgr_hdrs",
],
defines = ["SK_FONTMGR_CORETEXT_AVAILABLE"],
features = ["layering_check"],
ios_frameworks = [
"CoreText",
"CoreGraphics",
"CoreFoundation",
],
mac_frameworks = [
"ApplicationServices",
"CoreFoundation",
"CoreText",
],
visibility = ["//:__pkg__"],
deps = [
":coretext_typeface",
"//:core",
"//src/base",
"//src/core:core_priv",
],
)
skia_cc_library(
name = "fontmgr_data_freetype",
srcs = [
"SkFontMgr_custom_embedded.cpp",
],
hdrs = [
"//include/ports:data_fontmgr_hdrs",
],
defines = ["SK_FONTMGR_FREETYPE_DATA_AVAILABLE"],
features = ["layering_check"],
visibility = ["//:__pkg__"],
deps = [
":fontmgr_custom",
":freetype_support",
"//:core",
"//src/base",
"//src/core:core_priv",
],
)
skia_cc_library(
name = "fontmgr_directory_freetype",
srcs = [
"SkFontMgr_custom_directory.cpp",
],
hdrs = [
"//include/ports:directory_fontmgr_hdrs",
],
defines = ["SK_FONTMGR_FREETYPE_DIRECTORY_AVAILABLE"],
features = ["layering_check"],
visibility = ["//:__pkg__"],
deps = [
":fontmgr_custom",
":freetype_support",
"//:core",
"//src/base",
"//src/core:core_priv",
],
)
skia_cc_library(
name = "fontmgr_empty_freetype",
srcs = [
"SkFontMgr_custom_empty.cpp",
],
hdrs = [
"//include/ports:empty_fontmgr_hdrs",
],
defines = ["SK_FONTMGR_FREETYPE_EMPTY_AVAILABLE"],
features = ["layering_check"],
visibility = ["//:__pkg__"],
deps = [
":fontmgr_custom",
":freetype_support",
"//:core",
"//src/base",
"//src/core:core_priv",
],
)
skia_filegroup(
name = "typeface_fontations_hdrs",
srcs = [
"SkFontScanner_fontations_priv.h",
"SkTypeface_fontations_priv.h",
],
)
skia_filegroup(
name = "typeface_fontations_srcs",
srcs = [
"SkFontScanner_fontations.cpp",
"SkTypeface_fontations.cpp",
],
)
skia_filegroup(
name = "fontmgr_fontations_empty_srcs",
srcs = [
"SkFontMgr_fontations_empty.cpp",
],
)
skia_cc_library(
name = "fontmgr_fontations_empty",
srcs = [
":fontmgr_fontations_empty_srcs",
],
hdrs = [
"//include/ports:fontmgr_fontations_hdrs",
],
defines = ["SK_FONTMGR_FONTATIONS_AVAILABLE"],
visibility = [
"//:__pkg__",
"//tools/fonts:__pkg__",
],
deps = [
":fontations_support",
"//:core",
"//:pathops",
"//src/ports/fontations:deps",
],
)
skia_cc_library(
name = "typeface_proxy",
srcs = [":typeface_proxy_srcs"],
hdrs = [":typeface_proxy_hdrs"],
deps = [
"//:core",
],
)
skia_cc_library(
name = "fontmgr_fontconfig_freetype",
srcs = [
"SkFontMgr_fontconfig.cpp",
],
hdrs = [
"//include/ports:fontconfig_fontmgr_hdrs",
],
defines = ["SK_FONTMGR_FONTCONFIG_AVAILABLE"],
visibility = [
"//:__pkg__",
"//tools/fonts:__pkg__",
],
deps = [
":freetype_support",
":typeface_proxy",
"//:core",
"//bazel/external/fontconfig",
"//src/base",
"//src/core:core_priv",
],
)
skia_cc_library(
name = "fontmgr_fontconfig_fontations",
srcs = [
"SkFontMgr_fontconfig.cpp",
],
hdrs = [
"//include/ports:fontconfig_fontmgr_hdrs",
],
defines = ["SK_FONTMGR_FONTCONFIG_AVAILABLE"],
visibility = [
"//:__pkg__",
"//tools/fonts:__pkg__",
],
deps = [
":fontations_support",
"//:core",
"//bazel/external/fontconfig",
"//src/base",
"//src/core:core_priv",
],
)
skia_filegroup(
name = "typeface_mac_hdrs",
srcs = ["SkTypeface_mac_ct.h"],
visibility = ["//src/utils/mac:__pkg__"],
)
skia_filegroup(
name = "typeface_mac_srcs",
srcs = [
"SkScalerContext_mac_ct.cpp",
"SkScalerContext_mac_ct.h",
"SkTypeface_mac_ct.cpp",
],
)
skia_filegroup(
name = "typeface_proxy_hdrs",
srcs = ["SkTypeface_proxy.h"],
)
skia_filegroup(
name = "typeface_proxy_srcs",
srcs = ["SkTypeface_proxy.cpp"],
)
skia_objc_library(
name = "coretext_typeface",
srcs = [
":typeface_mac_srcs",
],
hdrs = [
":typeface_mac_hdrs",
"//include/ports:mac_typeface",
],
features = ["layering_check"],
ios_frameworks = [
"CoreFoundation",
"CoreGraphics",
"CoreText",
],
mac_frameworks = ["ApplicationServices"],
visibility = [
"//:__pkg__",
"//modules/skshaper:__pkg__",
],
deps = [
"//:core",
"//src/base",
"//src/core:core_priv",
"//src/utils/mac:mac_utils_priv",
],
)
skia_objc_library(
name = "imagegenerator_coregraphics",
srcs = [
"SkImageGeneratorCG.cpp",
],
hdrs = [
"//include/ports:imagegenerator_cg_hdrs",
],
features = ["layering_check"],
ios_frameworks = [
"CoreGraphics",
"ImageIO",
"MobileCoreServices",
],
mac_frameworks = ["ApplicationServices"],
visibility = ["//:__pkg__"],
deps = [
"//:core",
"//src/base",
"//src/codec:any_decoder",
"//src/core:core_priv",
"//src/utils/mac:mac_utils_priv",
],
)
skia_cc_library(
name = "imagegenerator_ndk",
srcs = ["SkImageGeneratorNDK.cpp"],
hdrs = ["//include/ports:imagegenerator_ndk_hdrs"],
features = ["layering_check"],
visibility = ["//:__pkg__"],
deps = [
"//:core",
"//src/base",
"//src/codec:any_decoder",
"//src/core:core_priv",
],
)
skia_cc_library(
name = "imagegenerator_wic",
srcs = ["SkImageGeneratorWIC.cpp"],
hdrs = ["//include/ports:imagegenerator_wic_hdrs"],
features = ["layering_check"],
visibility = ["//:__pkg__"],
deps = [
"//:core",
"//src/base",
"//src/codec:any_decoder",
"//src/core:core_priv",
],
)
skia_cc_library(
name = "imagegenerator",
visibility = ["//dm:__pkg__"],
deps = select({
"@platforms//os:android": [":imagegenerator_ndk"],
"@platforms//os:macos": [":imagegenerator_coregraphics"],
"@platforms//os:ios": [":imagegenerator_coregraphics"],
"@platforms//os:windows": [":imagegenerator_wic"],
"//conditions:default": [],
}),
)
skia_filegroup(
name = "windows_fonts_srcs",
srcs = [
"SkFontMgr_win_dw.cpp",
"SkScalerContext_win_dw.cpp",
"SkScalerContext_win_dw.h",
"SkTypeface_win_dw.cpp",
"SkTypeface_win_dw.h",
],
)
skia_filegroup(
name = "fontmgr_fuchsia_srcs",
srcs = ["SkFontMgr_fuchsia.cpp"],
)
skia_filegroup(
name = "fonthost_win_srcs",
srcs = ["SkFontHost_win.cpp"],
)