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("../../../access_token.gni")
16
17config("accesstoken_config_policy_config") {
18  visibility = [ ":*" ]
19  include_dirs = [ "include" ]
20}
21
22ohos_shared_library("accesstoken_config_policy") {
23  if (is_standard_system) {
24    subsystem_name = "security"
25    part_name = "access_token"
26    sanitize = {
27      cfi = true
28      cfi_cross_dso = true
29      debug = false
30    }
31    branch_protector_ret = "pac_ret"
32
33    include_dirs = [
34      "include",
35      "${access_token_path}/frameworks/common/include",
36    ]
37
38    sources = [ "src/config_policy_loader.cpp" ]
39
40    cflags_cc = [ "-DHILOG_ENABLE" ]
41    configs = [
42      "${access_token_path}/config:access_token_compile_flags",
43      "${access_token_path}/config:coverage_flags",
44    ]
45    public_configs = [ ":accesstoken_config_policy_config" ]
46
47    deps = [ "${access_token_path}/frameworks/common:accesstoken_common_cxx" ]
48
49    external_deps = [
50      "c_utils:utils",
51      "hilog:libhilog",
52      "ipc:ipc_core",
53      "json:nlohmann_json_static",
54    ]
55    if (customization_config_policy_enable) {
56      cflags_cc += [ "-DCUSTOMIZATION_CONFIG_POLICY_ENABLE" ]
57      external_deps += [ "config_policy:configpolicy_util" ]
58    }
59  }
60}
61