1# Copyright (c) 2023 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/filemanagement/dfs_service/distributedfile.gni")
16
17config("optimize-size") {
18  cflags = [
19    "-fdata-sections",
20    "-ffunction-sections",
21    "-Oz",
22  ]
23  cflags_cc = [
24    "-fvisibility-inlines-hidden",
25    "-Oz",
26  ]
27}
28
29ohos_shared_library("cloudsyncmanager") {
30  branch_protector_ret = "pac_ret"
31  configs = [ ":optimize-size" ]
32  sanitize = {
33    integer_overflow = true
34    ubsan = true
35    boundary_sanitize = true
36    cfi = true
37    cfi_cross_dso = true
38    debug = false
39  }
40  sources = [
41    "cloud_sync_manager_n_exporter.cpp",
42    "cloud_sync_manager_napi.cpp",
43  ]
44  deps = [
45    "${innerkits_native_path}/cloudsync_kit_inner:cloudsync_kit_inner",
46    "${utils_path}:libdistributedfileutils",
47  ]
48
49  external_deps = [
50    "c_utils:utils",
51    "file_api:filemgmt_libhilog",
52    "file_api:filemgmt_libn",
53    "hilog:libhilog",
54    "napi:ace_napi",
55  ]
56
57  relative_install_dir = "module/file"
58
59  part_name = "dfs_service"
60  subsystem_name = "filemanagement"
61}
62