• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021-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("../../access_token.gni")
16
17ohos_prebuilt_etc("access_token.rc") {
18  source = "access_token.cfg"
19  relative_install_dir = "init"
20  subsystem_name = "security"
21  part_name = "access_token"
22}
23
24if (is_standard_system) {
25  ohos_shared_library("accesstoken_manager_service") {
26    subsystem_name = "security"
27    part_name = "access_token"
28    if (!use_clang_coverage) {
29      version_script = "accesstoken_manager_service.map"
30    }
31
32    include_dirs = [
33      "${access_token_path}/frameworks/accesstoken/include",
34      "${access_token_path}/frameworks/common/include",
35      "${access_token_path}/frameworks/privacy/include",
36      "${access_token_path}/interfaces/innerkits/accesstoken/include",
37      "${access_token_path}/interfaces/innerkits/privacy/include",
38      "${access_token_path}/interfaces/innerkits/tokensync/src",
39      "${access_token_path}/services/common/database/include",
40      "main/cpp/include/callback",
41      "main/cpp/include/service",
42      "main/cpp/include/token",
43      "main/cpp/include/permission",
44      "main/cpp/include/database",
45      "//third_party/sqlite/include/",
46    ]
47
48    include_dirs += access_token_impl_include_dirs
49
50    sources = [
51      "main/cpp/src/callback/callback_manager.cpp",
52      "main/cpp/src/callback/perm_state_callback_death_recipient.cpp",
53      "main/cpp/src/callback/permission_state_change_callback_proxy.cpp",
54      "main/cpp/src/database/data_storage.cpp",
55      "main/cpp/src/database/data_translator.cpp",
56      "main/cpp/src/database/sqlite_storage.cpp",
57      "main/cpp/src/database/token_field_const.cpp",
58      "main/cpp/src/permission/permission_definition_cache.cpp",
59      "main/cpp/src/permission/permission_grant_event.cpp",
60      "main/cpp/src/permission/permission_manager.cpp",
61      "main/cpp/src/permission/permission_policy_set.cpp",
62      "main/cpp/src/permission/permission_validator.cpp",
63      "main/cpp/src/service/accesstoken_manager_service.cpp",
64      "main/cpp/src/service/accesstoken_manager_stub.cpp",
65      "main/cpp/src/token/accesstoken_id_manager.cpp",
66      "main/cpp/src/token/accesstoken_info_manager.cpp",
67      "main/cpp/src/token/hap_token_info_inner.cpp",
68      "main/cpp/src/token/native_token_info_inner.cpp",
69      "main/cpp/src/token/native_token_receptor.cpp",
70    ]
71
72    sources += access_token_impl_sources
73
74    cflags_cc = [ "-DHILOG_ENABLE" ]
75    configs = [ "../../config:coverage_flags" ]
76
77    if (dlp_permission_enable == true) {
78      cflags_cc += [ "-DSUPPORT_SANDBOX_APP" ]
79      sources += [
80        "main/cpp/src/permission/dlp_permission_set_manager.cpp",
81        "main/cpp/src/permission/dlp_permission_set_parser.cpp",
82      ]
83    }
84
85    if (build_variant == "user") {
86      cflags_cc += [ "-DATM_BUILD_VARIANT_USER_ENABLE" ]
87    }
88
89    deps = [
90      "${access_token_path}/frameworks/accesstoken:accesstoken_communication_adapter_cxx",
91      "${access_token_path}/frameworks/common:accesstoken_common_cxx",
92      "${access_token_path}/interfaces/innerkits/accesstoken:libtokenid_sdk",
93      "${access_token_path}/interfaces/innerkits/privacy:libprivacy_sdk",
94      "${access_token_path}/services/accesstokenmanager:access_token.rc",
95      "${access_token_path}/services/common/database:accesstoken_database_cxx",
96    ]
97
98    deps += [ "etc:param_files" ]
99
100    external_deps = [
101      "c_utils:utils",
102      "dsoftbus:softbus_client",
103      "hilog:libhilog",
104      "hisysevent:libhisysevent",
105      "init:libbegetutil",
106      "ipc:ipc_core",
107      "safwk:system_ability_fwk",
108    ]
109
110    if (hicollie_enable == true) {
111      external_deps += [ "hicollie:libhicollie" ]
112      cflags_cc += [ "-DHICOLLIE_ENABLE" ]
113    }
114
115    if (token_sync_enable == true) {
116      cflags_cc += [ "-DTOKEN_SYNC_ENABLE" ]
117
118      sources += [
119        "main/cpp/src/token/accesstoken_remote_token_manager.cpp",
120        "main/cpp/src/token/token_modify_notifier.cpp",
121      ]
122
123      include_dirs +=
124          [ "${access_token_path}/interfaces/innerkits/tokensync/include" ]
125
126      deps += [
127        "${access_token_path}/interfaces/innerkits/tokensync:libtokensync_sdk",
128      ]
129    }
130
131    if (hiviewdfx_hitrace_native_enable == true) {
132      cflags_cc += [ "-DHITRACE_NATIVE_ENABLE" ]
133
134      external_deps += [ "hitrace:hitrace_meter" ]
135    }
136
137    if (!use_clang_coverage) {
138      shlib_type = "sa"
139    }
140  }
141}
142