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