• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2024 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("cloudsync") {
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_file_cache_napi.cpp",
42    "cloud_file_napi.cpp",
43    "cloud_file_version_napi.cpp",
44    "cloud_sync_n_exporter.cpp",
45    "cloud_sync_napi.cpp",
46    "download_callback_middle_napi.cpp",
47    "download_progress_napi.cpp",
48    "file_sync_napi.cpp",
49    "gallery_sync_napi.cpp",
50    "multi_download_progress_napi.cpp",
51    "register_callback_manager_napi.cpp",
52  ]
53  deps = [
54    "${innerkits_native_path}/cloudsync_kit_inner:cloudsync_kit_inner",
55    "${utils_path}:libdistributedfileutils",
56  ]
57
58  external_deps = [
59    "ability_base:zuri",
60    "ability_runtime:dataobs_manager",
61    "c_utils:utils",
62    "file_api:filemgmt_libhilog",
63    "file_api:filemgmt_libn",
64    "hilog:libhilog",
65    "ipc:ipc_single",
66    "napi:ace_napi",
67  ]
68
69  defines = [
70    "LOG_DOMAIN=0xD004309",
71    "LOG_TAG=\"CLOUD_FILE_SYNC\"",
72  ]
73
74  relative_install_dir = "module/file"
75
76  part_name = "dfs_service"
77  subsystem_name = "filemanagement"
78}
79