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