1# Copyright (c) 2021-2024 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("//build/ohos.gni") 15 16ohos_shared_library("huks") { 17 branch_protector_ret = "pac_ret" 18 19 sanitize = { 20 integer_overflow = true 21 cfi = true 22 debug = false 23 cfi_cross_dso = true 24 boundary_sanitize = true 25 ubsan = true 26 } 27 defines = [ 28 "HUKS_NAPI_ERRORCODE_WITH_MESSAGE", 29 "L2_STANDARD", 30 "_HARDWARE_ROOT_KEY_", 31 "_HUKS_LOG_ENABLE_", 32 ] 33 34 include_dirs = [ 35 "//base/security/huks/interfaces/inner_api/huks_standard/main/include", 36 "//base/security/huks/frameworks/huks_standard/main/common/include", 37 "include", 38 "include/v8", 39 "include/v9", 40 "include/v12", 41 ] 42 43 version_script = "libhuksnapi.map" 44 45 sources = [ 46 "src/huks_napi.cpp", 47 "src/v12/huks_napi_attest_key_item_as_user.cpp", 48 "src/v12/huks_napi_delete_key_item_as_user.cpp", 49 "src/v12/huks_napi_export_key_item_as_user.cpp", 50 "src/v12/huks_napi_generate_key_item_as_user.cpp", 51 "src/v12/huks_napi_get_key_item_properties_as_user.cpp", 52 "src/v12/huks_napi_has_key_item_as_user.cpp", 53 "src/v12/huks_napi_import_key_item_as_user.cpp", 54 "src/v12/huks_napi_import_wrapped_key_item_as_user.cpp", 55 "src/v12/huks_napi_init_session_as_user.cpp", 56 "src/v12/huks_napi_list_aliases.cpp", 57 "src/v8/huks_napi_abort.cpp", 58 "src/v8/huks_napi_common.cpp", 59 "src/v8/huks_napi_delete_key.cpp", 60 "src/v8/huks_napi_export_key.cpp", 61 "src/v8/huks_napi_generate_key.cpp", 62 "src/v8/huks_napi_get_key_properties.cpp", 63 "src/v8/huks_napi_get_sdk_version.cpp", 64 "src/v8/huks_napi_import_key.cpp", 65 "src/v8/huks_napi_init.cpp", 66 "src/v8/huks_napi_is_key_exist.cpp", 67 "src/v8/huks_napi_update_finish.cpp", 68 "src/v9/huks_napi_abort_session.cpp", 69 "src/v9/huks_napi_attest_key_item.cpp", 70 "src/v9/huks_napi_common_item.cpp", 71 "src/v9/huks_napi_delete_key_item.cpp", 72 "src/v9/huks_napi_export_key_item.cpp", 73 "src/v9/huks_napi_generate_key_item.cpp", 74 "src/v9/huks_napi_get_key_item_properties.cpp", 75 "src/v9/huks_napi_has_key_item.cpp", 76 "src/v9/huks_napi_import_key_item.cpp", 77 "src/v9/huks_napi_import_wrapped_key_item.cpp", 78 "src/v9/huks_napi_init_session.cpp", 79 "src/v9/huks_napi_is_key_item_exist.cpp", 80 "src/v9/huks_napi_update_finish_session.cpp", 81 ] 82 83 deps = [ 84 "//base/security/huks/frameworks/huks_standard/main/common:libhuks_common_standard_static", 85 "//base/security/huks/frameworks/huks_standard/main/os_dependency:libhuks_mem_standard_static", 86 "//base/security/huks/interfaces/inner_api/huks_standard/main:libhukssdk", 87 ] 88 89 external_deps = [ 90 "c_utils:utils", 91 "hilog:libhilog", 92 "napi:ace_napi", 93 ] 94 cflags_cc = [ 95 "-Wall", 96 "-Werror", 97 ] 98 99 relative_install_dir = "module/security" 100 subsystem_name = "security" 101 part_name = "huks" 102} 103