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/media_library/media_library.gni")
16
17ohos_static_library("medialibrary_common_utils") {
18  include_dirs = [
19    "./include/",
20    "//third_party/openssl/include/",
21    "${MEDIALIB_INTERFACES_PATH}/inner_api/media_library_helper/include",
22  ]
23
24  sources = [ "src/medialibrary_common_utils.cpp" ]
25
26  deps = [ "//third_party/openssl:libcrypto_shared" ]
27
28  external_deps = [
29    "hilog:libhilog",
30    "hitrace:hitrace_meter",
31  ]
32  defines = [ "OPENSSL_SUPPRESS_DEPRECATED" ]
33  if (!media_library_link_opt) {
34    sanitize = {
35      cfi = true
36      cfi_cross_dso = true
37      debug = false
38      integer_overflow = true
39      ubsan = true
40      boundary_sanitize = true
41      stack_protector_ret = true
42    }
43  }
44  subsystem_name = "multimedia"
45  part_name = "media_library"
46}
47
48ohos_static_library("permission_utils") {
49  sources = [ "src/permission_utils.cpp" ]
50  include_dirs = [
51    "./include",
52    "${MEDIALIB_INNERKITS_PATH}/media_library_helper/include",
53    "${MEDIALIB_INTERFACES_PATH}/inner_api/media_library_helper/include",
54
55    "//third_party/json/include",
56  ]
57
58  deps = []
59
60  external_deps = [
61    "access_token:el5_filekey_manager_sdk",
62    "access_token:libaccesstoken_sdk",
63    "access_token:libprivacy_sdk",
64    "access_token:libtokenid_sdk",
65    "bundle_framework:appexecfwk_core",
66    "hilog:libhilog",
67    "hitrace:hitrace_meter",
68    "ipc:ipc_core",
69    "samgr:samgr_proxy",
70  ]
71  if (!media_library_link_opt) {
72    sanitize = {
73      cfi = true
74      cfi_cross_dso = true
75      debug = false
76      integer_overflow = true
77      ubsan = true
78      boundary_sanitize = true
79      stack_protector_ret = true
80    }
81  }
82  subsystem_name = "multimedia"
83  part_name = "media_library"
84}
85
86ohos_static_library("post_event_utils") {
87  include_dirs = [
88    "./include/",
89    "${MEDIALIB_INTERFACES_PATH}/inner_api/media_library_helper/include",
90  ]
91
92  sources = [ "src/post_event_utils.cpp" ]
93
94  external_deps = [
95    "hilog:libhilog",
96    "hisysevent:libhisysevent",
97    "ipc:ipc_core",
98  ]
99  if (!media_library_link_opt) {
100    sanitize = {
101      cfi = true
102      cfi_cross_dso = true
103      debug = false
104      integer_overflow = true
105      ubsan = true
106      boundary_sanitize = true
107      stack_protector_ret = true
108    }
109  }
110  subsystem_name = "multimedia"
111  part_name = "media_library"
112}
113