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# messenger_static lib
182ee81decSopenharmony_ciconfig("messenger_static_config") {
192ee81decSopenharmony_ci  include_dirs = [ "include" ]
202ee81decSopenharmony_ci}
212ee81decSopenharmony_ci
222ee81decSopenharmony_ciohos_static_library("messenger_static") {
232ee81decSopenharmony_ci  include_dirs = [
242ee81decSopenharmony_ci    "include",
252ee81decSopenharmony_ci    "src/common",
262ee81decSopenharmony_ci    "src/utils",
272ee81decSopenharmony_ci  ]
282ee81decSopenharmony_ci
292ee81decSopenharmony_ci  sources = [
302ee81decSopenharmony_ci    "src/common/messenger.c",
312ee81decSopenharmony_ci    "src/utils/messenger_utils.c",
322ee81decSopenharmony_ci  ]
332ee81decSopenharmony_ci
342ee81decSopenharmony_ci  deps = [ "../utils:utils_static" ]
352ee81decSopenharmony_ci
362ee81decSopenharmony_ci  if (defined(ohos_lite)) {
372ee81decSopenharmony_ci    sources += [
382ee81decSopenharmony_ci      "src/lite/messenger_device_session_manager.c",
392ee81decSopenharmony_ci      "src/lite/messenger_device_status_manager.c",
402ee81decSopenharmony_ci      "src/lite/messenger_impl.c",
412ee81decSopenharmony_ci    ]
422ee81decSopenharmony_ci    if (ohos_kernel_type == "linux" || ohos_kernel_type == "liteos_a") {
432ee81decSopenharmony_ci      deps += [
442ee81decSopenharmony_ci        "$dslm_dsoftbus_path/sdk:softbus_client",
452ee81decSopenharmony_ci        "$dslm_hilog_path/featured:hilog_shared",
462ee81decSopenharmony_ci      ]
472ee81decSopenharmony_ci    } else if (ohos_kernel_type == "liteos_m") {
482ee81decSopenharmony_ci      deps += [
492ee81decSopenharmony_ci        "$dslm_dsoftbus_path/sdk:softbus_client",
502ee81decSopenharmony_ci        "$dslm_hilog_path/featured:hilog_static",
512ee81decSopenharmony_ci      ]
522ee81decSopenharmony_ci    }
532ee81decSopenharmony_ci  } else {
542ee81decSopenharmony_ci    sources += [
552ee81decSopenharmony_ci      "src/standard/messenger_device_socket_manager.c",
562ee81decSopenharmony_ci      "src/standard/messenger_device_status_manager.cpp",
572ee81decSopenharmony_ci      "src/standard/messenger_impl.c",
582ee81decSopenharmony_ci    ]
592ee81decSopenharmony_ci    sanitize = {
602ee81decSopenharmony_ci      integer_overflow = true
612ee81decSopenharmony_ci      ubsan = true
622ee81decSopenharmony_ci      boundary_sanitize = true
632ee81decSopenharmony_ci      cfi = true
642ee81decSopenharmony_ci      cfi_cross_dso = true
652ee81decSopenharmony_ci      blocklist = "../../cfi_blocklist.txt"
662ee81decSopenharmony_ci    }
672ee81decSopenharmony_ci    branch_protector_ret = "pac_ret"
682ee81decSopenharmony_ci
692ee81decSopenharmony_ci    external_deps = [
702ee81decSopenharmony_ci      "c_utils:utils",
712ee81decSopenharmony_ci      "device_manager:devicemanagersdk",
722ee81decSopenharmony_ci      "dsoftbus:softbus_client",
732ee81decSopenharmony_ci      "hilog:libhilog",
742ee81decSopenharmony_ci    ]
752ee81decSopenharmony_ci  }
762ee81decSopenharmony_ci
772ee81decSopenharmony_ci  configs = [
782ee81decSopenharmony_ci    "../../common:common_configs",
792ee81decSopenharmony_ci    "../../common:common_lite_configs",
802ee81decSopenharmony_ci  ]
812ee81decSopenharmony_ci
822ee81decSopenharmony_ci  public_configs = [ ":messenger_static_config" ]
832ee81decSopenharmony_ci  part_name = "device_security_level"
842ee81decSopenharmony_ci  subsystem_name = "security"
852ee81decSopenharmony_ci}
86