• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2024 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("//build/test.gni")
16import("../../ressched/ressched.gni")
17import("../ressched_executor.gni")
18
19config("service_public_config") {
20  include_dirs = [
21    "${ressched_common}/include",
22    "${resschedexe_common}/include",
23    "${resschedexe_plugins}/pluginbase/include",
24    "${resschedexe_plugins}/resschedfwk/include",
25    "resschedexemgr/include",
26  ]
27}
28
29config("service_private_config") {
30  include_dirs = [ "resschedexeservice/include" ]
31}
32
33ohos_shared_library("resschedexesvc") {
34  cflags_cc = [ "-fstack-protector-strong" ]
35  configs = [ ":service_private_config" ]
36
37  public_configs = [ ":service_public_config" ]
38
39  defines = []
40
41  include_dirs = []
42
43  sources = [
44    "${resschedexe_common}/src/executor_hitrace_chain.cpp",
45    "${resschedexe_plugins}/resschedfwk/src/config_reader.cpp",
46    "${resschedexe_plugins}/resschedfwk/src/plugin_mgr.cpp",
47    "${resschedexe_plugins}/resschedfwk/src/plugin_switch.cpp",
48    "resschedexemgr/src/res_sched_exe_mgr.cpp",
49    "resschedexeservice/src/res_sched_exe_service.cpp",
50  ]
51
52  deps = [
53    "${resourcescheduleservice_path}/ressched/plugins/cgroup_sched_plugin/framework/process_group:libprocess_group",
54    "${ressched_common}:ressched_common_utils",
55    "${resschedexe_interfaces}/innerkits/ressched_executor_client:res_sched_exe_service_stub",
56    "${resschedexe_interfaces}/innerkits/ressched_executor_client:resschedexe_client",
57  ]
58
59  external_deps = [
60    "access_token:libaccesstoken_sdk",
61    "access_token:libtokenid_sdk",
62    "config_policy:configpolicy_util",
63    "ffrt:libffrt",
64    "hilog:libhilog",
65    "hisysevent:libhisysevent",
66    "hisysevent:libhisyseventmanager",
67    "hitrace:hitrace_meter",
68    "hitrace:libhitracechain",
69    "init:libbegetutil",
70    "ipc:ipc_single",
71    "libxml2:libxml2",
72    "safwk:system_ability_fwk",
73    "samgr:samgr_proxy",
74  ]
75
76  public_external_deps = [
77    "c_utils:utils",
78    "eventhandler:libeventhandler",
79  ]
80
81  if (resource_schedule_service_with_ffrt_enable) {
82    defines += [ "RESOURCE_SCHEDULE_SERVICE_WITH_FFRT_ENABLE" ]
83  }
84
85  version_script = "libresschedexeservice.versionscript"
86  shlib_type = "sa"
87  subsystem_name = "resourceschedule"
88  part_name = "resource_schedule_service"
89
90  branch_protector_ret = "pac_ret"
91
92  sanitize = {
93    cfi = true
94    cfi_cross_dso = true
95    debug = false
96  }
97}
98
99# for unittest
100ohos_static_library("resschedexesvc_static") {
101  configs = []
102
103  public_configs = [
104    ":service_private_config",
105    ":service_public_config",
106  ]
107
108  defines = []
109
110  include_dirs = []
111
112  sources = [
113    "${resschedexe_common}/src/executor_hitrace_chain.cpp",
114    "${resschedexe_plugins}/resschedfwk/src/config_reader.cpp",
115    "${resschedexe_plugins}/resschedfwk/src/plugin_mgr.cpp",
116    "${resschedexe_plugins}/resschedfwk/src/plugin_switch.cpp",
117    "resschedexemgr/src/res_sched_exe_mgr.cpp",
118    "resschedexeservice/src/res_sched_exe_service.cpp",
119  ]
120
121  deps = [
122    "${resourcescheduleservice_path}/ressched/plugins/cgroup_sched_plugin/framework/process_group:libprocess_group",
123    "${resschedexe_interfaces}/innerkits/ressched_executor_client:res_sched_exe_service_stub",
124    "${resschedexe_interfaces}/innerkits/ressched_executor_client:resschedexe_client",
125  ]
126
127  external_deps = [
128    "access_token:libaccesstoken_sdk",
129    "access_token:libtokenid_sdk",
130    "config_policy:configpolicy_util",
131    "ffrt:libffrt",
132    "hilog:libhilog",
133    "hisysevent:libhisysevent",
134    "hisysevent:libhisyseventmanager",
135    "hitrace:hitrace_meter",
136    "hitrace:libhitracechain",
137    "init:libbegetutil",
138    "ipc:ipc_single",
139    "samgr:samgr_proxy",
140  ]
141
142  public_external_deps = [
143    "c_utils:utils",
144    "eventhandler:libeventhandler",
145    "libxml2:libxml2",
146    "safwk:system_ability_fwk",
147  ]
148
149  if (resource_schedule_service_with_ffrt_enable) {
150    defines += [ "RESOURCE_SCHEDULE_SERVICE_WITH_FFRT_ENABLE" ]
151  }
152
153  subsystem_name = "resourceschedule"
154  part_name = "resource_schedule_service"
155
156  branch_protector_ret = "pac_ret"
157
158  sanitize = {
159    cfi = true
160    cfi_cross_dso = true
161    debug = false
162  }
163}
164