1fc0b0055Sopenharmony_ci# Copyright (c) 2021-2023 Huawei Device Co., Ltd.
2fc0b0055Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3fc0b0055Sopenharmony_ci# you may not use this file except in compliance with the License.
4fc0b0055Sopenharmony_ci# You may obtain a copy of the License at
5fc0b0055Sopenharmony_ci#
6fc0b0055Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7fc0b0055Sopenharmony_ci#
8fc0b0055Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9fc0b0055Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10fc0b0055Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11fc0b0055Sopenharmony_ci# See the License for the specific language governing permissions and
12fc0b0055Sopenharmony_ci# limitations under the License.
13fc0b0055Sopenharmony_ci
14fc0b0055Sopenharmony_ciimport("//build/ohos.gni")
15fc0b0055Sopenharmony_ciimport("../../../../access_token.gni")
16fc0b0055Sopenharmony_ci
17fc0b0055Sopenharmony_ciconfig("accesstoken_ndk_config") {
18fc0b0055Sopenharmony_ci  include_dirs = [ "include" ]
19fc0b0055Sopenharmony_ci}
20fc0b0055Sopenharmony_ci
21fc0b0055Sopenharmony_ciohos_shared_library("libability_access_control") {
22fc0b0055Sopenharmony_ci  innerapi_tags = [ "ndk" ]
23fc0b0055Sopenharmony_ci  output_extension = "so"
24fc0b0055Sopenharmony_ci  public_configs = [ ":accesstoken_ndk_config" ]
25fc0b0055Sopenharmony_ci
26fc0b0055Sopenharmony_ci  sanitize = {
27fc0b0055Sopenharmony_ci    integer_overflow = true
28fc0b0055Sopenharmony_ci    cfi = true
29fc0b0055Sopenharmony_ci    debug = false
30fc0b0055Sopenharmony_ci    cfi_cross_dso = true
31fc0b0055Sopenharmony_ci    boundary_sanitize = true
32fc0b0055Sopenharmony_ci    ubsan = true
33fc0b0055Sopenharmony_ci  }
34fc0b0055Sopenharmony_ci
35fc0b0055Sopenharmony_ci  sources = [ "src/ability_access_control.cpp" ]
36fc0b0055Sopenharmony_ci
37fc0b0055Sopenharmony_ci  deps = [
38fc0b0055Sopenharmony_ci    "${access_token_path}/interfaces/innerkits/accesstoken:libaccesstoken_sdk",
39fc0b0055Sopenharmony_ci    "${access_token_path}/interfaces/innerkits/token_setproc:libtokensetproc_shared",
40fc0b0055Sopenharmony_ci  ]
41fc0b0055Sopenharmony_ci
42fc0b0055Sopenharmony_ci  cflags_cc = [
43fc0b0055Sopenharmony_ci    "-Wall",
44fc0b0055Sopenharmony_ci    "-Werror",
45fc0b0055Sopenharmony_ci  ]
46fc0b0055Sopenharmony_ci
47fc0b0055Sopenharmony_ci  part_name = "access_token"
48fc0b0055Sopenharmony_ci  subsystem_name = "security"
49fc0b0055Sopenharmony_ci}
50