1# Copyright (C) 2023 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/multimedia/image_framework/ide/image_decode_config.gni") 16 17image_native_ios_cflags = [ 18 "-DIMAGE_DEBUG_FLAG", 19 "-DIMAGE_COLORSPACE_FLAG", 20] 21 22image_native_ios_sources = [ 23 # plugin_manager 24 "//foundation/multimedia/image_framework/plugins/manager/src/common/attr_data.cpp", 25 "//foundation/multimedia/image_framework/plugins/manager/src/common/platform_adp.cpp", 26 "//foundation/multimedia/image_framework/plugins/manager/src/framework/capability.cpp", 27 "//foundation/multimedia/image_framework/plugins/manager/src/framework/impl_class.cpp", 28 "//foundation/multimedia/image_framework/plugins/manager/src/framework/impl_class_key.cpp", 29 "//foundation/multimedia/image_framework/plugins/manager/src/framework/impl_class_mgr.cpp", 30 "//foundation/multimedia/image_framework/plugins/manager/src/framework/json_helper.cpp", 31 "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin.cpp", 32 "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin_export.cpp", 33 "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin_fw.cpp", 34 "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin_info_lock.cpp", 35 "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin_mgr.cpp", 36 "//foundation/multimedia/image_framework/plugins/manager/src/plugin_server.cpp", 37 "//foundation/multimedia/image_framework/plugins/manager/src/pluginbase/plugin_class_base.cpp", 38 "//foundation/multimedia/image_framework/plugins/manager/src/thirdpartyadp/gstreamer/gst_plugin_fw.cpp", 39 40 # webp 41 "$third_party_skia_root/third_party/externals/libjpeg-turbo/jdicc.c", 42 43 # image_native 44 "${image_subsystem}/frameworks/innerkitsimpl/common/src/memory_manager.cpp", 45 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/codec/src/image_packer.cpp", 46 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/codec/src/image_packer_ex.cpp", 47 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/codec/src/image_source.cpp", 48 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/common/src/incremental_pixel_map.cpp", 49 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/common/src/pixel_map.cpp", 50 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/common/src/pixel_map_parcel.cpp", 51 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/common/src/pixel_yuv.cpp", 52 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/basic_transformer.cpp", 53 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/image_format_convert.cpp", 54 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/image_format_convert_utils.cpp", 55 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/matrix.cpp", 56 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/pixel_convert.cpp", 57 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/post_proc.cpp", 58 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/post_proc_slr.cpp", 59 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/src/scan_line_filter.cpp", 60 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/creator/src/image_creator.cpp", 61 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/creator/src/image_creator_manager.cpp", 62 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/receiver/src/image_receiver.cpp", 63 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/receiver/src/image_receiver_manager.cpp", 64 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/buffer_packer_stream.cpp", 65 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/buffer_source_stream.cpp", 66 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/file_packer_stream.cpp", 67 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/file_source_stream.cpp", 68 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/incremental_source_stream.cpp", 69 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/istream_source_stream.cpp", 70 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/src/ostream_packer_stream.cpp", 71 72 # accessor 73 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/accessor/src/abstract_exif_metadata_accessor.cpp", 74 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/accessor/src/buffer_metadata_stream.cpp", 75 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/accessor/src/data_buf.cpp", 76 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/accessor/src/dng_exif_metadata_accessor.cpp", 77 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/accessor/src/exif_metadata.cpp", 78 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/accessor/src/exif_metadata_formatter.cpp", 79 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/accessor/src/file_metadata_stream.cpp", 80 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/accessor/src/heif_exif_metadata_accessor.cpp", 81 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/accessor/src/jpeg_exif_metadata_accessor.cpp", 82 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/accessor/src/metadata_accessor_factory.cpp", 83 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/accessor/src/png_exif_metadata_accessor.cpp", 84 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/accessor/src/png_image_chunk_utils.cpp", 85 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/accessor/src/tiff_parser.cpp", 86 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/accessor/src/webp_exif_metadata_accessor.cpp", 87 88 # image_napi 89 "//foundation/multimedia/image_framework/frameworks/kits/js/common/image_error_convert.cpp", 90 "//foundation/multimedia/image_framework/frameworks/kits/js/common/image_napi_utils.cpp", 91 "//foundation/multimedia/image_framework/frameworks/kits/js/common/image_packer_napi.cpp", 92 "//foundation/multimedia/image_framework/frameworks/kits/js/common/image_source_napi.cpp", 93 "//foundation/multimedia/image_framework/frameworks/kits/js/common/native_module_ohos_image.cpp", 94 "//foundation/multimedia/image_framework/frameworks/kits/js/common/pixel_map_napi.cpp", 95 96 # formatagent 97 "//foundation/multimedia/image_framework/plugins/common/libs/image/formatagentplugin/src/bmp_format_agent.cpp", 98 "//foundation/multimedia/image_framework/plugins/common/libs/image/formatagentplugin/src/gif_format_agent.cpp", 99 "//foundation/multimedia/image_framework/plugins/common/libs/image/formatagentplugin/src/heif_format_agent.cpp", 100 "//foundation/multimedia/image_framework/plugins/common/libs/image/formatagentplugin/src/jpeg_format_agent.cpp", 101 "//foundation/multimedia/image_framework/plugins/common/libs/image/formatagentplugin/src/png_format_agent.cpp", 102 "//foundation/multimedia/image_framework/plugins/common/libs/image/formatagentplugin/src/raw_format_agent.cpp", 103 "//foundation/multimedia/image_framework/plugins/common/libs/image/formatagentplugin/src/svg_format_agent.cpp", 104 "//foundation/multimedia/image_framework/plugins/common/libs/image/formatagentplugin/src/wbmp_format_agent.cpp", 105 "//foundation/multimedia/image_framework/plugins/common/libs/image/formatagentplugin/src/webp_format_agent.cpp", 106 107 # bmp 108 "//foundation/multimedia/image_framework/plugins/common/libs/image/libbmpplugin/src/bmp_decoder.cpp", 109 "//foundation/multimedia/image_framework/plugins/common/libs/image/libbmpplugin/src/bmp_stream.cpp", 110 111 # gif 112 "//foundation/multimedia/image_framework/plugins/common/libs/image/libgifplugin/src/gif_encoder.cpp", 113 114 # jpeg 115 "${image_subsystem}/plugins/common/libs/image/libjpegplugin/src/exif_maker_note.cpp", 116 "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/exif_info.cpp", 117 "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/icc_profile_info.cpp", 118 "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/jpeg_decoder.cpp", 119 "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/jpeg_encoder.cpp", 120 "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/jpeg_utils.cpp", 121 122 # png 123 "//foundation/multimedia/image_framework/plugins/common/libs/image/libpngplugin/src/nine_patch_listener.cpp", 124 "//foundation/multimedia/image_framework/plugins/common/libs/image/libpngplugin/src/png_decoder.cpp", 125 "//foundation/multimedia/image_framework/plugins/common/libs/image/libpngplugin/src/png_ninepatch_res.cpp", 126 127 # raw 128 "//foundation/multimedia/image_framework/plugins/common/libs/image/librawplugin/src/raw_decoder.cpp", 129 "//foundation/multimedia/image_framework/plugins/common/libs/image/librawplugin/src/raw_stream.cpp", 130 131 # svg 132 "//foundation/multimedia/image_framework/plugins/common/libs/image/libsvgplugin/src/svg_decoder.cpp", 133 "//foundation/multimedia/image_framework/plugins/common/libs/image/libwebpplugin/src/webp_decoder.cpp", 134 "//foundation/multimedia/image_framework/plugins/common/libs/image/libwebpplugin/src/webp_encoder.cpp", 135 136 # ext 137 "//foundation/multimedia/image_framework/plugins/common/libs/image/libextplugin/src/ext_decoder.cpp", 138 "//foundation/multimedia/image_framework/plugins/common/libs/image/libextplugin/src/ext_encoder.cpp", 139 "//foundation/multimedia/image_framework/plugins/common/libs/image/libextplugin/src/ext_pixel_convert.cpp", 140 "//foundation/multimedia/image_framework/plugins/common/libs/image/libextplugin/src/ext_stream.cpp", 141 "//foundation/multimedia/image_framework/plugins/common/libs/image/libextplugin/src/ext_wstream.cpp", 142] 143 144# image_native: not support 145image_native_ios_sources -= [ 146 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/common/src/pixel_map_parcel.cpp", 147 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/creator/src/image_creator.cpp", 148 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/creator/src/image_creator_manager.cpp", 149 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/receiver/src/image_receiver.cpp", 150 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/receiver/src/image_receiver_manager.cpp", 151] 152 153image_native_ios_include_dirs = [ 154 # manager 155 "//foundation/multimedia/image_framework/plugins/manager/include/utils", 156 "//foundation/multimedia/image_framework/plugins/manager/src/common", 157 "//foundation/multimedia/image_framework/plugins/manager/src/framework", 158 "//foundation/multimedia/image_framework/plugins/manager/src/pluginbase", 159 "//foundation/multimedia/image_framework/plugins/manager/src/thirdpartyadp/gstreamer", 160 "//third_party/json/single_include/nlohmann", 161 162 # common 163 "//foundation/multimedia/utils/include", 164 "//foundation/multimedia/image_framework/interfaces/innerkits/include", 165 "//foundation/multimedia/image_framework/plugins/manager/include", 166 "//foundation/multimedia/image_framework/plugins/manager/include/image", 167 "//foundation/multimedia/image_framework/plugins/manager/include/pluginbase", 168 "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/include", 169 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/include", 170 "//foundation/graphic/graphic_2d/utils/color_manager/export", 171 "$third_party_skia_root/third_party/externals/libjpeg-turbo", 172 "$third_party_skia_root/include/codec", 173 "$third_party_skia_root", 174 "$third_party_skia_root/include/core", 175 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/converter/include", 176 "//foundation/multimedia/image_framework/mock/native/include/log", 177 "//commonlibrary/c_utils/base/include", 178 "//foundation/multimedia/image_framework/mock/native/include/secure", 179 "//base/hiviewdfx/hilog/interfaces/native/innerkits/include", 180 "$third_party_skia_root/third_party/skcms", 181 182 # webp 183 "//foundation/multimedia/image_framework/plugins/common/libs/image/libwebpplugin/include", 184 "$third_party_skia_root/third_party/externals/libwebp/src", 185 "$third_party_skia_root/include/encode", 186 "$third_party_skia_root/src/ports/skia_ohos", 187 "$third_party_skia_root/src/ports", 188 "$third_party_skia_root/src/images", 189 "$third_party_skia_root/include/private", 190 "$third_party_skia_root/third_party/externals/freetype/include/freetype", 191 192 # bmp 193 "//foundation/multimedia/image_framework/plugins/common/libs/image/libbmpplugin/include", 194 195 # svg 196 "//foundation/multimedia/image_framework/plugins/common/libs/image/libsvgplugin/include", 197 198 # raw 199 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/stream/include", 200 "//foundation/multimedia/image_framework/plugins/common/libs/image/librawplugin/include", 201 "$third_party_skia_root", 202 203 # png 204 "//foundation/multimedia/image_framework/plugins/common/libs/image/libpngplugin/include", 205 "//third_party/zlib", 206 "//third_party/libpng", 207 208 # formatagent 209 "//foundation/multimedia/image_framework/plugins/common/libs/image/formatagentplugin/include", 210 "//foundation/multimedia/image_framework/plugins/manager/include/utils", 211 212 # gif 213 "//foundation/multimedia/image_framework/plugins/common/libs/image/libgifplugin/include", 214 "//third_party/giflib", 215 216 # jpeg 217 "$third_party_skia_root/third_party/libjpeg-turbo", 218 "//third_party/libexif", 219 220 # image_native 221 "//utils/system/safwk/native/include", 222 "//foundation/ability/ability_runtime/interfaces/inner_api/runtime/include/", 223 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/receiver/include", 224 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/creator/include", 225 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/pixelconverter/include", 226 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/codec/include", 227 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/common/include", 228 "//foundation/multimedia/image_framework/frameworks/kits/js/common/include", 229 "//foundation/multimedia/image_framework/interfaces/kits/js/common/include", 230 "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin", 231 "//foundation/multimedia/image_framework/interfaces/kits/native/include", 232 "//foundation/multimedia/image_framework/interfaces/kits/native/include/image", 233 "//utils/jni/jnikit/include", 234 "//foundation/graphic/graphic_surface/interfaces/inner_api/surface", 235 "//foundation/graphic/graphic_surface/interfaces/inner_api/utils", 236 "//foundation/graphic/graphic_2d/interfaces/inner_api/common", 237 "//foundation/graphic/graphic_2d/interfaces/kits/napi/graphic/color_manager/color_space_object_convertor", 238 "//foundation/communication/ipc/interfaces/innerkits/ipc_core/include", 239 "//drivers/peripheral/display/interfaces/include", 240 "//drivers/peripheral/base", 241 "$third_party_skia_root/third_party/externals/libjpeg-turbo", 242 243 # ext 244 "//foundation/multimedia/image_framework/plugins/common/libs/image/libextplugin/include", 245 "//foundation/multimedia/image_framework/plugins/common/libs/image/libextplugin/include/hdr", 246 "//foundation/multimedia/image_framework/plugins/common/libs/image/libextplugin/include/jpeg_yuv_decoder", 247 "//foundation/graphic/graphic_2d/interfaces/inner_api/surface", 248] 249 250image_native_ios_deps = [ 251 # image_native 252 "//foundation/arkui/napi:ace_napi", 253 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/pixelconverter:pixelconvertadapter_static", 254 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils:image_utils_static", 255 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 256 257 #"//third_party/libpng:png_static", 258 # gif 259 # png 260 "//third_party/giflib:gif_static", 261 "//third_party/libexif:exif_static", 262 263 # heif 264 "${image_subsystem}/plugins/common/libs/image/libextplugin:heifparser", 265 266] 267 268if (image_use_new_skia) { 269 image_native_ios_deps += [ 270 "${third_party_skia_root}/third_party/libjpeg-turbo:libjpegm133", 271 "${third_party_skia_root}/third_party/libpng:libpng", 272 "${third_party_skia_root}/third_party/piex:piexm133", 273 ] 274} else { 275 image_native_ios_deps += [ 276 "${third_party_skia_root}/third_party/libjpeg-turbo:libjpeg", 277 "${third_party_skia_root}/third_party/libpng:libpng", 278 "${third_party_skia_root}/third_party/piex:piex", 279 ] 280} 281 282image_native_ios_deps += skia_skcms 283image_native_ios_deps += skia_platform 284if (!defined(is_arkui_x) || !is_arkui_x) { 285 image_native_ios_deps += [ "//third_party/ffmpeg:libohosffmpeg" ] 286} 287 288image_native_ios_external_deps = [ 289 # common 290 "c_utils:utilsbase", 291 292 # png 293 "//third_party/zlib:shared_libz", 294] 295