1 # Copyright (c) 2023-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 
14 import("//build/ohos.gni")
15 import("../../../dlp_permission_service.gni")
16 
17 config("dlp_fuse_config") {
18   visibility = [ ":*" ]
19   include_dirs = [ "include" ]
20 }
21 
22 ohos_shared_library("libdlp_fuse") {
23   branch_protector_ret = "pac_ret"
24 
25   sanitize = {
26     cfi = true
27     cfi_cross_dso = true
28     debug = false
29   }
30 
31   innerapi_tags = [ "platformsdk" ]
32   subsystem_name = "security"
33   part_name = "dlp_permission_service"
34   output_name = "libdlp_fuse"
35 
36   include_dirs = [
37     "${dlp_root_dir}/frameworks/common/include",
38     "${dlp_root_dir}/interfaces/inner_api/dlp_parse/include",
39     "${dlp_root_dir}/interfaces/inner_api/dlp_permission/include/",
40     "include",
41   ]
42 
43   sources = [
44     "src/dlp_fuse_fd.c",
45     "src/dlp_link_file.cpp",
46     "src/dlp_link_manager.cpp",
47     "src/fuse_daemon.cpp",
48   ]
49 
50   public_configs = [ ":dlp_fuse_config" ]
51 
52   configs = [ "${dlp_root_dir}/config:coverage_flags" ]
53 
54   deps = [ "${dlp_root_dir}/interfaces/inner_api/dlp_parse:libdlpparse_inner" ]
55 
56   external_deps = [
57     "c_utils:utils",
58     "hilog:libhilog",
59     "libfuse:libfuse",
60   ]
61 
62   cflags_cc = [
63     "-DHILOG_ENABLE",
64     "-DFUSE_USE_VERSION=35",
65   ]
66 
67   cflags = [ "-DHILOG_ENABLE" ]
68 }
69