1e5c4badcSopenharmony_ci# Copyright (C) 2021 Huawei Device Co., Ltd. 2e5c4badcSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3e5c4badcSopenharmony_ci# you may not use this file except in compliance with the License. 4e5c4badcSopenharmony_ci# You may obtain a copy of the License at 5e5c4badcSopenharmony_ci# 6e5c4badcSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7e5c4badcSopenharmony_ci# 8e5c4badcSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9e5c4badcSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10e5c4badcSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11e5c4badcSopenharmony_ci# See the License for the specific language governing permissions and 12e5c4badcSopenharmony_ci# limitations under the License. 13e5c4badcSopenharmony_ci 14e5c4badcSopenharmony_ciimport("//build/ohos.gni") 15e5c4badcSopenharmony_ciimport("//foundation/multimedia/image_framework/ide/image_decode_config.gni") 16e5c4badcSopenharmony_ci 17e5c4badcSopenharmony_ciif (use_clang_ios) { 18e5c4badcSopenharmony_ci ohos_source_set("pluginmanager") { 19e5c4badcSopenharmony_ci sources = [ 20e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/common/attr_data.cpp", 21e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/common/platform_adp.cpp", 22e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/capability.cpp", 23e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/impl_class.cpp", 24e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/impl_class_key.cpp", 25e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/impl_class_mgr.cpp", 26e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/json_helper.cpp", 27e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin.cpp", 28e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin_fw.cpp", 29e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin_info_lock.cpp", 30e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin_mgr.cpp", 31e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/plugin_server.cpp", 32e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/pluginbase/plugin_class_base.cpp", 33e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/thirdpartyadp/gstreamer/gst_plugin_fw.cpp", 34e5c4badcSopenharmony_ci ] 35e5c4badcSopenharmony_ci 36e5c4badcSopenharmony_ci cflags = [ 37e5c4badcSopenharmony_ci "-DIMAGE_DEBUG_FLAG", 38e5c4badcSopenharmony_ci #"-DIMAGE_COLORSPACE_FLAG", 39e5c4badcSopenharmony_ci ] 40e5c4badcSopenharmony_ci 41e5c4badcSopenharmony_ci include_dirs = [ 42e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/common/libs/image/libextplugin/include", 43e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/include", 44e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/include/pluginbase", 45e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/include/utils", 46e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/common", 47e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework", 48e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/pluginbase", 49e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/thirdpartyadp/gstreamer", 50e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/include", 51e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/interfaces/innerkits/include", 52e5c4badcSopenharmony_ci "//foundation/multimedia/utils/include", 53e5c4badcSopenharmony_ci "//third_party/json/single_include/nlohmann", 54e5c4badcSopenharmony_ci "//base/hiviewdfx/hilog/interfaces/native/innerkits/include", 55e5c4badcSopenharmony_ci "$image_subsystem/mock/native/include/log", 56e5c4badcSopenharmony_ci ] 57e5c4badcSopenharmony_ci 58e5c4badcSopenharmony_ci defines = image_decode_ios_defines 59e5c4badcSopenharmony_ci include_dirs += [ 60e5c4badcSopenharmony_ci "//commonlibrary/c_utils/base/include", 61e5c4badcSopenharmony_ci "$image_subsystem/mock/native/include/log", 62e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/mock/native/include/secure", 63e5c4badcSopenharmony_ci ] 64e5c4badcSopenharmony_ci 65e5c4badcSopenharmony_ci deps = [ "$image_subsystem/mock/native:log_mock_static" ] 66e5c4badcSopenharmony_ci 67e5c4badcSopenharmony_ci #relative_install_dir = "module/multimedia" 68e5c4badcSopenharmony_ci subsystem_name = "multimedia" 69e5c4badcSopenharmony_ci part_name = "image_framework" 70e5c4badcSopenharmony_ci } 71e5c4badcSopenharmony_ci} else { 72e5c4badcSopenharmony_ci ohos_shared_library("pluginmanager") { 73e5c4badcSopenharmony_ci if (!use_clang_android) { 74e5c4badcSopenharmony_ci branch_protector_ret = "pac_ret" 75e5c4badcSopenharmony_ci sanitize = { 76e5c4badcSopenharmony_ci cfi = true 77e5c4badcSopenharmony_ci cfi_cross_dso = true 78e5c4badcSopenharmony_ci cfi_vcall_icall_only = true 79e5c4badcSopenharmony_ci debug = false 80e5c4badcSopenharmony_ci } 81e5c4badcSopenharmony_ci } 82e5c4badcSopenharmony_ci sources = [ 83e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/common/attr_data.cpp", 84e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/common/platform_adp.cpp", 85e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/capability.cpp", 86e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/impl_class.cpp", 87e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/impl_class_key.cpp", 88e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/impl_class_mgr.cpp", 89e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/json_helper.cpp", 90e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin.cpp", 91e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin_fw.cpp", 92e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin_info_lock.cpp", 93e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin_mgr.cpp", 94e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/plugin_server.cpp", 95e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/pluginbase/plugin_class_base.cpp", 96e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/thirdpartyadp/gstreamer/gst_plugin_fw.cpp", 97e5c4badcSopenharmony_ci ] 98e5c4badcSopenharmony_ci 99e5c4badcSopenharmony_ci cflags = [ 100e5c4badcSopenharmony_ci "-DIMAGE_DEBUG_FLAG", 101e5c4badcSopenharmony_ci "-DIMAGE_COLORSPACE_FLAG", 102e5c4badcSopenharmony_ci ] 103e5c4badcSopenharmony_ci 104e5c4badcSopenharmony_ci include_dirs = [ 105e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/common/libs/image/libextplugin/include", 106e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/include", 107e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/include/pluginbase", 108e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/include/utils", 109e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/common", 110e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework", 111e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/pluginbase", 112e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/thirdpartyadp/gstreamer", 113e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/include", 114e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/interfaces/innerkits/include", 115e5c4badcSopenharmony_ci "$image_subsystem/mock/native/include/log", 116e5c4badcSopenharmony_ci ] 117e5c4badcSopenharmony_ci 118e5c4badcSopenharmony_ci if (use_mingw_win) { 119e5c4badcSopenharmony_ci defines = image_decode_windows_defines 120e5c4badcSopenharmony_ci include_dirs += [ "$image_subsystem/mock/native/include/log" ] 121e5c4badcSopenharmony_ci deps = [ "$image_subsystem/mock/native:log_mock_static" ] 122e5c4badcSopenharmony_ci } else if (use_clang_mac) { 123e5c4badcSopenharmony_ci defines = image_decode_mac_defines 124e5c4badcSopenharmony_ci include_dirs += [ 125e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/mock/native/include", 126e5c4badcSopenharmony_ci "//third_party/bounds_checking_function/include", 127e5c4badcSopenharmony_ci ] 128e5c4badcSopenharmony_ci deps = [ 129e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/mock/native:log_mock_static", 130e5c4badcSopenharmony_ci "//third_party/bounds_checking_function:libsec_static", 131e5c4badcSopenharmony_ci ] 132e5c4badcSopenharmony_ci } else if (use_clang_android) { 133e5c4badcSopenharmony_ci include_dirs += [ "//commonlibrary/c_utils/base/include" ] 134e5c4badcSopenharmony_ci cflags -= [ "-DIMAGE_COLORSPACE_FLAG" ] 135e5c4badcSopenharmony_ci 136e5c4badcSopenharmony_ci deps = [ 137e5c4badcSopenharmony_ci "//commonlibrary/c_utils/base:utils", 138e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/mock/native:log_mock_static", 139e5c4badcSopenharmony_ci ] 140e5c4badcSopenharmony_ci } else { 141e5c4badcSopenharmony_ci ldflags = [ "-Wl,-Bsymbolic" ] 142e5c4badcSopenharmony_ci 143e5c4badcSopenharmony_ci external_deps = [ 144e5c4badcSopenharmony_ci "c_utils:utils", 145e5c4badcSopenharmony_ci "graphic_2d:color_manager", 146e5c4badcSopenharmony_ci "hilog:libhilog", 147e5c4badcSopenharmony_ci "json:nlohmann_json_static", 148e5c4badcSopenharmony_ci ] 149e5c4badcSopenharmony_ci } 150e5c4badcSopenharmony_ci 151e5c4badcSopenharmony_ci #relative_install_dir = "module/multimedia" 152e5c4badcSopenharmony_ci subsystem_name = "multimedia" 153e5c4badcSopenharmony_ci innerapi_tags = [ "platformsdk_indirect" ] 154e5c4badcSopenharmony_ci part_name = "image_framework" 155e5c4badcSopenharmony_ci } 156e5c4badcSopenharmony_ci} 157e5c4badcSopenharmony_ci 158e5c4badcSopenharmony_ciohos_static_library("pluginmanager_static") { 159e5c4badcSopenharmony_ci if (!is_arkui_x) { 160e5c4badcSopenharmony_ci sanitize = { 161e5c4badcSopenharmony_ci cfi = true 162e5c4badcSopenharmony_ci cfi_cross_dso = true 163e5c4badcSopenharmony_ci cfi_vcall_icall_only = true 164e5c4badcSopenharmony_ci debug = false 165e5c4badcSopenharmony_ci } 166e5c4badcSopenharmony_ci } 167e5c4badcSopenharmony_ci sources = [ 168e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/common/attr_data.cpp", 169e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/common/platform_adp.cpp", 170e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/capability.cpp", 171e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/impl_class.cpp", 172e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/impl_class_key.cpp", 173e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/impl_class_mgr.cpp", 174e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/json_helper.cpp", 175e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin.cpp", 176e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin_fw.cpp", 177e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin_info_lock.cpp", 178e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework/plugin_mgr.cpp", 179e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/plugin_server.cpp", 180e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/pluginbase/plugin_class_base.cpp", 181e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/thirdpartyadp/gstreamer/gst_plugin_fw.cpp", 182e5c4badcSopenharmony_ci ] 183e5c4badcSopenharmony_ci 184e5c4badcSopenharmony_ci include_dirs = [ 185e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/include", 186e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/include/pluginbase", 187e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/include/utils", 188e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/common", 189e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/framework", 190e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/pluginbase", 191e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/plugins/manager/src/thirdpartyadp/gstreamer", 192e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/include", 193e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/interfaces/innerkits/include", 194e5c4badcSopenharmony_ci ] 195e5c4badcSopenharmony_ci 196e5c4badcSopenharmony_ci if (use_mingw_win) { 197e5c4badcSopenharmony_ci defines = image_decode_windows_defines 198e5c4badcSopenharmony_ci include_dirs += 199e5c4badcSopenharmony_ci [ "//foundation/multimedia/image_framework/mock/native/include" ] 200e5c4badcSopenharmony_ci deps = [ 201e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/mock/native:log_mock_static", 202e5c4badcSopenharmony_ci ] 203e5c4badcSopenharmony_ci } else if (use_clang_mac) { 204e5c4badcSopenharmony_ci defines = image_decode_mac_defines 205e5c4badcSopenharmony_ci include_dirs += [ 206e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/mock/native/include", 207e5c4badcSopenharmony_ci "//third_party/bounds_checking_function/include", 208e5c4badcSopenharmony_ci ] 209e5c4badcSopenharmony_ci deps = [ 210e5c4badcSopenharmony_ci "//foundation/multimedia/image_framework/mock/native:log_mock_static", 211e5c4badcSopenharmony_ci "//third_party/bounds_checking_function:libsec_static", 212e5c4badcSopenharmony_ci ] 213e5c4badcSopenharmony_ci } else if (use_clang_ios) { 214e5c4badcSopenharmony_ci defines = image_decode_ios_defines 215e5c4badcSopenharmony_ci include_dirs += [ "$image_subsystem/mock/native/include/log" ] 216e5c4badcSopenharmony_ci deps = [ "$image_subsystem/mock/native:log_mock_static" ] 217e5c4badcSopenharmony_ci } else if (use_clang_android) { 218e5c4badcSopenharmony_ci include_dirs += [ 219e5c4badcSopenharmony_ci "//commonlibrary/c_utils/base/include", 220e5c4badcSopenharmony_ci "$image_subsystem/mock/native/include/log", 221e5c4badcSopenharmony_ci ] 222e5c4badcSopenharmony_ci 223e5c4badcSopenharmony_ci deps = [ 224e5c4badcSopenharmony_ci "$image_subsystem/mock/native:log_mock_static", 225e5c4badcSopenharmony_ci "//commonlibrary/c_utils/base:utils", 226e5c4badcSopenharmony_ci ] 227e5c4badcSopenharmony_ci } else { 228e5c4badcSopenharmony_ci ldflags = [ "-Wl,-Bsymbolic" ] 229e5c4badcSopenharmony_ci 230e5c4badcSopenharmony_ci external_deps = [ 231e5c4badcSopenharmony_ci "c_utils:utils", 232e5c4badcSopenharmony_ci "graphic_2d:color_manager", 233e5c4badcSopenharmony_ci "hilog:libhilog", 234e5c4badcSopenharmony_ci "json:nlohmann_json_static", 235e5c4badcSopenharmony_ci ] 236e5c4badcSopenharmony_ci } 237e5c4badcSopenharmony_ci subsystem_name = "multimedia" 238e5c4badcSopenharmony_ci part_name = "image_framework" 239e5c4badcSopenharmony_ci} 240