15ba71b47Sopenharmony_ci# Copyright (c) 2021-2022 Huawei Device Co., Ltd.
25ba71b47Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
35ba71b47Sopenharmony_ci# you may not use this file except in compliance with the License.
45ba71b47Sopenharmony_ci# You may obtain a copy of the License at
55ba71b47Sopenharmony_ci#
65ba71b47Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
75ba71b47Sopenharmony_ci#
85ba71b47Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
95ba71b47Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
105ba71b47Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
115ba71b47Sopenharmony_ci# See the License for the specific language governing permissions and
125ba71b47Sopenharmony_ci# limitations under the License.
135ba71b47Sopenharmony_ci
145ba71b47Sopenharmony_ciimport("//build/ohos.gni")
155ba71b47Sopenharmony_ciimport("//build/ohos_var.gni")
165ba71b47Sopenharmony_ci
175ba71b47Sopenharmony_ciconfig("samgr_proxy_config") {
185ba71b47Sopenharmony_ci  include_dirs = [ "include" ]
195ba71b47Sopenharmony_ci}
205ba71b47Sopenharmony_ci
215ba71b47Sopenharmony_ciconfig("lsamgr_proxy_config") {
225ba71b47Sopenharmony_ci  include_dirs =
235ba71b47Sopenharmony_ci      [ "//foundation/systemabilitymgr/samgr/services/lsamgr/include" ]
245ba71b47Sopenharmony_ci}
255ba71b47Sopenharmony_ci
265ba71b47Sopenharmony_ciconfig("samgr_proxy_private_config") {
275ba71b47Sopenharmony_ci  include_dirs = [
285ba71b47Sopenharmony_ci    "include",
295ba71b47Sopenharmony_ci    "//foundation/systemabilitymgr/samgr/interfaces/innerkits/lsamgr",
305ba71b47Sopenharmony_ci    "//foundation/systemabilitymgr/samgr/interfaces/innerkits/samgr_proxy/include",
315ba71b47Sopenharmony_ci    "//foundation/systemabilitymgr/samgr/services/lsamgr/include",
325ba71b47Sopenharmony_ci    "//foundation/systemabilitymgr/samgr/services/samgr/native/include",
335ba71b47Sopenharmony_ci    "//foundation/systemabilitymgr/samgr/interfaces/innerkits/dynamic_cache/include",
345ba71b47Sopenharmony_ci    "//foundation/systemabilitymgr/samgr/utils/native/include",
355ba71b47Sopenharmony_ci  ]
365ba71b47Sopenharmony_ci}
375ba71b47Sopenharmony_ci
385ba71b47Sopenharmony_ciohos_shared_library("samgr_proxy") {
395ba71b47Sopenharmony_ci  sanitize = {
405ba71b47Sopenharmony_ci    cfi = true
415ba71b47Sopenharmony_ci    cfi_cross_dso = true
425ba71b47Sopenharmony_ci    debug = false
435ba71b47Sopenharmony_ci    cfi_no_nvcall = true
445ba71b47Sopenharmony_ci    blocklist = "../../../cfi_blocklist.txt"
455ba71b47Sopenharmony_ci  }
465ba71b47Sopenharmony_ci  branch_protector_ret = "pac_ret"
475ba71b47Sopenharmony_ci
485ba71b47Sopenharmony_ci  version_script = "libsamgr_proxy.versionscript"
495ba71b47Sopenharmony_ci  defines = [ "SAMGR_PROXY" ]
505ba71b47Sopenharmony_ci  sources = [
515ba71b47Sopenharmony_ci    "//foundation/systemabilitymgr/samgr/frameworks/native/source/system_ability_load_callback_stub.cpp",
525ba71b47Sopenharmony_ci    "//foundation/systemabilitymgr/samgr/frameworks/native/source/system_ability_manager_proxy.cpp",
535ba71b47Sopenharmony_ci    "//foundation/systemabilitymgr/samgr/frameworks/native/source/system_ability_on_demand_event.cpp",
545ba71b47Sopenharmony_ci    "//foundation/systemabilitymgr/samgr/frameworks/native/source/system_ability_status_change_stub.cpp",
555ba71b47Sopenharmony_ci    "//foundation/systemabilitymgr/samgr/frameworks/native/source/system_process_status_change_stub.cpp",
565ba71b47Sopenharmony_ci    "//foundation/systemabilitymgr/samgr/services/lsamgr/src/local_ability_manager_proxy.cpp",
575ba71b47Sopenharmony_ci    "//foundation/systemabilitymgr/samgr/services/lsamgr/src/local_abilitys.cpp",
585ba71b47Sopenharmony_ci    "//foundation/systemabilitymgr/samgr/services/samgr/native/source/service_registry.cpp",
595ba71b47Sopenharmony_ci  ]
605ba71b47Sopenharmony_ci  configs = [
615ba71b47Sopenharmony_ci    ":samgr_proxy_private_config",
625ba71b47Sopenharmony_ci    "//foundation/systemabilitymgr/samgr/test/resource:coverage_flags",
635ba71b47Sopenharmony_ci  ]
645ba71b47Sopenharmony_ci
655ba71b47Sopenharmony_ci  deps = [ "//foundation/systemabilitymgr/samgr/interfaces/innerkits/dynamic_cache:dynamic_cache" ]
665ba71b47Sopenharmony_ci
675ba71b47Sopenharmony_ci  public_configs = [
685ba71b47Sopenharmony_ci    ":lsamgr_proxy_config",
695ba71b47Sopenharmony_ci    ":samgr_proxy_config",
705ba71b47Sopenharmony_ci  ]
715ba71b47Sopenharmony_ci  all_dependent_configs = [ ":samgr_proxy_config" ]
725ba71b47Sopenharmony_ci
735ba71b47Sopenharmony_ci  if (is_standard_system) {
745ba71b47Sopenharmony_ci    external_deps = [
755ba71b47Sopenharmony_ci      "c_utils:utils",
765ba71b47Sopenharmony_ci      "hilog:libhilog",
775ba71b47Sopenharmony_ci      "init:libbegetutil",
785ba71b47Sopenharmony_ci      "ipc:ipc_single",
795ba71b47Sopenharmony_ci      "json:nlohmann_json_static",
805ba71b47Sopenharmony_ci    ]
815ba71b47Sopenharmony_ci
825ba71b47Sopenharmony_ci    part_name = "samgr"
835ba71b47Sopenharmony_ci  }
845ba71b47Sopenharmony_ci
855ba71b47Sopenharmony_ci  innerapi_tags = [
865ba71b47Sopenharmony_ci    "chipsetsdk",
875ba71b47Sopenharmony_ci    "platformsdk",
885ba71b47Sopenharmony_ci    "sasdk",
895ba71b47Sopenharmony_ci  ]
905ba71b47Sopenharmony_ci  install_images = [
915ba71b47Sopenharmony_ci    system_base_dir,
925ba71b47Sopenharmony_ci    updater_base_dir,
935ba71b47Sopenharmony_ci  ]
945ba71b47Sopenharmony_ci  subsystem_name = "systemabilitymgr"
955ba71b47Sopenharmony_ci}
96