# Copyright (C) 2021-2023 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import("//base/security/huks/build/config.gni") import("//base/security/huks/huks.gni") import("//build/ohos.gni") if (os_level == "standard") { config("huks_config") { include_dirs = [ "service" ] } ohos_static_library("libhuks_service_os_dependency_standard_static") { subsystem_name = "security" part_name = "huks" public_configs = [ ":huks_config" ] sources = [] deps = [ "//base/security/huks/frameworks/huks_standard/main/common:libhuks_common_standard_static", "//base/security/huks/frameworks/huks_standard/main/os_dependency:libhuks_util_standard_static", "//base/security/huks/services/huks_standard/huks_service/main/core:libhuks_service_core_standard_static", "//base/security/huks/services/huks_standard/huks_service/main/upgrade/core:libhuks_upgrade_core_static", "//base/security/huks/services/huks_standard/huks_service/main/upgrade/lock:libhuks_upgrade_lock_static", "//base/security/huks/utils/mutex:libhuks_utils_mutex_static", ] public_deps = [ "//base/security/huks/services/huks_standard/huks_service/main/os_dependency/idl:libhuks_service_idl_standard_static" ] complete_static_lib = true external_deps = [ "c_utils:utils" ] branch_protector_ret = "pac_ret" sanitize = { integer_overflow = true cfi = true debug = false cfi_cross_dso = true boundary_sanitize = true ubsan = true } sources += [ "posix/hks_rwlock.c", "sa/hks_dcm_callback_handler.cpp", "sa/hks_sa.cpp", # both client side and server side will include hks_sa_interface.cpp "sa/hks_sa_interface.cpp", ] if (huks_enable_upgrade_key_storage_secure_level) { sources += [ "sa/hks_osaccount_check.cpp" ] } defines = [] if (huks_security_level == "software") { defines += [ "HKS_UNTRUSTED_RUNNING_ENV" ] } if (support_jsapi) { sources += [ "sa/hks_event_observer.cpp" ] defines += [ "SUPPORT_COMMON_EVENT" ] external_deps += [ "ability_base:want", "common_event_service:cesfwk_innerkits", ] if (has_os_account_part) { defines += [ "HAS_OS_ACCOUNT_PART" ] external_deps += [ "os_account:os_account_innerkits" ] } } if (use_musl) { if (musl_use_jemalloc && musl_use_jemalloc_dfx_intf) { defines += [ "CONFIG_USE_JEMALLOC_DFX_INTF" ] } } configs = [ "//base/security/huks/frameworks/config/build:l2_standard_common_config", ] external_deps += [ "hilog:libhilog", "ipc:ipc_single", "safwk:system_ability_fwk", "samgr:samgr_proxy", ] } } else { config("huks_config") { include_dirs = [ "sa/sa_mgr", "//foundation/systemabilitymgr/samgr_lite/interfaces/kits/registry", ] } ohos_static_library("libhuks_service_os_dependency_small_static") { public_configs = [ ":huks_config" ] configs = [ "//base/security/huks/frameworks/config/build:l1_small_common_config", ] include_dirs = [] include_dirs = [ "//base/security/huks/frameworks/huks_standard/main/os_dependency/ipc/include", "//base/security/huks/services/huks_standard/huks_service/main/os_dependency/sa", ] sources = [] deps = [ "//base/security/huks/frameworks/huks_standard/main/common:libhuks_common_small_static", "//base/security/huks/services/huks_standard/huks_service/main/core:libhuks_service_core_small_static", "//base/security/huks/services/huks_standard/huks_service/main/os_dependency/idl:libhuks_service_idl_small_static", ] complete_static_lib = true deps += [ "//foundation/communication/ipc/interfaces/innerkits/c/ipc:ipc_single", "//foundation/systemabilitymgr/samgr_lite/samgr:samgr", ] sources += [ "//base/security/huks/services/huks_standard/huks_service/main/os_dependency/sa/sa_mgr/hks_samgr_service.c", "//base/security/huks/services/huks_standard/huks_service/main/os_dependency/sa/sa_mgr/hks_samgr_service_feature.c", ] external_deps = [ "hilog_lite:hilog_shared" ] } }