• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021 Huawei Device Co., Ltd.
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("//third_party/flutter/flutter_config.gni")
17
18config("ace_libwebp_config") {
19  visibility = [ ":*" ]
20  include_dirs = [
21    "$flutter_root/skia/third_party/externals/libwebp/src",
22    "$flutter_root/skia/third_party/externals/libwebp",
23  ]
24  cflags = [
25    "-w",
26    "-fstrict-aliasing",
27    "-Os",
28    "-fdata-sections",
29    "-ffunction-sections",
30    "-gline-tables-only",
31    "-funwind-tables",
32    "-Wno-unused-parameter",
33    "-fvisibility=hidden",
34  ]
35}
36
37ohos_source_set("ace_libwebp") {
38  part_name = flutter_part
39  subsystem_name = flutter_subsystem
40  license_file = "$flutter_root/skia/third_party/externals/libwebp/COPYING"
41  configs = [ ":ace_libwebp_config" ]
42
43  if ((target_cpu == "x86_64" && !use_mingw_win) || use_mac || use_linux) {
44    deps = [ ":ace_libwebp_sse41" ]
45  }
46
47  sources = [
48    "$flutter_root/skia/third_party/externals/libwebp/src/dec/alpha_dec.c",
49    "$flutter_root/skia/third_party/externals/libwebp/src/dec/buffer_dec.c",
50    "$flutter_root/skia/third_party/externals/libwebp/src/dec/frame_dec.c",
51    "$flutter_root/skia/third_party/externals/libwebp/src/dec/idec_dec.c",
52    "$flutter_root/skia/third_party/externals/libwebp/src/dec/io_dec.c",
53    "$flutter_root/skia/third_party/externals/libwebp/src/dec/quant_dec.c",
54    "$flutter_root/skia/third_party/externals/libwebp/src/dec/tree_dec.c",
55    "$flutter_root/skia/third_party/externals/libwebp/src/dec/vp8_dec.c",
56    "$flutter_root/skia/third_party/externals/libwebp/src/dec/vp8l_dec.c",
57    "$flutter_root/skia/third_party/externals/libwebp/src/dec/webp_dec.c",
58    "$flutter_root/skia/third_party/externals/libwebp/src/demux/anim_decode.c",
59    "$flutter_root/skia/third_party/externals/libwebp/src/demux/demux.c",
60    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/alpha_processing.c",
61    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/alpha_processing_mips_dsp_r2.c",
62    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/alpha_processing_neon.c",
63    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/alpha_processing_sse2.c",
64    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/cost.c",
65    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/cost_mips32.c",
66    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/cost_mips_dsp_r2.c",
67    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/cost_neon.c",
68    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/cost_sse2.c",
69    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/cpu.c",
70    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/dec.c",
71    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/dec_clip_tables.c",
72    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/dec_mips32.c",
73    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/dec_mips_dsp_r2.c",
74    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/dec_msa.c",
75    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/dec_neon.c",
76    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/dec_sse2.c",
77    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/enc.c",
78    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/enc_mips32.c",
79    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/enc_mips_dsp_r2.c",
80    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/enc_msa.c",
81    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/enc_neon.c",
82    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/enc_sse2.c",
83    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/filters.c",
84    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/filters_mips_dsp_r2.c",
85    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/filters_msa.c",
86    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/filters_neon.c",
87    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/filters_sse2.c",
88    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/lossless.c",
89    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/lossless_enc.c",
90    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/lossless_enc_mips32.c",
91    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/lossless_enc_mips_dsp_r2.c",
92    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/lossless_enc_msa.c",
93    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/lossless_enc_neon.c",
94    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/lossless_enc_sse2.c",
95    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/lossless_mips_dsp_r2.c",
96    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/lossless_msa.c",
97    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/lossless_neon.c",
98    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/lossless_sse2.c",
99    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/rescaler.c",
100    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/rescaler_mips32.c",
101    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/rescaler_mips_dsp_r2.c",
102    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/rescaler_msa.c",
103    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/rescaler_neon.c",
104    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/rescaler_sse2.c",
105    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/ssim.c",
106    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/ssim_sse2.c",
107    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/upsampling.c",
108    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/upsampling_mips_dsp_r2.c",
109    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/upsampling_msa.c",
110    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/upsampling_neon.c",
111    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/upsampling_sse2.c",
112    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/yuv.c",
113    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/yuv_mips32.c",
114    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/yuv_mips_dsp_r2.c",
115    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/yuv_neon.c",
116    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/yuv_sse2.c",
117    "$flutter_root/skia/third_party/externals/libwebp/src/enc/alpha_enc.c",
118    "$flutter_root/skia/third_party/externals/libwebp/src/enc/analysis_enc.c",
119    "$flutter_root/skia/third_party/externals/libwebp/src/enc/backward_references_cost_enc.c",
120    "$flutter_root/skia/third_party/externals/libwebp/src/enc/backward_references_enc.c",
121    "$flutter_root/skia/third_party/externals/libwebp/src/enc/config_enc.c",
122    "$flutter_root/skia/third_party/externals/libwebp/src/enc/cost_enc.c",
123    "$flutter_root/skia/third_party/externals/libwebp/src/enc/filter_enc.c",
124    "$flutter_root/skia/third_party/externals/libwebp/src/enc/frame_enc.c",
125    "$flutter_root/skia/third_party/externals/libwebp/src/enc/histogram_enc.c",
126    "$flutter_root/skia/third_party/externals/libwebp/src/enc/iterator_enc.c",
127    "$flutter_root/skia/third_party/externals/libwebp/src/enc/near_lossless_enc.c",
128    "$flutter_root/skia/third_party/externals/libwebp/src/enc/picture_csp_enc.c",
129    "$flutter_root/skia/third_party/externals/libwebp/src/enc/picture_enc.c",
130    "$flutter_root/skia/third_party/externals/libwebp/src/enc/picture_psnr_enc.c",
131    "$flutter_root/skia/third_party/externals/libwebp/src/enc/picture_rescale_enc.c",
132    "$flutter_root/skia/third_party/externals/libwebp/src/enc/picture_tools_enc.c",
133    "$flutter_root/skia/third_party/externals/libwebp/src/enc/predictor_enc.c",
134    "$flutter_root/skia/third_party/externals/libwebp/src/enc/quant_enc.c",
135    "$flutter_root/skia/third_party/externals/libwebp/src/enc/syntax_enc.c",
136    "$flutter_root/skia/third_party/externals/libwebp/src/enc/token_enc.c",
137    "$flutter_root/skia/third_party/externals/libwebp/src/enc/tree_enc.c",
138    "$flutter_root/skia/third_party/externals/libwebp/src/enc/vp8l_enc.c",
139    "$flutter_root/skia/third_party/externals/libwebp/src/enc/webp_enc.c",
140    "$flutter_root/skia/third_party/externals/libwebp/src/mux/anim_encode.c",
141    "$flutter_root/skia/third_party/externals/libwebp/src/mux/muxedit.c",
142    "$flutter_root/skia/third_party/externals/libwebp/src/mux/muxinternal.c",
143    "$flutter_root/skia/third_party/externals/libwebp/src/mux/muxread.c",
144    "$flutter_root/skia/third_party/externals/libwebp/src/utils/bit_reader_utils.c",
145    "$flutter_root/skia/third_party/externals/libwebp/src/utils/bit_writer_utils.c",
146    "$flutter_root/skia/third_party/externals/libwebp/src/utils/color_cache_utils.c",
147    "$flutter_root/skia/third_party/externals/libwebp/src/utils/filters_utils.c",
148    "$flutter_root/skia/third_party/externals/libwebp/src/utils/huffman_encode_utils.c",
149    "$flutter_root/skia/third_party/externals/libwebp/src/utils/huffman_utils.c",
150    "$flutter_root/skia/third_party/externals/libwebp/src/utils/quant_levels_dec_utils.c",
151    "$flutter_root/skia/third_party/externals/libwebp/src/utils/quant_levels_utils.c",
152    "$flutter_root/skia/third_party/externals/libwebp/src/utils/random_utils.c",
153    "$flutter_root/skia/third_party/externals/libwebp/src/utils/rescaler_utils.c",
154    "$flutter_root/skia/third_party/externals/libwebp/src/utils/thread_utils.c",
155    "$flutter_root/skia/third_party/externals/libwebp/src/utils/utils.c",
156  ]
157
158  defines = [ "WEBP_SWAP_16BIT_CSP" ]
159}
160
161config("ace_libwebp_sse41_config") {
162  visibility = [ ":*" ]
163  include_dirs = [
164    "$flutter_root/skia/third_party/externals/libwebp/src",
165    "$flutter_root/skia/third_party/externals/libwebp",
166  ]
167  cflags = [
168    "-w",
169    "-fstrict-aliasing",
170    "-Os",
171    "-fdata-sections",
172    "-ffunction-sections",
173    "-gline-tables-only",
174    "-funwind-tables",
175    "-Wno-unused-parameter",
176    "-fvisibility=hidden",
177  ]
178}
179
180ohos_source_set("ace_libwebp_sse41") {
181  part_name = flutter_part
182  subsystem_name = flutter_subsystem
183  configs = [ ":ace_libwebp_sse41_config" ]
184  sources = [
185    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/alpha_processing_sse41.c",
186    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/dec_sse41.c",
187    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/enc_sse41.c",
188    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/lossless_enc_sse41.c",
189    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/upsampling_sse41.c",
190    "$flutter_root/skia/third_party/externals/libwebp/src/dsp/yuv_sse41.c",
191  ]
192
193  defines = [ "WEBP_SWAP_16BIT_CSP" ]
194}
195