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("cj_ability_access_ctrl_ffi_config") { 18fc0b0055Sopenharmony_ci include_dirs = [ "include" ] 19fc0b0055Sopenharmony_ci} 20fc0b0055Sopenharmony_ci 21fc0b0055Sopenharmony_ciohos_shared_library("cj_ability_access_ctrl_ffi") { 22fc0b0055Sopenharmony_ci sanitize = { 23fc0b0055Sopenharmony_ci cfi = true 24fc0b0055Sopenharmony_ci cfi_cross_dso = true 25fc0b0055Sopenharmony_ci debug = false 26fc0b0055Sopenharmony_ci } 27fc0b0055Sopenharmony_ci branch_protector_ret = "pac_ret" 28fc0b0055Sopenharmony_ci include_dirs = [ 29fc0b0055Sopenharmony_ci "${access_token_path}/frameworks/common/include", 30fc0b0055Sopenharmony_ci "${access_token_path}/interfaces/innerkits/accesstoken/include", 31fc0b0055Sopenharmony_ci "${access_token_path}/interfaces/innerkits/token_callback/include", 32fc0b0055Sopenharmony_ci "${access_token_path}/interfaces/innerkits/token_setproc/include", 33fc0b0055Sopenharmony_ci "../../napi/common/include", 34fc0b0055Sopenharmony_ci ] 35fc0b0055Sopenharmony_ci 36fc0b0055Sopenharmony_ci if (!defined(defines)) { 37fc0b0055Sopenharmony_ci defines = [] 38fc0b0055Sopenharmony_ci } 39fc0b0055Sopenharmony_ci 40fc0b0055Sopenharmony_ci if (!ohos_indep_compiler_enable && product_name != "ohos-sdk") { 41fc0b0055Sopenharmony_ci sources = [ 42fc0b0055Sopenharmony_ci "src/ability_access_ctrl_ffi.cpp", 43fc0b0055Sopenharmony_ci "src/at_manager_impl.cpp", 44fc0b0055Sopenharmony_ci ] 45fc0b0055Sopenharmony_ci 46fc0b0055Sopenharmony_ci deps = [ 47fc0b0055Sopenharmony_ci "${access_token_path}/frameworks/js/napi/common:libnapi_common", 48fc0b0055Sopenharmony_ci "${access_token_path}/interfaces/innerkits/accesstoken:libaccesstoken_sdk", 49fc0b0055Sopenharmony_ci "${access_token_path}/interfaces/innerkits/token_callback:libtoken_callback_sdk", 50fc0b0055Sopenharmony_ci "${access_token_path}/interfaces/innerkits/token_setproc:libtokensetproc_shared", 51fc0b0055Sopenharmony_ci ] 52fc0b0055Sopenharmony_ci 53fc0b0055Sopenharmony_ci external_deps = [ 54fc0b0055Sopenharmony_ci "ability_base:want", 55fc0b0055Sopenharmony_ci "ability_runtime:ability_context_native", 56fc0b0055Sopenharmony_ci "ability_runtime:ability_manager", 57fc0b0055Sopenharmony_ci "ability_runtime:abilitykit_native", 58fc0b0055Sopenharmony_ci "ability_runtime:napi_base_context", 59fc0b0055Sopenharmony_ci "ability_runtime:ui_extension", 60fc0b0055Sopenharmony_ci "ace_engine:ace_uicontent", 61fc0b0055Sopenharmony_ci "c_utils:utils", 62fc0b0055Sopenharmony_ci "hilog:libhilog", 63fc0b0055Sopenharmony_ci "init:libbegetutil", 64fc0b0055Sopenharmony_ci "ipc:ipc_single", 65fc0b0055Sopenharmony_ci "napi:ace_napi", 66fc0b0055Sopenharmony_ci "napi:cj_bind_ffi", 67fc0b0055Sopenharmony_ci "napi:cj_bind_native", 68fc0b0055Sopenharmony_ci ] 69fc0b0055Sopenharmony_ci } else { 70fc0b0055Sopenharmony_ci defines += [ "PREVIEWER" ] 71fc0b0055Sopenharmony_ci sources = [ "src/ability_access_ctrl_mock.cpp" ] 72fc0b0055Sopenharmony_ci external_deps = [ "napi:cj_bind_ffi" ] 73fc0b0055Sopenharmony_ci } 74fc0b0055Sopenharmony_ci 75fc0b0055Sopenharmony_ci cflags_cc = [ "-DHILOG_ENABLE" ] 76fc0b0055Sopenharmony_ci public_configs = [ ":cj_ability_access_ctrl_ffi_config" ] 77fc0b0055Sopenharmony_ci configs = [ 78fc0b0055Sopenharmony_ci "${access_token_path}/config:access_token_compile_flags", 79fc0b0055Sopenharmony_ci "${access_token_path}/config:coverage_flags", 80fc0b0055Sopenharmony_ci ] 81fc0b0055Sopenharmony_ci 82fc0b0055Sopenharmony_ci if (current_os == "ohos") { 83fc0b0055Sopenharmony_ci defines += [ "OHOS_PLATFORM" ] 84fc0b0055Sopenharmony_ci } 85fc0b0055Sopenharmony_ci 86fc0b0055Sopenharmony_ci if (current_os == "mingw") { 87fc0b0055Sopenharmony_ci defines += [ "WINDOWS_PLATFORM" ] 88fc0b0055Sopenharmony_ci } 89fc0b0055Sopenharmony_ci innerapi_tags = [ "platformsdk" ] 90fc0b0055Sopenharmony_ci subsystem_name = "security" 91fc0b0055Sopenharmony_ci part_name = "access_token" 92fc0b0055Sopenharmony_ci} 93