1# Copyright (C) 2022 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("../../../frameaware.gni")
16
17config("frame_ui_intf_config") {
18  visibility = [ ":*" ]
19
20  include_dirs = [
21    "./",
22    "../../../common/include",
23    "../../../frameworks/core/frame_aware_collector/include",
24  ]
25}
26
27config("frame_trace_intf_config") {
28  visibility = [ ":*" ]
29  include_dirs = [ "./" ]
30}
31
32config("rtg_interface_config") {
33  visibility = [ ":*" ]
34  include_dirs = [
35    "./",
36    "../../../common/include",
37  ]
38}
39
40ohos_shared_library("frame_trace_intf") {
41  branch_protector_ret = "pac_ret"
42  sanitize = {
43    cfi = true
44    cfi_cross_dso = true
45    debug = false
46  }
47
48  sources = [ "frame_trace.cpp" ]
49
50  cflags = [ "-fstack-protector-strong" ]
51
52  public_configs = [ ":frame_trace_intf_config" ]
53
54  subsystem_name = "resourceschedule"
55  innerapi_tags = [ "platformsdk_indirect" ]
56  part_name = "frame_aware_sched"
57}
58
59ohos_shared_library("frame_ui_intf") {
60  branch_protector_ret = "pac_ret"
61  sanitize = {
62    cfi = true
63    cfi_cross_dso = true
64    debug = false
65  }
66
67  sources = [
68    "../../../frameworks/core/frame_aware_collector/src/frame_msg_mgr.cpp",
69    "../../../frameworks/core/frame_aware_collector/src/frame_window_mgr.cpp",
70    "../../../frameworks/core/frame_aware_collector/src/rme_core_sched.cpp",
71    "../../../frameworks/core/frame_aware_collector/src/rme_scene_sched.cpp",
72    "frame_ui_intf.cpp",
73    "rtg_interface.cpp",
74  ]
75
76  cflags = [
77    "-Wno-shift-negative-value",
78    "-fstack-protector-strong",
79  ]
80
81  configs = [ ":frame_ui_intf_config" ]
82
83  external_deps = [
84    "c_utils:utils",
85    "hilog:libhilog",
86    "hitrace:hitrace_meter",
87  ]
88
89  innerapi_tags = [ "platformsdk" ]
90  subsystem_name = "resourceschedule"
91  part_name = "frame_aware_sched"
92}
93
94config("frame_msg_intf_config") {
95  visibility = [ ":*" ]
96  visibility += [ "../../../test/*" ]
97
98  include_dirs = [
99    "./",
100    "../../../frameworks/core/frame_aware_policy/include",
101    "../../../common/include",
102    "../../../qos_manager/include",
103  ]
104}
105
106ohos_shared_library("frame_msg_intf") {
107  branch_protector_ret = "pac_ret"
108  sanitize = {
109    cfi = true
110    cfi_cross_dso = true
111    debug = false
112  }
113
114  sources = [
115    "../../../frameworks/core/frame_aware_policy/src/app_info.cpp",
116    "../../../frameworks/core/frame_aware_policy/src/intellisense_server.cpp",
117    "../../../frameworks/core/frame_aware_policy/src/para_config.cpp",
118    "../../../qos_manager/src/qos_common.cpp",
119    "frame_msg_intf.cpp",
120    "rtg_interface.cpp",
121  ]
122
123  cflags = [
124    "-Wno-shift-negative-value",
125    "-fstack-protector-strong",
126  ]
127
128  public_configs = [ ":frame_msg_intf_config" ]
129
130  external_deps = [
131    "c_utils:utils",
132    "eventhandler:libeventhandler",
133    "ffrt:libffrt",
134    "hilog:libhilog",
135    "hitrace:hitrace_meter",
136    "libxml2:libxml2",
137  ]
138
139  subsystem_name = "resourceschedule"
140  part_name = "frame_aware_sched"
141}
142
143ohos_shared_library("rtg_interface") {
144  branch_protector_ret = "pac_ret"
145  sanitize = {
146    cfi = true
147    cfi_cross_dso = true
148    debug = false
149  }
150
151  sources = [ "rtg_interface.cpp" ]
152
153  cflags = [
154    "-Wno-shift-negative-value",
155    "-fstack-protector-strong",
156  ]
157
158  public_configs = [ ":rtg_interface_config" ]
159
160  include_dirs = [ "../../../common/include" ]
161
162  external_deps = [
163    "bounds_checking_function:libsec_shared",
164    "hilog:libhilog",
165  ]
166
167  install_enable = true
168  subsystem_name = "resourceschedule"
169  part_name = "frame_aware_sched"
170}
171