Regularize selection of fontmgr.
Change-Id: Id7c51504450c1c7c9421eba3838bd6bc3440ca4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/295437
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
diff --git a/BUILD.gn b/BUILD.gn
index d263b51..99f02aa 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -298,6 +298,11 @@
]
}
+source_set("fontmgr_factory") {
+ configs += skia_library_configs
+ sources = [ skia_fontmgr_factory ]
+}
+
optional("fontmgr_android") {
enabled = skia_enable_fontmgr_android
@@ -305,57 +310,84 @@
":typeface_freetype",
"//third_party/expat",
]
+ public = [ "include/ports/SkFontMgr_android.h" ]
sources = [
"src/ports/SkFontMgr_android.cpp",
- "src/ports/SkFontMgr_android_factory.cpp",
"src/ports/SkFontMgr_android_parser.cpp",
+ "src/ports/SkFontMgr_android_parser.h",
]
}
optional("fontmgr_custom") {
- enabled = skia_enable_fontmgr_custom
+ enabled =
+ skia_enable_fontmgr_custom_directory ||
+ skia_enable_fontmgr_custom_embedded || skia_enable_fontmgr_custom_empty
deps = [ ":typeface_freetype" ]
- sources = [
- "src/ports/SkFontMgr_custom.cpp",
- "src/ports/SkFontMgr_custom.h",
- "src/ports/SkFontMgr_custom_directory.cpp",
- "src/ports/SkFontMgr_custom_directory_factory.cpp",
- "src/ports/SkFontMgr_custom_embedded.cpp",
- "src/ports/SkFontMgr_custom_empty.cpp",
+ public = [ "src/ports/SkFontMgr_custom.h" ]
+ sources = [ "src/ports/SkFontMgr_custom.cpp" ]
+}
+
+optional("fontmgr_custom_directory") {
+ enabled = skia_enable_fontmgr_custom_directory
+
+ deps = [
+ ":fontmgr_custom",
+ ":typeface_freetype",
]
+ public = [ "include/ports/SkFontMgr_directory.h" ]
+ sources = [ "src/ports/SkFontMgr_custom_directory.cpp" ]
+}
+
+optional("fontmgr_custom_embedded") {
+ enabled = skia_enable_fontmgr_custom_embedded
+
+ deps = [
+ ":fontmgr_custom",
+ ":typeface_freetype",
+ ]
+ sources = [ "src/ports/SkFontMgr_custom_embedded.cpp" ]
}
optional("fontmgr_custom_empty") {
enabled = skia_enable_fontmgr_custom_empty
- deps = [ ":typeface_freetype" ]
- sources = [
- "src/ports/SkFontMgr_custom.cpp",
- "src/ports/SkFontMgr_custom_empty.cpp",
- "src/ports/SkFontMgr_custom_empty_factory.cpp",
+ deps = [
+ ":fontmgr_custom",
+ ":typeface_freetype",
]
-}
-
-optional("fontmgr_empty") {
- enabled = skia_enable_fontmgr_empty
- sources = [ "src/ports/SkFontMgr_empty_factory.cpp" ]
+ public = [ "include/ports/SkFontMgr_empty.h" ]
+ sources = [ "src/ports/SkFontMgr_custom_empty.cpp" ]
}
optional("fontmgr_fontconfig") {
- enabled = skia_use_freetype && skia_use_fontconfig
+ enabled = skia_enable_fontmgr_fontconfig
deps = [
":typeface_freetype",
"//third_party:fontconfig",
]
+ public = [ "include/ports/SkFontMgr_fontconfig.h" ]
+ sources = [ "src/ports/SkFontMgr_fontconfig.cpp" ]
+}
+
+optional("fontmgr_FontConfigInterface") {
+ enabled = skia_enable_fontmgr_FontConfigInterface
+
+ deps = [
+ ":typeface_freetype",
+ "//third_party:fontconfig",
+ ]
+ public = [
+ "include/ports/SkFontConfigInterface.h",
+ "include/ports/SkFontMgr_FontConfigInterface.h",
+ ]
sources = [
"src/ports/SkFontConfigInterface.cpp",
"src/ports/SkFontConfigInterface_direct.cpp",
"src/ports/SkFontConfigInterface_direct_factory.cpp",
+ "src/ports/SkFontConfigTypeface.h",
"src/ports/SkFontMgr_FontConfigInterface.cpp",
- "src/ports/SkFontMgr_fontconfig.cpp",
- "src/ports/SkFontMgr_fontconfig_factory.cpp",
]
}
@@ -369,19 +401,19 @@
} else {
deps = [ "//sdk/fidl/fuchsia.fonts" ]
}
- sources = [
- "src/ports/SkFontMgr_fuchsia.cpp",
- "src/ports/SkFontMgr_fuchsia.h",
- ]
+ public = [ "src/ports/SkFontMgr_fuchsia.h" ]
+ sources = [ "src/ports/SkFontMgr_fuchsia.cpp" ]
}
-optional("fontmgr_mac") {
+optional("fontmgr_mac_ct") {
enabled = skia_use_fonthost_mac
- public = [ "include/ports/SkFontMgr_mac_ct.h" ]
+ public = [
+ "include/ports/SkFontMgr_mac_ct.h",
+ "include/ports/SkTypeface_mac.h",
+ ]
sources = [
"src/ports/SkFontMgr_mac_ct.cpp",
- "src/ports/SkFontMgr_mac_ct_factory.cpp",
"src/ports/SkScalerContext_mac_ct.cpp",
"src/ports/SkScalerContext_mac_ct.h",
"src/ports/SkTypeface_mac_ct.cpp",
@@ -408,37 +440,13 @@
}
}
-optional("fontmgr_wasm") {
- enabled = target_cpu == "wasm"
- deps = []
-
- # custom_embedded has the source for both embedding a font in the binary
- # (only used for the all-included build) and reading in a font from
- # raw bytes passed over the wire (a typical way to load fonts).
- if (!skia_enable_fontmgr_empty) {
- deps += [ ":typeface_freetype" ]
- sources = [ "src/ports/SkFontMgr_custom_embedded.cpp" ]
-
- # If we haven't opted for no fonts (empty) or fonts, but not the
- # built-in one (custom), then, we need to provide the mechanism for
- # using the built-in font.
- if (!skia_enable_fontmgr_custom) {
- sources += [
- "src/ports/SkFontMgr_custom.cpp",
- "src/ports/SkFontMgr_custom.h",
- "src/ports/SkFontMgr_custom_embedded_factory.cpp",
- ]
- }
- }
-}
-
optional("fontmgr_win") {
enabled = skia_enable_fontmgr_win
+ public = [ "include/ports/SkTypeface_win.h" ]
sources = [
"src/fonts/SkFontMgr_indirect.cpp",
"src/ports/SkFontMgr_win_dw.cpp",
- "src/ports/SkFontMgr_win_dw_factory.cpp",
"src/ports/SkScalerContext_win_dw.cpp",
"src/ports/SkTypeface_win_dw.cpp",
]
@@ -447,6 +455,7 @@
optional("fontmgr_win_gdi") {
enabled = skia_enable_fontmgr_win_gdi
+ public = [ "include/ports/SkTypeface_win.h" ]
sources = [ "src/ports/SkFontHost_win.cpp" ]
libs = [ "Gdi32.lib" ]
}
@@ -920,14 +929,15 @@
":avx",
":compile_processors",
":crc32",
+ ":fontmgr_FontConfigInterface",
":fontmgr_android",
- ":fontmgr_custom",
+ ":fontmgr_custom_directory",
+ ":fontmgr_custom_embedded",
":fontmgr_custom_empty",
- ":fontmgr_empty",
+ ":fontmgr_factory",
":fontmgr_fontconfig",
":fontmgr_fuchsia",
- ":fontmgr_mac",
- ":fontmgr_wasm",
+ ":fontmgr_mac_ct",
":fontmgr_win",
":fontmgr_win_gdi",
":gif",
@@ -1098,8 +1108,6 @@
"tools/debugger/DrawCommand.cpp",
"tools/debugger/JsonWriteBuffer.cpp",
]
-
- deps = [ ":fontmgr_wasm" ]
}
}
@@ -1600,7 +1608,7 @@
if (!skia_enable_fontmgr_android) {
sources -= [ "//tests/FontMgrAndroidParserTest.cpp" ]
}
- if (!(skia_use_freetype && skia_use_fontconfig)) {
+ if (!skia_enable_fontmgr_fontconfig) {
sources -= [ "//tests/FontMgrFontConfigTest.cpp" ]
}
deps = [