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_shared_library("libabilityaccessctrl") {
18  sanitize = {
19    cfi = true
20    cfi_cross_dso = true
21    debug = false
22  }
23  branch_protector_ret = "pac_ret"
24  include_dirs = [
25    "${access_token_path}/frameworks/common/include",
26    "${access_token_path}/interfaces/innerkits/accesstoken/include",
27    "${access_token_path}/interfaces/innerkits/token_callback/include",
28    "${access_token_path}/interfaces/innerkits/token_setproc/include",
29    "../common/include",
30    "include",
31  ]
32
33  sources = [
34    "src/napi_atmanager.cpp",
35    "src/napi_context_common.cpp",
36    "src/napi_request_global_switch_on_setting.cpp",
37    "src/napi_request_permission.cpp",
38    "src/napi_request_permission_on_setting.cpp",
39  ]
40
41  deps = [
42    "${access_token_path}/interfaces/innerkits/accesstoken:libaccesstoken_sdk",
43    "${access_token_path}/interfaces/innerkits/token_callback:libtoken_callback_sdk",
44    "${access_token_path}/interfaces/innerkits/token_setproc:libtokensetproc_shared",
45    "../common:libnapi_common",
46  ]
47
48  cflags_cc = [ "-DHILOG_ENABLE" ]
49  external_deps = [
50    "ability_base:want",
51    "ability_runtime:ability_context_native",
52    "ability_runtime:ability_manager",
53    "ability_runtime:abilitykit_native",
54    "ability_runtime:napi_base_context",
55    "ability_runtime:ui_extension",
56    "ace_engine:ace_uicontent",
57    "c_utils:utils",
58    "hilog:libhilog",
59    "hisysevent:libhisysevent",
60    "init:libbegetutil",
61    "ipc:ipc_single",
62    "napi:ace_napi",
63  ]
64
65  if (eventhandler_enable == true) {
66    cflags_cc += [ "-DEVENTHANDLER_ENABLE" ]
67    external_deps += [ "eventhandler:libeventhandler" ]
68  }
69
70  configs = [
71    "${access_token_path}/config:access_token_compile_flags",
72    "${access_token_path}/config:coverage_flags",
73  ]
74
75  relative_install_dir = "module"
76  subsystem_name = "security"
77  part_name = "access_token"
78}
79