• 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/arkui/ace_engine/ace_config.gni")
16import("//foundation/multimedia/image_framework/ide/image_decode_config.gni")
17
18ohos_shared_library("jpegplugin") {
19  if (!use_clang_android && !use_clang_ios) {
20    sanitize = {
21      cfi = true
22      cfi_cross_dso = true
23      debug = false
24      blocklist = "./cfi_blocklist.txt"
25    }
26  }
27  sources = [
28    "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/exif_info.cpp",
29    "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/icc_profile_info.cpp",
30    "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/jpeg_decoder.cpp",
31    "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/jpeg_utils.cpp",
32    "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/plugin_export.cpp",
33    "src/exif_maker_note.cpp",
34  ]
35
36  cflags = [
37    "-DIMAGE_DEBUG_FLAG",
38    "-DIMAGE_COLORSPACE_FLAG",
39  ]
40
41  include_dirs = [
42    "//foundation/multimedia/utils/include",
43    "//foundation/multimedia/image_framework/interfaces/innerkits/include",
44    "//foundation/multimedia/image_framework/plugins/manager/include",
45    "//foundation/multimedia/image_framework/plugins/manager/include/image",
46    "//foundation/multimedia/image_framework/plugins/manager/include/pluginbase",
47    "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/include",
48    "//foundation/multimedia/image_framework/interfaces/innerkits/include",
49    "//foundation/multimedia/image_framework/frameworks/innerkitsimpl/utils/include",
50    "//foundation/graphic/graphic_2d/utils/color_manager/export",
51    "${graphic_subsystem}/interfaces/inner_api/surface",
52    "$skia_root/skia/include/codec",
53    "$skia_root/skia",
54    "$skia_root/skia/include/core",
55    "//third_party/skia/third_party/libjpeg-turbo",
56    "//third_party/skia/third_party/externals/libjpeg-turbo",
57    "//third_party/skia/third_party/skcms",
58    "//third_party/libexif",
59  ]
60
61  if (use_mingw_win) {
62    defines = image_decode_windows_defines
63    include_dirs += [
64      "//foundation/multimedia/image_framework/mock/native/include",
65      "//third_party/skia/third_party/libjpeg-turbo",
66      "//third_party/skia/third_party/externals/libjpeg-turbo",
67    ]
68    deps = [
69      "//foundation/graphic/graphic_2d/utils/color_manager:color_manager",
70      "//foundation/multimedia/image_framework/interfaces/innerkits:image_static",
71      "//foundation/multimedia/image_framework/plugins/manager:pluginmanager_static",
72      "//third_party/libexif:libexif",
73      "//third_party/skia/third_party/libjpeg-turbo:libjpeg",
74    ]
75    deps += skia_skcms
76    deps += skia_platform
77  } else if (use_clang_mac) {
78    defines = image_decode_mac_defines
79    include_dirs += [
80      "//foundation/multimedia/image_framework/mock/native/include",
81      "//third_party/skia/third_party/libjpeg-turbo",
82      "//third_party/skia/third_party/externals/libjpeg-turbo",
83    ]
84    deps = [
85      "//foundation/graphic/graphic_2d/utils/color_manager:color_manager",
86      "//foundation/multimedia/image_framework/interfaces/innerkits:image_static",
87      "//foundation/multimedia/image_framework/plugins/manager:pluginmanager_static",
88      "//third_party/libexif:libexif",
89      "//third_party/skia/third_party/libjpeg-turbo:libjpeg",
90    ]
91    deps += skia_skcms
92    deps += skia_platform
93  } else {
94    defines = [ "DUAL_ADAPTER" ]
95    DUAL_ADAPTER = true
96    include_dirs += [ "//commonlibrary/c_utils/base/include" ]
97    sources += [
98      "//foundation/multimedia/image_framework/plugins/common/libs/image/libjpegplugin/src/jpeg_encoder.cpp",
99      "//third_party/skia/third_party/externals/libjpeg-turbo/jdicc.c",
100    ]
101    deps = [
102      #"//third_party/skia/third_party/libjpeg-turbo:libjpeg",
103      "${image_subsystem}/frameworks/innerkitsimpl/utils:image_utils",
104      "//foundation/multimedia/image_framework/interfaces/innerkits:image_native",
105      "//foundation/multimedia/image_framework/plugins/manager:pluginmanager",
106      "//third_party/libexif:libexif",
107      "//third_party/skia/third_party/libjpeg-turbo:libjpeg",
108    ]
109    deps += skia_skcms
110    deps += skia_platform
111
112    if (DUAL_ADAPTER) {
113    } else {
114      deps += [
115        "//third_party/libexif:libexif",
116        "//third_party/skia/third_party/libjpeg-turbo:libjpeg",
117      ]
118      include_dirs += [
119        "//third_party/skia/third_party/libjpeg-turbo",
120        "//third_party/skia/third_party/externals/libjpeg-turbo",
121      ]
122    }
123
124    external_deps = [
125      "c_utils:utils",
126      "graphic_2d:color_manager",
127      "graphic_surface:surface",
128      "hilog:libhilog",
129      "hitrace:hitrace_meter",
130    ]
131  }
132
133  part_name = "image_framework"
134
135  subsystem_name = "multimedia"
136}
137
138ohos_prebuilt_etc("jpegpluginmetadata") {
139  source = "jpegplugin.pluginmeta"
140  relative_install_dir = "multimediaplugin/image"
141  subsystem_name = "multimedia"
142  part_name = "image_framework"
143}
144