• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2022 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("//build/ohos/ace/ace.gni")
16import("//foundation/graphic/graphic_2d/graphic_config.gni")
17import("//foundation/multimedia/image_framework/ide/image_decode_config.gni")
18
19config("image_external_config") {
20  include_dirs = [
21    "include",
22    "//utils/system/safwk/native/include",
23    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/receiver/include",
24    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/creator/include",
25    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/pixelconverter/include",
26    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/include",
27    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/codec/include",
28    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/common/include",
29    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/include",
30    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/include",
31    "//foundation/multimedia/image_framework/frameworks/kits/js/common/include",
32    "//foundation/multimedia/image_framework/interfaces/kits/js/common/include",
33    "//foundation/multimedia/utils/include",
34    "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin",
35    "//foundation/multimedia/image_framework/plugins/manager/include",
36    "//foundation/multimedia/image_framework/plugins/manager/include/image",
37    "//foundation/multimedia/image_framework/interfaces/innerkits/include",
38    "//foundation/multimedia/image_framework/interfaces/kits/native/include",
39    "//utils/jni/jnikit/include",
40    "//base/hiviewdfx/hilog/interfaces/native/innerkits/include",
41    "//foundation/graphic/graphic_2d/interfaces/inner_api/surface",
42    "//foundation/graphic/graphic_2d/interfaces/inner_api/common",
43    "//foundation/communication/ipc/interfaces/innerkits/ipc_core/include",
44    "//foundation/graphic/graphic_2d/utils/buffer_handle/export",
45    "//foundation/graphic/graphic_2d/utils/color_manager/export",
46    "//drivers/peripheral/display/interfaces/include",
47    "//drivers/peripheral/base",
48    "//third_party/flutter/skia/third_party/externals/libjpeg-turbo",
49  ]
50
51  include_dirs += [
52    "//foundation/multimedia/image_framework/plugins/manager/include/pluginbase",
53    "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/include",
54    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/include",
55    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/include",
56    "//third_party/flutter/skia/include/codec",
57    "//third_party/flutter/skia",
58    "//third_party/flutter/skia/include/core",
59    "//third_party/flutter/skia/third_party/libjpeg-turbo",
60    "//third_party/skia/third_party/externals/libjpeg-turbo",
61    "//third_party/flutter/skia/third_party/skcms",
62    "//third_party/libexif",
63  ]
64
65  if (use_mingw_win) {
66    include_dirs +=
67        [ "//foundation/multimedia/image_framework/mock/native/include" ]
68  } else if (use_clang_mac) {
69    include_dirs += [
70      "//foundation/multimedia/image_framework/mock/native/include",
71      "//third_party/bounds_checking_function/include",
72      "//commonlibrary/c_utils/base/include",
73      "//base/hiviewdfx/hilog/interfaces/native/innerkits/include",
74    ]
75  } else if (use_clang_ios) {
76    include_dirs += [
77      "//third_party/libpng",
78      "//foundation/multimedia/image_framework/mock/native/include",
79      "//foundation/multimedia/image_framework/mock/native/include/secure",
80    ]
81    include_dirs -= [
82      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/receiver/include",
83      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/creator/include",
84      "//foundation/graphic/graphic_2d/interfaces/inner_api/surface",
85      "//foundation/graphic/graphic_2d/interfaces/inner_api/common",
86      "//foundation/graphic/graphic_2d/utils/buffer_handle/export",
87      "//foundation/graphic/graphic_2d/utils/color_manager/export",
88    ]
89  } else if (use_clang_android) {
90    include_dirs += [
91      "//commonlibrary/c_utils/base/include",
92      "//third_party/libpng",
93      "//foundation/multimedia/image_framework/mock/native/include",
94    ]
95
96    include_dirs -= [
97      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/receiver/include",
98      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/creator/include",
99      "//foundation/graphic/graphic_2d/interfaces/inner_api/surface",
100      "//foundation/graphic/graphic_2d/interfaces/inner_api/common",
101      "//foundation/graphic/graphic_2d/utils/buffer_handle/export",
102      "//foundation/graphic/graphic_2d/utils/color_manager/export",
103    ]
104  } else {
105    include_dirs += [
106      "//commonlibrary/c_utils/base/include",
107      "//third_party/libpng",
108      "//base/hiviewdfx/hilog/interfaces/native/innerkits/include",
109    ]
110  }
111}
112
113js_declaration("image_js") {
114  part_name = "multimedia_image_framework"
115  sources = [ "//foundation/multimedia/image_framework/interfaces/kits/js/@ohos.multimedia.image.d.ts" ]
116}
117
118ohos_copy("image_declaration") {
119  sources = [ "//foundation/multimedia/image_framework/interfaces/kits/js/@ohos.multimedia.image.d.ts" ]
120  outputs = [ target_out_dir + "/$target_name/" ]
121  module_source_dir = target_out_dir + "/$target_name"
122  module_install_name = ""
123}
124
125if (use_clang_ios) {
126  ohos_source_set("image_native") {
127    public_configs = [ ":image_external_config" ]
128
129    cflags = [
130      "-DIMAGE_DEBUG_FLAG",
131      "-DIMAGE_COLORSPACE_FLAG",
132    ]
133
134    sources = [
135      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/codec/src/image_packer.cpp",
136      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/codec/src/image_packer_ex.cpp",
137      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/codec/src/image_source.cpp",
138      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/common/src/incremental_pixel_map.cpp",
139      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/common/src/pixel_map.cpp",
140      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/common/src/pixel_map_parcel.cpp",
141      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/basic_transformer.cpp",
142      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/matrix.cpp",
143      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/pixel_convert.cpp",
144      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/post_proc.cpp",
145      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/scan_line_filter.cpp",
146      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/creator/src/image_creator.cpp",
147      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/creator/src/image_creator_manager.cpp",
148      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/receiver/src/image_receiver.cpp",
149      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/receiver/src/image_receiver_manager.cpp",
150      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/buffer_packer_stream.cpp",
151      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/buffer_source_stream.cpp",
152      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/file_packer_stream.cpp",
153      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/file_source_stream.cpp",
154      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/incremental_source_stream.cpp",
155      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/istream_source_stream.cpp",
156      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/ostream_packer_stream.cpp",
157    ]
158
159    sources += [
160      "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/exif_info.cpp",
161      "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/icc_profile_info.cpp",
162      "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/jpeg_decoder.cpp",
163      "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/jpeg_utils.cpp",
164      "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/plugin_export.cpp",
165    ]
166
167    defines = image_decode_ios_defines
168    cflags -= [ "-DIMAGE_COLORSPACE_FLAG" ]
169    sources -= [
170      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/common/src/pixel_map_parcel.cpp",
171      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/creator/src/image_creator.cpp",
172      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/creator/src/image_creator_manager.cpp",
173      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/receiver/src/image_receiver.cpp",
174      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/receiver/src/image_receiver_manager.cpp",
175    ]
176    deps = [
177      "//foundation/arkui/napi:ace_napi",
178      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/pixelconverter:pixelconvertadapter",
179      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils:image_utils",
180      "//third_party/flutter/build/skia:ace_skia_ios",
181    ]
182
183    sources += [
184      "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/jpeg_encoder.cpp",
185      "//third_party/skia/third_party/externals/libjpeg-turbo/jdicc.c",
186    ]
187    deps += [
188      "//foundation/multimedia/image_framework/mock/native:log_mock_static",
189      "//foundation/multimedia/image_framework/mock/native:utils_mock_static",
190      "//foundation/multimedia/image_framework/plugins/manager:pluginmanager",
191      "//third_party/flutter/build/libjpeg:ace_libjpeg",
192      "//third_party/flutter/build/skia:ace_skcms",
193      "//third_party/libexif:exif_static",
194    ]
195
196    #  relative_install_dir = "module/multimedia"
197    subsystem_name = "multimedia"
198    part_name = "multimedia_image_framework"
199  }
200} else {
201  ohos_shared_library("image_native") {
202    sanitize = {
203      cfi = true
204      debug = false
205    }
206    public_configs = [ ":image_external_config" ]
207
208    cflags = [
209      "-DIMAGE_DEBUG_FLAG",
210      "-DIMAGE_COLORSPACE_FLAG",
211    ]
212
213    sources = [
214      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/codec/src/image_packer.cpp",
215      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/codec/src/image_packer_ex.cpp",
216      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/codec/src/image_source.cpp",
217      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/common/src/incremental_pixel_map.cpp",
218      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/common/src/pixel_map.cpp",
219      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/common/src/pixel_map_parcel.cpp",
220      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/basic_transformer.cpp",
221      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/matrix.cpp",
222      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/pixel_convert.cpp",
223      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/post_proc.cpp",
224      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/scan_line_filter.cpp",
225      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/creator/src/image_creator.cpp",
226      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/creator/src/image_creator_manager.cpp",
227      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/receiver/src/image_receiver.cpp",
228      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/receiver/src/image_receiver_manager.cpp",
229      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/buffer_packer_stream.cpp",
230      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/buffer_source_stream.cpp",
231      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/file_packer_stream.cpp",
232      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/file_source_stream.cpp",
233      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/incremental_source_stream.cpp",
234      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/istream_source_stream.cpp",
235      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/ostream_packer_stream.cpp",
236    ]
237
238    if (use_mingw_win) {
239      defines = image_decode_windows_defines
240      sources -= [
241        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/codec/src/image_packer.cpp",
242        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/codec/src/image_packer_ex.cpp",
243        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/buffer_packer_stream.cpp",
244        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/file_packer_stream.cpp",
245        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/ostream_packer_stream.cpp",
246      ]
247      deps = [
248        "//foundation/graphic/graphic_2d:libsurface",
249        "//foundation/graphic/graphic_2d/utils/color_manager:color_manager",
250        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/pixelconverter:pixelconvertadapter_static",
251        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils:image_utils_static",
252        "//foundation/multimedia/image_framework/mock/native:log_mock_static",
253        "//foundation/multimedia/image_framework/plugins/manager:pluginmanager_static",
254      ]
255    } else if (use_clang_mac) {
256      defines = image_decode_mac_defines
257      sources -= [
258        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/codec/src/image_packer.cpp",
259        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/codec/src/image_packer_ex.cpp",
260        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/buffer_packer_stream.cpp",
261        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/file_packer_stream.cpp",
262        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/ostream_packer_stream.cpp",
263      ]
264      deps = [
265        "//foundation/graphic/graphic_2d:libsurface",
266        "//foundation/graphic/graphic_2d/utils/color_manager:color_manager",
267        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/pixelconverter:pixelconvertadapter_static",
268        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils:image_utils_static",
269        "//foundation/multimedia/image_framework/mock/native:log_mock_static",
270        "//foundation/multimedia/image_framework/plugins/manager:pluginmanager_static",
271        "//third_party/bounds_checking_function:libsec_statics",
272      ]
273    } else if (use_clang_android) {
274      defines = image_decode_android_defines
275      cflags -= [ "-DIMAGE_COLORSPACE_FLAG" ]
276
277      sources += [
278        "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/exif_info.cpp",
279        "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/icc_profile_info.cpp",
280        "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/jpeg_decoder.cpp",
281        "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/jpeg_utils.cpp",
282        "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/plugin_export.cpp",
283      ]
284      sources -= [
285        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/common/src/pixel_map_parcel.cpp",
286        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/creator/src/image_creator.cpp",
287        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/creator/src/image_creator_manager.cpp",
288        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/receiver/src/image_receiver.cpp",
289        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/receiver/src/image_receiver_manager.cpp",
290      ]
291      sources += [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/pixel_map_rosen_utils.cpp" ]
292
293      deps = [
294        "//commonlibrary/c_utils/base:utils",
295        "//foundation/arkui/napi:ace_napi",
296        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/pixelconverter:pixelconvertadapter",
297        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils:image_utils",
298        "//foundation/multimedia/image_framework/plugins/manager:pluginmanager",
299        "//third_party/flutter/build/skia:ace_skia_android",
300      ]
301
302      sources += [
303        "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/jpeg_encoder.cpp",
304        "//third_party/skia/third_party/externals/libjpeg-turbo/jdicc.c",
305      ]
306      deps += [
307        "//foundation/multimedia/image_framework/mock/native:log_mock_static",
308        "//foundation/multimedia/image_framework/mock/native:utils_mock_static",
309        "//third_party/flutter/build/libjpeg:ace_libjpeg",
310        "//third_party/flutter/build/skia:ace_skcms",
311        "//third_party/libexif:libexif",
312      ]
313
314      aosp_deps = [ "shared_library:libnativewindow" ]
315    } else {
316      defines = [ "DUAL_ADAPTER" ]
317      DUAL_ADAPTER = true
318
319      if (rs_enable_gpu) {
320        defines += [ "UPLOAD_GPU_ENABLED" ]
321      }
322
323      sources += [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/pixel_map_rosen_utils.cpp" ]
324
325      deps = [
326        "//foundation/arkui/napi:ace_napi",
327        "//foundation/graphic/graphic_2d:libsurface",
328        "//foundation/graphic/graphic_2d/utils/color_manager:color_manager",
329        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/pixelconverter:pixelconvertadapter",
330        "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils:image_utils",
331        "//foundation/multimedia/image_framework/plugins/manager:pluginmanager",
332        "//third_party/flutter/build/skia:ace_skia_ohos",
333      ]
334
335      if (DUAL_ADAPTER) {
336      } else {
337        deps += [ "//third_party/libpng:libpng" ]
338      }
339      external_deps = [
340        "c_utils:utils",
341        "hitrace_native:hitrace_meter",
342        "ipc:ipc_core",
343      ]
344    }
345
346    #  relative_install_dir = "module/multimedia"
347    subsystem_name = "multimedia"
348    part_name = "multimedia_image_framework"
349    version_script = "libimage_native.versionscript"
350  }
351}
352
353ohos_static_library("image_static") {
354  public_configs = [ ":image_external_config" ]
355
356  sources = [
357    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/codec/src/image_packer.cpp",
358    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/codec/src/image_packer_ex.cpp",
359    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/codec/src/image_source.cpp",
360    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/common/src/incremental_pixel_map.cpp",
361    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/common/src/pixel_map.cpp",
362    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/basic_transformer.cpp",
363    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/matrix.cpp",
364    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/pixel_convert.cpp",
365    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/post_proc.cpp",
366    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/scan_line_filter.cpp",
367    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/creator/src/image_creator.cpp",
368    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/creator/src/image_creator_manager.cpp",
369    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/receiver/src/image_receiver.cpp",
370    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/receiver/src/image_receiver_manager.cpp",
371    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/buffer_packer_stream.cpp",
372    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/buffer_source_stream.cpp",
373    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/file_packer_stream.cpp",
374    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/file_source_stream.cpp",
375    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/incremental_source_stream.cpp",
376    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/istream_source_stream.cpp",
377    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/ostream_packer_stream.cpp",
378  ]
379
380  if (use_mingw_win) {
381    defines = image_decode_windows_defines
382    sources -= [
383      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/codec/src/image_packer.cpp",
384      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/codec/src/image_packer_ex.cpp",
385      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/buffer_packer_stream.cpp",
386      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/file_packer_stream.cpp",
387      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/ostream_packer_stream.cpp",
388    ]
389    deps = [
390      "//foundation/graphic/graphic_2d:libsurface",
391      "//foundation/graphic/graphic_2d/utils/color_manager:color_manager",
392      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/pixelconverter:pixelconvertadapter_static",
393      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils:image_utils_static",
394      "//foundation/multimedia/image_framework/mock/native:log_mock_static",
395      "//foundation/multimedia/image_framework/plugins/manager:pluginmanager_static",
396    ]
397  } else if (use_clang_mac) {
398    defines = image_decode_mac_defines
399    sources -= [
400      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/codec/src/image_packer.cpp",
401      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/codec/src/image_packer_ex.cpp",
402      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/buffer_packer_stream.cpp",
403      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/file_packer_stream.cpp",
404      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/ostream_packer_stream.cpp",
405    ]
406
407    deps = [
408      "//foundation/graphic/graphic_2d:libsurface",
409      "//foundation/graphic/graphic_2d/utils/color_manager:color_manager",
410      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/pixelconverter:pixelconvertadapter_static",
411      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils:image_utils_static",
412      "//foundation/multimedia/image_framework/mock/native:log_mock_static",
413      "//foundation/multimedia/image_framework/plugins/manager:pluginmanager_static",
414      "//third_party/bounds_checking_function:libsec_static",
415    ]
416  } else if (use_clang_ios) {
417    defines = image_decode_ios_defines
418    sources -= [
419      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/creator/src/image_creator.cpp",
420      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/creator/src/image_creator_manager.cpp",
421      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/receiver/src/image_receiver.cpp",
422      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/receiver/src/image_receiver_manager.cpp",
423    ]
424    deps = [
425      "//foundation/arkui/napi:ace_napi",
426      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/pixelconverter:pixelconvertadapter",
427      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils:image_utils",
428      "//foundation/multimedia/image_framework/mock/native:log_mock_static",
429      "//foundation/multimedia/image_framework/mock/native:utils_mock_static",
430      "//foundation/multimedia/image_framework/plugins/manager:pluginmanager",
431    ]
432  } else if (use_clang_android) {
433    defines = image_decode_android_defines
434    sources -= [
435      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/creator/src/image_creator.cpp",
436      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/creator/src/image_creator_manager.cpp",
437      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/receiver/src/image_receiver.cpp",
438      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/receiver/src/image_receiver_manager.cpp",
439    ]
440    deps = [
441      "//commonlibrary/c_utils/base:utils",
442      "//foundation/arkui/napi:ace_napi",
443      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/pixelconverter:pixelconvertadapter",
444      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils:image_utils",
445      "//foundation/multimedia/image_framework/plugins/manager:pluginmanager",
446    ]
447  } else {
448    defines = [ "DUAL_ADAPTER" ]
449    DUAL_ADAPTER = true
450
451    deps = [
452      "//foundation/arkui/napi:ace_napi",
453      "//foundation/graphic/graphic_2d:libsurface",
454      "//foundation/graphic/graphic_2d/utils/color_manager:color_manager",
455      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/pixelconverter:pixelconvertadapter",
456      "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils:image_utils",
457      "//foundation/multimedia/image_framework/plugins/manager:pluginmanager",
458    ]
459
460    if (DUAL_ADAPTER) {
461    } else {
462      deps += [ "//third_party/libpng:libpng" ]
463    }
464    external_deps = [ "c_utils:utils" ]
465  }
466  subsystem_name = "multimedia"
467  part_name = "multimedia_image_framework"
468}
469