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/multimedia/image_framework/ide/image_decode_config.gni") 16 17if (use_clang_ios) { 18 ohos_source_set("image_utils") { 19 include_dirs = [ 20 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/include", 21 "//foundation/multimedia/utils/include", 22 "//foundation/multimedia/image_framework/plugins/manager/include", 23 "//foundation/multimedia/image_framework/interfaces/innerkits/include", 24 "//commonlibrary/c_utils/base/include", 25 "//foundation/multimedia/media_utils_lite/interfaces/kits", 26 "//foundation/communication/ipc/utils/include", 27 "${image_subsystem}/frameworks/innerkitsimpl/common/include", 28 ] 29 30 sources = [ 31 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp", 32 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_utils.cpp", 33 "src/color_utils.cpp", 34 "src/image_system_properties.cpp", 35 "src/image_type_converter.cpp", 36 "src/pixel_yuv_utils.cpp", 37 "src/vpe_utils.cpp", 38 ] 39 40 defines = image_decode_ios_defines 41 sources -= [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp" ] 42 sources += [ "src/image_dfx.cpp" ] 43 sources += [ "src/image_data_statistics.cpp" ] 44 include_dirs += [ "$image_subsystem/mock/native/include/log" ] 45 include_dirs += [ "//third_party/ffmpeg" ] 46 deps = [ 47 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 48 "//foundation/multimedia/image_framework/plugins/manager:pluginmanager", 49 ] 50 deps += [ "//third_party/ffmpeg:libohosffmpeg_static" ] 51 if (defined(global_parts_info) && 52 defined(global_parts_info.open_source_libyuv)) { 53 defines += [ "EXT_PIXEL" ] 54 sources += [ "src/pixel_yuv_ext_utils.cpp" ] 55 } 56 57 #relative_install_dir = "module/multimedia" 58 subsystem_name = "multimedia" 59 part_name = "image_framework" 60 } 61} else { 62 ohos_shared_library("image_utils") { 63 if (!use_clang_android) { 64 branch_protector_ret = "pac_ret" 65 sanitize = { 66 cfi = true 67 cfi_cross_dso = true 68 cfi_vcall_icall_only = true 69 debug = false 70 } 71 } 72 include_dirs = [ 73 "${image_subsystem}/frameworks/innerkitsimpl/common/include", 74 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/include", 75 "//foundation/multimedia/image_framework/plugins/manager/include", 76 "//foundation/multimedia/image_framework/interfaces/innerkits/include", 77 ] 78 79 sources = [ 80 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp", 81 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_utils.cpp", 82 "src/color_utils.cpp", 83 "src/image_convert_tools.cpp", 84 "src/image_system_properties.cpp", 85 "src/image_type_converter.cpp", 86 "src/pixel_yuv_utils.cpp", 87 "src/vpe_utils.cpp", 88 ] 89 90 external_deps = 91 [ "drivers_interface_display:libdisplay_commontype_proxy_1.0" ] 92 if (use_mingw_win) { 93 defines = image_decode_windows_defines 94 include_dirs += [ "//third_party/ffmpeg" ] 95 sources -= [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp" ] 96 include_dirs += 97 [ "//foundation/multimedia/image_framework/mock/native/include" ] 98 deps = [ 99 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 100 "//foundation/multimedia/image_framework/plugins/manager:pluginmanager_static", 101 ] 102 deps += [ "//third_party/ffmpeg:libohosffmpeg" ] 103 } else if (use_clang_mac) { 104 defines = image_decode_mac_defines 105 include_dirs += [ "//third_party/ffmpeg" ] 106 sources -= [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp" ] 107 include_dirs += [ 108 "//foundation/multimedia/image_framework/mock/native/include", 109 "//third_party/bounds_checking_function/include", 110 ] 111 deps = [ 112 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 113 "//foundation/multimedia/image_framework/plugins/manager:pluginmanager_static", 114 "//third_party/bounds_checking_function:libsec_static", 115 ] 116 deps += [ "//third_party/ffmpeg:libohosffmpeg" ] 117 } else if (use_clang_android) { 118 defines = image_decode_android_defines 119 include_dirs += [ "//third_party/ffmpeg" ] 120 sources -= [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp" ] 121 include_dirs += [ "$image_subsystem/mock/native/include/log" ] 122 deps = [ 123 "//commonlibrary/c_utils/base:utils", 124 "//foundation/graphic/graphic_2d/utils/color_manager:color_manager", 125 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 126 "//foundation/multimedia/image_framework/plugins/manager:pluginmanager", 127 ] 128 sources += [ "src/image_dfx.cpp" ] 129 sources += [ "src/image_data_statistics.cpp" ] 130 deps += [ "//third_party/ffmpeg:libohosffmpeg" ] 131 } else { 132 defines = [ "DUAL_ADAPTER" ] 133 134 deps = [ 135 "//foundation/multimedia/image_framework/plugins/manager:pluginmanager", 136 ] 137 138 sources += [ 139 "src/image_data_statistics.cpp", 140 "src/image_dfx.cpp", 141 "src/image_func_timer.cpp", 142 "src/image_fwk_ext_manager.cpp", 143 ] 144 external_deps += [ 145 "c_utils:utils", 146 "ffmpeg:libohosffmpeg", 147 "ffrt:libffrt", 148 "graphic_2d:color_manager", 149 "graphic_surface:surface", 150 "hilog:libhilog", 151 "hisysevent:libhisysevent", 152 "hitrace:hitrace_meter", 153 "ipc:ipc_single", 154 ] 155 156 if (is_standard_system) { 157 external_deps += [ "init:libbegetutil" ] 158 } else { 159 external_deps += [ "startup:syspara" ] 160 } 161 } 162 163 if (defined(global_parts_info) && 164 defined(global_parts_info.open_source_libyuv)) { 165 defines += [ "EXT_PIXEL" ] 166 sources += [ "src/pixel_yuv_ext_utils.cpp" ] 167 } 168 169 #relative_install_dir = "module/multimedia" 170 subsystem_name = "multimedia" 171 innerapi_tags = [ "platformsdk_indirect" ] 172 part_name = "image_framework" 173 } 174} 175 176ohos_static_library("image_utils_static") { 177 if (!is_arkui_x) { 178 sanitize = { 179 cfi = true 180 cfi_cross_dso = true 181 cfi_vcall_icall_only = true 182 debug = false 183 } 184 } 185 186 include_dirs = [ 187 "${image_subsystem}/frameworks/innerkitsimpl/common/include", 188 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/include", 189 "//foundation/multimedia/image_framework/plugins/manager/include", 190 "//foundation/multimedia/image_framework/interfaces/innerkits/include", 191 ] 192 193 if (is_arkui_x) { 194 include_dirs += [ "//commonlibrary/c_utils/base/include" ] 195 } 196 197 sources = [ 198 "src/color_utils.cpp", 199 "src/image_convert_tools.cpp", 200 "src/image_system_properties.cpp", 201 "src/image_type_converter.cpp", 202 "src/image_utils.cpp", 203 "src/pixel_yuv_utils.cpp", 204 "src/vpe_utils.cpp", 205 ] 206 207 if (use_mingw_win) { 208 defines = image_decode_windows_defines 209 include_dirs += [ "//third_party/ffmpeg" ] 210 include_dirs += 211 [ "//foundation/multimedia/image_framework/mock/native/include" ] 212 deps = [ 213 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 214 "//foundation/multimedia/image_framework/plugins/manager:pluginmanager_static", 215 ] 216 deps += [ "//third_party/ffmpeg:libohosffmpeg" ] 217 } else if (use_clang_mac) { 218 defines = image_decode_mac_defines 219 include_dirs += [ "//third_party/ffmpeg" ] 220 include_dirs += [ 221 "//foundation/multimedia/image_framework/mock/native/include", 222 "//third_party/bounds_checking_function/include", 223 ] 224 deps = [ 225 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 226 "//foundation/multimedia/image_framework/plugins/manager:pluginmanager_static", 227 "//third_party/bounds_checking_function:libsec_static", 228 ] 229 deps += [ "//third_party/ffmpeg:libohosffmpeg" ] 230 } else if (use_clang_ios) { 231 defines = image_decode_ios_defines 232 include_dirs += [ 233 "$image_subsystem/mock/native/include/log", 234 "//third_party/bounds_checking_function/include", 235 ] 236 include_dirs += [ "//third_party/ffmpeg" ] 237 include_dirs += [ "$image_subsystem/mock/native/include/log" ] 238 deps = [ 239 "//foundation/graphic/graphic_2d/utils/color_manager:color_manager", 240 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 241 ] 242 sources += [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp" ] 243 sources += [ 244 "src/image_data_statistics.cpp", 245 "src/image_dfx.cpp", 246 "src/image_func_timer.cpp", 247 "src/image_fwk_ext_manager.cpp", 248 ] 249 deps += [ "//third_party/ffmpeg:libohosffmpeg_static" ] 250 } else if (use_clang_android) { 251 defines = image_decode_android_defines 252 include_dirs += [ 253 "$image_subsystem/mock/native/include/log", 254 "//third_party/bounds_checking_function/include", 255 ] 256 include_dirs += [ "//third_party/ffmpeg" ] 257 include_dirs += [ "$image_subsystem/mock/native/include/log" ] 258 deps = [ 259 "//foundation/graphic/graphic_2d/utils/color_manager:color_manager", 260 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 261 ] 262 sources += [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp" ] 263 sources += [ 264 "src/image_data_statistics.cpp", 265 "src/image_dfx.cpp", 266 "src/image_func_timer.cpp", 267 "src/image_fwk_ext_manager.cpp", 268 ] 269 deps += [ "//third_party/ffmpeg:libohosffmpeg_static" ] 270 } else { 271 sources += [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/src/image_trace.cpp" ] 272 sources += [ 273 "src/image_data_statistics.cpp", 274 "src/image_dfx.cpp", 275 "src/image_func_timer.cpp", 276 "src/image_fwk_ext_manager.cpp", 277 ] 278 deps = [ 279 "//foundation/multimedia/image_framework/plugins/manager:pluginmanager", 280 ] 281 282 external_deps = [ 283 "c_utils:utils", 284 "drivers_interface_display:libdisplay_commontype_proxy_1.0", 285 "ffmpeg:libohosffmpeg", 286 "ffrt:libffrt", 287 "graphic_2d:color_manager", 288 "graphic_surface:surface", 289 "hilog:libhilog", 290 "hisysevent:libhisysevent", 291 "hitrace:hitrace_meter", 292 ] 293 294 if (is_standard_system) { 295 external_deps += [ "init:libbegetutil" ] 296 } else { 297 external_deps += [ "startup:syspara" ] 298 } 299 } 300 if (defined(global_parts_info) && 301 defined(global_parts_info.open_source_libyuv)) { 302 defines = [ "EXT_PIXEL" ] 303 sources += [ "src/pixel_yuv_ext_utils.cpp" ] 304 } 305 subsystem_name = "multimedia" 306 part_name = "image_framework" 307} 308