# Copyright (c) 2021-2024 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import("../../../../dsoftbus.gni")

softbus_permission_external_deps = []

if (defined(ohos_lite)) {
  softbus_permission_inc = [
    "$dsoftbus_core_path/common/security/permission/include",
    "//foundation/communication/ipc/interfaces/innerkits/c/ipc/include",
    "//base/security/permission_lite/interfaces/kits",
  ]
  if (ohos_kernel_type == "liteos_m") {
    softbus_permission_src = [ "$dsoftbus_core_path/common/security/permission/mini/softbus_permission.c" ]
    softbus_permission_deps = []
  } else {
    softbus_permission_src = [
      "$dsoftbus_core_path/common/security/permission/common/permission_entry.c",
      "$dsoftbus_core_path/common/security/permission/small/permission_utils.c",
      "$dsoftbus_core_path/common/security/permission/small/softbus_permission.c",
    ]
    softbus_permission_deps = [
      "//base/security/permission_lite/services/pms_client:pms_client",
      "//foundation/communication/ipc/interfaces/innerkits/c/ipc:ipc_single",
    ]
  }
  softbus_permission_src += [ "$dsoftbus_core_path/common/security/permission/standard/access_control_virtual.c" ]
} else {
  softbus_permission_inc =
      [ "$dsoftbus_core_path/common/security/permission/include" ]
  softbus_permission_src = [
    "$dsoftbus_core_path/common/security/permission/common/permission_entry.c",
    "$dsoftbus_core_path/common/security/permission/$os_type/permission_utils.cpp",
    "$dsoftbus_core_path/common/security/permission/$os_type/softbus_permission.cpp",
  ]
  softbus_permission_deps = []
  softbus_permission_external_deps += [
    "cJSON:cjson",
    "c_utils:utils",
  ]
  if (!defined(global_parts_info) ||
      defined(global_parts_info.ability_ability_runtime)) {
    softbus_permission_external_deps += [ "ability_runtime:app_manager" ]
  }
  if (!defined(global_parts_info) ||
      defined(global_parts_info.deviceprofile_device_info_manager)) {
    softbus_permission_external_deps += [
      "device_info_manager:distributed_device_profile_common",
      "device_info_manager:distributed_device_profile_sdk",
    ]
    softbus_permission_src += [ "$dsoftbus_core_path/common/security/permission/standard/access_control.cpp" ]
  } else {
    softbus_permission_src += [ "$dsoftbus_core_path/common/security/permission/standard/access_control_virtual.c" ]
  }
}