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_ci# oem_common_obj object
182ee81decSopenharmony_ciohos_source_set("oem_common_obj") {
192ee81decSopenharmony_ci  sources = [
202ee81decSopenharmony_ci    "dslm_credential.c",
212ee81decSopenharmony_ci    "dslm_credential_utils.c",
222ee81decSopenharmony_ci  ]
232ee81decSopenharmony_ci
242ee81decSopenharmony_ci  include_dirs = [
252ee81decSopenharmony_ci    "../../common/include",
262ee81decSopenharmony_ci    "../../interfaces/inner_api/include",
272ee81decSopenharmony_ci    "../include",
282ee81decSopenharmony_ci  ]
292ee81decSopenharmony_ci
302ee81decSopenharmony_ci  deps = [ "../../baselib/utils:utils_static" ]
312ee81decSopenharmony_ci
322ee81decSopenharmony_ci  if (defined(ohos_lite)) {
332ee81decSopenharmony_ci    if (ohos_kernel_type == "linux" || ohos_kernel_type == "liteos_a") {
342ee81decSopenharmony_ci      deps += [ "//third_party/openssl/ohos_lite:openssl_shared" ]
352ee81decSopenharmony_ci      external_deps = [ "hilog_lite:hilog_shared" ]
362ee81decSopenharmony_ci    } else if (ohos_kernel_type == "liteos_m") {
372ee81decSopenharmony_ci      deps += [ "$dslm_hilog_path/featured:hilog_static" ]
382ee81decSopenharmony_ci    }
392ee81decSopenharmony_ci  } else {
402ee81decSopenharmony_ci    sanitize = {
412ee81decSopenharmony_ci      integer_overflow = true
422ee81decSopenharmony_ci      ubsan = true
432ee81decSopenharmony_ci      boundary_sanitize = true
442ee81decSopenharmony_ci      cfi = true
452ee81decSopenharmony_ci      cfi_cross_dso = true
462ee81decSopenharmony_ci      blocklist = "../../cfi_blocklist.txt"
472ee81decSopenharmony_ci    }
482ee81decSopenharmony_ci    branch_protector_ret = "pac_ret"
492ee81decSopenharmony_ci
502ee81decSopenharmony_ci    external_deps = [
512ee81decSopenharmony_ci      "c_utils:utils",
522ee81decSopenharmony_ci      "hilog:libhilog",
532ee81decSopenharmony_ci      "openssl:libcrypto_shared",
542ee81decSopenharmony_ci    ]
552ee81decSopenharmony_ci  }
562ee81decSopenharmony_ci  configs = [
572ee81decSopenharmony_ci    "../../common:common_configs",
582ee81decSopenharmony_ci    "../../common:common_lite_configs",
592ee81decSopenharmony_ci  ]
602ee81decSopenharmony_ci
612ee81decSopenharmony_ci  part_name = "device_security_level"
622ee81decSopenharmony_ci  subsystem_name = "security"
632ee81decSopenharmony_ci}
64