1# Copyright (c) 2022-2023 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14import("//build/ohos.gni")
15import("../../ressched.gni")
16
17config("socperf_plugin_config") {
18  include_dirs = [
19    "include",
20    "${ressched_common}/include",
21    "${ressched_interfaces}/innerkits/ressched_client/include",
22  ]
23}
24
25ohos_shared_library("socperf_plugin") {
26  public_configs = [ ":socperf_plugin_config" ]
27
28  sources = [ "src/socperf_plugin.cpp" ]
29
30  deps = [ "${ressched_services}:resschedsvc" ]
31
32  external_deps = [
33    "ability_runtime:app_manager",
34    "bundle_framework:appexecfwk_core",
35    "c_utils:utils",
36    "ffrt:libffrt",
37    "hilog:libhilog",
38    "ipc:ipc_single",
39    "samgr:samgr_proxy",
40  ]
41  defines = []
42  if (ressched_with_resourceschedule_soc_perf_enable) {
43    external_deps += [ "soc_perf:socperf_client" ]
44    defines += [ "RESSCHED_RESOURCESCHEDULE_SOC_PERF_ENABLE" ]
45  }
46  subsystem_name = "resourceschedule"
47  part_name = "resource_schedule_service"
48  branch_protector_ret = "pac_ret"
49
50  sanitize = {
51    cfi = true
52    cfi_cross_dso = true
53    debug = false
54  }
55}
56