# Copyright 2016 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/ohos.gni")
import("build_overrides/skia.gni")
import("m133/gn/codec.gni")
import("m133/gn/fuchsia_defines.gni")
import("m133/gn/shared_sources.gni")
import("m133/gn/skia.gni")
import("m133/gn/toolchain/wasm.gni")
if (is_arkui_x) {
import("//foundation/arkui/ace_engine/ace_config.gni")
}
# skia_feature_upgrade
if (defined(is_mingw) && is_mingw == true) {
is_win = true
}
skia_component("skia") {
}
import("${skia_modules_dir}/skcms/skcms.gni")
skia_source_set("skcms") {
cflags = []
if (!is_win || is_clang) {
cflags += [ "-std=c11" ]
}
if (target_cpu != "x64" || target_os == "android") {
defines = [
"SKCMS_DISABLE_HSW",
"SKCMS_DISABLE_SKX",
]
}
public = skcms_public_headers
sources = skcms_public + skcms_TransformBaseline
deps = [
"${skia_modules_dir}/skcms:skcms_TransformHsw",
"${skia_modules_dir}/skcms:skcms_TransformSkx",
]
}
if (is_arkui_x) {
skia_effective_defines = skia_common_defines
if (!skia_use_gl) {
skia_effective_defines -= [ "SK_GL" ]
}
if (!skia_enable_svg) {
skia_effective_defines -= [ "SK_ENABLE_SVG" ]
}
if (!defined(skia_enable_skshaper) || !skia_enable_skshaper) {
skia_effective_defines -= [ "SKSHAPER_IMPLEMENTATION=1" ]
}
if (!skia_use_harfbuzz) {
skia_effective_defines -= [ "SK_SHAPER_HARFBUZZ_AVAILABLE" ]
}
if (!skia_enable_skunicode) {
skia_effective_defines -= [
"SK_UNICODE_AVAILABLE",
"SKUNICODE_IMPLEMENTATION=1",
]
}
if (!skia_use_libjpeg_turbo_decode) {
skia_effective_defines -= [ "SK_CODEC_DECODES_JPEG" ]
}
if (!skia_use_libpng_decode) {
skia_effective_defines -= [ "SK_CODEC_DECODES_PNG" ]
}
if (!skia_use_libwebp_decode) {
skia_effective_defines -= [ "SK_CODEC_DECODES_WEBP" ]
}
}
config("skia_config") {
include_dirs = [
"${skia_root_dir}",
"${skia_root_dir}/include/core",
"${skia_root_dir}/src/core",
]
if (is_arkui_x) {
defines = skia_effective_defines
} else {
defines = skia_common_defines
}
}
config("oboe_config") {
include_dirs = [ "//third_party/skia/third_party/externals/oboe" ]
}
config("piex_config") {
include_dirs = [ "${skia_third_party_dir}/externals/piex" ]
}
template("make_skia_deps") {
forward_variables_from(invoker, "*")
ohos_source_set("skia_$platform") {
branch_protector_ret = "pac_ret"
part_name = "skia"
subsystem_name = "thirdparty"
license_file = "${skia_root_dir}/LICENSE"
public_configs = [
":skia_config",
#":harfbuzz_config",
#":icu_config",
]
if (is_arkui_x) {
public_configs += [
"${skia_root_dir}:harfbuzz_config",
"${skia_root_dir}:icu_config",
]
public_deps = [ ":skia_canvaskit_static" ]
} else {
public_deps = [ ":skia_canvaskit" ]
}
}
}
if (is_arkui_x) {
foreach(item, ace_platforms) {
make_skia_deps(item.name) {
platform = item.name
config = {
}
if (defined(item.config)) {
config = item.config
}
}
}
}
skia_library_configs = [
"${skia_root_dir}:skia_public",
"${skia_root_dir}:skia_private",
"${skia_root_dir}:skia_library",
]
config("skia_canvaskit_link_config") {
if (is_ohos && is_clang && (target_cpu == "arm" || target_cpu == "arm64")) {
ldflags = [
"-Wl,--lto-O2",
"-Wl,-mllvm",
"-Wl,-wholeprogramdevirt-check=fallback",
"-Wl,-Bsymbolic",
]
if (skia_feature_enable_pgo && enable_enhanced_opt) {
ldflags += [
"-Wl,-mllvm,-vectorization-bonus-factor=4",
"-Wl,-mllvm,-vectorizer-min-trip-count=4",
"-Wl,--aarch64-inline-plt",
"-Wl,-mllvm,-enable-partial-inlining",
"-Wl,-mllvm,-tail-dup-profile-hot-percentile-override=999990",
]
}
}
}
ohos_shared_library("skia_canvaskit") {
branch_protector_ret = "pac_ret"
part_name = "skia"
subsystem_name = "thirdparty"
public_external_deps = []
if (skia_use_vulkan && !is_arkui_x) {
public_external_deps += [ "vulkan-headers:vulkan_headers" ]
}
if (is_ohos) {
public_external_deps += [
"hitrace:hitrace_meter",
"hilog:libhilog",
]
}
public_configs = [
"${skia_root_dir}:skia_public",
":skia_config",
"${skia_root_dir}:harfbuzz_config",
"${skia_root_dir}:icu_config",
":oboe_config",
":piex_config",
]
configs = skia_library_configs
if (enhanced_opt) {
configs += [ ":skia_canvaskit_link_config" ]
}
deps = [
"${skia_root_dir}:fontmgr_FontConfigInterface",
"${skia_root_dir}:fontmgr_android",
"${skia_root_dir}:fontmgr_android_ndk",
"${skia_root_dir}:fontmgr_custom_directory",
"${skia_root_dir}:fontmgr_custom_embedded",
"${skia_root_dir}:fontmgr_custom_empty",
"${skia_root_dir}:fontmgr_fontations_empty",
"${skia_root_dir}:fontmgr_fontconfig",
"${skia_root_dir}:fontmgr_fuchsia",
"${skia_root_dir}:fontmgr_mac_ct",
"${skia_root_dir}:fontmgr_ohos",
"${skia_root_dir}:fontmgr_win",
"${skia_root_dir}:fontmgr_win_gdi",
"${skia_root_dir}:gpu",
"${skia_root_dir}:graphite",
"${skia_root_dir}:jpeg_encode",
"${skia_root_dir}:pdf",
"${skia_root_dir}:png_encode",
"${skia_root_dir}:webp_encode",
"${skia_root_dir}:xps",
]
deps += [
"${skia_modules_dir}/skcms",
"${skia_modules_dir}/skresources",
"${skia_modules_dir}/skshaper",
"${skia_modules_dir}/skunicode",
"${skia_modules_dir}/svg",
"${skia_root_dir}:android_utils",
"${skia_root_dir}:avif",
"${skia_root_dir}:crabbyavif",
"${skia_root_dir}:fontmgr_factory",
"${skia_root_dir}:heif",
"${skia_root_dir}:hsw",
"${skia_root_dir}:jpeg_decode",
"${skia_root_dir}:jpegxl_decode",
"${skia_root_dir}:lasx",
"${skia_root_dir}:minify_sksl",
"${skia_root_dir}:ndk_images",
"${skia_root_dir}:png_decode_libpng",
"${skia_root_dir}:png_decode_rust",
"${skia_root_dir}:raw",
"${skia_root_dir}:skx",
"${skia_root_dir}:typeface_fontations",
"${skia_root_dir}:vello",
"${skia_root_dir}:webp_decode",
"${skia_root_dir}:wuffs",
"${skia_root_dir}:xml",
]
if (is_arkui_x) {
deps -= [ "${skia_root_dir}:fontmgr_ohos" ]
deps += [ "//third_party/bounds_checking_function:libsec_static" ]
}
if (!use_oh_skia) {
deps -= [ "${skia_root_dir}:fontmgr_ohos" ]
}
public = skia_core_public
public += skia_codec_public
public += skia_utils_public
public += skia_effects_public
public += skia_effects_imagefilter_public
sources = []
sources += skia_core_sources
sources += skia_utils_private
sources += skia_utils_chromium
sources += skia_effects_sources
sources += skia_colorfilters_sources
sources += skia_effects_imagefilter_sources
sources += skia_codec_shared
sources += skia_codec_decode_bmp
sources += skia_encode_srcs
sources += skia_sksl_core_sources
sources += skia_sksl_core_module_sources
sources += skia_sksl_tracing_sources
sources += skia_ports_sources
sources += [
"${skia_root_dir}/src/android/SkAndroidFrameworkUtils.cpp",
"${skia_root_dir}/src/android/SkAnimatedImage.cpp",
"${skia_root_dir}/src/codec/SkAndroidCodec.cpp",
"${skia_root_dir}/src/codec/SkAndroidCodecAdapter.cpp",
"${skia_root_dir}/src/codec/SkSampledCodec.cpp",
"${skia_root_dir}/src/ports/SkDiscardableMemory_none.cpp",
"${skia_root_dir}/src/ports/SkMemory_malloc.cpp",
"${skia_root_dir}/src/sfnt/SkOTTable_name.cpp",
"${skia_root_dir}/src/sfnt/SkOTUtils.cpp",
]
libs = []
if (is_arkui_x) {
defines = skia_effective_defines
} else {
defines = skia_common_defines
}
cflags = skia_common_cflags
inputs = skia_common_inputs
cflags += [
"-Wno-ignored-attributes",
"-ffunction-sections",
"-fdata-sections",
"-fvisibility=hidden",
"-fno-unwind-tables",
"-fno-asynchronous-unwind-tables",
]
cflags_cc = [
"-fvisibility-inlines-hidden",
"-fno-rtti",
]
if (!is_mac && !is_asan) {
ldflags = [
"-Wl,--gc-sections",
"-Wl,--icf=safe",
]
}
if (skia_build_for_debugger) {
defines += [ "SK_BUILD_FOR_DEBUGGER" ]
}
if (skia_use_no_jpeg_encode) {
sources += skia_no_encode_jpeg_srcs
}
if (skia_use_no_png_encode) {
sources += skia_no_encode_png_srcs
}
if (skia_use_no_webp_encode) {
sources += skia_no_encode_webp_srcs
}
if (is_ohos && skia_feature_hispeed_plugin) {
sources += [ "${skia_root_dir}/src/utils/SkHispeedPluginManager.cpp" ]
defines += [ "SK_USE_HISPEED_PLUGIN" ]
}
if (is_arkui_x) {
defines += [ "CROSS_PLATFORM" ]
}
if (is_win) {
sources += skia_ports_windows_sources + [
"${skia_root_dir}/src/ports/SkDebug_win.cpp",
"${skia_root_dir}/src/ports/SkImageGeneratorWIC.cpp",
]
libs += [
# "Ole32.lib",
# "OleAut32.lib",
]
if (!skia_enable_winuwp) {
libs += [
# "FontSub.lib",
# "User32.lib",
# "Usp10.lib",
]
}
libs += [
"kernel32",
"gdi32",
"fontsub",
"ole32",
"oleaut32",
"psapi",
"user32",
"usp10",
"uuid",
"windowscodecs",
]
if (is_component_build) {
if (defined(external_deps)) {
external_deps += [ "bounds_checking_function:libsec_shared" ]
} else {
external_deps = [ "bounds_checking_function:libsec_shared" ]
}
} else {
if (defined(external_deps)) {
external_deps += [ "bounds_checking_function:libsec_static" ]
} else {
external_deps = [ "bounds_checking_function:libsec_static" ]
}
}
} else {
sources += [
"${skia_root_dir}/src/ports/SkOSFile_posix.cpp",
"${skia_root_dir}/tools/library/LoadDynamicLibrary_posix.cpp",
]
if (is_ios) {
sources += [ "${skia_root_dir}/src/ports/SkOSFile_ios.h" ]
}
libs += [ "dl" ]
}
if (is_ohos) {
sources += [ "${skia_root_dir}/src/ports/SkDebug_ohos.cpp" ]
external_deps = [
"bounds_checking_function:libsec_shared",
"faultloggerd:libbacktrace_local",
"hilog:libhilog",
"hitrace:hitrace_meter",
"init:libbegetutil",
]
defines += [ "SK_ENABLE_SDF_BLUR_SWITCH" ]
defines += [ "SK_ENABLE_PATH_COMPLEXITY_DFX" ]
defines += [ "SK_ENABLE_OHOS_CODEC" ]
}
if (is_android) {
if (skia_feature_upgrade) {
deps += [ "//third_party/expat:expat_static" ]
} else {
deps += [ "${skia_third_party_dir}/expat" ]
}
if (defined(ndk) && ndk != "") {
deps += [ "${skia_third_party_dir}/cpu-features" ]
}
sources += [ "${skia_root_dir}/src/ports/SkDebug_android.cpp" ]
libs += [
"EGL",
"GLESv2",
"log",
]
}
if (is_linux || is_wasm) {
sources += [ "${skia_root_dir}/src/ports/SkDebug_stdio.cpp" ]
if (skia_use_egl) {
libs += [ "GLESv2" ]
}
if (is_component_build) {
if (defined(external_deps)) {
external_deps += [ "bounds_checking_function:libsec_shared" ]
} else {
external_deps = [ "bounds_checking_function:libsec_shared" ]
}
} else {
if (defined(external_deps)) {
external_deps += [ "bounds_checking_function:libsec_static" ]
} else {
external_deps = [ "bounds_checking_function:libsec_static" ]
}
}
}
if (is_mac) {
public += [ "${skia_root_dir}/include/ports/SkCFObject.h" ]
sources += [
"${skia_root_dir}/src/ports/SkDebug_stdio.cpp",
"${skia_root_dir}/src/ports/SkImageGeneratorCG.cpp",
]
frameworks = [
"ApplicationServices.framework",
"OpenGL.framework",
]
if (is_component_build) {
if (defined(external_deps)) {
external_deps += [ "bounds_checking_function:libsec_shared" ]
} else {
external_deps = [ "bounds_checking_function:libsec_shared" ]
}
} else {
if (defined(external_deps)) {
external_deps += [ "bounds_checking_function:libsec_static" ]
} else {
external_deps = [ "bounds_checking_function:libsec_static" ]
}
}
}
if (is_ios) {
public += [ "${skia_root_dir}/include/ports/SkCFObject.h" ]
sources += [
"${skia_root_dir}/src/ports/SkDebug_stdio.cpp",
"${skia_root_dir}/src/ports/SkImageGeneratorCG.cpp",
]
frameworks = [
"CoreFoundation.framework",
"ImageIO.framework",
"MobileCoreServices.framework",
]
}
if (is_fuchsia) {
sources += [ "${skia_root_dir}/src/ports/SkDebug_stdio.cpp" ]
}
#if (skia_enable_spirv_validation) {
# deps += [ "${skia_third_party_dir}/externals/spirv-tools:spvtools_val" ]
# defines += [ "SK_ENABLE_SPIRV_VALIDATION" ]
#}
if (skia_include_multiframe_procs) {
sources += [ "${skia_root_dir}/tools/SkSharingProc.cpp" ]
}
# Overrides TRACE_EVENT0..2 macros (etc) to map to Perfetto's tracing macros.
# Currently only supported in Android framework.
if (skia_android_framework_use_perfetto) {
defines += [ "SK_ANDROID_FRAMEWORK_USE_PERFETTO" ]
sources += [ "${skia_root_dir}/src/android/SkAndroidFrameworkPerfettoStaticStorage.cpp" ]
}
if (!skia_enable_ganesh && !skia_enable_graphite) {
sources += skia_no_slug_srcs
}
}
ohos_static_library("sksl_ext_static") {
branch_protector_ret = "pac_ret"
part_name = "skia"
subsystem_name = "thirdparty"
public_configs = [ ":skia_config" ]
defines = [
"SKSL_STANDALONE",
"SK_DISABLE_TRACING",
"SK_COMPILE_WITH_GN",
"SKSL_EXT",
]
sources = []
if (is_ohos) {
sources += [ "${skia_root_dir}/src/ports/SkDebug_ohos.cpp" ]
external_deps = [ "hilog:libhilog" ]
} else if (is_android) {
sources += [ "${skia_root_dir}/src/ports/SkDebug_android.cpp" ]
} else if (is_win) {
sources += [ "${skia_root_dir}/src/ports/SkDebug_win.cpp" ]
} else {
sources += [ "${skia_root_dir}/src/ports/SkDebug_stdio.cpp" ]
}
sources += skslc_deps
sources += skia_sksl_codegen_sources
sources += skia_sksl_core_sources
sources += skia_sksl_pipeline_sources
libs = []
if (is_win) {
sources += [ "${skia_root_dir}/src/utils/SkGetExecutablePath_win.cpp" ]
} else if (is_mac || is_ios) {
sources += [ "${skia_root_dir}/src/utils/SkGetExecutablePath_mac.cpp" ]
} else if (is_linux || is_android) {
sources += [ "${skia_root_dir}/src/utils/SkGetExecutablePath_linux.cpp" ]
}
if (is_win) {
sources += skia_ports_windows_sources
} else {
sources += [ "${skia_root_dir}/src/ports/SkOSFile_posix.cpp" ]
libs += [ "dl" ]
}
include_dirs = [ "${skia_root_dir}" ]
}
ohos_static_library("skia_canvaskit_static") {
branch_protector_ret = "pac_ret"
part_name = "skia"
subsystem_name = "thirdparty"
public_external_deps = []
if (skia_use_vulkan && !is_arkui_x) {
public_external_deps += [ "vulkan-headers:vulkan_headers" ]
}
if (is_ohos) {
public_external_deps += [
"hitrace:hitrace_meter",
"hilog:libhilog",
]
}
public_configs = [
"${skia_root_dir}:skia_public",
":skia_config",
]
configs = skia_library_configs
deps = [
"${skia_root_dir}:fontmgr_FontConfigInterface",
"${skia_root_dir}:fontmgr_android",
"${skia_root_dir}:fontmgr_android_ndk",
"${skia_root_dir}:fontmgr_custom_directory",
"${skia_root_dir}:fontmgr_custom_embedded",
"${skia_root_dir}:fontmgr_custom_empty",
"${skia_root_dir}:fontmgr_fontations_empty",
"${skia_root_dir}:fontmgr_fontconfig",
"${skia_root_dir}:fontmgr_fuchsia",
"${skia_root_dir}:gpu",
"${skia_root_dir}:graphite",
"${skia_root_dir}:jpeg_encode",
"${skia_root_dir}:png_encode",
"${skia_root_dir}:webp_encode",
"${skia_root_dir}:xps",
]
deps += [
"${skia_modules_dir}/skresources",
"${skia_modules_dir}/skshaper",
"${skia_modules_dir}/skunicode",
"${skia_modules_dir}/svg",
"${skia_root_dir}:android_utils",
"${skia_root_dir}:avif",
"${skia_root_dir}:crabbyavif",
"${skia_root_dir}:fontmgr_factory",
"${skia_root_dir}:heif",
"${skia_root_dir}:hsw",
"${skia_root_dir}:jpeg_decode",
"${skia_root_dir}:jpegxl_decode",
"${skia_root_dir}:lasx",
"${skia_root_dir}:minify_sksl",
"${skia_root_dir}:ndk_images",
"${skia_root_dir}:png_decode_libpng",
"${skia_root_dir}:png_decode_rust",
"${skia_root_dir}:raw",
"${skia_root_dir}:skx",
"${skia_root_dir}:typeface_fontations",
"${skia_root_dir}:vello",
"${skia_root_dir}:webp_decode",
"${skia_root_dir}:wuffs",
"${skia_root_dir}:xml",
"//third_party/skia:skcms",
]
if (is_arkui_x) {
deps -= [
"${skia_root_dir}:graphite",
"${skia_root_dir}:jpegxl_decode",
"${skia_root_dir}:raw",
"${skia_root_dir}:vello",
]
deps -= [
"${skia_root_dir}:fontmgr_FontConfigInterface",
"${skia_root_dir}:fontmgr_custom_directory",
"${skia_root_dir}:fontmgr_custom_embedded",
"${skia_root_dir}:fontmgr_custom_empty",
"${skia_root_dir}:fontmgr_fontations_empty",
"${skia_root_dir}:fontmgr_fontconfig",
"${skia_root_dir}:fontmgr_fuchsia",
]
deps -= [
"${skia_root_dir}:avif",
"${skia_root_dir}:crabbyavif",
"${skia_root_dir}:heif",
]
deps -= [
"${skia_root_dir}:xps",
]
deps -= [
"${skia_root_dir}:typeface_fontations",
"${skia_root_dir}:xml",
"${skia_root_dir}:minify_sksl",
]
deps -= [
"${skia_root_dir}:jpeg_encode",
"${skia_root_dir}:webp_encode",
]
deps -= [
"${skia_root_dir}:android_utils",
"${skia_root_dir}:ndk_images",
]
}
public = skia_core_public
public += skia_codec_public
public += skia_utils_public
public += skia_effects_public
public += skia_effects_imagefilter_public
sources = []
sources += skia_core_sources
sources += skia_utils_private
sources += skia_utils_chromium
sources += skia_effects_sources
sources += skia_colorfilters_sources
sources += skia_effects_imagefilter_sources
sources += skia_codec_shared
sources += skia_codec_decode_bmp
sources += skia_encode_srcs
sources += skia_sksl_core_sources
sources += skia_sksl_core_module_sources
sources += skia_sksl_tracing_sources
sources += skia_ports_sources
sources += [
"${skia_root_dir}/src/android/SkAndroidFrameworkUtils.cpp",
"${skia_root_dir}/src/android/SkAnimatedImage.cpp",
"${skia_root_dir}/src/codec/SkAndroidCodec.cpp",
"${skia_root_dir}/src/codec/SkAndroidCodecAdapter.cpp",
"${skia_root_dir}/src/codec/SkSampledCodec.cpp",
"${skia_root_dir}/src/ports/SkDiscardableMemory_none.cpp",
"${skia_root_dir}/src/ports/SkMemory_malloc.cpp",
"${skia_root_dir}/src/sfnt/SkOTTable_name.cpp",
"${skia_root_dir}/src/sfnt/SkOTUtils.cpp",
]
libs = []
if (is_arkui_x) {
defines = skia_effective_defines
defines += [ "CROSS_PLATFORM" ]
} else {
defines = skia_common_defines
}
cflags = skia_common_cflags
inputs = skia_common_inputs
if (skia_build_for_debugger) {
defines += [ "SK_BUILD_FOR_DEBUGGER" ]
}
if (skia_use_no_jpeg_encode) {
sources += skia_no_encode_jpeg_srcs
}
if (skia_use_no_png_encode) {
sources += skia_no_encode_png_srcs
}
if (skia_use_no_webp_encode) {
sources += skia_no_encode_webp_srcs
}
if (is_ohos && skia_feature_hispeed_plugin) {
sources += [ "${skia_root_dir}/src/utils/SkHispeedPluginManager.cpp" ]
defines += [ "SK_USE_HISPEED_PLUGIN" ]
}
sources += [ "${skia_root_dir}/src/ports/SkOSFile_posix.cpp" ]
if (is_ios) {
sources += [ "${skia_root_dir}/src/ports/SkOSFile_ios.h" ]
deps += [
"${skia_root_dir}:fontmgr_mac_ct",
"${skia_root_dir}:fontmgr_mac_ct_factory",
]
}
if (is_ohos) {
external_deps = [
"bounds_checking_function:libsec_shared",
"hitrace:hitrace_meter",
]
if (!build_ohos_sdk && !is_arkui_x) {
external_deps += [ "init:libbegetutil" ]
}
}
if (is_android) {
if (skia_feature_upgrade) {
deps += [ "//third_party/expat:expat_static" ]
} else {
deps += [ "${skia_third_party_dir}/expat" ]
}
if (defined(ndk) && ndk != "") {
deps += [ "${skia_third_party_dir}/cpu-features" ]
}
sources += [ "${skia_root_dir}/src/ports/SkDebug_android.cpp" ]
deps += [
"${skia_root_dir}:fontmgr_android",
"${skia_root_dir}:fontmgr_android_factory",
]
libs += [
"EGL",
"GLESv2",
"log",
]
}
if (is_ios) {
public += [ "${skia_root_dir}/include/ports/SkCFObject.h" ]
sources += [
"${skia_root_dir}/src/ports/SkDebug_stdio.cpp",
"${skia_root_dir}/src/ports/SkImageGeneratorCG.cpp",
]
frameworks = [
"CoreFoundation.framework",
"ImageIO.framework",
"MobileCoreServices.framework",
]
}
if (skia_include_multiframe_procs) {
sources += [ "${skia_root_dir}/tools/SkSharingProc.cpp" ]
}
# Overrides TRACE_EVENT0..2 macros (etc) to map to Perfetto's tracing macros.
# Currently only supported in Android framework.
if (skia_android_framework_use_perfetto) {
defines += [ "SK_ANDROID_FRAMEWORK_USE_PERFETTO" ]
sources += [ "${skia_root_dir}/src/android/SkAndroidFrameworkPerfettoStaticStorage.cpp" ]
}
if (!skia_enable_ganesh && !skia_enable_graphite) {
sources += skia_no_slug_srcs
}
}