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("utils_static_config") { 182ee81decSopenharmony_ci include_dirs = [ "include" ] 192ee81decSopenharmony_ci} 202ee81decSopenharmony_ci 212ee81decSopenharmony_ci# utils static lib 222ee81decSopenharmony_ciohos_static_library("utils_static") { 232ee81decSopenharmony_ci sources = [ 242ee81decSopenharmony_ci "src/utils_base64.c", 252ee81decSopenharmony_ci "src/utils_datetime.c", 262ee81decSopenharmony_ci "src/utils_hexstring.c", 272ee81decSopenharmony_ci "src/utils_json.c", 282ee81decSopenharmony_ci "src/utils_mem.c", 292ee81decSopenharmony_ci "src/utils_state_machine.c", 302ee81decSopenharmony_ci "src/utils_tlv.c", 312ee81decSopenharmony_ci "src/utils_work_queue.c", 322ee81decSopenharmony_ci ] 332ee81decSopenharmony_ci 342ee81decSopenharmony_ci include_dirs = [ "include" ] 352ee81decSopenharmony_ci 362ee81decSopenharmony_ci deps = [] 372ee81decSopenharmony_ci 382ee81decSopenharmony_ci configs = [ "../../common:common_configs" ] 392ee81decSopenharmony_ci 402ee81decSopenharmony_ci public_configs = [ 412ee81decSopenharmony_ci ":utils_static_config", 422ee81decSopenharmony_ci "../../common:common_lite_configs", 432ee81decSopenharmony_ci ] 442ee81decSopenharmony_ci 452ee81decSopenharmony_ci if (defined(ohos_lite)) { 462ee81decSopenharmony_ci sources += [ "src/utils_timer.c" ] 472ee81decSopenharmony_ci 482ee81decSopenharmony_ci include_dirs += [ 492ee81decSopenharmony_ci "$dslm_common_lib_path/include", 502ee81decSopenharmony_ci "$dslm_common_lib_path/timer_task/include", 512ee81decSopenharmony_ci ] 522ee81decSopenharmony_ci 532ee81decSopenharmony_ci if (ohos_kernel_type == "linux" || ohos_kernel_type == "liteos_a") { 542ee81decSopenharmony_ci deps += [ 552ee81decSopenharmony_ci "$dslm_common_lib_path/timer_task:ace_kit_timer", 562ee81decSopenharmony_ci "$dslm_hilog_path/featured:hilog_shared", 572ee81decSopenharmony_ci "$dslm_lite_component_path/cJSON:cjson_shared", 582ee81decSopenharmony_ci ] 592ee81decSopenharmony_ci } else if (ohos_kernel_type == "liteos_m") { 602ee81decSopenharmony_ci deps += [ 612ee81decSopenharmony_ci "$dslm_common_lib_path/timer_task:ace_kit_timer", 622ee81decSopenharmony_ci "$dslm_hilog_path/featured:hilog_static", 632ee81decSopenharmony_ci "$dslm_lite_component_path/cJSON:cjson_static", 642ee81decSopenharmony_ci ] 652ee81decSopenharmony_ci } 662ee81decSopenharmony_ci } else { 672ee81decSopenharmony_ci sanitize = { 682ee81decSopenharmony_ci integer_overflow = true 692ee81decSopenharmony_ci ubsan = true 702ee81decSopenharmony_ci boundary_sanitize = true 712ee81decSopenharmony_ci cfi = true 722ee81decSopenharmony_ci cfi_cross_dso = true 732ee81decSopenharmony_ci blocklist = "../../cfi_blocklist.txt" 742ee81decSopenharmony_ci } 752ee81decSopenharmony_ci branch_protector_ret = "pac_ret" 762ee81decSopenharmony_ci 772ee81decSopenharmony_ci sources += [ "src/utils_timer.cpp" ] 782ee81decSopenharmony_ci 792ee81decSopenharmony_ci external_deps = [ 802ee81decSopenharmony_ci "cJSON:cjson", 812ee81decSopenharmony_ci "c_utils:utils", 822ee81decSopenharmony_ci "hilog:libhilog", 832ee81decSopenharmony_ci ] 842ee81decSopenharmony_ci } 852ee81decSopenharmony_ci 862ee81decSopenharmony_ci part_name = "device_security_level" 872ee81decSopenharmony_ci subsystem_name = "security" 882ee81decSopenharmony_ci} 89