• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2022 Huawei Device Co., Ltd.. All rights reserved.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14import("//build/ohos.gni")
15import("//foundation/arkui/ace_engine/ace_config.gni")
16import("//foundation/graphic/graphic_2d/graphic_config.gni")
17import("//third_party/flutter/flutter_config.gni")
18
19rosen_flutter_engine_root =
20    "//foundation/graphic/graphic_2d/rosen/build/flutter"
21
22# ------------------------------------------------
23#      Skia shared library
24# ------------------------------------------------
25
26ohos_shared_library("skia_ohos") {
27  public_configs = [
28    "$ace_flutter_engine_root/skia:skia_config",
29    "$ace_flutter_engine_root/skia:harfbuzz_config",
30  ]
31
32  external_deps = [ "c_utils:utils" ]
33  deps = [
34    ":jpeg",
35    ":png_ohos",
36    ":skia_core_ohos",
37    ":svg_model_ohos",
38    ":webp",
39    "$ace_flutter_engine_root/freetype:ace_libfreetype2",
40    "$ace_flutter_engine_root/libjpeg:ace_libjpeg",
41    "$ace_flutter_engine_root/libpng:ace_libpng",
42    "$ace_flutter_engine_root/libwebp:ace_libwebp",
43    "$ace_flutter_engine_root/sfntly:ace_libsfntly_ohos",
44    "$ace_flutter_engine_root/skia:ace_fontmgr_ohos",
45    "$ace_flutter_engine_root/skia:ace_gif",
46    "$ace_flutter_engine_root/skia:ace_heif",
47    "$ace_flutter_engine_root/skia:ace_pdf_ohos",
48    "$ace_flutter_engine_root/skia:ace_skcms",
49    "$ace_flutter_engine_root/skia:ace_skia_opts_ohos",
50    "$ace_flutter_engine_root/skia:ace_typeface_freetype",
51    "$ace_flutter_engine_root/skia:ace_xml",
52    "$ace_flutter_engine_root/skia:make_third_party_skia_include_dir",
53    "$rosen_flutter_engine_root/harfbuzz:rosen_libharfbuzz_ohos",
54    "$rosen_flutter_engine_root/icu:rosen_libicu_ohos",
55  ]
56
57  if (ace_enable_gpu) {
58    deps += [ ":gpu_ohos" ]
59  }
60
61  public_configs += [
62    ":svg_model_config",
63    "$ace_flutter_engine_root/skia:skia_deps_include_config",
64  ]
65
66  part_name = "flutter"
67  subsystem_name = flutter_subsystem
68}
69
70# ------------------------------------------------
71#      Skia common config
72# ------------------------------------------------
73
74skia_common_ccflags = [
75  "-std=c++14",
76  "-fno-exceptions",
77  "-fno-rtti",
78  "-Wnon-virtual-dtor",
79  "-Wno-noexcept-type",
80  "-Wno-abstract-vbase-init",
81  "-Wno-weak-vtables",
82  "-Wno-c++98-compat",
83  "-Wno-tautological-value-range-compare",
84  "-Wno-c++98-compat-pedantic",
85  "-Wno-undefined-func-template",
86  "-Wno-return-std-move-in-c++11",
87  "-Wno-implicit-fallthrough",
88  "-Wno-suggest-destructor-override",
89  "-Wno-suggest-override",
90  "-Wno-psabi",
91  "-Os",
92]
93
94skia_common_cflags = [
95  "-fstrict-aliasing",
96  "-fdata-sections",
97  "-ffunction-sections",
98  "-gline-tables-only",
99  "-funwind-tables",
100  "-Wall",
101  "-Wextra",
102  "-Winit-self",
103  "-Wpointer-arith",
104  "-Wsign-compare",
105  "-Wvla",
106  "-Wno-deprecated-declarations",
107  "-Wno-maybe-uninitialized",
108  "-fcolor-diagnostics",
109  "-Weverything",
110  "-Wno-unknown-warning-option",
111  "-Wno-nonportable-include-path",
112  "-Wno-nonportable-system-include-path",
113  "-Wno-cast-align",
114  "-Wno-cast-qual",
115  "-Wno-conversion",
116  "-Wno-disabled-macro-expansion",
117  "-Wno-documentation",
118  "-Wno-documentation-unknown-command",
119  "-Wno-double-promotion",
120  "-Wno-exit-time-destructors",
121  "-Wno-float-equal",
122  "-Wno-format-nonliteral",
123  "-Wno-global-constructors",
124  "-Wno-missing-prototypes",
125  "-Wno-missing-variable-declarations",
126  "-Wno-pedantic",
127  "-Wno-reserved-id-macro",
128  "-Wno-shadow",
129  "-Wno-shift-sign-overflow",
130  "-Wno-signed-enum-bitfield",
131  "-Wno-switch-enum",
132  "-Wno-undef",
133  "-Wno-unreachable-code",
134  "-Wno-unreachable-code-break",
135  "-Wno-unreachable-code-return",
136  "-Wno-unused-macros",
137  "-Wno-unused-member-function",
138  "-Wno-unused-template",
139  "-Wno-zero-as-null-pointer-constant",
140  "-Wno-thread-safety-negative",
141  "-Wno-bad-function-cast",
142  "-Wno-covered-switch-default",
143  "-Wno-deprecated",
144  "-Wno-missing-noreturn",
145  "-Wno-old-style-cast",
146  "-Wno-padded",
147  "-Wno-newline-eof",
148  "-Wno-implicit-fallthrough",
149  "-Wno-unused-parameter",
150  "-Os",
151]
152
153skia_common_defines = [
154  "OHOS_PLATFORM",
155  "OHOS_STANDARD_SYSTEM",
156
157  "SK_SUPPORT_ATLAS_TEXT=1",
158  "SK_GAMMA_APPLY_TO_A8",
159  "SK_GAMMA_EXPONENT=1.4",
160  "SK_GAMMA_CONTRAST=0.0",
161  "SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1",
162  "GR_TEST_UTILS=1",
163  "SKIA_IMPLEMENTATION=1",
164  "SK_GL",
165  "SK_SUPPORT_PDF",
166  "SK_HAS_JPEG_LIBRARY",
167  "SK_HAS_HEIF_LIBRARY",
168  "SK_HAS_PNG_LIBRARY",
169  "SK_ENABLE_SKSL_INTERPRETER",
170  "SK_HAS_WEBP_LIBRARY",
171  "SK_XML",
172  "XML_STATIC",
173  "XML_POOR_ENTROPY",
174  "SK_DISABLE_AAA",
175  "SK_DISABLE_LEGACY_SHADERCONTEXT",
176  "SK_DISABLE_LOWP_RASTER_PIPELINE",
177  "SK_FORCE_RASTER_PIPELINE_BLITTER",
178  "SK_LEGACY_SKCODEC_NONE_ENUM",
179  "SK_ENABLE_DUMP_GPU",
180]
181
182# ------------------------------------------------
183#      Skia core source
184# ------------------------------------------------
185config("skia_core_config") {
186  visibility = [ ":*" ]
187  include_dirs = [ "$flutter_root/skia" ]
188  cflags_cc = skia_common_ccflags
189  cflags_cc += [ "-Wno-extra-semi" ]
190  cflags = skia_common_cflags
191  cflags += [ "-Wno-extra-semi" ]
192}
193
194ohos_source_set("skia_core_ohos") {
195  defines = skia_common_defines
196  configs = [
197    ":skia_core_config",
198    "$ace_flutter_engine_root/skia:skia_deps_include_config",
199  ]
200  sources = [
201    "$flutter_root/skia/src/android/SkAndroidFrameworkUtils.cpp",
202    "$flutter_root/skia/src/android/SkAnimatedImage.cpp",
203    "$flutter_root/skia/src/android/SkBitmapRegionCodec.cpp",
204    "$flutter_root/skia/src/android/SkBitmapRegionDecoder.cpp",
205    "$flutter_root/skia/src/c/sk_effects.cpp",
206    "$flutter_root/skia/src/c/sk_imageinfo.cpp",
207    "$flutter_root/skia/src/c/sk_paint.cpp",
208    "$flutter_root/skia/src/c/sk_surface.cpp",
209    "$flutter_root/skia/src/codec/SkAndroidCodec.cpp",
210    "$flutter_root/skia/src/codec/SkAndroidCodecAdapter.cpp",
211    "$flutter_root/skia/src/codec/SkBmpBaseCodec.cpp",
212    "$flutter_root/skia/src/codec/SkBmpCodec.cpp",
213    "$flutter_root/skia/src/codec/SkBmpMaskCodec.cpp",
214    "$flutter_root/skia/src/codec/SkBmpRLECodec.cpp",
215    "$flutter_root/skia/src/codec/SkBmpStandardCodec.cpp",
216    "$flutter_root/skia/src/codec/SkCodec.cpp",
217    "$flutter_root/skia/src/codec/SkCodecImageGenerator.cpp",
218    "$flutter_root/skia/src/codec/SkColorTable.cpp",
219    "$flutter_root/skia/src/codec/SkEncodedInfo.cpp",
220    "$flutter_root/skia/src/codec/SkMaskSwizzler.cpp",
221    "$flutter_root/skia/src/codec/SkMasks.cpp",
222    "$flutter_root/skia/src/codec/SkSampledCodec.cpp",
223    "$flutter_root/skia/src/codec/SkSampler.cpp",
224    "$flutter_root/skia/src/codec/SkStreamBuffer.cpp",
225    "$flutter_root/skia/src/codec/SkSwizzler.cpp",
226    "$flutter_root/skia/src/codec/SkWbmpCodec.cpp",
227    "$flutter_root/skia/src/core/SkAAClip.cpp",
228    "$flutter_root/skia/src/core/SkATrace.cpp",
229    "$flutter_root/skia/src/core/SkAlphaRuns.cpp",
230    "$flutter_root/skia/src/core/SkAnalyticEdge.cpp",
231    "$flutter_root/skia/src/core/SkAnnotation.cpp",
232    "$flutter_root/skia/src/core/SkArenaAlloc.cpp",
233    "$flutter_root/skia/src/core/SkAutoPixmapStorage.cpp",
234    "$flutter_root/skia/src/core/SkBBHFactory.cpp",
235    "$flutter_root/skia/src/core/SkBigPicture.cpp",
236    "$flutter_root/skia/src/core/SkBitmap.cpp",
237    "$flutter_root/skia/src/core/SkBitmapCache.cpp",
238    "$flutter_root/skia/src/core/SkBitmapController.cpp",
239    "$flutter_root/skia/src/core/SkBitmapDevice.cpp",
240    "$flutter_root/skia/src/core/SkBitmapProcState.cpp",
241    "$flutter_root/skia/src/core/SkBitmapProcState_matrixProcs.cpp",
242    "$flutter_root/skia/src/core/SkBlendMode.cpp",
243    "$flutter_root/skia/src/core/SkBlitRow_D32.cpp",
244    "$flutter_root/skia/src/core/SkBlitter.cpp",
245    "$flutter_root/skia/src/core/SkBlitter_A8.cpp",
246    "$flutter_root/skia/src/core/SkBlitter_ARGB32.cpp",
247    "$flutter_root/skia/src/core/SkBlitter_RGB565.cpp",
248    "$flutter_root/skia/src/core/SkBlitter_Sprite.cpp",
249    "$flutter_root/skia/src/core/SkBlurMF.cpp",
250    "$flutter_root/skia/src/core/SkBlurMask.cpp",
251    "$flutter_root/skia/src/core/SkBuffer.cpp",
252    "$flutter_root/skia/src/core/SkCachedData.cpp",
253    "$flutter_root/skia/src/core/SkCanvas.cpp",
254    "$flutter_root/skia/src/core/SkCanvasPriv.cpp",
255    "$flutter_root/skia/src/core/SkClipStack.cpp",
256    "$flutter_root/skia/src/core/SkClipStackDevice.cpp",
257    "$flutter_root/skia/src/core/SkColor.cpp",
258    "$flutter_root/skia/src/core/SkColorFilter.cpp",
259    "$flutter_root/skia/src/core/SkColorFilter_Matrix.cpp",
260    "$flutter_root/skia/src/core/SkColorSpace.cpp",
261    "$flutter_root/skia/src/core/SkColorSpaceXformSteps.cpp",
262    "$flutter_root/skia/src/core/SkContourMeasure.cpp",
263    "$flutter_root/skia/src/core/SkConvertPixels.cpp",
264    "$flutter_root/skia/src/core/SkCpu.cpp",
265    "$flutter_root/skia/src/core/SkCubicClipper.cpp",
266    "$flutter_root/skia/src/core/SkCubicMap.cpp",
267    "$flutter_root/skia/src/core/SkData.cpp",
268    "$flutter_root/skia/src/core/SkDataTable.cpp",
269    "$flutter_root/skia/src/core/SkDebug.cpp",
270    "$flutter_root/skia/src/core/SkDeferredDisplayList.cpp",
271    "$flutter_root/skia/src/core/SkDeferredDisplayListRecorder.cpp",
272    "$flutter_root/skia/src/core/SkDeque.cpp",
273    "$flutter_root/skia/src/core/SkDescriptor.cpp",
274    "$flutter_root/skia/src/core/SkDevice.cpp",
275    "$flutter_root/skia/src/core/SkDistanceFieldGen.cpp",
276    "$flutter_root/skia/src/core/SkDocument.cpp",
277    "$flutter_root/skia/src/core/SkDraw.cpp",
278    "$flutter_root/skia/src/core/SkDrawLooper.cpp",
279    "$flutter_root/skia/src/core/SkDrawShadowInfo.cpp",
280    "$flutter_root/skia/src/core/SkDraw_atlas.cpp",
281    "$flutter_root/skia/src/core/SkDraw_text.cpp",
282    "$flutter_root/skia/src/core/SkDraw_vertices.cpp",
283    "$flutter_root/skia/src/core/SkDrawable.cpp",
284    "$flutter_root/skia/src/core/SkEdge.cpp",
285    "$flutter_root/skia/src/core/SkEdgeBuilder.cpp",
286    "$flutter_root/skia/src/core/SkEdgeClipper.cpp",
287    "$flutter_root/skia/src/core/SkExecutor.cpp",
288    "$flutter_root/skia/src/core/SkFlattenable.cpp",
289    "$flutter_root/skia/src/core/SkFont.cpp",
290    "$flutter_root/skia/src/core/SkFontDescriptor.cpp",
291    "$flutter_root/skia/src/core/SkFontLCDConfig.cpp",
292    "$flutter_root/skia/src/core/SkFontMgr.cpp",
293    "$flutter_root/skia/src/core/SkFontStream.cpp",
294    "$flutter_root/skia/src/core/SkGaussFilter.cpp",
295    "$flutter_root/skia/src/core/SkGeometry.cpp",
296    "$flutter_root/skia/src/core/SkGlobalInitialization_core.cpp",
297    "$flutter_root/skia/src/core/SkGlyph.cpp",
298    "$flutter_root/skia/src/core/SkGlyphRun.cpp",
299    "$flutter_root/skia/src/core/SkGlyphRunPainter.cpp",
300    "$flutter_root/skia/src/core/SkGpuBlurUtils.cpp",
301    "$flutter_root/skia/src/core/SkGraphics.cpp",
302    "$flutter_root/skia/src/core/SkHalf.cpp",
303    "$flutter_root/skia/src/core/SkICC.cpp",
304    "$flutter_root/skia/src/core/SkImageFilter.cpp",
305    "$flutter_root/skia/src/core/SkImageFilterCache.cpp",
306    "$flutter_root/skia/src/core/SkImageGenerator.cpp",
307    "$flutter_root/skia/src/core/SkImageInfo.cpp",
308    "$flutter_root/skia/src/core/SkLatticeIter.cpp",
309    "$flutter_root/skia/src/core/SkLineClipper.cpp",
310    "$flutter_root/skia/src/core/SkLocalMatrixImageFilter.cpp",
311    "$flutter_root/skia/src/core/SkMD5.cpp",
312    "$flutter_root/skia/src/core/SkMallocPixelRef.cpp",
313    "$flutter_root/skia/src/core/SkMask.cpp",
314    "$flutter_root/skia/src/core/SkMaskBlurFilter.cpp",
315    "$flutter_root/skia/src/core/SkMaskCache.cpp",
316    "$flutter_root/skia/src/core/SkMaskFilter.cpp",
317    "$flutter_root/skia/src/core/SkMaskGamma.cpp",
318    "$flutter_root/skia/src/core/SkMath.cpp",
319    "$flutter_root/skia/src/core/SkMatrix.cpp",
320    "$flutter_root/skia/src/core/SkMatrix44.cpp",
321    "$flutter_root/skia/src/core/SkMatrixImageFilter.cpp",
322    "$flutter_root/skia/src/core/SkMiniRecorder.cpp",
323    "$flutter_root/skia/src/core/SkMipMap.cpp",
324    "$flutter_root/skia/src/core/SkModeColorFilter.cpp",
325    "$flutter_root/skia/src/core/SkMultiPictureDraw.cpp",
326    "$flutter_root/skia/src/core/SkNormalFlatSource.cpp",
327    "$flutter_root/skia/src/core/SkNormalMapSource.cpp",
328    "$flutter_root/skia/src/core/SkNormalSource.cpp",
329    "$flutter_root/skia/src/core/SkOpts.cpp",
330    "$flutter_root/skia/src/core/SkOverdrawCanvas.cpp",
331    "$flutter_root/skia/src/core/SkPaint.cpp",
332    "$flutter_root/skia/src/core/SkPaintPriv.cpp",
333    "$flutter_root/skia/src/core/SkPath.cpp",
334    "$flutter_root/skia/src/core/SkPathEffect.cpp",
335    "$flutter_root/skia/src/core/SkPathMeasure.cpp",
336    "$flutter_root/skia/src/core/SkPathRef.cpp",
337    "$flutter_root/skia/src/core/SkPath_serial.cpp",
338    "$flutter_root/skia/src/core/SkPicture.cpp",
339    "$flutter_root/skia/src/core/SkPictureData.cpp",
340    "$flutter_root/skia/src/core/SkPictureFlat.cpp",
341    "$flutter_root/skia/src/core/SkPictureImageGenerator.cpp",
342    "$flutter_root/skia/src/core/SkPicturePlayback.cpp",
343    "$flutter_root/skia/src/core/SkPictureRecord.cpp",
344    "$flutter_root/skia/src/core/SkPictureRecorder.cpp",
345    "$flutter_root/skia/src/core/SkPixelRef.cpp",
346    "$flutter_root/skia/src/core/SkPixmap.cpp",
347    "$flutter_root/skia/src/core/SkPoint.cpp",
348    "$flutter_root/skia/src/core/SkPoint3.cpp",
349    "$flutter_root/skia/src/core/SkPromiseImageTexture.cpp",
350    "$flutter_root/skia/src/core/SkPtrRecorder.cpp",
351    "$flutter_root/skia/src/core/SkQuadClipper.cpp",
352    "$flutter_root/skia/src/core/SkRRect.cpp",
353    "$flutter_root/skia/src/core/SkRTree.cpp",
354    "$flutter_root/skia/src/core/SkRWBuffer.cpp",
355    "$flutter_root/skia/src/core/SkRasterClip.cpp",
356    "$flutter_root/skia/src/core/SkRasterPipeline.cpp",
357    "$flutter_root/skia/src/core/SkRasterPipelineBlitter.cpp",
358    "$flutter_root/skia/src/core/SkReadBuffer.cpp",
359    "$flutter_root/skia/src/core/SkRecord.cpp",
360    "$flutter_root/skia/src/core/SkRecordDraw.cpp",
361    "$flutter_root/skia/src/core/SkRecordOpts.cpp",
362    "$flutter_root/skia/src/core/SkRecordedDrawable.cpp",
363    "$flutter_root/skia/src/core/SkRecorder.cpp",
364    "$flutter_root/skia/src/core/SkRecords.cpp",
365    "$flutter_root/skia/src/core/SkRect.cpp",
366    "$flutter_root/skia/src/core/SkRegion.cpp",
367    "$flutter_root/skia/src/core/SkRegion_path.cpp",
368    "$flutter_root/skia/src/core/SkRemoteGlyphCache.cpp",
369    "$flutter_root/skia/src/core/SkResourceCache.cpp",
370    "$flutter_root/skia/src/core/SkScalar.cpp",
371    "$flutter_root/skia/src/core/SkScalerContext.cpp",
372    "$flutter_root/skia/src/core/SkScan.cpp",
373    "$flutter_root/skia/src/core/SkScan_AAAPath.cpp",
374    "$flutter_root/skia/src/core/SkScan_AntiPath.cpp",
375    "$flutter_root/skia/src/core/SkScan_Antihair.cpp",
376    "$flutter_root/skia/src/core/SkScan_Hairline.cpp",
377    "$flutter_root/skia/src/core/SkScan_Path.cpp",
378    "$flutter_root/skia/src/core/SkSemaphore.cpp",
379    "$flutter_root/skia/src/core/SkSharedMutex.cpp",
380    "$flutter_root/skia/src/core/SkSpecialImage.cpp",
381    "$flutter_root/skia/src/core/SkSpecialSurface.cpp",
382    "$flutter_root/skia/src/core/SkSpinlock.cpp",
383    "$flutter_root/skia/src/core/SkSpriteBlitter_ARGB32.cpp",
384    "$flutter_root/skia/src/core/SkSpriteBlitter_RGB565.cpp",
385    "$flutter_root/skia/src/core/SkStream.cpp",
386    "$flutter_root/skia/src/core/SkStrike.cpp",
387    "$flutter_root/skia/src/core/SkStrikeCache.cpp",
388    "$flutter_root/skia/src/core/SkStrikeSpec.cpp",
389    "$flutter_root/skia/src/core/SkString.cpp",
390    "$flutter_root/skia/src/core/SkStringUtils.cpp",
391    "$flutter_root/skia/src/core/SkStroke.cpp",
392    "$flutter_root/skia/src/core/SkStrokeRec.cpp",
393    "$flutter_root/skia/src/core/SkStrokerPriv.cpp",
394    "$flutter_root/skia/src/core/SkSurfaceCharacterization.cpp",
395    "$flutter_root/skia/src/core/SkSwizzle.cpp",
396    "$flutter_root/skia/src/core/SkTLS.cpp",
397    "$flutter_root/skia/src/core/SkTSearch.cpp",
398    "$flutter_root/skia/src/core/SkTaskGroup.cpp",
399    "$flutter_root/skia/src/core/SkTextBlob.cpp",
400    "$flutter_root/skia/src/core/SkThreadID.cpp",
401    "$flutter_root/skia/src/core/SkTime.cpp",
402    "$flutter_root/skia/src/core/SkTypeface.cpp",
403    "$flutter_root/skia/src/core/SkTypefaceCache.cpp",
404    "$flutter_root/skia/src/core/SkTypeface_remote.cpp",
405    "$flutter_root/skia/src/core/SkUnPreMultiply.cpp",
406    "$flutter_root/skia/src/core/SkUtils.cpp",
407    "$flutter_root/skia/src/core/SkVM.cpp",
408    "$flutter_root/skia/src/core/SkVMBlitter.cpp",
409    "$flutter_root/skia/src/core/SkVertState.cpp",
410    "$flutter_root/skia/src/core/SkVertices.cpp",
411    "$flutter_root/skia/src/core/SkWriteBuffer.cpp",
412    "$flutter_root/skia/src/core/SkWriter32.cpp",
413    "$flutter_root/skia/src/core/SkXfermode.cpp",
414    "$flutter_root/skia/src/core/SkXfermodeInterpretation.cpp",
415    "$flutter_root/skia/src/core/SkYUVASizeInfo.cpp",
416    "$flutter_root/skia/src/core/SkYUVMath.cpp",
417    "$flutter_root/skia/src/core/SkYUVPlanesCache.cpp",
418    "$flutter_root/skia/src/effects/Sk1DPathEffect.cpp",
419    "$flutter_root/skia/src/effects/Sk2DPathEffect.cpp",
420    "$flutter_root/skia/src/effects/SkColorMatrix.cpp",
421    "$flutter_root/skia/src/effects/SkColorMatrixFilter.cpp",
422    "$flutter_root/skia/src/effects/SkCornerPathEffect.cpp",
423    "$flutter_root/skia/src/effects/SkDashPathEffect.cpp",
424    "$flutter_root/skia/src/effects/SkDiscretePathEffect.cpp",
425    "$flutter_root/skia/src/effects/SkEmbossMask.cpp",
426    "$flutter_root/skia/src/effects/SkEmbossMaskFilter.cpp",
427    "$flutter_root/skia/src/effects/SkHighContrastFilter.cpp",
428    "$flutter_root/skia/src/effects/SkLayerDrawLooper.cpp",
429    "$flutter_root/skia/src/effects/SkLumaColorFilter.cpp",
430    "$flutter_root/skia/src/effects/SkOpPathEffect.cpp",
431    "$flutter_root/skia/src/effects/SkOverdrawColorFilter.cpp",
432    "$flutter_root/skia/src/effects/SkPackBits.cpp",
433    "$flutter_root/skia/src/effects/SkShaderMaskFilter.cpp",
434    "$flutter_root/skia/src/effects/SkTableColorFilter.cpp",
435    "$flutter_root/skia/src/effects/SkTableMaskFilter.cpp",
436    "$flutter_root/skia/src/effects/SkTrimPathEffect.cpp",
437    "$flutter_root/skia/src/effects/imagefilters/SkAlphaThresholdFilter.cpp",
438    "$flutter_root/skia/src/effects/imagefilters/SkArithmeticImageFilter.cpp",
439    "$flutter_root/skia/src/effects/imagefilters/SkBlurImageFilter.cpp",
440    "$flutter_root/skia/src/effects/imagefilters/SkColorFilterImageFilter.cpp",
441    "$flutter_root/skia/src/effects/imagefilters/SkComposeImageFilter.cpp",
442    "$flutter_root/skia/src/effects/imagefilters/SkDisplacementMapEffect.cpp",
443    "$flutter_root/skia/src/effects/imagefilters/SkDropShadowImageFilter.cpp",
444    "$flutter_root/skia/src/effects/imagefilters/SkImageFilters.cpp",
445    "$flutter_root/skia/src/effects/imagefilters/SkImageSource.cpp",
446    "$flutter_root/skia/src/effects/imagefilters/SkLightingImageFilter.cpp",
447    "$flutter_root/skia/src/effects/imagefilters/SkMagnifierImageFilter.cpp",
448    "$flutter_root/skia/src/effects/imagefilters/SkMatrixConvolutionImageFilter.cpp",
449    "$flutter_root/skia/src/effects/imagefilters/SkMergeImageFilter.cpp",
450    "$flutter_root/skia/src/effects/imagefilters/SkMorphologyImageFilter.cpp",
451    "$flutter_root/skia/src/effects/imagefilters/SkOffsetImageFilter.cpp",
452    "$flutter_root/skia/src/effects/imagefilters/SkPaintImageFilter.cpp",
453    "$flutter_root/skia/src/effects/imagefilters/SkPictureImageFilter.cpp",
454    "$flutter_root/skia/src/effects/imagefilters/SkTileImageFilter.cpp",
455    "$flutter_root/skia/src/effects/imagefilters/SkXfermodeImageFilter.cpp",
456    "$flutter_root/skia/src/image/SkImage.cpp",
457    "$flutter_root/skia/src/image/SkImage_Lazy.cpp",
458    "$flutter_root/skia/src/image/SkImage_Raster.cpp",
459    "$flutter_root/skia/src/image/SkSurface.cpp",
460    "$flutter_root/skia/src/image/SkSurface_Raster.cpp",
461    "$flutter_root/skia/src/images/SkImageEncoder.cpp",
462    "$flutter_root/skia/src/lazy/SkDiscardableMemoryPool.cpp",
463    "$flutter_root/skia/src/pathops/SkAddIntersections.cpp",
464    "$flutter_root/skia/src/pathops/SkDConicLineIntersection.cpp",
465    "$flutter_root/skia/src/pathops/SkDCubicLineIntersection.cpp",
466    "$flutter_root/skia/src/pathops/SkDCubicToQuads.cpp",
467    "$flutter_root/skia/src/pathops/SkDLineIntersection.cpp",
468    "$flutter_root/skia/src/pathops/SkDQuadLineIntersection.cpp",
469    "$flutter_root/skia/src/pathops/SkIntersections.cpp",
470    "$flutter_root/skia/src/pathops/SkOpAngle.cpp",
471    "$flutter_root/skia/src/pathops/SkOpBuilder.cpp",
472    "$flutter_root/skia/src/pathops/SkOpCoincidence.cpp",
473    "$flutter_root/skia/src/pathops/SkOpContour.cpp",
474    "$flutter_root/skia/src/pathops/SkOpCubicHull.cpp",
475    "$flutter_root/skia/src/pathops/SkOpEdgeBuilder.cpp",
476    "$flutter_root/skia/src/pathops/SkOpSegment.cpp",
477    "$flutter_root/skia/src/pathops/SkOpSpan.cpp",
478    "$flutter_root/skia/src/pathops/SkPathOpsAsWinding.cpp",
479    "$flutter_root/skia/src/pathops/SkPathOpsCommon.cpp",
480    "$flutter_root/skia/src/pathops/SkPathOpsConic.cpp",
481    "$flutter_root/skia/src/pathops/SkPathOpsCubic.cpp",
482    "$flutter_root/skia/src/pathops/SkPathOpsCurve.cpp",
483    "$flutter_root/skia/src/pathops/SkPathOpsDebug.cpp",
484    "$flutter_root/skia/src/pathops/SkPathOpsLine.cpp",
485    "$flutter_root/skia/src/pathops/SkPathOpsOp.cpp",
486    "$flutter_root/skia/src/pathops/SkPathOpsQuad.cpp",
487    "$flutter_root/skia/src/pathops/SkPathOpsRect.cpp",
488    "$flutter_root/skia/src/pathops/SkPathOpsSimplify.cpp",
489    "$flutter_root/skia/src/pathops/SkPathOpsTSect.cpp",
490    "$flutter_root/skia/src/pathops/SkPathOpsTightBounds.cpp",
491    "$flutter_root/skia/src/pathops/SkPathOpsTypes.cpp",
492    "$flutter_root/skia/src/pathops/SkPathOpsWinding.cpp",
493    "$flutter_root/skia/src/pathops/SkPathWriter.cpp",
494    "$flutter_root/skia/src/pathops/SkReduceOrder.cpp",
495    "$flutter_root/skia/src/ports/SkDebug_android.cpp",
496    "$flutter_root/skia/src/ports/SkDiscardableMemory_none.cpp",
497    "$flutter_root/skia/src/ports/SkGlobalInitialization_default.cpp",
498    "$flutter_root/skia/src/ports/SkImageGenerator_skia.cpp",
499    "$flutter_root/skia/src/ports/SkMemory_malloc.cpp",
500    "$flutter_root/skia/src/ports/SkOSFile_posix.cpp",
501    "$flutter_root/skia/src/ports/SkOSFile_stdio.cpp",
502    "$flutter_root/skia/src/ports/SkOSLibrary_posix.cpp",
503    "$flutter_root/skia/src/ports/SkTLS_pthread.cpp",
504    "$flutter_root/skia/src/sfnt/SkOTTable_name.cpp",
505    "$flutter_root/skia/src/sfnt/SkOTUtils.cpp",
506    "$flutter_root/skia/src/shaders/SkBitmapProcShader.cpp",
507    "$flutter_root/skia/src/shaders/SkColorFilterShader.cpp",
508    "$flutter_root/skia/src/shaders/SkColorShader.cpp",
509    "$flutter_root/skia/src/shaders/SkComposeShader.cpp",
510    "$flutter_root/skia/src/shaders/SkImageShader.cpp",
511    "$flutter_root/skia/src/shaders/SkLightingShader.cpp",
512    "$flutter_root/skia/src/shaders/SkLights.cpp",
513    "$flutter_root/skia/src/shaders/SkLocalMatrixShader.cpp",
514    "$flutter_root/skia/src/shaders/SkPerlinNoiseShader.cpp",
515    "$flutter_root/skia/src/shaders/SkPictureShader.cpp",
516    "$flutter_root/skia/src/shaders/SkRTShader.cpp",
517    "$flutter_root/skia/src/shaders/SkShader.cpp",
518    "$flutter_root/skia/src/shaders/gradients/Sk4fGradientBase.cpp",
519    "$flutter_root/skia/src/shaders/gradients/Sk4fLinearGradient.cpp",
520    "$flutter_root/skia/src/shaders/gradients/SkGradientShader.cpp",
521    "$flutter_root/skia/src/shaders/gradients/SkLinearGradient.cpp",
522    "$flutter_root/skia/src/shaders/gradients/SkRadialGradient.cpp",
523    "$flutter_root/skia/src/shaders/gradients/SkSweepGradient.cpp",
524    "$flutter_root/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp",
525    "$flutter_root/skia/src/sksl/SkSLASTNode.cpp",
526    "$flutter_root/skia/src/sksl/SkSLByteCode.cpp",
527    "$flutter_root/skia/src/sksl/SkSLByteCodeGenerator.cpp",
528    "$flutter_root/skia/src/sksl/SkSLCFGGenerator.cpp",
529    "$flutter_root/skia/src/sksl/SkSLCompiler.cpp",
530    "$flutter_root/skia/src/sksl/SkSLIRGenerator.cpp",
531    "$flutter_root/skia/src/sksl/SkSLJIT.cpp",
532    "$flutter_root/skia/src/sksl/SkSLLexer.cpp",
533    "$flutter_root/skia/src/sksl/SkSLParser.cpp",
534    "$flutter_root/skia/src/sksl/SkSLString.cpp",
535    "$flutter_root/skia/src/sksl/SkSLUtil.cpp",
536    "$flutter_root/skia/src/sksl/ir/SkSLSetting.cpp",
537    "$flutter_root/skia/src/sksl/ir/SkSLSymbolTable.cpp",
538    "$flutter_root/skia/src/sksl/ir/SkSLType.cpp",
539    "$flutter_root/skia/src/sksl/ir/SkSLVariableReference.cpp",
540    "$flutter_root/skia/src/utils/Sk3D.cpp",
541    "$flutter_root/skia/src/utils/SkAnimCodecPlayer.cpp",
542    "$flutter_root/skia/src/utils/SkBase64.cpp",
543    "$flutter_root/skia/src/utils/SkCamera.cpp",
544    "$flutter_root/skia/src/utils/SkCanvasStack.cpp",
545    "$flutter_root/skia/src/utils/SkCanvasStateUtils.cpp",
546    "$flutter_root/skia/src/utils/SkCharToGlyphCache.cpp",
547    "$flutter_root/skia/src/utils/SkDashPath.cpp",
548    "$flutter_root/skia/src/utils/SkEventTracer.cpp",
549    "$flutter_root/skia/src/utils/SkFloatToDecimal.cpp",
550    "$flutter_root/skia/src/utils/SkFrontBufferedStream.cpp",
551    "$flutter_root/skia/src/utils/SkInterpolator.cpp",
552    "$flutter_root/skia/src/utils/SkJSON.cpp",
553    "$flutter_root/skia/src/utils/SkJSONWriter.cpp",
554    "$flutter_root/skia/src/utils/SkMatrix22.cpp",
555    "$flutter_root/skia/src/utils/SkMultiPictureDocument.cpp",
556    "$flutter_root/skia/src/utils/SkNWayCanvas.cpp",
557    "$flutter_root/skia/src/utils/SkNullCanvas.cpp",
558    "$flutter_root/skia/src/utils/SkOSPath.cpp",
559    "$flutter_root/skia/src/utils/SkPaintFilterCanvas.cpp",
560    "$flutter_root/skia/src/utils/SkParse.cpp",
561    "$flutter_root/skia/src/utils/SkParseColor.cpp",
562    "$flutter_root/skia/src/utils/SkParsePath.cpp",
563    "$flutter_root/skia/src/utils/SkPatchUtils.cpp",
564    "$flutter_root/skia/src/utils/SkPolyUtils.cpp",
565    "$flutter_root/skia/src/utils/SkShadowTessellator.cpp",
566    "$flutter_root/skia/src/utils/SkShadowUtils.cpp",
567    "$flutter_root/skia/src/utils/SkShaperJSONWriter.cpp",
568    "$flutter_root/skia/src/utils/SkTextUtils.cpp",
569    "$flutter_root/skia/src/utils/SkThreadUtils_pthread.cpp",
570    "$flutter_root/skia/src/utils/SkThreadUtils_win.cpp",
571    "$flutter_root/skia/src/utils/SkUTF.cpp",
572    "$flutter_root/skia/src/utils/SkWhitelistTypefaces.cpp",
573    "$flutter_root/skia/src/utils/mac/SkCreateCGImageRef.cpp",
574    "$flutter_root/skia/src/utils/mac/SkStream_mac.cpp",
575    "$flutter_root/skia/src/utils/win/SkAutoCoInitialize.cpp",
576    "$flutter_root/skia/src/utils/win/SkDWrite.cpp",
577    "$flutter_root/skia/src/utils/win/SkDWriteFontFileStream.cpp",
578    "$flutter_root/skia/src/utils/win/SkDWriteGeometrySink.cpp",
579    "$flutter_root/skia/src/utils/win/SkHRESULT.cpp",
580    "$flutter_root/skia/src/utils/win/SkIStream.cpp",
581    "$flutter_root/skia/src/utils/win/SkWGL_win.cpp",
582    "$flutter_root/skia/src/xps/SkXPSDevice.cpp",
583    "$flutter_root/skia/src/xps/SkXPSDocument.cpp",
584  ]
585
586  if (enable_dump_drawcmd) {
587    defines += [ "DUMP_DRAW_CMD" ]
588  }
589
590  # Ohos plarform
591  if (target_cpu != "arm") {
592    defines += [ "SKVM_JIT" ]
593  }
594
595  if (!ace_enable_gpu) {
596    defines += [
597      "SK_BUILD_FOR_UNIX",
598      "SK_SUPPORT_ATLAS_TEXT=0",
599      "SK_SUPPORT_GPU=0",
600    ]
601    defines -= [
602      "SK_SUPPORT_ATLAS_TEXT=1",
603      "SK_GL",
604    ]
605  } else {
606    if (is_standard_system) {
607      public_deps = [ "//foundation/graphic/graphic_2d:libgl" ]
608    } else {
609      aosp_deps = [
610        "shared_library:libEGL",
611        "shared_library:libGLESv2",
612        "shared_library:liblog",
613      ]
614    }
615  }
616
617  sources -= [ "$flutter_root/skia/src/ports/SkDebug_android.cpp" ]
618  sources += [ "$flutter_root/skia/src/ports/SkDebug_ohos.cpp" ]
619  external_deps = [ "hiviewdfx_hilog_native:libhilog" ]
620}
621
622# ------------------------------------------------
623#      Skia jpeg config
624# ------------------------------------------------
625config("jpeg_config") {
626  visibility = [ ":*" ]
627  include_dirs = [
628    "$flutter_root/skia",
629    "$flutter_root/skia/third_party/libjpeg-turbo",
630    "$flutter_root/skia/third_party/externals/libjpeg-turbo",
631  ]
632  cflags_cc = skia_common_ccflags
633  cflags = skia_common_cflags
634}
635
636ohos_source_set("jpeg") {
637  configs = [ ":jpeg_config" ]
638
639  sources = [
640    "$flutter_root/skia/src/codec/SkJpegCodec.cpp",
641    "$flutter_root/skia/src/codec/SkJpegDecoderMgr.cpp",
642    "$flutter_root/skia/src/codec/SkJpegUtility.cpp",
643    "$flutter_root/skia/src/images/SkJPEGWriteUtility.cpp",
644    "$flutter_root/skia/src/images/SkJpegEncoder.cpp",
645  ]
646
647  defines = skia_common_defines
648  defines += [ "SK_HAS_JPEG_LIBRARY" ]
649}
650
651# ------------------------------------------------
652#      Skia gpu config
653# ------------------------------------------------
654config("gpu_config") {
655  visibility = [ ":*" ]
656  include_dirs = [ "$flutter_root/skia" ]
657  cflags_cc = skia_common_ccflags
658  cflags_cc += [ "-Wno-extra-semi" ]
659  cflags = skia_common_cflags
660  cflags += [ "-Wno-extra-semi" ]
661}
662
663ohos_source_set("gpu_ohos") {
664  defines = skia_common_defines
665  defines += [ "SK_DISABLE_REDUCE_OPLIST_SPLITTING" ]
666  configs = [
667    ":gpu_config",
668    "$ace_flutter_engine_root/skia:skia_deps_include_config",
669  ]
670
671  sources = [
672    "$flutter_root/skia/src/atlastext/SkAtlasTextContext.cpp",
673    "$flutter_root/skia/src/atlastext/SkAtlasTextTarget.cpp",
674    "$flutter_root/skia/src/atlastext/SkInternalAtlasTextContext.cpp",
675    "$flutter_root/skia/src/gpu/GrAHardwareBufferImageGenerator.cpp",
676    "$flutter_root/skia/src/gpu/GrAHardwareBufferUtils.cpp",
677    "$flutter_root/skia/src/gpu/GrAuditTrail.cpp",
678    "$flutter_root/skia/src/gpu/GrBackendSurface.cpp",
679    "$flutter_root/skia/src/gpu/GrBackendTextureImageGenerator.cpp",
680    "$flutter_root/skia/src/gpu/GrBitmapTextureMaker.cpp",
681    "$flutter_root/skia/src/gpu/GrBlurUtils.cpp",
682    "$flutter_root/skia/src/gpu/GrBufferAllocPool.cpp",
683    "$flutter_root/skia/src/gpu/GrCaps.cpp",
684    "$flutter_root/skia/src/gpu/GrClipStackClip.cpp",
685    "$flutter_root/skia/src/gpu/GrColorSpaceInfo.cpp",
686    "$flutter_root/skia/src/gpu/GrColorSpaceXform.cpp",
687    "$flutter_root/skia/src/gpu/GrContext.cpp",
688    "$flutter_root/skia/src/gpu/GrContextPriv.cpp",
689    "$flutter_root/skia/src/gpu/GrContextThreadSafeProxy.cpp",
690    "$flutter_root/skia/src/gpu/GrContext_Base.cpp",
691    "$flutter_root/skia/src/gpu/GrDDLContext.cpp",
692    "$flutter_root/skia/src/gpu/GrDataUtils.cpp",
693    "$flutter_root/skia/src/gpu/GrDefaultGeoProcFactory.cpp",
694    "$flutter_root/skia/src/gpu/GrDeinstantiateProxyTracker.cpp",
695    "$flutter_root/skia/src/gpu/GrDistanceFieldGenFromVector.cpp",
696    "$flutter_root/skia/src/gpu/GrDrawOpAtlas.cpp",
697    "$flutter_root/skia/src/gpu/GrDrawOpTest.cpp",
698    "$flutter_root/skia/src/gpu/GrDrawingManager.cpp",
699    "$flutter_root/skia/src/gpu/GrDriverBugWorkarounds.cpp",
700    "$flutter_root/skia/src/gpu/GrFixedClip.cpp",
701    "$flutter_root/skia/src/gpu/GrFragmentProcessor.cpp",
702    "$flutter_root/skia/src/gpu/GrGpu.cpp",
703    "$flutter_root/skia/src/gpu/GrGpuBuffer.cpp",
704    "$flutter_root/skia/src/gpu/GrGpuCommandBuffer.cpp",
705    "$flutter_root/skia/src/gpu/GrGpuResource.cpp",
706    "$flutter_root/skia/src/gpu/GrImageContext.cpp",
707    "$flutter_root/skia/src/gpu/GrImageTextureMaker.cpp",
708    "$flutter_root/skia/src/gpu/GrLegacyDirectContext.cpp",
709    "$flutter_root/skia/src/gpu/GrMemoryPool.cpp",
710    "$flutter_root/skia/src/gpu/GrOnFlushResourceProvider.cpp",
711    "$flutter_root/skia/src/gpu/GrOpFlushState.cpp",
712    "$flutter_root/skia/src/gpu/GrOpList.cpp",
713    "$flutter_root/skia/src/gpu/GrPaint.cpp",
714    "$flutter_root/skia/src/gpu/GrPath.cpp",
715    "$flutter_root/skia/src/gpu/GrPathProcessor.cpp",
716    "$flutter_root/skia/src/gpu/GrPathRenderer.cpp",
717    "$flutter_root/skia/src/gpu/GrPathRendererChain.cpp",
718    "$flutter_root/skia/src/gpu/GrPathRendering.cpp",
719    "$flutter_root/skia/src/gpu/GrPipeline.cpp",
720    "$flutter_root/skia/src/gpu/GrPrimitiveProcessor.cpp",
721    "$flutter_root/skia/src/gpu/GrProcessor.cpp",
722    "$flutter_root/skia/src/gpu/GrProcessorAnalysis.cpp",
723    "$flutter_root/skia/src/gpu/GrProcessorSet.cpp",
724    "$flutter_root/skia/src/gpu/GrProcessorUnitTest.cpp",
725    "$flutter_root/skia/src/gpu/GrProgramDesc.cpp",
726    "$flutter_root/skia/src/gpu/GrProxyProvider.cpp",
727    "$flutter_root/skia/src/gpu/GrRecordingContext.cpp",
728    "$flutter_root/skia/src/gpu/GrRectanizer_pow2.cpp",
729    "$flutter_root/skia/src/gpu/GrRectanizer_skyline.cpp",
730    "$flutter_root/skia/src/gpu/GrReducedClip.cpp",
731    "$flutter_root/skia/src/gpu/GrRenderTarget.cpp",
732    "$flutter_root/skia/src/gpu/GrRenderTargetContext.cpp",
733    "$flutter_root/skia/src/gpu/GrRenderTargetOpList.cpp",
734    "$flutter_root/skia/src/gpu/GrRenderTargetProxy.cpp",
735    "$flutter_root/skia/src/gpu/GrRenderTask.cpp",
736    "$flutter_root/skia/src/gpu/GrResourceAllocator.cpp",
737    "$flutter_root/skia/src/gpu/GrResourceCache.cpp",
738    "$flutter_root/skia/src/gpu/GrResourceProvider.cpp",
739    "$flutter_root/skia/src/gpu/GrSWMaskHelper.cpp",
740    "$flutter_root/skia/src/gpu/GrSamplePatternDictionary.cpp",
741    "$flutter_root/skia/src/gpu/GrShaderCaps.cpp",
742    "$flutter_root/skia/src/gpu/GrShaderUtils.cpp",
743    "$flutter_root/skia/src/gpu/GrShaderVar.cpp",
744    "$flutter_root/skia/src/gpu/GrSoftwarePathRenderer.cpp",
745    "$flutter_root/skia/src/gpu/GrStencilAttachment.cpp",
746    "$flutter_root/skia/src/gpu/GrStencilSettings.cpp",
747    "$flutter_root/skia/src/gpu/GrStyle.cpp",
748    "$flutter_root/skia/src/gpu/GrSurface.cpp",
749    "$flutter_root/skia/src/gpu/GrSurfaceContext.cpp",
750    "$flutter_root/skia/src/gpu/GrSurfaceProxy.cpp",
751    "$flutter_root/skia/src/gpu/GrSwizzle.cpp",
752    "$flutter_root/skia/src/gpu/GrTessellator.cpp",
753    "$flutter_root/skia/src/gpu/GrTestUtils.cpp",
754    "$flutter_root/skia/src/gpu/GrTexture.cpp",
755    "$flutter_root/skia/src/gpu/GrTextureAdjuster.cpp",
756    "$flutter_root/skia/src/gpu/GrTextureContext.cpp",
757    "$flutter_root/skia/src/gpu/GrTextureMaker.cpp",
758    "$flutter_root/skia/src/gpu/GrTextureOpList.cpp",
759    "$flutter_root/skia/src/gpu/GrTextureProducer.cpp",
760    "$flutter_root/skia/src/gpu/GrTextureProxy.cpp",
761    "$flutter_root/skia/src/gpu/GrTextureRenderTargetProxy.cpp",
762    "$flutter_root/skia/src/gpu/GrTextureResolveRenderTask.cpp",
763    "$flutter_root/skia/src/gpu/GrXferProcessor.cpp",
764    "$flutter_root/skia/src/gpu/GrYUVProvider.cpp",
765    "$flutter_root/skia/src/gpu/SkGpuDevice.cpp",
766    "$flutter_root/skia/src/gpu/SkGpuDevice_drawTexture.cpp",
767    "$flutter_root/skia/src/gpu/SkGr.cpp",
768    "$flutter_root/skia/src/gpu/ccpr/GrCCAtlas.cpp",
769    "$flutter_root/skia/src/gpu/ccpr/GrCCClipPath.cpp",
770    "$flutter_root/skia/src/gpu/ccpr/GrCCClipProcessor.cpp",
771    "$flutter_root/skia/src/gpu/ccpr/GrCCConicShader.cpp",
772    "$flutter_root/skia/src/gpu/ccpr/GrCCCoverageProcessor.cpp",
773    "$flutter_root/skia/src/gpu/ccpr/GrCCCubicShader.cpp",
774    "$flutter_root/skia/src/gpu/ccpr/GrCCDrawPathsOp.cpp",
775    "$flutter_root/skia/src/gpu/ccpr/GrCCFillGeometry.cpp",
776    "$flutter_root/skia/src/gpu/ccpr/GrCCFiller.cpp",
777    "$flutter_root/skia/src/gpu/ccpr/GrCCPathCache.cpp",
778    "$flutter_root/skia/src/gpu/ccpr/GrCCPathProcessor.cpp",
779    "$flutter_root/skia/src/gpu/ccpr/GrCCPerFlushResources.cpp",
780    "$flutter_root/skia/src/gpu/ccpr/GrCCQuadraticShader.cpp",
781    "$flutter_root/skia/src/gpu/ccpr/GrCCStrokeGeometry.cpp",
782    "$flutter_root/skia/src/gpu/ccpr/GrCCStroker.cpp",
783    "$flutter_root/skia/src/gpu/ccpr/GrCoverageCountingPathRenderer.cpp",
784    "$flutter_root/skia/src/gpu/ccpr/GrGSCoverageProcessor.cpp",
785    "$flutter_root/skia/src/gpu/ccpr/GrOctoBounds.cpp",
786    "$flutter_root/skia/src/gpu/ccpr/GrSampleMaskProcessor.cpp",
787    "$flutter_root/skia/src/gpu/ccpr/GrStencilAtlasOp.cpp",
788    "$flutter_root/skia/src/gpu/ccpr/GrVSCoverageProcessor.cpp",
789    "$flutter_root/skia/src/gpu/effects/GrBezierEffect.cpp",
790    "$flutter_root/skia/src/gpu/effects/GrBicubicEffect.cpp",
791    "$flutter_root/skia/src/gpu/effects/GrBitmapTextGeoProc.cpp",
792    "$flutter_root/skia/src/gpu/effects/GrConvexPolyEffect.cpp",
793    "$flutter_root/skia/src/gpu/effects/GrCoverageSetOpXP.cpp",
794    "$flutter_root/skia/src/gpu/effects/GrCustomXfermode.cpp",
795    "$flutter_root/skia/src/gpu/effects/GrDisableColorXP.cpp",
796    "$flutter_root/skia/src/gpu/effects/GrDistanceFieldGeoProc.cpp",
797    "$flutter_root/skia/src/gpu/effects/GrGaussianConvolutionFragmentProcessor.cpp",
798    "$flutter_root/skia/src/gpu/effects/GrMatrixConvolutionEffect.cpp",
799    "$flutter_root/skia/src/gpu/effects/GrOvalEffect.cpp",
800    "$flutter_root/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp",
801    "$flutter_root/skia/src/gpu/effects/GrRRectEffect.cpp",
802    "$flutter_root/skia/src/gpu/effects/GrSRGBEffect.cpp",
803    "$flutter_root/skia/src/gpu/effects/GrShadowGeoProc.cpp",
804    "$flutter_root/skia/src/gpu/effects/GrSkSLFP.cpp",
805    "$flutter_root/skia/src/gpu/effects/GrTextureDomain.cpp",
806    "$flutter_root/skia/src/gpu/effects/GrXfermodeFragmentProcessor.cpp",
807    "$flutter_root/skia/src/gpu/effects/GrYUVtoRGBEffect.cpp",
808    "$flutter_root/skia/src/gpu/effects/generated/GrAARectEffect.cpp",
809    "$flutter_root/skia/src/gpu/effects/generated/GrAlphaThresholdFragmentProcessor.cpp",
810    "$flutter_root/skia/src/gpu/effects/generated/GrBlurredEdgeFragmentProcessor.cpp",
811    "$flutter_root/skia/src/gpu/effects/generated/GrCircleBlurFragmentProcessor.cpp",
812    "$flutter_root/skia/src/gpu/effects/generated/GrCircleEffect.cpp",
813    "$flutter_root/skia/src/gpu/effects/generated/GrColorMatrixFragmentProcessor.cpp",
814    "$flutter_root/skia/src/gpu/effects/generated/GrComposeLerpEffect.cpp",
815    "$flutter_root/skia/src/gpu/effects/generated/GrComposeLerpRedEffect.cpp",
816    "$flutter_root/skia/src/gpu/effects/generated/GrConfigConversionEffect.cpp",
817    "$flutter_root/skia/src/gpu/effects/generated/GrConstColorProcessor.cpp",
818    "$flutter_root/skia/src/gpu/effects/generated/GrEllipseEffect.cpp",
819    "$flutter_root/skia/src/gpu/effects/generated/GrLumaColorFilterEffect.cpp",
820    "$flutter_root/skia/src/gpu/effects/generated/GrMagnifierEffect.cpp",
821    "$flutter_root/skia/src/gpu/effects/generated/GrMixerEffect.cpp",
822    "$flutter_root/skia/src/gpu/effects/generated/GrOverrideInputFragmentProcessor.cpp",
823    "$flutter_root/skia/src/gpu/effects/generated/GrPremulInputFragmentProcessor.cpp",
824    "$flutter_root/skia/src/gpu/effects/generated/GrRRectBlurEffect.cpp",
825    "$flutter_root/skia/src/gpu/effects/generated/GrRectBlurEffect.cpp",
826    "$flutter_root/skia/src/gpu/effects/generated/GrSimpleTextureEffect.cpp",
827    "$flutter_root/skia/src/gpu/geometry/GrPathUtils.cpp",
828    "$flutter_root/skia/src/gpu/geometry/GrQuad.cpp",
829    "$flutter_root/skia/src/gpu/geometry/GrQuadUtils.cpp",
830    "$flutter_root/skia/src/gpu/geometry/GrShape.cpp",
831    "$flutter_root/skia/src/gpu/gl/GrGLAssembleGLESInterfaceAutogen.cpp",
832    "$flutter_root/skia/src/gpu/gl/GrGLAssembleGLInterfaceAutogen.cpp",
833    "$flutter_root/skia/src/gpu/gl/GrGLAssembleHelpers.cpp",
834    "$flutter_root/skia/src/gpu/gl/GrGLAssembleInterface.cpp",
835    "$flutter_root/skia/src/gpu/gl/GrGLAssembleWebGLInterfaceAutogen.cpp",
836    "$flutter_root/skia/src/gpu/gl/GrGLBuffer.cpp",
837    "$flutter_root/skia/src/gpu/gl/GrGLCaps.cpp",
838    "$flutter_root/skia/src/gpu/gl/GrGLContext.cpp",
839    "$flutter_root/skia/src/gpu/gl/GrGLExtensions.cpp",
840    "$flutter_root/skia/src/gpu/gl/GrGLGLSL.cpp",
841    "$flutter_root/skia/src/gpu/gl/GrGLGpu.cpp",
842    "$flutter_root/skia/src/gpu/gl/GrGLGpuCommandBuffer.cpp",
843    "$flutter_root/skia/src/gpu/gl/GrGLGpuProgramCache.cpp",
844    "$flutter_root/skia/src/gpu/gl/GrGLInterfaceAutogen.cpp",
845    "$flutter_root/skia/src/gpu/gl/GrGLPath.cpp",
846    "$flutter_root/skia/src/gpu/gl/GrGLPathRendering.cpp",
847    "$flutter_root/skia/src/gpu/gl/GrGLProgram.cpp",
848    "$flutter_root/skia/src/gpu/gl/GrGLProgramDataManager.cpp",
849    "$flutter_root/skia/src/gpu/gl/GrGLRenderTarget.cpp",
850    "$flutter_root/skia/src/gpu/gl/GrGLSemaphore.cpp",
851    "$flutter_root/skia/src/gpu/gl/GrGLStencilAttachment.cpp",
852    "$flutter_root/skia/src/gpu/gl/GrGLTexture.cpp",
853    "$flutter_root/skia/src/gpu/gl/GrGLTextureRenderTarget.cpp",
854    "$flutter_root/skia/src/gpu/gl/GrGLTypesPriv.cpp",
855    "$flutter_root/skia/src/gpu/gl/GrGLUniformHandler.cpp",
856    "$flutter_root/skia/src/gpu/gl/GrGLUtil.cpp",
857    "$flutter_root/skia/src/gpu/gl/GrGLVaryingHandler.cpp",
858    "$flutter_root/skia/src/gpu/gl/GrGLVertexArray.cpp",
859    "$flutter_root/skia/src/gpu/gl/builders/GrGLProgramBuilder.cpp",
860    "$flutter_root/skia/src/gpu/gl/builders/GrGLShaderStringBuilder.cpp",
861    "$flutter_root/skia/src/gpu/gl/egl/GrGLMakeNativeInterface_egl.cpp",
862    "$flutter_root/skia/src/gpu/glsl/GrGLSL.cpp",
863    "$flutter_root/skia/src/gpu/glsl/GrGLSLBlend.cpp",
864    "$flutter_root/skia/src/gpu/glsl/GrGLSLFragmentProcessor.cpp",
865    "$flutter_root/skia/src/gpu/glsl/GrGLSLFragmentShaderBuilder.cpp",
866    "$flutter_root/skia/src/gpu/glsl/GrGLSLGeometryProcessor.cpp",
867    "$flutter_root/skia/src/gpu/glsl/GrGLSLPrimitiveProcessor.cpp",
868    "$flutter_root/skia/src/gpu/glsl/GrGLSLProgramBuilder.cpp",
869    "$flutter_root/skia/src/gpu/glsl/GrGLSLProgramDataManager.cpp",
870    "$flutter_root/skia/src/gpu/glsl/GrGLSLShaderBuilder.cpp",
871    "$flutter_root/skia/src/gpu/glsl/GrGLSLUtil.cpp",
872    "$flutter_root/skia/src/gpu/glsl/GrGLSLVarying.cpp",
873    "$flutter_root/skia/src/gpu/glsl/GrGLSLVertexGeoBuilder.cpp",
874    "$flutter_root/skia/src/gpu/glsl/GrGLSLXferProcessor.cpp",
875    "$flutter_root/skia/src/gpu/gradients/GrGradientBitmapCache.cpp",
876    "$flutter_root/skia/src/gpu/gradients/GrGradientShader.cpp",
877    "$flutter_root/skia/src/gpu/gradients/generated/GrClampedGradientEffect.cpp",
878    "$flutter_root/skia/src/gpu/gradients/generated/GrDualIntervalGradientColorizer.cpp",
879    "$flutter_root/skia/src/gpu/gradients/generated/GrLinearGradientLayout.cpp",
880    "$flutter_root/skia/src/gpu/gradients/generated/GrRadialGradientLayout.cpp",
881    "$flutter_root/skia/src/gpu/gradients/generated/GrSingleIntervalGradientColorizer.cpp",
882    "$flutter_root/skia/src/gpu/gradients/generated/GrSweepGradientLayout.cpp",
883    "$flutter_root/skia/src/gpu/gradients/generated/GrTextureGradientColorizer.cpp",
884    "$flutter_root/skia/src/gpu/gradients/generated/GrTiledGradientEffect.cpp",
885    "$flutter_root/skia/src/gpu/gradients/generated/GrTwoPointConicalGradientLayout.cpp",
886    "$flutter_root/skia/src/gpu/gradients/generated/GrUnrolledBinaryGradientColorizer.cpp",
887    "$flutter_root/skia/src/gpu/mock/GrMockCaps.cpp",
888    "$flutter_root/skia/src/gpu/mock/GrMockGpu.cpp",
889    "$flutter_root/skia/src/gpu/mock/GrMockTypes.cpp",
890    "$flutter_root/skia/src/gpu/ops/GrAAConvexPathRenderer.cpp",
891    "$flutter_root/skia/src/gpu/ops/GrAAConvexTessellator.cpp",
892    "$flutter_root/skia/src/gpu/ops/GrAAHairLinePathRenderer.cpp",
893    "$flutter_root/skia/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp",
894    "$flutter_root/skia/src/gpu/ops/GrAtlasTextOp.cpp",
895    "$flutter_root/skia/src/gpu/ops/GrClearOp.cpp",
896    "$flutter_root/skia/src/gpu/ops/GrClearStencilClipOp.cpp",
897    "$flutter_root/skia/src/gpu/ops/GrCopySurfaceOp.cpp",
898    "$flutter_root/skia/src/gpu/ops/GrDashLinePathRenderer.cpp",
899    "$flutter_root/skia/src/gpu/ops/GrDashOp.cpp",
900    "$flutter_root/skia/src/gpu/ops/GrDebugMarkerOp.cpp",
901    "$flutter_root/skia/src/gpu/ops/GrDefaultPathRenderer.cpp",
902    "$flutter_root/skia/src/gpu/ops/GrDrawAtlasOp.cpp",
903    "$flutter_root/skia/src/gpu/ops/GrDrawPathOp.cpp",
904    "$flutter_root/skia/src/gpu/ops/GrDrawVerticesOp.cpp",
905    "$flutter_root/skia/src/gpu/ops/GrDrawableOp.cpp",
906    "$flutter_root/skia/src/gpu/ops/GrFillRRectOp.cpp",
907    "$flutter_root/skia/src/gpu/ops/GrFillRectOp.cpp",
908    "$flutter_root/skia/src/gpu/ops/GrLatticeOp.cpp",
909    "$flutter_root/skia/src/gpu/ops/GrMeshDrawOp.cpp",
910    "$flutter_root/skia/src/gpu/ops/GrOp.cpp",
911    "$flutter_root/skia/src/gpu/ops/GrOvalOpFactory.cpp",
912    "$flutter_root/skia/src/gpu/ops/GrQuadPerEdgeAA.cpp",
913    "$flutter_root/skia/src/gpu/ops/GrRegionOp.cpp",
914    "$flutter_root/skia/src/gpu/ops/GrSemaphoreOp.cpp",
915    "$flutter_root/skia/src/gpu/ops/GrShadowRRectOp.cpp",
916    "$flutter_root/skia/src/gpu/ops/GrSimpleMeshDrawOpHelper.cpp",
917    "$flutter_root/skia/src/gpu/ops/GrSmallPathRenderer.cpp",
918    "$flutter_root/skia/src/gpu/ops/GrStencilAndCoverPathRenderer.cpp",
919    "$flutter_root/skia/src/gpu/ops/GrStencilPathOp.cpp",
920    "$flutter_root/skia/src/gpu/ops/GrStrokeRectOp.cpp",
921    "$flutter_root/skia/src/gpu/ops/GrTessellatingPathRenderer.cpp",
922    "$flutter_root/skia/src/gpu/ops/GrTextureOp.cpp",
923    "$flutter_root/skia/src/gpu/ops/GrTransferFromOp.cpp",
924    "$flutter_root/skia/src/gpu/text/GrAtlasManager.cpp",
925    "$flutter_root/skia/src/gpu/text/GrDistanceFieldAdjustTable.cpp",
926    "$flutter_root/skia/src/gpu/text/GrSDFMaskFilter.cpp",
927    "$flutter_root/skia/src/gpu/text/GrStrikeCache.cpp",
928    "$flutter_root/skia/src/gpu/text/GrTextBlob.cpp",
929    "$flutter_root/skia/src/gpu/text/GrTextBlobCache.cpp",
930    "$flutter_root/skia/src/gpu/text/GrTextBlobVertexRegenerator.cpp",
931    "$flutter_root/skia/src/gpu/text/GrTextContext.cpp",
932    "$flutter_root/skia/src/image/SkImage_Gpu.cpp",
933    "$flutter_root/skia/src/image/SkImage_GpuBase.cpp",
934    "$flutter_root/skia/src/image/SkImage_GpuYUVA.cpp",
935    "$flutter_root/skia/src/image/SkSurface_Gpu.cpp",
936    "$flutter_root/skia/src/sksl/SkSLCPPCodeGenerator.cpp",
937    "$flutter_root/skia/src/sksl/SkSLCPPUniformCTypes.cpp",
938    "$flutter_root/skia/src/sksl/SkSLGLSLCodeGenerator.cpp",
939    "$flutter_root/skia/src/sksl/SkSLHCodeGenerator.cpp",
940    "$flutter_root/skia/src/sksl/SkSLMetalCodeGenerator.cpp",
941    "$flutter_root/skia/src/sksl/SkSLOutputStream.cpp",
942    "$flutter_root/skia/src/sksl/SkSLPipelineStageCodeGenerator.cpp",
943    "$flutter_root/skia/src/sksl/SkSLSPIRVCodeGenerator.cpp",
944  ]
945  if (ace_enable_gpu) {
946    # Ohos platform
947    if (is_standard_system) {
948      public_deps = [ "//foundation/graphic/graphic_2d:libgl" ]
949      if (flutter_feature_skia_small_page_enable) {
950        defines += [ "SK_ENABLE_SMALL_PAGE" ]
951      }
952    } else {
953      aosp_deps = [
954        "shared_library:libEGL",
955        "shared_library:libGLESv2",
956      ]
957    }
958  }
959}
960
961# ------------------------------------------------
962#      Skia webp config
963# ------------------------------------------------
964config("webp_config") {
965  visibility = [ ":*" ]
966  include_dirs = [
967    "$flutter_root/skia",
968    "$flutter_root/skia/third_party/externals/libwebp/src",
969    "$flutter_root/skia/third_party/externals/libwebp",
970  ]
971  cflags_cc = skia_common_ccflags
972  cflags = skia_common_cflags
973}
974
975ohos_source_set("webp") {
976  configs = [ ":webp_config" ]
977  sources = [
978    "$flutter_root/skia/src/codec/SkWebpCodec.cpp",
979    "$flutter_root/skia/src/images/SkWebpEncoder.cpp",
980  ]
981
982  defines = skia_common_defines
983}
984
985# ------------------------------------------------
986#      Skia png config begin
987# ------------------------------------------------
988config("png_config") {
989  visibility = [ ":*" ]
990  include_dirs = [
991    "$flutter_root/skia",
992    "$flutter_root/skia/third_party/libpng",
993    "$flutter_root/skia/third_party/externals/libpng",
994  ]
995  cflags_cc = skia_common_ccflags
996  cflags = skia_common_cflags
997}
998
999ohos_source_set("png_ohos") {
1000  defines = skia_common_defines
1001
1002  configs = [ ":png_config" ]
1003  sources = [
1004    "$flutter_root/skia/src/codec/SkIcoCodec.cpp",
1005    "$flutter_root/skia/src/codec/SkPngCodec.cpp",
1006    "$flutter_root/skia/src/images/SkPngEncoder.cpp",
1007  ]
1008}
1009
1010# ------------------------------------------------
1011#      Skia svg config
1012# ------------------------------------------------
1013config("svg_model_config") {
1014  visibility = [ ":*" ]
1015  include_dirs = [ "$flutter_root/skia" ]
1016}
1017
1018config("svg_compile_flags") {
1019  cflags_cc = skia_common_ccflags
1020  cflags_cc += [ "-Wno-extra-semi" ]
1021  cflags = skia_common_cflags
1022  cflags += [ "-Wno-extra-semi" ]
1023  ldflags = [ "-Wl,–gc-sections" ]
1024}
1025
1026ohos_source_set("svg_model_ohos") {
1027  defines = skia_common_defines
1028  configs = [
1029    ":svg_model_config",
1030    ":svg_compile_flags",
1031  ]
1032
1033  sources = [
1034    "$flutter_root/skia/experimental/svg/model/CssStyleParser.cpp",
1035    "$flutter_root/skia/experimental/svg/model/SkSVGAttribute.cpp",
1036    "$flutter_root/skia/experimental/svg/model/SkSVGAttributeParser.cpp",
1037    "$flutter_root/skia/experimental/svg/model/SkSVGCircle.cpp",
1038    "$flutter_root/skia/experimental/svg/model/SkSVGClipPath.cpp",
1039    "$flutter_root/skia/experimental/svg/model/SkSVGContainer.cpp",
1040    "$flutter_root/skia/experimental/svg/model/SkSVGDOM.cpp",
1041    "$flutter_root/skia/experimental/svg/model/SkSVGEllipse.cpp",
1042    "$flutter_root/skia/experimental/svg/model/SkSVGGradient.cpp",
1043    "$flutter_root/skia/experimental/svg/model/SkSVGLine.cpp",
1044    "$flutter_root/skia/experimental/svg/model/SkSVGLinearGradient.cpp",
1045    "$flutter_root/skia/experimental/svg/model/SkSVGNode.cpp",
1046    "$flutter_root/skia/experimental/svg/model/SkSVGPath.cpp",
1047    "$flutter_root/skia/experimental/svg/model/SkSVGPattern.cpp",
1048    "$flutter_root/skia/experimental/svg/model/SkSVGPoly.cpp",
1049    "$flutter_root/skia/experimental/svg/model/SkSVGRadialGradient.cpp",
1050    "$flutter_root/skia/experimental/svg/model/SkSVGRect.cpp",
1051    "$flutter_root/skia/experimental/svg/model/SkSVGRenderContext.cpp",
1052    "$flutter_root/skia/experimental/svg/model/SkSVGSVG.cpp",
1053    "$flutter_root/skia/experimental/svg/model/SkSVGShape.cpp",
1054    "$flutter_root/skia/experimental/svg/model/SkSVGStop.cpp",
1055    "$flutter_root/skia/experimental/svg/model/SkSVGTransformableNode.cpp",
1056    "$flutter_root/skia/experimental/svg/model/SkSVGUse.cpp",
1057    "$flutter_root/skia/experimental/svg/model/SkSVGValue.cpp",
1058    "$flutter_root/skia/experimental/svg/model/SkSVGXMLDOM.cpp",
1059  ]
1060}
1061