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 17config("pixelconvertadapter_public_config") { 18 visibility = [ ":*" ] 19 include_dirs = [ 20 "//foundation/multimedia/image_framework/interfaces/innerkits/include", 21 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/pixelconverter/include", 22 "${image_subsystem}/frameworks/innerkitsimpl/utils/include", 23 ] 24 25 if (use_mingw_win) { 26 include_dirs += [ 27 "//foundation/multimedia/image_framework/mock/native/include", 28 "//base/hiviewdfx/hilog/interfaces/native/innerkits/include", 29 "//foundation/communication/ipc/utils/include", 30 "$skia_root/skia/include/core", 31 "$skia_root/skia/include/encode", 32 "$skia_root/skia", 33 "$skia_root/skia/src/ports/skia_ohos", 34 "$skia_root/skia/src/ports", 35 "$skia_root/skia/src/images", 36 "$skia_root/skia/src/ports/skia_ohos", 37 "$skia_root/skia/third_party/externals/freetype/include/freetype", 38 "//third_party/bounds_checking_function/include", 39 ] 40 } else if (use_clang_mac) { 41 include_dirs += [ 42 "//foundation/multimedia/image_framework/mock/native/include", 43 "//base/hiviewdfx/hilog/interfaces/native/innerkits/include", 44 "$skia_root/skia/include/core", 45 "$skia_root/skia/include/encode", 46 "$skia_root/skia", 47 "$skia_root/skia/src/ports/skia_ohos", 48 "$skia_root/skia/src/ports", 49 "$skia_root/skia/src/images", 50 "$skia_root/skia/src/ports/skia_ohos", 51 "$skia_root/skia/third_party/externals/freetype/include/freetype", 52 "//third_party/bounds_checking_function/include", 53 ] 54 } else if (use_clang_ios) { 55 include_dirs += [ 56 "//commonlibrary/c_utils/base/include", 57 "//foundation/communication/ipc/utils/include", 58 "//base/hiviewdfx/hilog/interfaces/native/innerkits/include", 59 "$skia_root/skia/include/core", 60 "$skia_root/skia/include/encode", 61 "$skia_root/skia", 62 "$skia_root/skia/src/ports/skia_ohos", 63 "$skia_root/skia/src/ports", 64 "$skia_root/skia/src/images", 65 "//third_party/expat/lib", 66 "$skia_root/skia/include/private", 67 "$skia_root/skia/third_party/externals/freetype/include/freetype", 68 "//third_party/bounds_checking_function/include", 69 "$image_subsystem/mock/native/include/log", 70 ] 71 } else if (use_clang_android) { 72 include_dirs += [ 73 "//commonlibrary/c_utils/base/include", 74 "//foundation/communication/ipc/utils/include", 75 "//base/hiviewdfx/hilog/interfaces/native/innerkits/include", 76 "$skia_root/skia/include/encode", 77 "$skia_root/skia", 78 "$skia_root/skia/src/ports/skia_ohos", 79 "$skia_root/skia/src/ports", 80 "$skia_root/skia/src/images", 81 "//third_party/expat/lib", 82 "$skia_root/skia/include/private", 83 "$skia_root/skia/third_party/externals/freetype/include/freetype", 84 "//third_party/bounds_checking_function/include", 85 "$image_subsystem/mock/native/include/log", 86 ] 87 } 88} 89 90if (use_clang_ios) { 91 ohos_source_set("pixelconvertadapter") { 92 sources = [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/pixelconverter/src/pixel_convert_adapter.cpp" ] 93 94 public_configs = [ ":pixelconvertadapter_public_config" ] 95 96 defines = image_decode_ios_defines 97 deps = [ 98 "../utils:image_utils", 99 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 100 ] 101 deps += skia_platform 102 103 #relative_install_dir = "module/multimedia" 104 subsystem_name = "multimedia" 105 part_name = "image_framework" 106 } 107} else { 108 ohos_shared_library("pixelconvertadapter") { 109 if (!use_clang_android) { 110 branch_protector_ret = "pac_ret" 111 sanitize = { 112 cfi = true 113 cfi_cross_dso = true 114 cfi_vcall_icall_only = true 115 debug = false 116 } 117 } 118 sources = [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/pixelconverter/src/pixel_convert_adapter.cpp" ] 119 120 public_configs = [ ":pixelconvertadapter_public_config" ] 121 122 if (use_mingw_win) { 123 defines = image_decode_windows_defines 124 deps = [ 125 "../utils:image_utils", 126 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 127 ] 128 deps += skia_platform 129 } else if (use_clang_mac) { 130 defines = image_decode_mac_defines 131 deps = [ 132 "../utils:image_utils", 133 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 134 ] 135 deps += skia_platform 136 } else if (use_clang_android) { 137 deps = [ 138 "../utils:image_utils", 139 "//foundation/graphic/graphic_2d/utils/color_manager:color_manager", 140 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 141 ] 142 143 libs = [ "nativewindow" ] 144 } else { 145 deps = [ 146 "../utils:image_utils", 147 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 148 ] 149 external_deps = [ 150 "c_utils:utils", 151 "ffmpeg:libohosffmpeg", 152 "graphic_2d:color_manager", 153 "hilog:libhilog", 154 "skia:skia_canvaskit", 155 ] 156 } 157 158 #relative_install_dir = "module/multimedia" 159 subsystem_name = "multimedia" 160 innerapi_tags = [ "platformsdk" ] 161 part_name = "image_framework" 162 } 163} 164 165ohos_static_library("pixelconvertadapter_static") { 166 sources = [ "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/pixelconverter/src/pixel_convert_adapter.cpp" ] 167 public_configs = [ ":pixelconvertadapter_public_config" ] 168 169 if (!is_arkui_x) { 170 sanitize = { 171 cfi = true 172 cfi_cross_dso = true 173 cfi_vcall_icall_only = true 174 debug = false 175 } 176 } 177 178 if (is_arkui_x) { 179 include_dirs = [ "//third_party/ffmpeg" ] 180 } 181 182 if (use_mingw_win) { 183 defines = image_decode_windows_defines 184 deps = [ 185 "../utils:image_utils", 186 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 187 ] 188 deps += skia_platform 189 } else if (use_clang_mac) { 190 defines = image_decode_mac_defines 191 deps = [ 192 "../utils:image_utils", 193 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 194 ] 195 deps += skia_platform 196 } else if (use_clang_ios) { 197 defines = image_decode_ios_defines 198 deps = [ 199 "../utils:image_utils_static", 200 "//foundation/graphic/graphic_2d/utils/color_manager:color_manager", 201 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 202 ] 203 deps += skia_platform 204 } else if (use_clang_android) { 205 deps = [ 206 "../utils:image_utils_static", 207 "//foundation/graphic/graphic_2d/utils/color_manager:color_manager", 208 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 209 ] 210 deps += skia_platform 211 212 libs = [ "nativewindow" ] 213 } else { 214 deps = [ 215 "../utils:image_utils", 216 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 217 ] 218 219 external_deps = [ 220 "c_utils:utils", 221 "graphic_2d:color_manager", 222 "hilog:libhilog", 223 "skia:skia_canvaskit", 224 ] 225 } 226 subsystem_name = "multimedia" 227 part_name = "image_framework" 228} 229