1# Copyright (C) 2022-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("//base/security/huks/build/config.gni") 15import("//base/security/huks/huks.gni") 16import("//build/ohos.gni") 17 18config("huks_config") { 19 include_dirs = [ "./" ] 20} 21 22if (os_level == "standard") { 23 ohos_static_library("libhuks_utils_mutex_static") { 24 branch_protector_ret = "pac_ret" 25 26 sanitize = { 27 integer_overflow = true 28 cfi = true 29 debug = false 30 cfi_cross_dso = true 31 boundary_sanitize = true 32 ubsan = true 33 } 34 subsystem_name = "security" 35 part_name = "huks" 36 public_configs = [ ":huks_config" ] 37 configs = [ 38 "//base/security/huks/frameworks/config/build:l2_standard_common_config", 39 ] 40 include_dirs = [ 41 "//base/security/huks/frameworks/huks_standard/main/common/include", 42 "//base/security/huks/interfaces/inner_api/huks_standard/main/include", 43 ] 44 defines = [ 45 "_HARDWARE_ROOT_KEY_", 46 "_HUKS_LOG_ENABLE_", 47 ] 48 sources = [ "hks_mutex.c" ] 49 cflags = [ 50 "-Wall", 51 "-Werror", 52 ] 53 deps = [ "//base/security/huks/frameworks/huks_standard/main/os_dependency:libhuks_mem_standard_static" ] 54 external_deps = [ 55 "c_utils:utils", 56 "hilog:libhilog", 57 ] 58 complete_static_lib = true 59 } 60} else { 61 ohos_static_library("libhuks_utils_mutex_static") { 62 public_configs = [ ":huks_config" ] 63 configs = [ 64 "//base/security/huks/frameworks/config/build:l1_small_common_config", 65 ] 66 67 include_dirs = [ 68 "//base/security/huks/frameworks/huks_standard/main/common/include", 69 "//base/security/huks/interfaces/inner_api/huks_standard/main/include", 70 ] 71 sources = [ "hks_mutex.c" ] 72 73 deps = [ "//base/security/huks/frameworks/huks_standard/main/os_dependency:libhuks_os_dependency_small_static" ] 74 external_deps = [ "hilog_lite:hilog_shared" ] 75 complete_static_lib = true 76 } 77} 78