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