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