1# Copyright (C) 2021-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 18if (os_level == "standard") { 19 config("huks_config") { 20 include_dirs = [ "service" ] 21 } 22 ohos_static_library("libhuks_service_os_dependency_standard_static") { 23 subsystem_name = "security" 24 part_name = "huks" 25 public_configs = [ ":huks_config" ] 26 27 sources = [] 28 deps = [ 29 "//base/security/huks/frameworks/huks_standard/main/common:libhuks_common_standard_static", 30 "//base/security/huks/frameworks/huks_standard/main/os_dependency:libhuks_util_standard_static", 31 "//base/security/huks/services/huks_standard/huks_service/main/core:libhuks_service_core_standard_static", 32 "//base/security/huks/services/huks_standard/huks_service/main/upgrade/core:libhuks_upgrade_core_static", 33 "//base/security/huks/services/huks_standard/huks_service/main/upgrade/lock:libhuks_upgrade_lock_static", 34 "//base/security/huks/utils/mutex:libhuks_utils_mutex_static", 35 ] 36 public_deps = [ "//base/security/huks/services/huks_standard/huks_service/main/os_dependency/idl:libhuks_service_idl_standard_static" ] 37 38 complete_static_lib = true 39 40 external_deps = [ "c_utils:utils" ] 41 42 branch_protector_ret = "pac_ret" 43 44 sanitize = { 45 integer_overflow = true 46 cfi = true 47 debug = false 48 cfi_cross_dso = true 49 boundary_sanitize = true 50 ubsan = true 51 } 52 sources += [ 53 "posix/hks_rwlock.c", 54 "sa/hks_dcm_callback_handler.cpp", 55 "sa/hks_sa.cpp", 56 57 # both client side and server side will include hks_sa_interface.cpp 58 "sa/hks_sa_interface.cpp", 59 ] 60 61 if (huks_enable_upgrade_key_storage_secure_level) { 62 sources += [ "sa/hks_osaccount_check.cpp" ] 63 } 64 65 defines = [] 66 if (huks_security_level == "software") { 67 defines += [ "HKS_UNTRUSTED_RUNNING_ENV" ] 68 } 69 if (support_jsapi) { 70 sources += [ "sa/hks_event_observer.cpp" ] 71 defines += [ "SUPPORT_COMMON_EVENT" ] 72 external_deps += [ 73 "ability_base:want", 74 "common_event_service:cesfwk_innerkits", 75 ] 76 if (has_os_account_part) { 77 defines += [ "HAS_OS_ACCOUNT_PART" ] 78 external_deps += [ "os_account:os_account_innerkits" ] 79 } 80 } 81 82 if (use_musl) { 83 if (musl_use_jemalloc && musl_use_jemalloc_dfx_intf) { 84 defines += [ "CONFIG_USE_JEMALLOC_DFX_INTF" ] 85 } 86 } 87 88 configs = [ 89 "//base/security/huks/frameworks/config/build:l2_standard_common_config", 90 ] 91 external_deps += [ 92 "hilog:libhilog", 93 "ipc:ipc_single", 94 "safwk:system_ability_fwk", 95 "samgr:samgr_proxy", 96 ] 97 } 98} else { 99 config("huks_config") { 100 include_dirs = [ 101 "sa/sa_mgr", 102 "//foundation/systemabilitymgr/samgr_lite/interfaces/kits/registry", 103 ] 104 } 105 ohos_static_library("libhuks_service_os_dependency_small_static") { 106 public_configs = [ ":huks_config" ] 107 configs = [ 108 "//base/security/huks/frameworks/config/build:l1_small_common_config", 109 ] 110 111 include_dirs = [] 112 113 include_dirs = [ 114 "//base/security/huks/frameworks/huks_standard/main/os_dependency/ipc/include", 115 "//base/security/huks/services/huks_standard/huks_service/main/os_dependency/sa", 116 ] 117 118 sources = [] 119 deps = [ 120 "//base/security/huks/frameworks/huks_standard/main/common:libhuks_common_small_static", 121 "//base/security/huks/services/huks_standard/huks_service/main/core:libhuks_service_core_small_static", 122 "//base/security/huks/services/huks_standard/huks_service/main/os_dependency/idl:libhuks_service_idl_small_static", 123 ] 124 125 complete_static_lib = true 126 127 deps += [ 128 "//foundation/communication/ipc/interfaces/innerkits/c/ipc:ipc_single", 129 "//foundation/systemabilitymgr/samgr_lite/samgr:samgr", 130 ] 131 132 sources += [ 133 "//base/security/huks/services/huks_standard/huks_service/main/os_dependency/sa/sa_mgr/hks_samgr_service.c", 134 "//base/security/huks/services/huks_standard/huks_service/main/os_dependency/sa/sa_mgr/hks_samgr_service_feature.c", 135 ] 136 137 external_deps = [ "hilog_lite:hilog_shared" ] 138 } 139} 140