12ee81decSopenharmony_ci# Copyright (c) 2022 Huawei Device Co., Ltd. 22ee81decSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 32ee81decSopenharmony_ci# you may not use this file except in compliance with the License. 42ee81decSopenharmony_ci# You may obtain a copy of the License at 52ee81decSopenharmony_ci# 62ee81decSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 72ee81decSopenharmony_ci# 82ee81decSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 92ee81decSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 102ee81decSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 112ee81decSopenharmony_ci# See the License for the specific language governing permissions and 122ee81decSopenharmony_ci# limitations under the License. 132ee81decSopenharmony_ci 142ee81decSopenharmony_ciimport("//base/security/device_security_level/common/dslm.gni") 152ee81decSopenharmony_ciimport("//build/ohos.gni") 162ee81decSopenharmony_ci 172ee81decSopenharmony_ciconfig("device_security_level_sdk_config") { 182ee81decSopenharmony_ci include_dirs = [ "include" ] 192ee81decSopenharmony_ci} 202ee81decSopenharmony_ci 212ee81decSopenharmony_cigroup("fwk_group") { 222ee81decSopenharmony_ci if (os_level == "standard") { 232ee81decSopenharmony_ci deps = [ ":dslm_sdk" ] 242ee81decSopenharmony_ci } else if (os_level == "small") { 252ee81decSopenharmony_ci deps = [ ":dslm_sdk_small" ] 262ee81decSopenharmony_ci } else if (os_level == "mini") { 272ee81decSopenharmony_ci deps = [ ":dslm_sdk_mini" ] 282ee81decSopenharmony_ci } 292ee81decSopenharmony_ci} 302ee81decSopenharmony_ci 312ee81decSopenharmony_ciif (defined(ohos_lite)) { 322ee81decSopenharmony_ci if (ohos_kernel_type == "linux" || ohos_kernel_type == "liteos_a") { 332ee81decSopenharmony_ci ohos_shared_library("dslm_sdk_small") { 342ee81decSopenharmony_ci sources = [ 352ee81decSopenharmony_ci "src/lite/device_security_info.c", 362ee81decSopenharmony_ci "src/lite/small/device_security_level_proxy.c", 372ee81decSopenharmony_ci ] 382ee81decSopenharmony_ci 392ee81decSopenharmony_ci include_dirs = [ 402ee81decSopenharmony_ci "src/lite/include", 412ee81decSopenharmony_ci "src/lite/small", 422ee81decSopenharmony_ci "../../services/include", 432ee81decSopenharmony_ci "../../common/include", 442ee81decSopenharmony_ci ] 452ee81decSopenharmony_ci 462ee81decSopenharmony_ci configs = [ 472ee81decSopenharmony_ci "../../common:common_configs", 482ee81decSopenharmony_ci "../../common:common_lite_configs", 492ee81decSopenharmony_ci ] 502ee81decSopenharmony_ci 512ee81decSopenharmony_ci public_configs = [ ":device_security_level_sdk_config" ] 522ee81decSopenharmony_ci 532ee81decSopenharmony_ci deps = [ 542ee81decSopenharmony_ci "$dslm_hilog_path/featured:hilog_shared", 552ee81decSopenharmony_ci "$dslm_ipc_path/interfaces/innerkits/c/ipc:ipc_single", 562ee81decSopenharmony_ci "$dslm_samgr_path/samgr_lite/samgr:samgr", 572ee81decSopenharmony_ci "../../baselib/utils:utils_static", 582ee81decSopenharmony_ci ] 592ee81decSopenharmony_ci 602ee81decSopenharmony_ci part_name = "device_security_level" 612ee81decSopenharmony_ci subsystem_name = "security" 622ee81decSopenharmony_ci } 632ee81decSopenharmony_ci group("dslm_sdk") { 642ee81decSopenharmony_ci } 652ee81decSopenharmony_ci } else if (ohos_kernel_type == "liteos_m") { 662ee81decSopenharmony_ci ohos_static_library("dslm_sdk_mini") { 672ee81decSopenharmony_ci sources = [ 682ee81decSopenharmony_ci "src/lite/device_security_info.c", 692ee81decSopenharmony_ci "src/lite/mini/device_security_level_inner.c", 702ee81decSopenharmony_ci ] 712ee81decSopenharmony_ci 722ee81decSopenharmony_ci include_dirs = [ 732ee81decSopenharmony_ci "src/lite/include", 742ee81decSopenharmony_ci "src/lite/mini", 752ee81decSopenharmony_ci "../../common/include", 762ee81decSopenharmony_ci "../../interfaces/inner_api/src/lite", 772ee81decSopenharmony_ci "../../services/include", 782ee81decSopenharmony_ci "../../services/sa/lite/mini", 792ee81decSopenharmony_ci ] 802ee81decSopenharmony_ci 812ee81decSopenharmony_ci configs = [ 822ee81decSopenharmony_ci "../../common:common_configs", 832ee81decSopenharmony_ci "../../common:common_lite_configs", 842ee81decSopenharmony_ci ] 852ee81decSopenharmony_ci 862ee81decSopenharmony_ci public_configs = [ ":device_security_level_sdk_config" ] 872ee81decSopenharmony_ci 882ee81decSopenharmony_ci deps = [ 892ee81decSopenharmony_ci "$dslm_hilog_path/featured:hilog_static", 902ee81decSopenharmony_ci "$dslm_samgr_path/samgr_lite/samgr:samgr", 912ee81decSopenharmony_ci "../../baselib/utils:utils_static", 922ee81decSopenharmony_ci ] 932ee81decSopenharmony_ci 942ee81decSopenharmony_ci part_name = "device_security_level" 952ee81decSopenharmony_ci subsystem_name = "security" 962ee81decSopenharmony_ci } 972ee81decSopenharmony_ci group("dslm_sdk") { 982ee81decSopenharmony_ci } 992ee81decSopenharmony_ci } 1002ee81decSopenharmony_ci} else { 1012ee81decSopenharmony_ci ohos_shared_library("dslm_sdk") { 1022ee81decSopenharmony_ci sanitize = { 1032ee81decSopenharmony_ci integer_overflow = true 1042ee81decSopenharmony_ci ubsan = true 1052ee81decSopenharmony_ci boundary_sanitize = true 1062ee81decSopenharmony_ci cfi = true 1072ee81decSopenharmony_ci cfi_cross_dso = true 1082ee81decSopenharmony_ci blocklist = "../../cfi_blocklist.txt" 1092ee81decSopenharmony_ci } 1102ee81decSopenharmony_ci branch_protector_ret = "pac_ret" 1112ee81decSopenharmony_ci 1122ee81decSopenharmony_ci sources = [ 1132ee81decSopenharmony_ci "src/standard/device_security_info.cpp", 1142ee81decSopenharmony_ci "src/standard/device_security_level_callback_helper.cpp", 1152ee81decSopenharmony_ci "src/standard/device_security_level_callback_stub.cpp", 1162ee81decSopenharmony_ci "src/standard/device_security_level_loader.cpp", 1172ee81decSopenharmony_ci "src/standard/device_security_level_proxy.cpp", 1182ee81decSopenharmony_ci ] 1192ee81decSopenharmony_ci 1202ee81decSopenharmony_ci include_dirs = [ 1212ee81decSopenharmony_ci "../../services/include", 1222ee81decSopenharmony_ci "../../common/include", 1232ee81decSopenharmony_ci ] 1242ee81decSopenharmony_ci 1252ee81decSopenharmony_ci configs = [ "../../common:common_configs" ] 1262ee81decSopenharmony_ci 1272ee81decSopenharmony_ci public_configs = [ ":device_security_level_sdk_config" ] 1282ee81decSopenharmony_ci 1292ee81decSopenharmony_ci external_deps = [ 1302ee81decSopenharmony_ci "c_utils:utils", 1312ee81decSopenharmony_ci "hilog:libhilog", 1322ee81decSopenharmony_ci "init:libbegetutil", 1332ee81decSopenharmony_ci "ipc:ipc_core", 1342ee81decSopenharmony_ci "samgr:samgr_proxy", 1352ee81decSopenharmony_ci ] 1362ee81decSopenharmony_ci 1372ee81decSopenharmony_ci part_name = "device_security_level" 1382ee81decSopenharmony_ci subsystem_name = "security" 1392ee81decSopenharmony_ci } 1402ee81decSopenharmony_ci} 141