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_ci 16fc0b0055Sopenharmony_ciconfig("accesstokenlib") { 17fc0b0055Sopenharmony_ci visibility = [ ":*" ] 18fc0b0055Sopenharmony_ci include_dirs = [ "include" ] 19fc0b0055Sopenharmony_ci} 20fc0b0055Sopenharmony_ci 21fc0b0055Sopenharmony_ciif (is_standard_system) { 22fc0b0055Sopenharmony_ci ohos_static_library("libnativetoken") { 23fc0b0055Sopenharmony_ci subsystem_name = "security" 24fc0b0055Sopenharmony_ci part_name = "access_token" 25fc0b0055Sopenharmony_ci output_name = "libnativetoken" 26fc0b0055Sopenharmony_ci sanitize = { 27fc0b0055Sopenharmony_ci cfi = true 28fc0b0055Sopenharmony_ci cfi_cross_dso = true 29fc0b0055Sopenharmony_ci debug = false 30fc0b0055Sopenharmony_ci } 31fc0b0055Sopenharmony_ci branch_protector_ret = "pac_ret" 32fc0b0055Sopenharmony_ci 33fc0b0055Sopenharmony_ci public_configs = [ ":accesstokenlib" ] 34fc0b0055Sopenharmony_ci 35fc0b0055Sopenharmony_ci cflags = [ "-Wall" ] 36fc0b0055Sopenharmony_ci 37fc0b0055Sopenharmony_ci include_dirs = [ "src" ] 38fc0b0055Sopenharmony_ci 39fc0b0055Sopenharmony_ci sources = [ 40fc0b0055Sopenharmony_ci "src/nativetoken.c", 41fc0b0055Sopenharmony_ci "src/nativetoken_json_oper.c", 42fc0b0055Sopenharmony_ci "src/nativetoken_klog.c", 43fc0b0055Sopenharmony_ci ] 44fc0b0055Sopenharmony_ci 45fc0b0055Sopenharmony_ci external_deps = [ 46fc0b0055Sopenharmony_ci "bounds_checking_function:libsec_shared", 47fc0b0055Sopenharmony_ci "cJSON:cjson_static", 48fc0b0055Sopenharmony_ci "hilog:libhilog", 49fc0b0055Sopenharmony_ci ] 50fc0b0055Sopenharmony_ci 51fc0b0055Sopenharmony_ci if (build_selinux) { 52fc0b0055Sopenharmony_ci external_deps += [ "selinux_adapter:librestorecon" ] 53fc0b0055Sopenharmony_ci cflags += [ "-DWITH_SELINUX" ] 54fc0b0055Sopenharmony_ci } 55fc0b0055Sopenharmony_ci } 56fc0b0055Sopenharmony_ci 57fc0b0055Sopenharmony_ci ohos_shared_library("libnativetoken_shared") { 58fc0b0055Sopenharmony_ci subsystem_name = "security" 59fc0b0055Sopenharmony_ci part_name = "access_token" 60fc0b0055Sopenharmony_ci output_name = "libnativetoken_shared" 61fc0b0055Sopenharmony_ci sanitize = { 62fc0b0055Sopenharmony_ci cfi = true 63fc0b0055Sopenharmony_ci cfi_cross_dso = true 64fc0b0055Sopenharmony_ci debug = false 65fc0b0055Sopenharmony_ci } 66fc0b0055Sopenharmony_ci branch_protector_ret = "pac_ret" 67fc0b0055Sopenharmony_ci innerapi_tags = [ "platformsdk" ] 68fc0b0055Sopenharmony_ci public_configs = [ ":accesstokenlib" ] 69fc0b0055Sopenharmony_ci 70fc0b0055Sopenharmony_ci cflags = [ "-Wall" ] 71fc0b0055Sopenharmony_ci 72fc0b0055Sopenharmony_ci include_dirs = [ "src" ] 73fc0b0055Sopenharmony_ci 74fc0b0055Sopenharmony_ci sources = [ 75fc0b0055Sopenharmony_ci "src/nativetoken.c", 76fc0b0055Sopenharmony_ci "src/nativetoken_json_oper.c", 77fc0b0055Sopenharmony_ci "src/nativetoken_klog.c", 78fc0b0055Sopenharmony_ci ] 79fc0b0055Sopenharmony_ci 80fc0b0055Sopenharmony_ci external_deps = [ 81fc0b0055Sopenharmony_ci "bounds_checking_function:libsec_shared", 82fc0b0055Sopenharmony_ci "cJSON:cjson_static", 83fc0b0055Sopenharmony_ci "hilog:libhilog", 84fc0b0055Sopenharmony_ci ] 85fc0b0055Sopenharmony_ci 86fc0b0055Sopenharmony_ci if (build_selinux) { 87fc0b0055Sopenharmony_ci external_deps += [ "selinux_adapter:librestorecon" ] 88fc0b0055Sopenharmony_ci cflags += [ "-DWITH_SELINUX" ] 89fc0b0055Sopenharmony_ci } 90fc0b0055Sopenharmony_ci } 91fc0b0055Sopenharmony_ci} 92