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("pluginmanager") { 19 sources = [ 20 "//foundation/multimedia/image_framework/plugins/manager/src/common/attr_data.cpp", 21 "//foundation/multimedia/image_framework/plugins/manager/src/common/platform_adp.cpp", 22 "//foundation/multimedia/image_framework/plugins/manager/src/framework/capability.cpp", 23 "//foundation/multimedia/image_framework/plugins/manager/src/framework/impl_class.cpp", 24 "//foundation/multimedia/image_framework/plugins/manager/src/framework/impl_class_key.cpp", 25 "//foundation/multimedia/image_framework/plugins/manager/src/framework/impl_class_mgr.cpp", 26 "//foundation/multimedia/image_framework/plugins/manager/src/framework/json_helper.cpp", 27 "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin.cpp", 28 "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin_fw.cpp", 29 "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin_info_lock.cpp", 30 "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin_mgr.cpp", 31 "//foundation/multimedia/image_framework/plugins/manager/src/plugin_server.cpp", 32 "//foundation/multimedia/image_framework/plugins/manager/src/pluginbase/plugin_class_base.cpp", 33 "//foundation/multimedia/image_framework/plugins/manager/src/thirdpartyadp/gstreamer/gst_plugin_fw.cpp", 34 ] 35 36 cflags = [ 37 "-DIMAGE_DEBUG_FLAG", 38 #"-DIMAGE_COLORSPACE_FLAG", 39 ] 40 41 include_dirs = [ 42 "//foundation/multimedia/image_framework/plugins/manager/include", 43 "//foundation/multimedia/image_framework/plugins/manager/include/pluginbase", 44 "//foundation/multimedia/image_framework/plugins/manager/include/utils", 45 "//foundation/multimedia/image_framework/plugins/manager/src/common", 46 "//foundation/multimedia/image_framework/plugins/manager/src/framework", 47 "//foundation/multimedia/image_framework/plugins/manager/src/pluginbase", 48 "//foundation/multimedia/image_framework/plugins/manager/src/thirdpartyadp/gstreamer", 49 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/include", 50 "//foundation/multimedia/image_framework/interfaces/innerkits/include", 51 "//foundation/multimedia/utils/include", 52 "//third_party/json/single_include/nlohmann", 53 "//third_party/boost/tools/build/src/engine", 54 "//base/hiviewdfx/hilog/interfaces/native/innerkits/include", 55 "//foundation/multimedia/image_framework/mock/native/include", 56 ] 57 58 defines = image_decode_ios_defines 59 include_dirs += [ 60 "//commonlibrary/c_utils/base/include", 61 "//foundation/multimedia/image_framework/mock/native/include", 62 "//foundation/multimedia/image_framework/mock/native/include/secure", 63 ] 64 65 deps = [ 66 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 67 "//foundation/multimedia/image_framework/mock/native:utils_mock_static", 68 ] 69 70 #relative_install_dir = "module/multimedia" 71 subsystem_name = "multimedia" 72 part_name = "multimedia_image_framework" 73 } 74} else { 75 ohos_shared_library("pluginmanager") { 76 if (!use_clang_android) { 77 sanitize = { 78 cfi = true 79 debug = false 80 } 81 } 82 sources = [ 83 "//foundation/multimedia/image_framework/plugins/manager/src/common/attr_data.cpp", 84 "//foundation/multimedia/image_framework/plugins/manager/src/common/platform_adp.cpp", 85 "//foundation/multimedia/image_framework/plugins/manager/src/framework/capability.cpp", 86 "//foundation/multimedia/image_framework/plugins/manager/src/framework/impl_class.cpp", 87 "//foundation/multimedia/image_framework/plugins/manager/src/framework/impl_class_key.cpp", 88 "//foundation/multimedia/image_framework/plugins/manager/src/framework/impl_class_mgr.cpp", 89 "//foundation/multimedia/image_framework/plugins/manager/src/framework/json_helper.cpp", 90 "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin.cpp", 91 "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin_fw.cpp", 92 "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin_info_lock.cpp", 93 "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin_mgr.cpp", 94 "//foundation/multimedia/image_framework/plugins/manager/src/plugin_server.cpp", 95 "//foundation/multimedia/image_framework/plugins/manager/src/pluginbase/plugin_class_base.cpp", 96 "//foundation/multimedia/image_framework/plugins/manager/src/thirdpartyadp/gstreamer/gst_plugin_fw.cpp", 97 ] 98 99 cflags = [ 100 "-DIMAGE_DEBUG_FLAG", 101 "-DIMAGE_COLORSPACE_FLAG", 102 ] 103 104 include_dirs = [ 105 "//foundation/multimedia/image_framework/plugins/manager/include", 106 "//foundation/multimedia/image_framework/plugins/manager/include/pluginbase", 107 "//foundation/multimedia/image_framework/plugins/manager/include/utils", 108 "//foundation/multimedia/image_framework/plugins/manager/src/common", 109 "//foundation/multimedia/image_framework/plugins/manager/src/framework", 110 "//foundation/multimedia/image_framework/plugins/manager/src/pluginbase", 111 "//foundation/multimedia/image_framework/plugins/manager/src/thirdpartyadp/gstreamer", 112 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/include", 113 "//foundation/multimedia/image_framework/interfaces/innerkits/include", 114 "//foundation/multimedia/utils/include", 115 "//third_party/json/single_include/nlohmann", 116 "//third_party/boost/tools/build/src/engine", 117 "//base/hiviewdfx/hilog/interfaces/native/innerkits/include", 118 "//foundation/multimedia/image_framework/mock/native/include", 119 ] 120 121 if (use_mingw_win) { 122 defines = image_decode_windows_defines 123 include_dirs += 124 [ "//foundation/multimedia/image_framework/mock/native/include" ] 125 deps = [ 126 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 127 "//foundation/multimedia/image_framework/mock/native:utils_mock_static", 128 ] 129 } else if (use_clang_mac) { 130 defines = image_decode_mac_defines 131 include_dirs += [ 132 "//foundation/multimedia/image_framework/mock/native/include", 133 "//third_party/bounds_checking_function/include", 134 ] 135 deps = [ 136 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 137 "//foundation/multimedia/image_framework/mock/native:utils_mock_static", 138 "//third_party/bounds_checking_function:libsec_static", 139 ] 140 } else if (use_clang_android) { 141 include_dirs += [ "//commonlibrary/c_utils/base/include" ] 142 cflags -= [ "-DIMAGE_COLORSPACE_FLAG" ] 143 144 deps = [ 145 "//commonlibrary/c_utils/base:utils", 146 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 147 ] 148 } else { 149 include_dirs += [ "//commonlibrary/c_utils/base/include" ] 150 151 ldflags = [ "-Wl,-Bsymbolic" ] 152 153 external_deps = [ 154 "c_utils:utils", 155 "hiviewdfx_hilog_native:libhilog", 156 ] 157 } 158 159 #relative_install_dir = "module/multimedia" 160 subsystem_name = "multimedia" 161 part_name = "multimedia_image_framework" 162 } 163} 164 165ohos_static_library("pluginmanager_static") { 166 sources = [ 167 "//foundation/multimedia/image_framework/plugins/manager/src/common/attr_data.cpp", 168 "//foundation/multimedia/image_framework/plugins/manager/src/common/platform_adp.cpp", 169 "//foundation/multimedia/image_framework/plugins/manager/src/framework/capability.cpp", 170 "//foundation/multimedia/image_framework/plugins/manager/src/framework/impl_class.cpp", 171 "//foundation/multimedia/image_framework/plugins/manager/src/framework/impl_class_key.cpp", 172 "//foundation/multimedia/image_framework/plugins/manager/src/framework/impl_class_mgr.cpp", 173 "//foundation/multimedia/image_framework/plugins/manager/src/framework/json_helper.cpp", 174 "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin.cpp", 175 "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin_fw.cpp", 176 "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin_info_lock.cpp", 177 "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin_mgr.cpp", 178 "//foundation/multimedia/image_framework/plugins/manager/src/plugin_server.cpp", 179 "//foundation/multimedia/image_framework/plugins/manager/src/pluginbase/plugin_class_base.cpp", 180 "//foundation/multimedia/image_framework/plugins/manager/src/thirdpartyadp/gstreamer/gst_plugin_fw.cpp", 181 ] 182 183 include_dirs = [ 184 "//foundation/multimedia/image_framework/plugins/manager/include", 185 "//foundation/multimedia/image_framework/plugins/manager/include/pluginbase", 186 "//foundation/multimedia/image_framework/plugins/manager/include/utils", 187 "//foundation/multimedia/image_framework/plugins/manager/src/common", 188 "//foundation/multimedia/image_framework/plugins/manager/src/framework", 189 "//foundation/multimedia/image_framework/plugins/manager/src/pluginbase", 190 "//foundation/multimedia/image_framework/plugins/manager/src/thirdpartyadp/gstreamer", 191 "//foundation/multimedia/utils/include", 192 "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/include", 193 "//foundation/multimedia/image_framework/interfaces/innerkits/include", 194 "//third_party/json/single_include/nlohmann", 195 "//third_party/boost/tools/build/src/engine", 196 "//base/hiviewdfx/hilog/interfaces/native/innerkits/include", 197 ] 198 199 if (use_mingw_win) { 200 defines = image_decode_windows_defines 201 include_dirs += 202 [ "//foundation/multimedia/image_framework/mock/native/include" ] 203 deps = [ 204 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 205 "//foundation/multimedia/image_framework/mock/native:utils_mock_static", 206 ] 207 } else if (use_clang_mac) { 208 defines = image_decode_mac_defines 209 include_dirs += [ 210 "//foundation/multimedia/image_framework/mock/native/include", 211 "//third_party/bounds_checking_function/include", 212 ] 213 deps = [ 214 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 215 "//foundation/multimedia/image_framework/mock/native:utils_mock_static", 216 "//third_party/bounds_checking_function:libsec_static", 217 ] 218 } else if (use_clang_ios) { 219 defines = image_decode_ios_defines 220 include_dirs += 221 [ "//foundation/multimedia/image_framework/mock/native/include" ] 222 deps = [ 223 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 224 "//foundation/multimedia/image_framework/mock/native:utils_mock_static", 225 ] 226 } else if (use_clang_android) { 227 include_dirs += [ 228 "//commonlibrary/c_utils/base/include", 229 "//foundation/multimedia/image_framework/mock/native/include", 230 ] 231 232 deps = [ 233 "//commonlibrary/c_utils/base:utils", 234 "//foundation/multimedia/image_framework/mock/native:log_mock_static", 235 ] 236 } else { 237 include_dirs += [ "//commonlibrary/c_utils/base/include" ] 238 239 ldflags = [ "-Wl,-Bsymbolic" ] 240 241 external_deps = [ 242 "c_utils:utils", 243 "hiviewdfx_hilog_native:libhilog", 244 ] 245 } 246 subsystem_name = "multimedia" 247 part_name = "multimedia_image_framework" 248} 249