# Copyright (c) 2021-2023 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("//build/ohos.gni")
import("//foundation/arkui/ace_engine/ace_config.gni")
import("//foundation/graphic/graphic_2d/graphic_config.gni")
import("//third_party/flutter/flutter_config.gni")
# ------------------------------------------------
# Skia main target config begin
# ------------------------------------------------
# symbol link for skia include dirs
system_skia_override_path = root_out_dir + "/override/system"
third_party_skia_override_path = root_out_dir + "/override/third_party"
template("make_skia_include_dir") {
forward_variables_from(invoker, "*")
action("make_${target_name}_skia_include_dir") {
script = "make_skia_include_dir.py"
inputs = [ src_path ]
# refer to tmp.txt that doesn't exist because we need to relink the dir to support run on different build dir.
outputs = [ "${dst_path}/tmp.txt" ]
args = [
rebase_path(dst_path, root_build_dir),
rebase_path(src_path, root_build_dir),
]
}
}
make_skia_include_dir("system") {
src_path = "$libs_root/shared_library/${target_os}_${target_cpu}/include/external/skia"
dst_path = system_skia_override_path + "/third_party"
}
make_skia_include_dir("third_party") {
src_path = "$flutter_root/skia"
dst_path = third_party_skia_override_path + "/third_party"
}
# Config for using system skia
config("system_skia_config") {
include_dirs = [
"$system_skia_override_path",
"$system_skia_override_path/third_party/skia",
"$system_skia_override_path/third_party/skia/include",
"$system_skia_override_path/third_party/skia/include/codec",
"$system_skia_override_path/third_party/skia/include/config",
"$system_skia_override_path/third_party/skia/include/config/android",
"$system_skia_override_path/third_party/skia/include/core",
"$system_skia_override_path/third_party/skia/include/gpu",
"$system_skia_override_path/third_party/skia/include/private",
"$system_skia_override_path/third_party/skia/include/utils",
]
include_dirs += [ "$libs_root/shared_library/${target_os}_${target_cpu}/include/external/vulkan-headers/include" ]
include_dirs += [ "$libs_root/shared_library/${target_os}_${target_cpu}/include/frameworks/native/opengl/include" ]
include_dirs += [ "$libs_root/shared_library/${target_os}_${target_cpu}/include/frameworks/native/opengl/libs/EGL/include" ]
defines = [ "USE_SYSTEM_SKIA" ]
}
config("system_harfbuzz_config") {
include_dirs = [ "$libs_root/shared_library/${target_os}_${target_cpu}/include/external/harfbuzz_ng/src" ]
defines = [ "USE_SYSTEM_HARFBUZZ" ]
}
template("make_skia_deps") {
forward_variables_from(invoker, "*")
ohos_source_set("ace_skia_$platform") {
part_name = flutter_part
subsystem_name = flutter_subsystem
license_file = "$flutter_root/skia/LICENSE"
if (platform == "ohos" &&
(!defined(config.disable_gpu) || !config.disable_gpu) &&
defined(config.enable_rosen_backend) && config.enable_rosen_backend) {
public_configs = [
":skia_config",
":harfbuzz_config",
]
public_deps = [ "ohos:skia_ohos" ]
} else if (platform == "ohos" && defined(config.enable_native_view) &&
config.enable_native_view) {
public_configs = [
":system_skia_config",
":system_harfbuzz_config",
]
deps = [ ":ace_skia_ext_$platform" ]
deps += [ ":make_system_skia_include_dir" ]
aosp_deps = [
"shared_library:libharfbuzz_ng",
"shared_library:libhwui",
]
sources = [ "$flutter_root/skia/src/utils/SkParsePath.cpp" ]
} else if ((platform == "linux" || platform == "mac" ||
platform == "windows") &&
defined(config.enable_rosen_backend) &&
config.enable_rosen_backend) {
public_configs = [
":skia_config",
":harfbuzz_config",
]
public_deps = [ ":skia_shared" ]
} else {
public_configs = [
":skia_config",
":harfbuzz_config",
]
configs = [ ":skia_visibility_hidden_config" ]
deps = [
":ace_fontmgr_$platform",
":ace_gif",
":ace_gpu_$platform",
":ace_heif",
":ace_jpeg",
":ace_pdf_$platform",
":ace_png_$platform",
":ace_skcms",
":ace_skia_core_$platform",
":ace_skia_opts_$platform",
":ace_svg_model_$platform",
":ace_typeface_freetype",
":ace_webp",
":ace_xml",
":make_third_party_skia_include_dir",
"$ace_flutter_engine_root/freetype:ace_libfreetype2",
"$ace_flutter_engine_root/harfbuzz:ace_libharfbuzz_$platform",
"$ace_flutter_engine_root/icu:ace_libicu_$platform",
"$ace_flutter_engine_root/libjpeg:ace_libjpeg",
"$ace_flutter_engine_root/libpng:ace_libpng",
"$ace_flutter_engine_root/libwebp:ace_libwebp",
"$ace_flutter_engine_root/sfntly:ace_libsfntly_$platform",
]
if (defined(config.disable_gpu) && config.disable_gpu) {
deps -= [ ":ace_gpu_$platform" ]
}
}
public_configs += [
":ace_svg_model_config",
":skia_deps_include_config",
]
}
}
foreach(item, ace_platforms) {
make_skia_deps(item.name) {
platform = item.name
config = {
}
if (defined(item.config)) {
config = item.config
}
}
}
# ------------------------------------------------
# Skia main target config end
# ------------------------------------------------
ohos_shared_library("skia_shared") {
platform = current_os
if (current_os == "mingw") {
platform = "windows"
}
part_name = flutter_part
subsystem_name = flutter_subsystem
public_configs = [
":skia_config",
":harfbuzz_config",
]
deps = [
":ace_fontmgr_$platform",
":ace_gif",
":ace_gpu_$platform",
":ace_heif",
":ace_jpeg",
":ace_png_$platform",
":ace_skcms",
":ace_skia_core_$platform",
":ace_skia_opts_$platform",
":ace_svg_model_$platform",
":ace_typeface_freetype",
":ace_webp",
":ace_xml",
":make_third_party_skia_include_dir",
"$ace_flutter_engine_root/freetype:ace_libfreetype2",
"$ace_flutter_engine_root/libjpeg:ace_libjpeg",
"$ace_flutter_engine_root/libpng:ace_libpng",
"$ace_flutter_engine_root/libwebp:ace_libwebp",
]
if (defined(disable_gpu) && disable_gpu) {
deps -= [ ":ace_gpu_$platform" ]
} else {
public_deps = [ "//foundation/graphic/graphic_2d:libgl" ]
}
public_configs += [
":ace_svg_model_config",
":skia_deps_include_config",
]
deps += [ "//third_party/bounds_checking_function:libsec_shared" ]
}
# ------------------------------------------------
# Skia common config begin
# ------------------------------------------------
config("skia_deps_include_config") {
include_dirs =
[ "$libs_root/shared_library/global_header/frameworks/native/include/" ]
include_dirs += [
"$libs_root/shared_library/${target_os}_${target_cpu}/include/frameworks/native/libs/nativewindow/include",
"$libs_root/shared_library/${target_os}_${target_cpu}/include/frameworks/native/libs/arect/include",
]
}
config("skia_visibility_hidden_config") {
cflags_cc = [ "-fvisibility-inlines-hidden" ]
cflags = [ "-fvisibility=hidden" ]
}
ace_skia_common_ccflags = [
"-std=c++14",
"-fno-exceptions",
"-fno-rtti",
"-Wnon-virtual-dtor",
"-Wno-noexcept-type",
"-Wno-abstract-vbase-init",
"-Wno-weak-vtables",
"-Wno-c++98-compat",
"-Wno-c++98-compat-pedantic",
"-Wno-undefined-func-template",
"-Wno-return-std-move-in-c++11",
"-Wno-implicit-fallthrough",
"-Wno-suggest-destructor-override",
"-Wno-tautological-value-range-compare",
"-Wno-suggest-override",
"-Wno-psabi",
"-Wno-four-char-constants",
"-Os",
"-DSKIA_DLL",
]
ace_skia_common_cflags = [
"-fstrict-aliasing",
"-fdata-sections",
"-ffunction-sections",
"-gline-tables-only",
"-funwind-tables",
"-Wall",
"-Wextra",
"-Winit-self",
"-Wpointer-arith",
"-Wsign-compare",
"-Wvla",
"-Wno-deprecated-declarations",
"-Wno-maybe-uninitialized",
"-fcolor-diagnostics",
"-Weverything",
"-Wno-unknown-warning-option",
"-Wno-nonportable-include-path",
"-Wno-nonportable-system-include-path",
"-Wno-cast-align",
"-Wno-cast-qual",
"-Wno-conversion",
"-Wno-disabled-macro-expansion",
"-Wno-documentation",
"-Wno-documentation-unknown-command",
"-Wno-double-promotion",
"-Wno-exit-time-destructors",
"-Wno-float-equal",
"-Wno-format-nonliteral",
"-Wno-global-constructors",
"-Wno-missing-prototypes",
"-Wno-missing-variable-declarations",
"-Wno-pedantic",
"-Wno-reserved-id-macro",
"-Wno-shadow",
"-Wno-shift-sign-overflow",
"-Wno-signed-enum-bitfield",
"-Wno-switch-enum",
"-Wno-undef",
"-Wno-unreachable-code",
"-Wno-unreachable-code-break",
"-Wno-unreachable-code-return",
"-Wno-unused-macros",
"-Wno-unused-member-function",
"-Wno-unused-template",
"-Wno-zero-as-null-pointer-constant",
"-Wno-thread-safety-negative",
"-Wno-bad-function-cast",
"-Wno-covered-switch-default",
"-Wno-deprecated",
"-Wno-missing-noreturn",
"-Wno-old-style-cast",
"-Wno-padded",
"-Wno-newline-eof",
"-Wno-implicit-fallthrough",
"-Wno-unused-parameter",
"-Wno-suggest-destructor-override",
"-Wno-tautological-value-range-compare",
"-Wno-suggest-override",
"-Wno-reserved-identifier",
"-Os",
"-DSKIA_DLL",
]
ace_skia_common_defines = [
"SK_SUPPORT_ATLAS_TEXT=1",
"SK_GAMMA_APPLY_TO_A8",
"SK_GAMMA_EXPONENT=1.4",
"SK_GAMMA_CONTRAST=0.0",
"SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1",
"GR_TEST_UTILS=1",
"SKIA_IMPLEMENTATION=1",
"SK_GL",
"SK_SUPPORT_PDF",
"SK_HAS_JPEG_LIBRARY",
"SK_HAS_HEIF_LIBRARY",
"SK_HAS_PNG_LIBRARY",
"SK_ENABLE_SKSL_INTERPRETER",
"SK_HAS_WEBP_LIBRARY",
"SK_XML",
"XML_STATIC",
"XML_POOR_ENTROPY",
"SK_DISABLE_AAA",
"SK_DISABLE_READBUFFER",
"SK_DISABLE_EFFECT_DESERIALIZATION",
"SK_DISABLE_LEGACY_SHADERCONTEXT",
"SK_DISABLE_LOWP_RASTER_PIPELINE",
"SK_FORCE_RASTER_PIPELINE_BLITTER",
"SK_LEGACY_SKCODEC_NONE_ENUM",
"SK_ENABLE_DUMP_GPU",
]
config("harfbuzz_config") {
visibility = [ ":*" ]
include_dirs = [ "$flutter_root/skia/third_party/externals/harfbuzz/src" ]
defines = [
"HAVE_ICU",
"HAVE_ICU_BUILTIN",
"HAVE_INTEL_ATOMIC_PRIMITIVES",
"HAVE_OT",
]
}
config("skia_config") {
visibility = [ ":*" ]
include_dirs = [
"$third_party_skia_override_path",
"$flutter_root/skia",
"$third_party_skia_override_path/third_party/skia",
"$third_party_skia_override_path/third_party/skia/include/config/android",
]
defines = ace_skia_common_defines
defines -= [
"SK_DISABLE_READBUFFER",
"SK_DISABLE_EFFECT_DESERIALIZATION",
]
}
# ------------------------------------------------
# Skia common config end
# ------------------------------------------------
# ------------------------------------------------
# Skia opts config begin
# ------------------------------------------------
config("ace_skia_opts_config") {
visibility = [ ":*" ]
include_dirs = [ "$flutter_root/skia" ]
cflags_cc = ace_skia_common_ccflags
}
template("ace_skia_opts") {
forward_variables_from(invoker, "*")
ohos_source_set(target_name) {
part_name = flutter_part
subsystem_name = flutter_subsystem
defines = [
"SK_SUPPORT_ATLAS_TEXT=1",
"SK_GAMMA_APPLY_TO_A8",
"SK_GAMMA_EXPONENT=1.4",
"SK_GAMMA_CONTRAST=0.0",
"SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1",
"GR_TEST_UTILS=1",
"SKIA_IMPLEMENTATION=1",
]
configs = [ ":ace_skia_opts_config" ]
cflags = ace_skia_common_cflags
cflags += [ "-march=armv8-a+crc" ]
sources = []
if (target_cpu == "x86_64" || platform == "windows" || platform == "mac" ||
platform == "linux" || platform == "ios") {
cflags -= [ "-march=armv8-a+crc" ]
sources += [
"$flutter_root/skia/src/opts/SkOpts_avx.cpp",
"$flutter_root/skia/src/opts/SkOpts_hsw.cpp",
]
cflags_cc = [ "-Wno-psabi" ]
}
if (platform == "windows" || target_cpu == "x86_64") {
sources += [
"$flutter_root/skia/src/opts/SkOpts_sse41.cpp",
"$flutter_root/skia/src/opts/SkOpts_sse42.cpp",
"$flutter_root/skia/src/opts/SkOpts_ssse3.cpp",
]
} else if (platform == "linux") {
sources += [
"$flutter_root/skia/src/opts/SkOpts_sse41.cpp",
"$flutter_root/skia/src/opts/SkOpts_sse42.cpp",
"$flutter_root/skia/src/opts/SkOpts_ssse3.cpp",
]
} else if (platform == "mac") {
cflags += [
"-mavx",
"-mssse3",
"-msse4.1",
"-msse4.2",
]
if (host_cpu == "arm64") {
cflags += [ "-mcpu=native" ]
} else {
cflags += [ "-march=haswell" ]
}
sources += [
"$flutter_root/skia/src/opts/SkOpts_sse41.cpp",
"$flutter_root/skia/src/opts/SkOpts_sse42.cpp",
"$flutter_root/skia/src/opts/SkOpts_ssse3.cpp",
]
} else if (platform == "ios") {
sources += [
"$flutter_root/skia/src/opts/SkOpts_sse41.cpp",
"$flutter_root/skia/src/opts/SkOpts_sse42.cpp",
"$flutter_root/skia/src/opts/SkOpts_ssse3.cpp",
]
} else {
sources += [ "$flutter_root/skia/src/opts/SkOpts_crc32.cpp" ]
}
cflags += [ "-Wno-unused-command-line-argument" ]
}
}
foreach(item, ace_platforms) {
ace_skia_opts("ace_skia_opts_" + item.name) {
platform = item.name
}
}
# ------------------------------------------------
# Skia opts config end
# ------------------------------------------------
# ------------------------------------------------
# Skia core config begin
# ------------------------------------------------
config("ace_skia_core_config") {
visibility = [ ":*" ]
include_dirs = [ "$flutter_root/skia" ]
cflags_cc = ace_skia_common_ccflags
cflags_cc += [ "-Wno-extra-semi" ]
cflags = ace_skia_common_cflags
cflags += [ "-Wno-extra-semi" ]
}
template("ace_skia_core") {
forward_variables_from(invoker, "*")
ohos_source_set(target_name) {
part_name = flutter_part
subsystem_name = flutter_subsystem
defines += invoker.defines
defines += ace_skia_common_defines
cflags_cc += invoker.cflags_cc
configs = [
":ace_skia_core_config",
":skia_deps_include_config",
]
if (platform == "android") {
configs += [ "$ace_root/build:reduce_eh_frame_config" ]
}
sources = [
"$flutter_root/skia/src/android/SkAndroidFrameworkUtils.cpp",
"$flutter_root/skia/src/android/SkAnimatedImage.cpp",
"$flutter_root/skia/src/android/SkBitmapRegionCodec.cpp",
"$flutter_root/skia/src/android/SkBitmapRegionDecoder.cpp",
"$flutter_root/skia/src/c/sk_effects.cpp",
"$flutter_root/skia/src/c/sk_imageinfo.cpp",
"$flutter_root/skia/src/c/sk_paint.cpp",
"$flutter_root/skia/src/c/sk_surface.cpp",
"$flutter_root/skia/src/codec/SkAndroidCodec.cpp",
"$flutter_root/skia/src/codec/SkAndroidCodecAdapter.cpp",
"$flutter_root/skia/src/codec/SkBmpBaseCodec.cpp",
"$flutter_root/skia/src/codec/SkBmpCodec.cpp",
"$flutter_root/skia/src/codec/SkBmpMaskCodec.cpp",
"$flutter_root/skia/src/codec/SkBmpRLECodec.cpp",
"$flutter_root/skia/src/codec/SkBmpStandardCodec.cpp",
"$flutter_root/skia/src/codec/SkCodec.cpp",
"$flutter_root/skia/src/codec/SkCodecImageGenerator.cpp",
"$flutter_root/skia/src/codec/SkColorTable.cpp",
"$flutter_root/skia/src/codec/SkEncodedInfo.cpp",
"$flutter_root/skia/src/codec/SkMaskSwizzler.cpp",
"$flutter_root/skia/src/codec/SkMasks.cpp",
"$flutter_root/skia/src/codec/SkSampledCodec.cpp",
"$flutter_root/skia/src/codec/SkSampler.cpp",
"$flutter_root/skia/src/codec/SkStreamBuffer.cpp",
"$flutter_root/skia/src/codec/SkSwizzler.cpp",
"$flutter_root/skia/src/codec/SkWbmpCodec.cpp",
"$flutter_root/skia/src/core/SkAAClip.cpp",
"$flutter_root/skia/src/core/SkATrace.cpp",
"$flutter_root/skia/src/core/SkAlphaRuns.cpp",
"$flutter_root/skia/src/core/SkAnalyticEdge.cpp",
"$flutter_root/skia/src/core/SkAnnotation.cpp",
"$flutter_root/skia/src/core/SkArenaAlloc.cpp",
"$flutter_root/skia/src/core/SkAutoPixmapStorage.cpp",
"$flutter_root/skia/src/core/SkBBHFactory.cpp",
"$flutter_root/skia/src/core/SkBigPicture.cpp",
"$flutter_root/skia/src/core/SkBitmap.cpp",
"$flutter_root/skia/src/core/SkBitmapCache.cpp",
"$flutter_root/skia/src/core/SkBitmapController.cpp",
"$flutter_root/skia/src/core/SkBitmapDevice.cpp",
"$flutter_root/skia/src/core/SkBitmapProcState.cpp",
"$flutter_root/skia/src/core/SkBitmapProcState_matrixProcs.cpp",
"$flutter_root/skia/src/core/SkBlendMode.cpp",
"$flutter_root/skia/src/core/SkBlitRow_D32.cpp",
"$flutter_root/skia/src/core/SkBlitter.cpp",
"$flutter_root/skia/src/core/SkBlitter_A8.cpp",
"$flutter_root/skia/src/core/SkBlitter_ARGB32.cpp",
"$flutter_root/skia/src/core/SkBlitter_RGB565.cpp",
"$flutter_root/skia/src/core/SkBlitter_Sprite.cpp",
"$flutter_root/skia/src/core/SkBlurMF.cpp",
"$flutter_root/skia/src/core/SkBlurMask.cpp",
"$flutter_root/skia/src/core/SkBuffer.cpp",
"$flutter_root/skia/src/core/SkCachedData.cpp",
"$flutter_root/skia/src/core/SkCanvas.cpp",
"$flutter_root/skia/src/core/SkCanvasPriv.cpp",
"$flutter_root/skia/src/core/SkClipStack.cpp",
"$flutter_root/skia/src/core/SkClipStackDevice.cpp",
"$flutter_root/skia/src/core/SkColor.cpp",
"$flutter_root/skia/src/core/SkColorFilter.cpp",
"$flutter_root/skia/src/core/SkColorFilter_Matrix.cpp",
"$flutter_root/skia/src/core/SkColorSpace.cpp",
"$flutter_root/skia/src/core/SkColorSpaceXformSteps.cpp",
"$flutter_root/skia/src/core/SkContourMeasure.cpp",
"$flutter_root/skia/src/core/SkConvertPixels.cpp",
"$flutter_root/skia/src/core/SkCpu.cpp",
"$flutter_root/skia/src/core/SkCubicClipper.cpp",
"$flutter_root/skia/src/core/SkCubicMap.cpp",
"$flutter_root/skia/src/core/SkData.cpp",
"$flutter_root/skia/src/core/SkDataTable.cpp",
"$flutter_root/skia/src/core/SkDebug.cpp",
"$flutter_root/skia/src/core/SkDeferredDisplayList.cpp",
"$flutter_root/skia/src/core/SkDeferredDisplayListRecorder.cpp",
"$flutter_root/skia/src/core/SkDeque.cpp",
"$flutter_root/skia/src/core/SkDescriptor.cpp",
"$flutter_root/skia/src/core/SkDevice.cpp",
"$flutter_root/skia/src/core/SkDistanceFieldGen.cpp",
"$flutter_root/skia/src/core/SkDocument.cpp",
"$flutter_root/skia/src/core/SkDraw.cpp",
"$flutter_root/skia/src/core/SkDrawLooper.cpp",
"$flutter_root/skia/src/core/SkDrawShadowInfo.cpp",
"$flutter_root/skia/src/core/SkDraw_atlas.cpp",
"$flutter_root/skia/src/core/SkDraw_text.cpp",
"$flutter_root/skia/src/core/SkDraw_vertices.cpp",
"$flutter_root/skia/src/core/SkDrawable.cpp",
"$flutter_root/skia/src/core/SkEdge.cpp",
"$flutter_root/skia/src/core/SkEdgeBuilder.cpp",
"$flutter_root/skia/src/core/SkEdgeClipper.cpp",
"$flutter_root/skia/src/core/SkExecutor.cpp",
"$flutter_root/skia/src/core/SkFlattenable.cpp",
"$flutter_root/skia/src/core/SkFont.cpp",
"$flutter_root/skia/src/core/SkFontDescriptor.cpp",
"$flutter_root/skia/src/core/SkFontLCDConfig.cpp",
"$flutter_root/skia/src/core/SkFontMgr.cpp",
"$flutter_root/skia/src/core/SkFontStream.cpp",
"$flutter_root/skia/src/core/SkGaussFilter.cpp",
"$flutter_root/skia/src/core/SkGeometry.cpp",
"$flutter_root/skia/src/core/SkGlobalInitialization_core.cpp",
"$flutter_root/skia/src/core/SkGlyph.cpp",
"$flutter_root/skia/src/core/SkGlyphRun.cpp",
"$flutter_root/skia/src/core/SkGlyphRunPainter.cpp",
"$flutter_root/skia/src/core/SkGpuBlurUtils.cpp",
"$flutter_root/skia/src/core/SkGraphics.cpp",
"$flutter_root/skia/src/core/SkHalf.cpp",
"$flutter_root/skia/src/core/SkICC.cpp",
"$flutter_root/skia/src/core/SkImageFilter.cpp",
"$flutter_root/skia/src/core/SkImageFilterCache.cpp",
"$flutter_root/skia/src/core/SkImageGenerator.cpp",
"$flutter_root/skia/src/core/SkImageInfo.cpp",
"$flutter_root/skia/src/core/SkLatticeIter.cpp",
"$flutter_root/skia/src/core/SkLineClipper.cpp",
"$flutter_root/skia/src/core/SkLocalMatrixImageFilter.cpp",
"$flutter_root/skia/src/core/SkMD5.cpp",
"$flutter_root/skia/src/core/SkMallocPixelRef.cpp",
"$flutter_root/skia/src/core/SkMask.cpp",
"$flutter_root/skia/src/core/SkMaskBlurFilter.cpp",
"$flutter_root/skia/src/core/SkMaskCache.cpp",
"$flutter_root/skia/src/core/SkMaskFilter.cpp",
"$flutter_root/skia/src/core/SkMaskGamma.cpp",
"$flutter_root/skia/src/core/SkMath.cpp",
"$flutter_root/skia/src/core/SkMatrix.cpp",
"$flutter_root/skia/src/core/SkMatrix44.cpp",
"$flutter_root/skia/src/core/SkMatrixImageFilter.cpp",
"$flutter_root/skia/src/core/SkMiniRecorder.cpp",
"$flutter_root/skia/src/core/SkMipMap.cpp",
"$flutter_root/skia/src/core/SkModeColorFilter.cpp",
"$flutter_root/skia/src/core/SkMultiPictureDraw.cpp",
"$flutter_root/skia/src/core/SkNormalFlatSource.cpp",
"$flutter_root/skia/src/core/SkNormalMapSource.cpp",
"$flutter_root/skia/src/core/SkNormalSource.cpp",
"$flutter_root/skia/src/core/SkOpts.cpp",
"$flutter_root/skia/src/core/SkOverdrawCanvas.cpp",
"$flutter_root/skia/src/core/SkPaint.cpp",
"$flutter_root/skia/src/core/SkPaintPriv.cpp",
"$flutter_root/skia/src/core/SkPath.cpp",
"$flutter_root/skia/src/core/SkPathEffect.cpp",
"$flutter_root/skia/src/core/SkPathMeasure.cpp",
"$flutter_root/skia/src/core/SkPathRef.cpp",
"$flutter_root/skia/src/core/SkPath_serial.cpp",
"$flutter_root/skia/src/core/SkPicture.cpp",
"$flutter_root/skia/src/core/SkPictureData.cpp",
"$flutter_root/skia/src/core/SkPictureFlat.cpp",
"$flutter_root/skia/src/core/SkPictureImageGenerator.cpp",
"$flutter_root/skia/src/core/SkPicturePlayback.cpp",
"$flutter_root/skia/src/core/SkPictureRecord.cpp",
"$flutter_root/skia/src/core/SkPictureRecorder.cpp",
"$flutter_root/skia/src/core/SkPixelRef.cpp",
"$flutter_root/skia/src/core/SkPixmap.cpp",
"$flutter_root/skia/src/core/SkPoint.cpp",
"$flutter_root/skia/src/core/SkPoint3.cpp",
"$flutter_root/skia/src/core/SkPromiseImageTexture.cpp",
"$flutter_root/skia/src/core/SkPtrRecorder.cpp",
"$flutter_root/skia/src/core/SkQuadClipper.cpp",
"$flutter_root/skia/src/core/SkRRect.cpp",
"$flutter_root/skia/src/core/SkRTree.cpp",
"$flutter_root/skia/src/core/SkRWBuffer.cpp",
"$flutter_root/skia/src/core/SkRasterClip.cpp",
"$flutter_root/skia/src/core/SkRasterPipeline.cpp",
"$flutter_root/skia/src/core/SkRasterPipelineBlitter.cpp",
"$flutter_root/skia/src/core/SkReadBuffer.cpp",
"$flutter_root/skia/src/core/SkRecord.cpp",
"$flutter_root/skia/src/core/SkRecordDraw.cpp",
"$flutter_root/skia/src/core/SkRecordOpts.cpp",
"$flutter_root/skia/src/core/SkRecordedDrawable.cpp",
"$flutter_root/skia/src/core/SkRecorder.cpp",
"$flutter_root/skia/src/core/SkRecords.cpp",
"$flutter_root/skia/src/core/SkRect.cpp",
"$flutter_root/skia/src/core/SkRegion.cpp",
"$flutter_root/skia/src/core/SkRegion_path.cpp",
"$flutter_root/skia/src/core/SkRemoteGlyphCache.cpp",
"$flutter_root/skia/src/core/SkResourceCache.cpp",
"$flutter_root/skia/src/core/SkScalar.cpp",
"$flutter_root/skia/src/core/SkScalerContext.cpp",
"$flutter_root/skia/src/core/SkScan.cpp",
"$flutter_root/skia/src/core/SkScan_AAAPath.cpp",
"$flutter_root/skia/src/core/SkScan_AntiPath.cpp",
"$flutter_root/skia/src/core/SkScan_Antihair.cpp",
"$flutter_root/skia/src/core/SkScan_Hairline.cpp",
"$flutter_root/skia/src/core/SkScan_Path.cpp",
"$flutter_root/skia/src/core/SkSemaphore.cpp",
"$flutter_root/skia/src/core/SkSharedMutex.cpp",
"$flutter_root/skia/src/core/SkSpecialImage.cpp",
"$flutter_root/skia/src/core/SkSpecialSurface.cpp",
"$flutter_root/skia/src/core/SkSpinlock.cpp",
"$flutter_root/skia/src/core/SkSpriteBlitter_ARGB32.cpp",
"$flutter_root/skia/src/core/SkSpriteBlitter_RGB565.cpp",
"$flutter_root/skia/src/core/SkStream.cpp",
"$flutter_root/skia/src/core/SkStrike.cpp",
"$flutter_root/skia/src/core/SkStrikeCache.cpp",
"$flutter_root/skia/src/core/SkStrikeSpec.cpp",
"$flutter_root/skia/src/core/SkString.cpp",
"$flutter_root/skia/src/core/SkStringUtils.cpp",
"$flutter_root/skia/src/core/SkStroke.cpp",
"$flutter_root/skia/src/core/SkStrokeRec.cpp",
"$flutter_root/skia/src/core/SkStrokerPriv.cpp",
"$flutter_root/skia/src/core/SkSurfaceCharacterization.cpp",
"$flutter_root/skia/src/core/SkSwizzle.cpp",
"$flutter_root/skia/src/core/SkTLS.cpp",
"$flutter_root/skia/src/core/SkTSearch.cpp",
"$flutter_root/skia/src/core/SkTaskGroup.cpp",
"$flutter_root/skia/src/core/SkTextBlob.cpp",
"$flutter_root/skia/src/core/SkThreadID.cpp",
"$flutter_root/skia/src/core/SkTime.cpp",
"$flutter_root/skia/src/core/SkTypeface.cpp",
"$flutter_root/skia/src/core/SkTypefaceCache.cpp",
"$flutter_root/skia/src/core/SkTypeface_remote.cpp",
"$flutter_root/skia/src/core/SkUnPreMultiply.cpp",
"$flutter_root/skia/src/core/SkUtils.cpp",
"$flutter_root/skia/src/core/SkVM.cpp",
"$flutter_root/skia/src/core/SkVMBlitter.cpp",
"$flutter_root/skia/src/core/SkVertState.cpp",
"$flutter_root/skia/src/core/SkVertices.cpp",
"$flutter_root/skia/src/core/SkWriteBuffer.cpp",
"$flutter_root/skia/src/core/SkWriter32.cpp",
"$flutter_root/skia/src/core/SkXfermode.cpp",
"$flutter_root/skia/src/core/SkXfermodeInterpretation.cpp",
"$flutter_root/skia/src/core/SkYUVASizeInfo.cpp",
"$flutter_root/skia/src/core/SkYUVMath.cpp",
"$flutter_root/skia/src/core/SkYUVPlanesCache.cpp",
"$flutter_root/skia/src/effects/Sk1DPathEffect.cpp",
"$flutter_root/skia/src/effects/Sk2DPathEffect.cpp",
"$flutter_root/skia/src/effects/SkColorMatrix.cpp",
"$flutter_root/skia/src/effects/SkColorMatrixFilter.cpp",
"$flutter_root/skia/src/effects/SkCornerPathEffect.cpp",
"$flutter_root/skia/src/effects/SkDashPathEffect.cpp",
"$flutter_root/skia/src/effects/SkDiscretePathEffect.cpp",
"$flutter_root/skia/src/effects/SkEmbossMask.cpp",
"$flutter_root/skia/src/effects/SkEmbossMaskFilter.cpp",
"$flutter_root/skia/src/effects/SkHighContrastFilter.cpp",
"$flutter_root/skia/src/effects/SkLayerDrawLooper.cpp",
"$flutter_root/skia/src/effects/SkLumaColorFilter.cpp",
"$flutter_root/skia/src/effects/SkOpPathEffect.cpp",
"$flutter_root/skia/src/effects/SkOverdrawColorFilter.cpp",
"$flutter_root/skia/src/effects/SkPackBits.cpp",
"$flutter_root/skia/src/effects/SkShaderMaskFilter.cpp",
"$flutter_root/skia/src/effects/SkTableColorFilter.cpp",
"$flutter_root/skia/src/effects/SkTableMaskFilter.cpp",
"$flutter_root/skia/src/effects/SkTrimPathEffect.cpp",
"$flutter_root/skia/src/effects/imagefilters/SkAlphaThresholdFilter.cpp",
"$flutter_root/skia/src/effects/imagefilters/SkArithmeticImageFilter.cpp",
"$flutter_root/skia/src/effects/imagefilters/SkBlurImageFilter.cpp",
"$flutter_root/skia/src/effects/imagefilters/SkColorFilterImageFilter.cpp",
"$flutter_root/skia/src/effects/imagefilters/SkComposeImageFilter.cpp",
"$flutter_root/skia/src/effects/imagefilters/SkDisplacementMapEffect.cpp",
"$flutter_root/skia/src/effects/imagefilters/SkDropShadowImageFilter.cpp",
"$flutter_root/skia/src/effects/imagefilters/SkImageFilters.cpp",
"$flutter_root/skia/src/effects/imagefilters/SkImageSource.cpp",
"$flutter_root/skia/src/effects/imagefilters/SkLightingImageFilter.cpp",
"$flutter_root/skia/src/effects/imagefilters/SkMagnifierImageFilter.cpp",
"$flutter_root/skia/src/effects/imagefilters/SkMatrixConvolutionImageFilter.cpp",
"$flutter_root/skia/src/effects/imagefilters/SkMergeImageFilter.cpp",
"$flutter_root/skia/src/effects/imagefilters/SkMorphologyImageFilter.cpp",
"$flutter_root/skia/src/effects/imagefilters/SkOffsetImageFilter.cpp",
"$flutter_root/skia/src/effects/imagefilters/SkPaintImageFilter.cpp",
"$flutter_root/skia/src/effects/imagefilters/SkPictureImageFilter.cpp",
"$flutter_root/skia/src/effects/imagefilters/SkTileImageFilter.cpp",
"$flutter_root/skia/src/effects/imagefilters/SkXfermodeImageFilter.cpp",
"$flutter_root/skia/src/image/SkImage.cpp",
"$flutter_root/skia/src/image/SkImage_Lazy.cpp",
"$flutter_root/skia/src/image/SkImage_Raster.cpp",
"$flutter_root/skia/src/image/SkSurface.cpp",
"$flutter_root/skia/src/image/SkSurface_Raster.cpp",
"$flutter_root/skia/src/images/SkImageEncoder.cpp",
"$flutter_root/skia/src/lazy/SkDiscardableMemoryPool.cpp",
"$flutter_root/skia/src/pathops/SkAddIntersections.cpp",
"$flutter_root/skia/src/pathops/SkDConicLineIntersection.cpp",
"$flutter_root/skia/src/pathops/SkDCubicLineIntersection.cpp",
"$flutter_root/skia/src/pathops/SkDCubicToQuads.cpp",
"$flutter_root/skia/src/pathops/SkDLineIntersection.cpp",
"$flutter_root/skia/src/pathops/SkDQuadLineIntersection.cpp",
"$flutter_root/skia/src/pathops/SkIntersections.cpp",
"$flutter_root/skia/src/pathops/SkOpAngle.cpp",
"$flutter_root/skia/src/pathops/SkOpBuilder.cpp",
"$flutter_root/skia/src/pathops/SkOpCoincidence.cpp",
"$flutter_root/skia/src/pathops/SkOpContour.cpp",
"$flutter_root/skia/src/pathops/SkOpCubicHull.cpp",
"$flutter_root/skia/src/pathops/SkOpEdgeBuilder.cpp",
"$flutter_root/skia/src/pathops/SkOpSegment.cpp",
"$flutter_root/skia/src/pathops/SkOpSpan.cpp",
"$flutter_root/skia/src/pathops/SkPathOpsAsWinding.cpp",
"$flutter_root/skia/src/pathops/SkPathOpsCommon.cpp",
"$flutter_root/skia/src/pathops/SkPathOpsConic.cpp",
"$flutter_root/skia/src/pathops/SkPathOpsCubic.cpp",
"$flutter_root/skia/src/pathops/SkPathOpsCurve.cpp",
"$flutter_root/skia/src/pathops/SkPathOpsDebug.cpp",
"$flutter_root/skia/src/pathops/SkPathOpsLine.cpp",
"$flutter_root/skia/src/pathops/SkPathOpsOp.cpp",
"$flutter_root/skia/src/pathops/SkPathOpsQuad.cpp",
"$flutter_root/skia/src/pathops/SkPathOpsRect.cpp",
"$flutter_root/skia/src/pathops/SkPathOpsSimplify.cpp",
"$flutter_root/skia/src/pathops/SkPathOpsTSect.cpp",
"$flutter_root/skia/src/pathops/SkPathOpsTightBounds.cpp",
"$flutter_root/skia/src/pathops/SkPathOpsTypes.cpp",
"$flutter_root/skia/src/pathops/SkPathOpsWinding.cpp",
"$flutter_root/skia/src/pathops/SkPathWriter.cpp",
"$flutter_root/skia/src/pathops/SkReduceOrder.cpp",
"$flutter_root/skia/src/ports/SkDebug_android.cpp",
"$flutter_root/skia/src/ports/SkDiscardableMemory_none.cpp",
"$flutter_root/skia/src/ports/SkGlobalInitialization_default.cpp",
"$flutter_root/skia/src/ports/SkImageGenerator_skia.cpp",
"$flutter_root/skia/src/ports/SkMemory_malloc.cpp",
"$flutter_root/skia/src/ports/SkOSFile_posix.cpp",
"$flutter_root/skia/src/ports/SkOSFile_stdio.cpp",
"$flutter_root/skia/src/ports/SkOSLibrary_posix.cpp",
"$flutter_root/skia/src/ports/SkTLS_pthread.cpp",
"$flutter_root/skia/src/sfnt/SkOTTable_name.cpp",
"$flutter_root/skia/src/sfnt/SkOTUtils.cpp",
"$flutter_root/skia/src/shaders/SkBitmapProcShader.cpp",
"$flutter_root/skia/src/shaders/SkColorFilterShader.cpp",
"$flutter_root/skia/src/shaders/SkColorShader.cpp",
"$flutter_root/skia/src/shaders/SkComposeShader.cpp",
"$flutter_root/skia/src/shaders/SkImageShader.cpp",
"$flutter_root/skia/src/shaders/SkLightingShader.cpp",
"$flutter_root/skia/src/shaders/SkLights.cpp",
"$flutter_root/skia/src/shaders/SkLocalMatrixShader.cpp",
"$flutter_root/skia/src/shaders/SkPerlinNoiseShader.cpp",
"$flutter_root/skia/src/shaders/SkPictureShader.cpp",
"$flutter_root/skia/src/shaders/SkRTShader.cpp",
"$flutter_root/skia/src/shaders/SkShader.cpp",
"$flutter_root/skia/src/shaders/gradients/Sk4fGradientBase.cpp",
"$flutter_root/skia/src/shaders/gradients/Sk4fLinearGradient.cpp",
"$flutter_root/skia/src/shaders/gradients/SkGradientShader.cpp",
"$flutter_root/skia/src/shaders/gradients/SkLinearGradient.cpp",
"$flutter_root/skia/src/shaders/gradients/SkRadialGradient.cpp",
"$flutter_root/skia/src/shaders/gradients/SkSweepGradient.cpp",
"$flutter_root/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp",
"$flutter_root/skia/src/sksl/SkSLASTNode.cpp",
"$flutter_root/skia/src/sksl/SkSLByteCode.cpp",
"$flutter_root/skia/src/sksl/SkSLByteCodeGenerator.cpp",
"$flutter_root/skia/src/sksl/SkSLCFGGenerator.cpp",
"$flutter_root/skia/src/sksl/SkSLCompiler.cpp",
"$flutter_root/skia/src/sksl/SkSLIRGenerator.cpp",
"$flutter_root/skia/src/sksl/SkSLJIT.cpp",
"$flutter_root/skia/src/sksl/SkSLLexer.cpp",
"$flutter_root/skia/src/sksl/SkSLParser.cpp",
"$flutter_root/skia/src/sksl/SkSLString.cpp",
"$flutter_root/skia/src/sksl/SkSLUtil.cpp",
"$flutter_root/skia/src/sksl/ir/SkSLSetting.cpp",
"$flutter_root/skia/src/sksl/ir/SkSLSymbolTable.cpp",
"$flutter_root/skia/src/sksl/ir/SkSLType.cpp",
"$flutter_root/skia/src/sksl/ir/SkSLVariableReference.cpp",
"$flutter_root/skia/src/utils/Sk3D.cpp",
"$flutter_root/skia/src/utils/SkAnimCodecPlayer.cpp",
"$flutter_root/skia/src/utils/SkBase64.cpp",
"$flutter_root/skia/src/utils/SkCamera.cpp",
"$flutter_root/skia/src/utils/SkCanvasStack.cpp",
"$flutter_root/skia/src/utils/SkCanvasStateUtils.cpp",
"$flutter_root/skia/src/utils/SkCharToGlyphCache.cpp",
"$flutter_root/skia/src/utils/SkDashPath.cpp",
"$flutter_root/skia/src/utils/SkEventTracer.cpp",
"$flutter_root/skia/src/utils/SkFloatToDecimal.cpp",
"$flutter_root/skia/src/utils/SkFrontBufferedStream.cpp",
"$flutter_root/skia/src/utils/SkInterpolator.cpp",
"$flutter_root/skia/src/utils/SkJSON.cpp",
"$flutter_root/skia/src/utils/SkJSONWriter.cpp",
"$flutter_root/skia/src/utils/SkMatrix22.cpp",
"$flutter_root/skia/src/utils/SkMultiPictureDocument.cpp",
"$flutter_root/skia/src/utils/SkNWayCanvas.cpp",
"$flutter_root/skia/src/utils/SkNullCanvas.cpp",
"$flutter_root/skia/src/utils/SkOSPath.cpp",
"$flutter_root/skia/src/utils/SkPaintFilterCanvas.cpp",
"$flutter_root/skia/src/utils/SkParse.cpp",
"$flutter_root/skia/src/utils/SkParseColor.cpp",
"$flutter_root/skia/src/utils/SkParsePath.cpp",
"$flutter_root/skia/src/utils/SkPatchUtils.cpp",
"$flutter_root/skia/src/utils/SkPolyUtils.cpp",
"$flutter_root/skia/src/utils/SkShadowTessellator.cpp",
"$flutter_root/skia/src/utils/SkShadowUtils.cpp",
"$flutter_root/skia/src/utils/SkShaperJSONWriter.cpp",
"$flutter_root/skia/src/utils/SkTextUtils.cpp",
"$flutter_root/skia/src/utils/SkThreadUtils_pthread.cpp",
"$flutter_root/skia/src/utils/SkThreadUtils_win.cpp",
"$flutter_root/skia/src/utils/SkUTF.cpp",
"$flutter_root/skia/src/utils/SkWhitelistTypefaces.cpp",
"$flutter_root/skia/src/utils/mac/SkCreateCGImageRef.cpp",
"$flutter_root/skia/src/utils/mac/SkStream_mac.cpp",
"$flutter_root/skia/src/utils/win/SkAutoCoInitialize.cpp",
"$flutter_root/skia/src/utils/win/SkDWrite.cpp",
"$flutter_root/skia/src/utils/win/SkDWriteFontFileStream.cpp",
"$flutter_root/skia/src/utils/win/SkDWriteGeometrySink.cpp",
"$flutter_root/skia/src/utils/win/SkHRESULT.cpp",
"$flutter_root/skia/src/utils/win/SkIStream.cpp",
"$flutter_root/skia/src/utils/win/SkWGL_win.cpp",
"$flutter_root/skia/src/xps/SkXPSDevice.cpp",
"$flutter_root/skia/src/xps/SkXPSDocument.cpp",
]
if (enable_dump_drawcmd) {
defines += [ "DUMP_DRAW_CMD" ]
}
if (platform == "windows") {
defines -= [ "NOGDI" ]
sources -= [
"$flutter_root/skia/src/ports/SkOSFile_posix.cpp",
"$flutter_root/skia/src/ports/SkOSLibrary_posix.cpp",
"$flutter_root/skia/src/ports/SkTLS_pthread.cpp",
# SkXPS - Experimental XPS backend, maybe we can remove this.
"$flutter_root/skia/src/xps/SkXPSDevice.cpp",
"$flutter_root/skia/src/xps/SkXPSDocument.cpp",
]
sources += [
"$flutter_root/skia/src/ports/SkDebug_win.cpp",
"$flutter_root/skia/src/ports/SkImageEncoder_WIC.cpp",
"$flutter_root/skia/src/ports/SkImageGeneratorWIC.cpp",
"$flutter_root/skia/src/ports/SkOSFile_win.cpp",
"$flutter_root/skia/src/ports/SkOSLibrary_win.cpp",
"$flutter_root/skia/src/ports/SkTLS_win.cpp",
]
libs = [
"//prebuilts/mingw-w64/ohos/linux-x86_64/clang-mingw/x86_64-w64-mingw32/lib/libfontsub.a",
"//prebuilts/mingw-w64/ohos/linux-x86_64/clang-mingw/x86_64-w64-mingw32/lib/libole32.a",
"//prebuilts/mingw-w64/ohos/linux-x86_64/clang-mingw/x86_64-w64-mingw32/lib/liboleaut32.a",
"//prebuilts/mingw-w64/ohos/linux-x86_64/clang-mingw/x86_64-w64-mingw32/lib/libuser32.a",
"//prebuilts/mingw-w64/ohos/linux-x86_64/clang-mingw/x86_64-w64-mingw32/lib/libusp10.a",
"//prebuilts/mingw-w64/ohos/linux-x86_64/clang-mingw/x86_64-w64-mingw32/lib/libwindowscodecs.a",
]
} else if (platform == "mac") {
sources += [
"$flutter_root/skia/src/ports/SkDebug_stdio.cpp",
"$flutter_root/skia/src/ports/SkImageEncoder_CG.cpp",
"$flutter_root/skia/src/ports/SkImageGeneratorCG.cpp",
]
libs = [
# AppKit symbols NSFontWeightXXX may be dlsym'ed.
"AppKit.framework",
"ApplicationServices.framework",
"OpenGL.framework",
]
} else if (platform == "ios") {
sources += [
"$flutter_root/skia/src/ports/SkDebug_stdio.cpp",
"$flutter_root/skia/src/ports/SkFontHost_mac.cpp",
"$flutter_root/skia/src/ports/SkImageEncoder_CG.cpp",
"$flutter_root/skia/src/ports/SkImageGeneratorCG.cpp",
]
libs = [
"CoreFoundation.framework",
"CoreGraphics.framework",
"CoreText.framework",
"ImageIO.framework",
"MobileCoreServices.framework",
# UIKit symbols UIFontWeightXXX may be dlsym'ed.
"UIKit.framework",
]
} else if (platform == "linux") {
sources += [ "$flutter_root/skia/src/ports/SkDebug_stdio.cpp" ]
libs = [ "GL" ]
} else {
# Ohos and Android plarform
if (target_cpu != "arm") {
defines += [ "SKVM_JIT" ]
}
if (platform == "ohos") {
defines -= [
"SK_DISABLE_READBUFFER",
"SK_DISABLE_EFFECT_DESERIALIZATION",
]
}
if (defined(config.disable_gpu) && config.disable_gpu) {
defines += [
"SK_BUILD_FOR_UNIX",
"SK_SUPPORT_ATLAS_TEXT=0",
"SK_SUPPORT_GPU=0",
]
defines -= [
"SK_SUPPORT_ATLAS_TEXT=1",
"SK_GL",
]
} else {
if (is_standard_system) {
public_deps = [ "//foundation/graphic/graphic_2d:libgl" ]
} else {
aosp_deps = [
"shared_library:libEGL",
"shared_library:libGLESv2",
"shared_library:liblog",
]
}
}
if (defined(config.sk_use_hilog) && config.sk_use_hilog) {
sources -= [ "$flutter_root/skia/src/ports/SkDebug_android.cpp" ]
sources += [ "$flutter_root/skia/src/ports/SkDebug_ohos.cpp" ]
external_deps = [ "hiviewdfx_hilog_native:libhilog" ]
}
}
}
}
foreach(item, ace_platforms) {
ace_skia_core("ace_skia_core_" + item.name) {
platform = item.name
defines = []
cflags_cc = []
config = {
}
if (defined(item.config)) {
config = item.config
}
if (defined(config.defines)) {
defines = config.defines
}
if (defined(config.cflags_cc)) {
cflags_cc = config.cflags_cc
}
}
}
# ------------------------------------------------
# Skia core config end
# ------------------------------------------------
# ------------------------------------------------
# Skia ext config begin
# ------------------------------------------------
config("ace_skia_ext_config") {
visibility = [ ":*" ]
include_dirs = [
"$flutter_root",
"$flutter_root/skia",
"$flutter_root/engine",
]
cflags = [ "-fvisibility=hidden" ]
}
template("ace_skia_ext") {
forward_variables_from(invoker, "*")
ohos_source_set(target_name) {
part_name = flutter_part
subsystem_name = flutter_subsystem
defines += invoker.defines
defines += [ "OHOS_ACE_SKIA_EXT" ]
configs = [ ":ace_skia_ext_config" ]
cflags_cc += invoker.cflags_cc
cflags_cc += ace_skia_common_ccflags
sources = [
# enable ext utils
"$flutter_root/skia/src/core/SkArenaAlloc.cpp",
"$flutter_root/skia/src/core/SkOpts.cpp",
"$flutter_root/skia/src/core/SkTSearch.cpp",
"$flutter_root/skia/src/utils/SkBase64.cpp",
# use ohos fontmgr
"$flutter_root/skia/src/ports/SkFontMgr_ohos.cpp",
]
deps = [
":ace_skia_opts_$platform",
":ace_svg_model_$platform",
":ace_xml",
]
if (platform == "ohos" && defined(config.enable_native_view) &&
config.enable_native_view) {
aosp_deps = [
"shared_library:libexpat",
"shared_library:libhwui",
]
}
}
}
foreach(item, ace_platforms) {
ace_skia_ext("ace_skia_ext_" + item.name) {
platform = item.name
defines = []
cflags_cc = []
config = {
}
if (defined(item.config)) {
config = item.config
}
if (defined(config.defines)) {
defines = config.defines
}
if (defined(config.cflags_cc)) {
cflags_cc = config.cflags_cc
}
}
}
# ------------------------------------------------
# Skia ext config end
# ------------------------------------------------
# ------------------------------------------------
# Skia jpeg config begin
# ------------------------------------------------
config("ace_jpeg_config") {
visibility = [ ":*" ]
include_dirs = [
"$flutter_root/skia",
"$flutter_root/skia/third_party/libjpeg-turbo",
"$flutter_root/skia/third_party/externals/libjpeg-turbo",
]
cflags_cc = ace_skia_common_ccflags
cflags = ace_skia_common_cflags
}
ohos_source_set("ace_jpeg") {
part_name = flutter_part
subsystem_name = flutter_subsystem
configs = [ ":ace_jpeg_config" ]
sources = [
"$flutter_root/skia/src/codec/SkJpegCodec.cpp",
"$flutter_root/skia/src/codec/SkJpegDecoderMgr.cpp",
"$flutter_root/skia/src/codec/SkJpegUtility.cpp",
"$flutter_root/skia/src/images/SkJPEGWriteUtility.cpp",
"$flutter_root/skia/src/images/SkJpegEncoder.cpp",
]
defines = ace_skia_common_defines
defines += [ "SK_HAS_JPEG_LIBRARY" ]
}
# ------------------------------------------------
# Skia jpeg config end
# ------------------------------------------------
# ------------------------------------------------
# Skia skcms config begin
# ------------------------------------------------
config("ace_skcms_config") {
visibility = [ ":*" ]
include_dirs = [ "$flutter_root/skia/include/third_party/skcms" ]
cflags_cc = ace_skia_common_ccflags
cflags = [
"-w",
"-std=c11",
]
cflags += ace_skia_common_cflags
}
ohos_source_set("ace_skcms") {
part_name = flutter_part
subsystem_name = flutter_subsystem
configs = [ ":ace_skcms_config" ]
sources = [ "$flutter_root/skia/third_party/skcms/skcms.cc" ]
}
# ------------------------------------------------
# Skia skcms config end
# ------------------------------------------------
# ------------------------------------------------
# Skia pdf config begin
# ------------------------------------------------
config("pdf_compile_flags") {
cflags_cc = ace_skia_common_ccflags
cflags_cc += [ "-Wno-extra-semi" ]
cflags = ace_skia_common_cflags
cflags += [ "-Wno-extra-semi" ]
include_dirs = [
"$flutter_root/skia",
"$flutter_root/skia/third_party/icu",
]
}
template("ace_pdf") {
forward_variables_from(invoker, "*")
ohos_source_set(target_name) {
part_name = flutter_part
subsystem_name = flutter_subsystem
defines += invoker.defines
cflags_cc += invoker.cflags_cc
defines += ace_skia_common_defines
defines += [
"SK_PDF_USE_SFNTLY",
"U_USING_ICU_NAMESPACE=0",
"SK_USING_THIRD_PARTY_ICU",
]
configs = [
":skia_deps_include_config",
":pdf_compile_flags",
]
if (platform == "android") {
configs += [ "$ace_root/build:reduce_eh_frame_config" ]
}
sources = [
"$flutter_root/skia/src/pdf/SkClusterator.cpp",
"$flutter_root/skia/src/pdf/SkDeflate.cpp",
"$flutter_root/skia/src/pdf/SkJpegInfo.cpp",
"$flutter_root/skia/src/pdf/SkKeyedImage.cpp",
"$flutter_root/skia/src/pdf/SkPDFBitmap.cpp",
"$flutter_root/skia/src/pdf/SkPDFDevice.cpp",
"$flutter_root/skia/src/pdf/SkPDFDocument.cpp",
"$flutter_root/skia/src/pdf/SkPDFFont.cpp",
"$flutter_root/skia/src/pdf/SkPDFFormXObject.cpp",
"$flutter_root/skia/src/pdf/SkPDFGradientShader.cpp",
"$flutter_root/skia/src/pdf/SkPDFGraphicStackState.cpp",
"$flutter_root/skia/src/pdf/SkPDFGraphicState.cpp",
"$flutter_root/skia/src/pdf/SkPDFMakeCIDGlyphWidthsArray.cpp",
"$flutter_root/skia/src/pdf/SkPDFMakeToUnicodeCmap.cpp",
"$flutter_root/skia/src/pdf/SkPDFMetadata.cpp",
"$flutter_root/skia/src/pdf/SkPDFResourceDict.cpp",
"$flutter_root/skia/src/pdf/SkPDFShader.cpp",
"$flutter_root/skia/src/pdf/SkPDFSubsetFont.cpp",
"$flutter_root/skia/src/pdf/SkPDFTag.cpp",
"$flutter_root/skia/src/pdf/SkPDFType1Font.cpp",
"$flutter_root/skia/src/pdf/SkPDFTypes.cpp",
"$flutter_root/skia/src/pdf/SkPDFUtils.cpp",
]
if (platform == "windows") {
sources += [ "$flutter_root/skia/third_party/icu/SkLoadICU.cpp" ]
}
deps = [
"$ace_flutter_engine_root/icu:ace_libicu_$platform",
"$ace_flutter_engine_root/sfntly:ace_libsfntly_$platform",
"//third_party/zlib:libz",
]
}
}
foreach(item, ace_platforms) {
ace_pdf("ace_pdf_" + item.name) {
platform = item.name
defines = []
cflags_cc = []
config = {
}
if (defined(item.config)) {
config = item.config
}
if (defined(config.defines)) {
defines = config.defines
}
if (defined(config.cflags_cc)) {
cflags_cc = config.cflags_cc
}
}
}
# ------------------------------------------------
# Skia pdf config end
# ------------------------------------------------
# ------------------------------------------------
# Skia gpu config begin
# ------------------------------------------------
config("ace_gpu_config") {
visibility = [ ":*" ]
include_dirs = [ "$flutter_root/skia" ]
cflags_cc = ace_skia_common_ccflags
cflags_cc += [ "-Wno-extra-semi" ]
cflags = ace_skia_common_cflags
cflags += [ "-Wno-extra-semi" ]
}
template("ace_gpu") {
forward_variables_from(invoker, "*")
ohos_source_set(target_name) {
part_name = flutter_part
subsystem_name = flutter_subsystem
defines += invoker.defines
defines += ace_skia_common_defines
defines += [ "SK_DISABLE_REDUCE_OPLIST_SPLITTING" ]
cflags_cc += invoker.cflags_cc
configs = [
":ace_gpu_config",
":skia_deps_include_config",
]
if (platform == "android") {
configs += [ "$ace_root/build:reduce_eh_frame_config" ]
}
sources = [
"$flutter_root/skia/src/atlastext/SkAtlasTextContext.cpp",
"$flutter_root/skia/src/atlastext/SkAtlasTextTarget.cpp",
"$flutter_root/skia/src/atlastext/SkInternalAtlasTextContext.cpp",
"$flutter_root/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp",
"$flutter_root/skia/src/gpu/GrAHardwareBufferUtils.cpp",
"$flutter_root/skia/src/gpu/GrAuditTrail.cpp",
"$flutter_root/skia/src/gpu/GrBackendSurface.cpp",
"$flutter_root/skia/src/gpu/GrBackendTextureImageGenerator.cpp",
"$flutter_root/skia/src/gpu/GrBitmapTextureMaker.cpp",
"$flutter_root/skia/src/gpu/GrBlurUtils.cpp",
"$flutter_root/skia/src/gpu/GrBufferAllocPool.cpp",
"$flutter_root/skia/src/gpu/GrCaps.cpp",
"$flutter_root/skia/src/gpu/GrClipStackClip.cpp",
"$flutter_root/skia/src/gpu/GrColorSpaceInfo.cpp",
"$flutter_root/skia/src/gpu/GrColorSpaceXform.cpp",
"$flutter_root/skia/src/gpu/GrContext.cpp",
"$flutter_root/skia/src/gpu/GrContextPriv.cpp",
"$flutter_root/skia/src/gpu/GrContextThreadSafeProxy.cpp",
"$flutter_root/skia/src/gpu/GrContext_Base.cpp",
"$flutter_root/skia/src/gpu/GrDDLContext.cpp",
"$flutter_root/skia/src/gpu/GrDataUtils.cpp",
"$flutter_root/skia/src/gpu/GrDefaultGeoProcFactory.cpp",
"$flutter_root/skia/src/gpu/GrDeinstantiateProxyTracker.cpp",
"$flutter_root/skia/src/gpu/GrDistanceFieldGenFromVector.cpp",
"$flutter_root/skia/src/gpu/GrDrawOpAtlas.cpp",
"$flutter_root/skia/src/gpu/GrDrawOpTest.cpp",
"$flutter_root/skia/src/gpu/GrDrawingManager.cpp",
"$flutter_root/skia/src/gpu/GrDriverBugWorkarounds.cpp",
"$flutter_root/skia/src/gpu/GrFixedClip.cpp",
"$flutter_root/skia/src/gpu/GrFragmentProcessor.cpp",
"$flutter_root/skia/src/gpu/GrGpu.cpp",
"$flutter_root/skia/src/gpu/GrGpuBuffer.cpp",
"$flutter_root/skia/src/gpu/GrGpuCommandBuffer.cpp",
"$flutter_root/skia/src/gpu/GrGpuResource.cpp",
"$flutter_root/skia/src/gpu/GrImageContext.cpp",
"$flutter_root/skia/src/gpu/GrImageTextureMaker.cpp",
"$flutter_root/skia/src/gpu/GrLegacyDirectContext.cpp",
"$flutter_root/skia/src/gpu/GrMemoryPool.cpp",
"$flutter_root/skia/src/gpu/GrOnFlushResourceProvider.cpp",
"$flutter_root/skia/src/gpu/GrOpFlushState.cpp",
"$flutter_root/skia/src/gpu/GrOpList.cpp",
"$flutter_root/skia/src/gpu/GrPaint.cpp",
"$flutter_root/skia/src/gpu/GrPath.cpp",
"$flutter_root/skia/src/gpu/GrPathProcessor.cpp",
"$flutter_root/skia/src/gpu/GrPathRenderer.cpp",
"$flutter_root/skia/src/gpu/GrPathRendererChain.cpp",
"$flutter_root/skia/src/gpu/GrPathRendering.cpp",
"$flutter_root/skia/src/gpu/GrPipeline.cpp",
"$flutter_root/skia/src/gpu/GrPrimitiveProcessor.cpp",
"$flutter_root/skia/src/gpu/GrProcessor.cpp",
"$flutter_root/skia/src/gpu/GrProcessorAnalysis.cpp",
"$flutter_root/skia/src/gpu/GrProcessorSet.cpp",
"$flutter_root/skia/src/gpu/GrProcessorUnitTest.cpp",
"$flutter_root/skia/src/gpu/GrProgramDesc.cpp",
"$flutter_root/skia/src/gpu/GrProxyProvider.cpp",
"$flutter_root/skia/src/gpu/GrRecordingContext.cpp",
"$flutter_root/skia/src/gpu/GrRectanizer_pow2.cpp",
"$flutter_root/skia/src/gpu/GrRectanizer_skyline.cpp",
"$flutter_root/skia/src/gpu/GrReducedClip.cpp",
"$flutter_root/skia/src/gpu/GrRenderTarget.cpp",
"$flutter_root/skia/src/gpu/GrRenderTargetContext.cpp",
"$flutter_root/skia/src/gpu/GrRenderTargetOpList.cpp",
"$flutter_root/skia/src/gpu/GrRenderTargetProxy.cpp",
"$flutter_root/skia/src/gpu/GrRenderTask.cpp",
"$flutter_root/skia/src/gpu/GrResourceAllocator.cpp",
"$flutter_root/skia/src/gpu/GrResourceCache.cpp",
"$flutter_root/skia/src/gpu/GrResourceProvider.cpp",
"$flutter_root/skia/src/gpu/GrSWMaskHelper.cpp",
"$flutter_root/skia/src/gpu/GrSamplePatternDictionary.cpp",
"$flutter_root/skia/src/gpu/GrShaderCaps.cpp",
"$flutter_root/skia/src/gpu/GrShaderUtils.cpp",
"$flutter_root/skia/src/gpu/GrShaderVar.cpp",
"$flutter_root/skia/src/gpu/GrSoftwarePathRenderer.cpp",
"$flutter_root/skia/src/gpu/GrStencilAttachment.cpp",
"$flutter_root/skia/src/gpu/GrStencilSettings.cpp",
"$flutter_root/skia/src/gpu/GrStyle.cpp",
"$flutter_root/skia/src/gpu/GrSurface.cpp",
"$flutter_root/skia/src/gpu/GrSurfaceContext.cpp",
"$flutter_root/skia/src/gpu/GrSurfaceProxy.cpp",
"$flutter_root/skia/src/gpu/GrSwizzle.cpp",
"$flutter_root/skia/src/gpu/GrTessellator.cpp",
"$flutter_root/skia/src/gpu/GrTestUtils.cpp",
"$flutter_root/skia/src/gpu/GrTexture.cpp",
"$flutter_root/skia/src/gpu/GrTextureAdjuster.cpp",
"$flutter_root/skia/src/gpu/GrTextureContext.cpp",
"$flutter_root/skia/src/gpu/GrTextureMaker.cpp",
"$flutter_root/skia/src/gpu/GrTextureOpList.cpp",
"$flutter_root/skia/src/gpu/GrTextureProducer.cpp",
"$flutter_root/skia/src/gpu/GrTextureProxy.cpp",
"$flutter_root/skia/src/gpu/GrTextureRenderTargetProxy.cpp",
"$flutter_root/skia/src/gpu/GrTextureResolveRenderTask.cpp",
"$flutter_root/skia/src/gpu/GrXferProcessor.cpp",
"$flutter_root/skia/src/gpu/GrYUVProvider.cpp",
"$flutter_root/skia/src/gpu/SkGpuDevice.cpp",
"$flutter_root/skia/src/gpu/SkGpuDevice_drawTexture.cpp",
"$flutter_root/skia/src/gpu/SkGr.cpp",
"$flutter_root/skia/src/gpu/ccpr/GrCCAtlas.cpp",
"$flutter_root/skia/src/gpu/ccpr/GrCCClipPath.cpp",
"$flutter_root/skia/src/gpu/ccpr/GrCCClipProcessor.cpp",
"$flutter_root/skia/src/gpu/ccpr/GrCCConicShader.cpp",
"$flutter_root/skia/src/gpu/ccpr/GrCCCoverageProcessor.cpp",
"$flutter_root/skia/src/gpu/ccpr/GrCCCubicShader.cpp",
"$flutter_root/skia/src/gpu/ccpr/GrCCDrawPathsOp.cpp",
"$flutter_root/skia/src/gpu/ccpr/GrCCFillGeometry.cpp",
"$flutter_root/skia/src/gpu/ccpr/GrCCFiller.cpp",
"$flutter_root/skia/src/gpu/ccpr/GrCCPathCache.cpp",
"$flutter_root/skia/src/gpu/ccpr/GrCCPathProcessor.cpp",
"$flutter_root/skia/src/gpu/ccpr/GrCCPerFlushResources.cpp",
"$flutter_root/skia/src/gpu/ccpr/GrCCQuadraticShader.cpp",
"$flutter_root/skia/src/gpu/ccpr/GrCCStrokeGeometry.cpp",
"$flutter_root/skia/src/gpu/ccpr/GrCCStroker.cpp",
"$flutter_root/skia/src/gpu/ccpr/GrCoverageCountingPathRenderer.cpp",
"$flutter_root/skia/src/gpu/ccpr/GrGSCoverageProcessor.cpp",
"$flutter_root/skia/src/gpu/ccpr/GrOctoBounds.cpp",
"$flutter_root/skia/src/gpu/ccpr/GrSampleMaskProcessor.cpp",
"$flutter_root/skia/src/gpu/ccpr/GrStencilAtlasOp.cpp",
"$flutter_root/skia/src/gpu/ccpr/GrVSCoverageProcessor.cpp",
"$flutter_root/skia/src/gpu/effects/GrBezierEffect.cpp",
"$flutter_root/skia/src/gpu/effects/GrBicubicEffect.cpp",
"$flutter_root/skia/src/gpu/effects/GrBitmapTextGeoProc.cpp",
"$flutter_root/skia/src/gpu/effects/GrConvexPolyEffect.cpp",
"$flutter_root/skia/src/gpu/effects/GrCoverageSetOpXP.cpp",
"$flutter_root/skia/src/gpu/effects/GrCustomXfermode.cpp",
"$flutter_root/skia/src/gpu/effects/GrDisableColorXP.cpp",
"$flutter_root/skia/src/gpu/effects/GrDistanceFieldGeoProc.cpp",
"$flutter_root/skia/src/gpu/effects/GrGaussianConvolutionFragmentProcessor.cpp",
"$flutter_root/skia/src/gpu/effects/GrMatrixConvolutionEffect.cpp",
"$flutter_root/skia/src/gpu/effects/GrOvalEffect.cpp",
"$flutter_root/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp",
"$flutter_root/skia/src/gpu/effects/GrRRectEffect.cpp",
"$flutter_root/skia/src/gpu/effects/GrSRGBEffect.cpp",
"$flutter_root/skia/src/gpu/effects/GrShadowGeoProc.cpp",
"$flutter_root/skia/src/gpu/effects/GrSkSLFP.cpp",
"$flutter_root/skia/src/gpu/effects/GrTextureDomain.cpp",
"$flutter_root/skia/src/gpu/effects/GrXfermodeFragmentProcessor.cpp",
"$flutter_root/skia/src/gpu/effects/GrYUVtoRGBEffect.cpp",
"$flutter_root/skia/src/gpu/effects/generated/GrAARectEffect.cpp",
"$flutter_root/skia/src/gpu/effects/generated/GrAlphaThresholdFragmentProcessor.cpp",
"$flutter_root/skia/src/gpu/effects/generated/GrBlurredEdgeFragmentProcessor.cpp",
"$flutter_root/skia/src/gpu/effects/generated/GrCircleBlurFragmentProcessor.cpp",
"$flutter_root/skia/src/gpu/effects/generated/GrCircleEffect.cpp",
"$flutter_root/skia/src/gpu/effects/generated/GrColorMatrixFragmentProcessor.cpp",
"$flutter_root/skia/src/gpu/effects/generated/GrComposeLerpEffect.cpp",
"$flutter_root/skia/src/gpu/effects/generated/GrComposeLerpRedEffect.cpp",
"$flutter_root/skia/src/gpu/effects/generated/GrConfigConversionEffect.cpp",
"$flutter_root/skia/src/gpu/effects/generated/GrConstColorProcessor.cpp",
"$flutter_root/skia/src/gpu/effects/generated/GrEllipseEffect.cpp",
"$flutter_root/skia/src/gpu/effects/generated/GrLumaColorFilterEffect.cpp",
"$flutter_root/skia/src/gpu/effects/generated/GrMagnifierEffect.cpp",
"$flutter_root/skia/src/gpu/effects/generated/GrMixerEffect.cpp",
"$flutter_root/skia/src/gpu/effects/generated/GrOverrideInputFragmentProcessor.cpp",
"$flutter_root/skia/src/gpu/effects/generated/GrPremulInputFragmentProcessor.cpp",
"$flutter_root/skia/src/gpu/effects/generated/GrRRectBlurEffect.cpp",
"$flutter_root/skia/src/gpu/effects/generated/GrRectBlurEffect.cpp",
"$flutter_root/skia/src/gpu/effects/generated/GrSimpleTextureEffect.cpp",
"$flutter_root/skia/src/gpu/geometry/GrPathUtils.cpp",
"$flutter_root/skia/src/gpu/geometry/GrQuad.cpp",
"$flutter_root/skia/src/gpu/geometry/GrQuadUtils.cpp",
"$flutter_root/skia/src/gpu/geometry/GrShape.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLAssembleGLESInterfaceAutogen.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLAssembleGLInterfaceAutogen.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLAssembleHelpers.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLAssembleInterface.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLAssembleWebGLInterfaceAutogen.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLBuffer.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLCaps.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLContext.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLExtensions.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLGLSL.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLGpu.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLGpuCommandBuffer.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLGpuProgramCache.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLInterfaceAutogen.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLPath.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLPathRendering.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLProgram.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLProgramDataManager.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLRenderTarget.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLSemaphore.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLStencilAttachment.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLTexture.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLTextureRenderTarget.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLTypesPriv.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLUniformHandler.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLUtil.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLVaryingHandler.cpp",
"$flutter_root/skia/src/gpu/gl/GrGLVertexArray.cpp",
"$flutter_root/skia/src/gpu/gl/builders/GrGLProgramBuilder.cpp",
"$flutter_root/skia/src/gpu/gl/builders/GrGLShaderStringBuilder.cpp",
"$flutter_root/skia/src/gpu/gl/egl/GrGLMakeNativeInterface_egl.cpp",
"$flutter_root/skia/src/gpu/glsl/GrGLSL.cpp",
"$flutter_root/skia/src/gpu/glsl/GrGLSLBlend.cpp",
"$flutter_root/skia/src/gpu/glsl/GrGLSLFragmentProcessor.cpp",
"$flutter_root/skia/src/gpu/glsl/GrGLSLFragmentShaderBuilder.cpp",
"$flutter_root/skia/src/gpu/glsl/GrGLSLGeometryProcessor.cpp",
"$flutter_root/skia/src/gpu/glsl/GrGLSLPrimitiveProcessor.cpp",
"$flutter_root/skia/src/gpu/glsl/GrGLSLProgramBuilder.cpp",
"$flutter_root/skia/src/gpu/glsl/GrGLSLProgramDataManager.cpp",
"$flutter_root/skia/src/gpu/glsl/GrGLSLShaderBuilder.cpp",
"$flutter_root/skia/src/gpu/glsl/GrGLSLUtil.cpp",
"$flutter_root/skia/src/gpu/glsl/GrGLSLVarying.cpp",
"$flutter_root/skia/src/gpu/glsl/GrGLSLVertexGeoBuilder.cpp",
"$flutter_root/skia/src/gpu/glsl/GrGLSLXferProcessor.cpp",
"$flutter_root/skia/src/gpu/gradients/GrGradientBitmapCache.cpp",
"$flutter_root/skia/src/gpu/gradients/GrGradientShader.cpp",
"$flutter_root/skia/src/gpu/gradients/generated/GrClampedGradientEffect.cpp",
"$flutter_root/skia/src/gpu/gradients/generated/GrDualIntervalGradientColorizer.cpp",
"$flutter_root/skia/src/gpu/gradients/generated/GrLinearGradientLayout.cpp",
"$flutter_root/skia/src/gpu/gradients/generated/GrRadialGradientLayout.cpp",
"$flutter_root/skia/src/gpu/gradients/generated/GrSingleIntervalGradientColorizer.cpp",
"$flutter_root/skia/src/gpu/gradients/generated/GrSweepGradientLayout.cpp",
"$flutter_root/skia/src/gpu/gradients/generated/GrTextureGradientColorizer.cpp",
"$flutter_root/skia/src/gpu/gradients/generated/GrTiledGradientEffect.cpp",
"$flutter_root/skia/src/gpu/gradients/generated/GrTwoPointConicalGradientLayout.cpp",
"$flutter_root/skia/src/gpu/gradients/generated/GrUnrolledBinaryGradientColorizer.cpp",
"$flutter_root/skia/src/gpu/mock/GrMockCaps.cpp",
"$flutter_root/skia/src/gpu/mock/GrMockGpu.cpp",
"$flutter_root/skia/src/gpu/mock/GrMockTypes.cpp",
"$flutter_root/skia/src/gpu/ops/GrAAConvexPathRenderer.cpp",
"$flutter_root/skia/src/gpu/ops/GrAAConvexTessellator.cpp",
"$flutter_root/skia/src/gpu/ops/GrAAHairLinePathRenderer.cpp",
"$flutter_root/skia/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp",
"$flutter_root/skia/src/gpu/ops/GrAtlasTextOp.cpp",
"$flutter_root/skia/src/gpu/ops/GrClearOp.cpp",
"$flutter_root/skia/src/gpu/ops/GrClearStencilClipOp.cpp",
"$flutter_root/skia/src/gpu/ops/GrCopySurfaceOp.cpp",
"$flutter_root/skia/src/gpu/ops/GrDashLinePathRenderer.cpp",
"$flutter_root/skia/src/gpu/ops/GrDashOp.cpp",
"$flutter_root/skia/src/gpu/ops/GrDebugMarkerOp.cpp",
"$flutter_root/skia/src/gpu/ops/GrDefaultPathRenderer.cpp",
"$flutter_root/skia/src/gpu/ops/GrDrawAtlasOp.cpp",
"$flutter_root/skia/src/gpu/ops/GrDrawPathOp.cpp",
"$flutter_root/skia/src/gpu/ops/GrDrawVerticesOp.cpp",
"$flutter_root/skia/src/gpu/ops/GrDrawableOp.cpp",
"$flutter_root/skia/src/gpu/ops/GrFillRRectOp.cpp",
"$flutter_root/skia/src/gpu/ops/GrFillRectOp.cpp",
"$flutter_root/skia/src/gpu/ops/GrLatticeOp.cpp",
"$flutter_root/skia/src/gpu/ops/GrMeshDrawOp.cpp",
"$flutter_root/skia/src/gpu/ops/GrOp.cpp",
"$flutter_root/skia/src/gpu/ops/GrOvalOpFactory.cpp",
"$flutter_root/skia/src/gpu/ops/GrQuadPerEdgeAA.cpp",
"$flutter_root/skia/src/gpu/ops/GrRegionOp.cpp",
"$flutter_root/skia/src/gpu/ops/GrSemaphoreOp.cpp",
"$flutter_root/skia/src/gpu/ops/GrShadowRRectOp.cpp",
"$flutter_root/skia/src/gpu/ops/GrSimpleMeshDrawOpHelper.cpp",
"$flutter_root/skia/src/gpu/ops/GrSmallPathRenderer.cpp",
"$flutter_root/skia/src/gpu/ops/GrStencilAndCoverPathRenderer.cpp",
"$flutter_root/skia/src/gpu/ops/GrStencilPathOp.cpp",
"$flutter_root/skia/src/gpu/ops/GrStrokeRectOp.cpp",
"$flutter_root/skia/src/gpu/ops/GrTessellatingPathRenderer.cpp",
"$flutter_root/skia/src/gpu/ops/GrTextureOp.cpp",
"$flutter_root/skia/src/gpu/ops/GrTransferFromOp.cpp",
"$flutter_root/skia/src/gpu/text/GrAtlasManager.cpp",
"$flutter_root/skia/src/gpu/text/GrDistanceFieldAdjustTable.cpp",
"$flutter_root/skia/src/gpu/text/GrSDFMaskFilter.cpp",
"$flutter_root/skia/src/gpu/text/GrStrikeCache.cpp",
"$flutter_root/skia/src/gpu/text/GrTextBlob.cpp",
"$flutter_root/skia/src/gpu/text/GrTextBlobCache.cpp",
"$flutter_root/skia/src/gpu/text/GrTextBlobVertexRegenerator.cpp",
"$flutter_root/skia/src/gpu/text/GrTextContext.cpp",
"$flutter_root/skia/src/image/SkImage_Gpu.cpp",
"$flutter_root/skia/src/image/SkImage_GpuBase.cpp",
"$flutter_root/skia/src/image/SkImage_GpuYUVA.cpp",
"$flutter_root/skia/src/image/SkSurface_Gpu.cpp",
"$flutter_root/skia/src/sksl/SkSLCPPCodeGenerator.cpp",
"$flutter_root/skia/src/sksl/SkSLCPPUniformCTypes.cpp",
"$flutter_root/skia/src/sksl/SkSLGLSLCodeGenerator.cpp",
"$flutter_root/skia/src/sksl/SkSLHCodeGenerator.cpp",
"$flutter_root/skia/src/sksl/SkSLMetalCodeGenerator.cpp",
"$flutter_root/skia/src/sksl/SkSLOutputStream.cpp",
"$flutter_root/skia/src/sksl/SkSLPipelineStageCodeGenerator.cpp",
"$flutter_root/skia/src/sksl/SkSLSPIRVCodeGenerator.cpp",
]
if (platform == "windows") {
defines -= [ "NOGDI" ]
include_dirs =
[ "$flutter_root/skia/third_party/externals/angle2/include" ]
sources -= [
"$flutter_root/skia/src/gpu/gl/egl/GrGLMakeNativeInterface_egl.cpp",
]
sources += [
"$flutter_root/skia/src/gpu/gl/win/GrGLMakeNativeInterface_win.cpp",
]
libs = [ "//prebuilts/mingw-w64/ohos/linux-x86_64/clang-mingw/x86_64-w64-mingw32/lib/libopengl32.a" ]
} else if (platform == "mac") {
defines += [ "SK_ASSUME_GL=1" ]
sources -= [
"$flutter_root/skia/src/gpu/gl/egl/GrGLMakeNativeInterface_egl.cpp",
]
sources += [
"$flutter_root/skia/src/gpu/gl/mac/GrGLMakeNativeInterface_mac.cpp",
]
} else if (platform == "linux") {
defines += [ "SK_R32_SHIFT=16" ]
sources -= [
"$flutter_root/skia/src/gpu/gl/egl/GrGLMakeNativeInterface_egl.cpp",
]
sources += [
"$flutter_root/skia/src/gpu/gl/glx/GrGLMakeNativeInterface_glx.cpp",
]
} else if (platform == "ios") {
defines += [
"SK_BUILD_FOR_IOS",
"SK_ASSUME_GL_ES=1",
]
sources -= [
"$flutter_root/skia/src/gpu/gl/egl/GrGLMakeNativeInterface_egl.cpp",
]
sources += [
"$flutter_root/skia/src/gpu/gl/iOS/GrGLMakeNativeInterface_iOS.cpp",
]
} else {
if (!defined(config.disable_gpu) || !config.disable_gpu) {
# Ohos or Android platform
if (is_standard_system) {
public_deps = [ "//foundation/graphic/graphic_2d:libgl" ]
if (flutter_feature_skia_small_page_enable) {
defines += [ "SK_ENABLE_SMALL_PAGE" ]
}
} else {
aosp_deps = [
"shared_library:libEGL",
"shared_library:libGLESv2",
]
}
}
}
}
}
foreach(item, ace_platforms) {
ace_gpu("ace_gpu_" + item.name) {
platform = item.name
defines = []
cflags_cc = []
config = {
}
if (defined(item.config)) {
config = item.config
}
if (defined(config.defines)) {
defines = config.defines
}
if (defined(config.cflags_cc)) {
cflags_cc = config.cflags_cc
}
}
}
# ------------------------------------------------
# Skia gpu config end
# ------------------------------------------------
# ------------------------------------------------
# Skia typeface config begin
# ------------------------------------------------
config("ace_typeface_freetype_config") {
visibility = [ ":*" ]
include_dirs = [
"$flutter_root/skia",
"$flutter_root/skia/third_party/externals/freetype/include",
]
cflags_cc = ace_skia_common_ccflags
cflags = ace_skia_common_cflags
}
ohos_source_set("ace_typeface_freetype") {
part_name = flutter_part
subsystem_name = flutter_subsystem
defines = ace_skia_common_defines
defines += [ "SK_FREETYPE_MINIMUM_RUNTIME_VERSION=(((FREETYPE_MAJOR) << 24) | ((FREETYPE_MINOR) << 16) | ((FREETYPE_PATCH) << 8))" ]
configs = [
":ace_typeface_freetype_config",
":skia_deps_include_config",
]
sources = [
"$flutter_root/skia/src/ports/SkFontHost_FreeType.cpp",
"$flutter_root/skia/src/ports/SkFontHost_FreeType_common.cpp",
]
}
# ------------------------------------------------
# Skia typeface config end
# ------------------------------------------------
# ------------------------------------------------
# Skia gif config begin
# ------------------------------------------------
config("ace_gif_config") {
visibility = [ ":*" ]
include_dirs = [ "$flutter_root/skia" ]
cflags_cc = ace_skia_common_ccflags
cflags = ace_skia_common_cflags
}
ohos_source_set("ace_gif") {
part_name = flutter_part
subsystem_name = flutter_subsystem
defines = ace_skia_common_defines
configs = [ ":ace_gif_config" ]
sources = [
"$flutter_root/skia/src/codec/SkGifCodec.cpp",
"$flutter_root/skia/third_party/gif/SkGifImageReader.cpp",
]
}
# ------------------------------------------------
# Skia gif config end
# ------------------------------------------------
# ------------------------------------------------
# Skia xml config begin
# ------------------------------------------------
config("ace_xml_config") {
visibility = [ ":*" ]
include_dirs = [ "$flutter_root/skia" ]
cflags_cc = ace_skia_common_ccflags
cflags = ace_skia_common_cflags
}
ohos_source_set("ace_xml") {
part_name = flutter_part
subsystem_name = flutter_subsystem
configs = [
":ace_xml_config",
":skia_deps_include_config",
]
defines = ace_skia_common_defines
sources = [
"$flutter_root/skia/src/xml/SkXMLParser.cpp",
"$flutter_root/skia/src/xml/SkXMLWriter.cpp",
]
deps = [ "$expat_root:expat" ]
}
# ------------------------------------------------
# Skia xml config end
# ------------------------------------------------
# ------------------------------------------------
# Skia font manager config begin
# ------------------------------------------------
config("ace_fontmgr_config") {
visibility = [ ":*" ]
include_dirs = [
"$flutter_root",
"$flutter_root/skia",
]
cflags_cc = ace_skia_common_ccflags
cflags = ace_skia_common_cflags
}
template("ace_fontmgr") {
forward_variables_from(invoker, "*")
ohos_source_set(target_name) {
part_name = flutter_part
subsystem_name = flutter_subsystem
configs = [
":ace_fontmgr_config",
":skia_deps_include_config",
]
if (platform == "android") {
configs += [ "$ace_root/build:reduce_eh_frame_config" ]
}
defines += invoker.defines
defines += ace_skia_common_defines
cflags_cc += invoker.cflags_cc
if (platform == "windows") {
defines -= [
"UNICODE",
"NOGDI",
]
defines += [ "SK_BUILD_FONT_MGR_FOR_PREVIEW_WIN" ]
deps = [ "$expat_root:expat" ]
sources = [
# Use font installed in windows platform
"$flutter_root/skia/src/fonts/SkFontMgr_indirect.cpp",
"$flutter_root/skia/src/ports/SkFontHost_win.cpp",
"$flutter_root/skia/src/ports/SkFontMgr_win_dw.cpp",
"$flutter_root/skia/src/ports/SkScalerContext_win_dw.cpp",
"$flutter_root/skia/src/ports/SkTypeface_win_dw.cpp",
# Use hos font
"$flutter_root/skia/src/ports/SkFontMgr_config_parser.cpp",
"$flutter_root/skia/src/ports/SkFontMgr_preview.cpp",
"$flutter_root/skia/src/ports/SkFontMgr_win_factory.cpp",
]
# Use ohos font
deps += [ ":ace_fontmgr_standard" ]
libs = [
"//prebuilts/mingw-w64/ohos/linux-x86_64/clang-mingw/x86_64-w64-mingw32/lib/libgdi32.a",
"//prebuilts/mingw-w64/ohos/linux-x86_64/clang-mingw/x86_64-w64-mingw32/lib/libuuid.a",
]
} else if (platform == "mac") {
defines += [ "SK_BUILD_FONT_MGR_FOR_PREVIEW_MAC" ]
sources = [
# Use font installed in mac platform
"$flutter_root/skia/src/ports/SkFontHost_mac.cpp",
# Use hos font
"$flutter_root/skia/src/ports/SkFontMgr_config_parser.cpp",
"$flutter_root/skia/src/ports/SkFontMgr_preview.cpp",
]
# Use ohos font
deps = [ ":ace_fontmgr_standard" ]
} else if (platform == "linux") {
defines += [ "SK_BUILD_FONT_MGR_FOR_PREVIEW_LINUX" ]
sources = [
# Use font installed in linux platform
"$flutter_root/skia/src/ports/SkFontMgr_custom.cpp",
"$flutter_root/skia/src/ports/SkFontMgr_custom_directory.cpp",
"$flutter_root/skia/src/ports/SkFontMgr_custom_directory_factory.cpp",
# Use hos font
"$flutter_root/skia/src/ports/SkFontMgr_config_parser.cpp",
"$flutter_root/skia/src/ports/SkFontMgr_preview.cpp",
]
# Use ohos font
deps = [ ":ace_fontmgr_standard" ]
} else {
# Ohos or Android platform
if (defined(config.ohos_standard_fontmgr) &&
config.ohos_standard_fontmgr) {
sources = []
deps = [ ":ace_fontmgr_standard" ]
} else {
sources = [
"$flutter_root/skia/src/ports/SkFontMgr_android.cpp",
"$flutter_root/skia/src/ports/SkFontMgr_android_factory.cpp",
"$flutter_root/skia/src/ports/SkFontMgr_android_parser.cpp",
]
if (platform == "ohos") {
sources += [ "$flutter_root/skia/src/ports/SkFontMgr_ohos.cpp" ]
}
deps = [ "$expat_root:expat" ]
}
}
}
}
foreach(item, ace_platforms) {
ace_fontmgr("ace_fontmgr_" + item.name) {
platform = item.name
defines = []
cflags_cc = []
config = {
}
if (defined(item.config)) {
config = item.config
}
if (defined(config.defines)) {
defines = config.defines
}
if (defined(config.cflags_cc)) {
cflags_cc = config.cflags_cc
}
}
}
config("ace_fontmgr_standard_config") {
visibility = [ ":*" ]
include_dirs = [
"$flutter_root/skia/include/private",
"$flutter_root/skia/include/core",
"$flutter_root/skia/src/core",
"$flutter_root/skia/src/ports",
"$flutter_root/skia/src/ports/skia_ohos",
"//third_party/bounds_checking_function/include",
]
}
ohos_source_set("ace_fontmgr_standard") {
part_name = flutter_part
subsystem_name = flutter_subsystem
configs = [
":ace_fontmgr_config",
":ace_fontmgr_standard_config",
":skia_deps_include_config",
]
sources = [
"$flutter_root/skia/src/ports/skia_ohos/FontConfig_ohos.cpp",
"$flutter_root/skia/src/ports/skia_ohos/SkFontMgr_ohos.cpp",
"$flutter_root/skia/src/ports/skia_ohos/SkFontMgr_ohos_factory.cpp",
"$flutter_root/skia/src/ports/skia_ohos/SkFontStyleSet_ohos.cpp",
"$flutter_root/skia/src/ports/skia_ohos/SkTypeface_ohos.cpp",
]
defines = []
cflags_cc = ace_skia_common_ccflags
cflags_cc += [
"-Wsign-compare",
"-Wno-vla",
"-Wno-tautological-unsigned-enum-zero-compare",
]
deps = [ ":ace_fontconfig.json" ]
# Only standard system has ohos_fonts source
if (is_standard_system) {
deps += [ "$jsoncpp_root:jsoncpp_static" ]
if (graphic_standard_feature_wuji_enable) {
deps += [ "//foundation/graphic/graphic_2d_ext:ohos_fonts_wuji" ]
} else if (ace_engine_standard_fonts_enable) {
deps += [ "//base/global/system_resources:ohos_fonts" ]
}
}
if (use_mingw_win) {
defines += [ "SK_BUILD_FONT_MGR_FOR_PREVIEW_WIN" ]
} else if (use_mac) {
defines += [ "SK_BUILD_FONT_MGR_FOR_PREVIEW_MAC" ]
} else if (use_linux) {
defines += [ "SK_BUILD_FONT_MGR_FOR_PREVIEW_LINUX" ]
} else {
defines += [ "SK_BUILD_FONT_MGR_FOR_OHOS" ]
}
}
ohos_prebuilt_etc("ace_fontconfig.json") {
source = "$flutter_root/skia/src/ports/skia_ohos/config/fontconfig.json"
part_name = "flutter"
subsystem_name = flutter_subsystem
}
# ------------------------------------------------
# Skia font manager config end
# ------------------------------------------------
# ------------------------------------------------
# Skia webp config begin
# ------------------------------------------------
config("ace_webp_config") {
visibility = [ ":*" ]
include_dirs = [
"$flutter_root/skia",
"$flutter_root/skia/third_party/externals/libwebp/src",
"$flutter_root/skia/third_party/externals/libwebp",
]
cflags_cc = ace_skia_common_ccflags
cflags = ace_skia_common_cflags
}
ohos_source_set("ace_webp") {
part_name = flutter_part
subsystem_name = flutter_subsystem
configs = [ ":ace_webp_config" ]
sources = [
"$flutter_root/skia/src/codec/SkWebpCodec.cpp",
"$flutter_root/skia/src/images/SkWebpEncoder.cpp",
]
defines = ace_skia_common_defines
}
# ------------------------------------------------
# Skia webp config end
# ------------------------------------------------
# ------------------------------------------------
# Skia png config begin
# ------------------------------------------------
config("ace_png_config") {
visibility = [ ":*" ]
include_dirs = [
"$flutter_root/skia",
"$flutter_root/skia/third_party/libpng",
"$flutter_root/skia/third_party/externals/libpng",
]
cflags_cc = ace_skia_common_ccflags
cflags = ace_skia_common_cflags
}
template("ace_png") {
forward_variables_from(invoker, "*")
ohos_source_set(target_name) {
part_name = flutter_part
subsystem_name = flutter_subsystem
defines += invoker.defines
defines += ace_skia_common_defines
cflags_cc += invoker.cflags_cc
if (platform == "windows") {
cflags_cc += [ "-Wno-unknown-pragmas" ]
}
configs = [ ":ace_png_config" ]
if (platform == "android") {
configs += [ "$ace_root/build:reduce_eh_frame_config" ]
}
sources = [
"$flutter_root/skia/src/codec/SkIcoCodec.cpp",
"$flutter_root/skia/src/codec/SkPngCodec.cpp",
"$flutter_root/skia/src/images/SkPngEncoder.cpp",
]
}
}
foreach(item, ace_platforms) {
ace_png("ace_png_" + item.name) {
platform = item.name
defines = []
cflags_cc = []
config = {
}
if (defined(item.config)) {
config = item.config
}
if (defined(config.defines)) {
defines = config.defines
}
if (defined(config.cflags_cc)) {
cflags_cc = config.cflags_cc
}
}
}
# ------------------------------------------------
# Skia png config end
# ------------------------------------------------
# ------------------------------------------------
# Skia heif config begin
# ------------------------------------------------
config("ace_heif_config") {
visibility = [ ":*" ]
include_dirs = [ "$flutter_root/skia" ]
cflags_cc = ace_skia_common_ccflags
cflags = ace_skia_common_cflags
}
ohos_source_set("ace_heif") {
part_name = flutter_part
subsystem_name = flutter_subsystem
configs = [ ":ace_heif_config" ]
sources = [ "$flutter_root/skia/src/codec/SkHeifCodec.cpp" ]
defines = ace_skia_common_defines
}
# ------------------------------------------------
# Skia heif config end
# ------------------------------------------------
# ------------------------------------------------
# Skia svg config begin
# ------------------------------------------------
config("ace_svg_model_config") {
visibility = [ ":*" ]
include_dirs = [ "$flutter_root/skia" ]
}
config("svg_compile_flags") {
cflags_cc = ace_skia_common_ccflags
cflags_cc += [ "-Wno-extra-semi" ]
cflags = ace_skia_common_cflags
cflags += [ "-Wno-extra-semi" ]
ldflags = [ "-Wl,–gc-sections" ]
}
template("ace_svg_model") {
forward_variables_from(invoker, "*")
ohos_source_set(target_name) {
part_name = flutter_part
subsystem_name = flutter_subsystem
defines += invoker.defines
configs = []
if (platform == "ohos" && defined(config.enable_native_view) &&
config.enable_native_view) {
configs += [ ":system_skia_config" ]
deps = [ ":make_system_skia_include_dir" ]
} else {
defines += ace_skia_common_defines
}
configs += [
":ace_svg_model_config",
":svg_compile_flags",
]
if (platform == "android") {
configs += [ "$ace_root/build:reduce_eh_frame_config" ]
}
sources = [
"$flutter_root/skia/experimental/svg/model/CssStyleParser.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGAttribute.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGAttributeParser.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGCircle.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGClipPath.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGContainer.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGDOM.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGEllipse.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGGradient.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGLine.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGLinearGradient.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGNode.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGPath.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGPattern.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGPoly.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGRadialGradient.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGRect.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGRenderContext.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGSVG.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGShape.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGStop.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGTransformableNode.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGUse.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGValue.cpp",
"$flutter_root/skia/experimental/svg/model/SkSVGXMLDOM.cpp",
]
}
}
foreach(item, ace_platforms) {
ace_svg_model("ace_svg_model_" + item.name) {
platform = item.name
defines = []
config = {
}
if (defined(item.config)) {
config = item.config
}
if (defined(config.defines)) {
defines = config.defines
}
}
}
# ------------------------------------------------
# Skia svg config end
# ------------------------------------------------