• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2021 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/config.gni")
16
17## Build so {{{
18config("config") {
19  visibility = [ ":*" ]
20
21  cflags = [
22    "-Wall",
23    "-Werror",
24    "-g3",
25    "-Wunused-variable",
26    "-Wno-unused-but-set-variable",
27  ]
28  cflags_cc = [ "-fexceptions" ]
29}
30
31config("public_config") {
32  include_dirs = [
33    ".",
34    "include",
35    "interface",
36    "cmds",
37    "cmds/include",
38    "collector",
39    "collector/include",
40    "scenarios",
41    "scenarios/include",
42    "services/ipc",
43    "services/ipc/include",
44    "services/task_mgr",
45    "services/task_mgr/include",
46    "utils",
47    "utils/include",
48  ]
49}
50
51ohos_shared_headers("smartperf_daemon") {
52  include_dirs = [
53    "interface"
54  ]
55
56  subsystem_name = "${OHOS_SMARTPERF_DEVICE_SUBSYS_NAME}"
57  part_name = "${OHOS_SMARTPERF_DEVICE_PART_NAME}"
58}
59
60ohos_executable("SP_daemon") {
61  sources = [
62    "collector/src/AI_schedule.cpp",
63    "collector/src/ByTrace.cpp",
64    "collector/src/CPU.cpp",
65    "collector/src/Capture.cpp",
66    "collector/src/DDR.cpp",
67    "collector/src/Dubai.cpp",
68    "collector/src/FPS.cpp",
69    "collector/src/FileDescriptor.cpp",
70    "collector/src/GPU.cpp",
71    "collector/src/GameEvent.cpp",
72    "collector/src/GpuCounter.cpp",
73    "collector/src/GpuCounterCallback.cpp",
74    "collector/src/Network.cpp",
75    "collector/src/Power.cpp",
76    "collector/src/RAM.cpp",
77    "collector/src/Temperature.cpp",
78    "collector/src/Threads.cpp",
79    "collector/src/cpu_info.cpp",
80    "collector/src/hiperf.cpp",
81    "collector/src/lock_frequency.cpp",
82    "collector/src/effective.cpp",
83    "collector/src/navigation.cpp",
84    "collector/src/parse_slide_fps_trace.cpp",
85    "collector/src/sdk_data_recv.cpp",
86    "cmds/src/client_control.cpp",
87    "cmds/src/control_call_cmd.cpp",
88    "cmds/src/editor_command.cpp",
89    "cmds/src/smartperf_command.cpp",
90    "utils/src/GetLog.cpp",
91    "utils/src/service_plugin.cpp",
92    "utils/src/sp_log.cpp",
93    "utils/src/sp_utils.cpp",
94    "utils/src/startup_delay.cpp",
95    "utils/src/sp_profiler_factory.cpp",
96    "scenarios/src/parse_click_complete_trace.cpp",
97    "scenarios/src/parse_click_response_trace.cpp",
98    "scenarios/src/parse_radar.cpp",
99    "scenarios/src/stalling_rate_trace.cpp",
100    "services/ipc/src/sp_server_socket.cpp",
101    "services/ipc/src/sp_thread_socket.cpp",
102    "services/task_mgr/src/sp_task.cpp",
103    "heartbeat.cpp",
104    "smartperf_main.cpp",
105  ]
106
107  sources += [
108    "services/task_mgr/src/argument_parser.cpp",
109    "services/task_mgr/src/task_manager.cpp",
110    "services/task_mgr/src/thread_pool.cpp",
111  ]
112
113  cflags = [
114    "-O2",
115    "-ffunction-sections",
116    "-fdata-sections",
117    "-fvisibility=hidden",
118    "-flto",
119  ]
120  ldflags = [
121    "-Wl,--gc-sections",
122    "-flto",
123  ]
124  public_configs = [ ":public_config" ]
125  configs = [ ":config" ]
126  deps = [
127    ":smartperf_daemon"
128  ]
129  subsystem_name = "${OHOS_SMARTPERF_DEVICE_SUBSYS_NAME}"
130  part_name = "${OHOS_SMARTPERF_DEVICE_PART_NAME}"
131  external_deps = [
132    "ability_base:want",
133    "c_utils:utils",
134    "common_event_service:cesfwk_innerkits",
135    "graphic_2d:librender_service_base",
136    "graphic_2d:librender_service_client",
137    "hilog:libhilog",
138    "hisysevent:libhisysevent",
139    "hiview:libucollection_utility",
140    "image_framework:image_native",
141    "init:libbegetutil",
142    "ipc:ipc_core",
143    "libpng:libpng",
144    "samgr:samgr_proxy",
145    "window_manager:libdm",
146    "window_manager:libwm",
147  ]
148  defines = [
149    "HI_LOG_ENABLE",
150    "LOG_DOMAIN = 0xD004100",
151  ]
152  if (smartperf_arkxtest_able) {
153    external_deps += [ "arkxtest:test_server_client" ]
154    defines += [ "ARKTEST_ENABLE" ]
155  }
156}
157## Build so }}}
158