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.
13import("//build/ohos.gni")
14import("//build/ohos_var.gni")
15import("//foundation/filemanagement/storage_service/storage_service_aafwk.gni")
16
17config("public_config") {
18  include_dirs = [ "." ]
19}
20
21config("private_config") {
22  include_dirs = [
23    "${storage_manager_path}/include",
24    "${storage_service_path}/services/storage_daemon/include",
25    "${storage_service_common_path}/include",
26  ]
27}
28
29ohos_shared_library("storage_manager_sa_proxy") {
30  branch_protector_ret = "pac_ret"
31  sanitize = {
32    integer_overflow = true
33    ubsan = true
34    boundary_sanitize = true
35    cfi = true
36    cfi_cross_dso = true
37    debug = false
38  }
39
40  sources = [
41    "${storage_daemon_path}/ipc/src/storage_daemon_proxy.cpp",
42    "${storage_manager_path}/innerkits_impl/src/bundle_stats.cpp",
43    "${storage_manager_path}/innerkits_impl/src/disk.cpp",
44    "${storage_manager_path}/innerkits_impl/src/storage_manager_proxy.cpp",
45    "${storage_manager_path}/innerkits_impl/src/storage_stats.cpp",
46    "${storage_manager_path}/innerkits_impl/src/volume_core.cpp",
47    "${storage_manager_path}/innerkits_impl/src/volume_external.cpp",
48    "${storage_manager_path}/utils/src/storage_utils.cpp",
49  ]
50
51  defines = [
52    "STORAGE_LOG_TAG = \"StorageManager\"",
53    "LOG_DOMAIN = 0xD004300",
54  ]
55
56  configs = [ ":private_config" ]
57  public_configs = [ ":public_config" ]
58
59  cflags = [
60    "-D_FORTIFY_SOURCE=2",
61    "-fstack-protector-strong",
62  ]
63
64  external_deps = [
65    "c_utils:utils",
66    "hilog:libhilog",
67    "hitrace:hitrace_meter",
68    "ipc:ipc_single",
69  ]
70
71  part_name = "storage_service"
72  innerapi_tags = [ "platformsdk" ]
73  subsystem_name = "filemanagement"
74}
75