• 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
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