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("../../hidumper.gni") 15 16config("hidumper_include") { 17 include_dirs = [ 18 ".", 19 "${hidumper_frameworks_path}/include", 20 ] 21} 22 23ohos_source_set("dump_main") { 24 sources = [ 25 "dump_utils.cpp", 26 "src/common/dump_cfg.cpp", 27 "src/common/dumper_opts.cpp", 28 "src/common/dumper_parameter.cpp", 29 "src/common/option_args.cpp", 30 "src/executor/api_dumper.cpp", 31 "src/executor/cmd_dumper.cpp", 32 "src/executor/column_rows_filter.cpp", 33 "src/executor/cpu_dumper.cpp", 34 "src/executor/dumper_group.cpp", 35 "src/executor/env_param_dumper.cpp", 36 "src/executor/fd_output.cpp", 37 "src/executor/file_format_dump_filter.cpp", 38 "src/executor/file_stream_dumper.cpp", 39 "src/executor/hidumper_executor.cpp", 40 "src/executor/ipc_stat_dumper.cpp", 41 "src/executor/jsheap_memory_dumper.cpp", 42 "src/executor/list_dumper.cpp", 43 "src/executor/memory/dump_jsheap_info.cpp", 44 "src/executor/memory_dumper.cpp", 45 "src/executor/properties_dumper.cpp", 46 "src/executor/sa_dumper.cpp", 47 "src/executor/traffic_dumper.cpp", 48 "src/executor/version_dumper.cpp", 49 "src/executor/zip_output.cpp", 50 "src/executor/zipfolder_output.cpp", 51 "src/factory/api_dumper_factory.cpp", 52 "src/factory/cmd_dumper_factory.cpp", 53 "src/factory/column_rows_filter_factory.cpp", 54 "src/factory/cpu_dumper_factory.cpp", 55 "src/factory/dumper_group_factory.cpp", 56 "src/factory/env_param_dumper_factory.cpp", 57 "src/factory/fd_output_factory.cpp", 58 "src/factory/file_dumper_factory.cpp", 59 "src/factory/file_format_dump_filter_factory.cpp", 60 "src/factory/ipc_stat_dumper_factory.cpp", 61 "src/factory/jsheap_memory_dumper_factory.cpp", 62 "src/factory/list_dumper_factory.cpp", 63 "src/factory/memory_dumper_factory.cpp", 64 "src/factory/properties_dumper_factory.cpp", 65 "src/factory/sa_dumper_factory.cpp", 66 "src/factory/traffic_dumper_factory.cpp", 67 "src/factory/version_dumper_factory.cpp", 68 "src/factory/zip_output_factory.cpp", 69 "src/manager/dump_implement.cpp", 70 "src/util/config_data.cpp", 71 "src/util/config_utils.cpp", 72 "src/util/dump_compressor.cpp", 73 "src/util/file_utils.cpp", 74 "src/util/string_utils.cpp", 75 "src/util/zip/zip_writer.cpp", 76 "src/util/zip_utils.cpp", 77 ] 78 79 configs = [ 80 "${hidumper_utils_path}:utils_config", 81 "${hidumper_service_path}:interface_include", 82 "${hidumper_service_path}:zidl_config", 83 "${hidumper_service_path}:service_config", 84 ":hidumper_include", 85 ] 86 87 deps = [ "${hidumper_utils_path}:utils" ] 88 89 external_deps = [ 90 "ability_base:want", 91 "c_utils:utils", 92 "hdf_core:libhdi", 93 "hilog:libhilog", 94 "hiview:libucollection_utility", 95 "init:libbegetutil", 96 "ipc:ipc_core", 97 "safwk:system_ability_fwk", 98 "samgr:samgr_proxy", 99 "zlib:shared_libz", 100 ] 101 defines = [] 102 103 if (hidumper_ability_runtime_enable) { 104 external_deps += [ "ability_runtime:app_manager" ] 105 defines += [ "HIDUMPER_ABILITY_RUNTIME_ENABLE" ] 106 } 107 108 if (hidumper_netmanager_base_enable) { 109 external_deps += [ "netmanager_base:net_stats_manager_if" ] 110 defines += [ "HIDUMPER_NETMANAGER_BASE_ENABLE" ] 111 } 112 113 if (hidumper_bundlemanager_framework_enable) { 114 external_deps += [ 115 "bundle_framework:appexecfwk_base", 116 "bundle_framework:appexecfwk_core", 117 ] 118 defines += [ "HIDUMPER_BUNDLEMANAGER_FRAMEWORK_ENABLE" ] 119 } 120 121 if (hidumper_hiviewdfx_hisysevent_enable) { 122 external_deps += [ "hisysevent:libhisysevent" ] 123 defines += [ "HIDUMPER_HIVIEWDFX_HISYSEVENT_ENABLE" ] 124 } 125 126 if (hidumper_hiviewdfx_hiview_enable) { 127 defines += [ "HIDUMPER_HIVIEWDFX_HIVIEW_ENABLE" ] 128 } 129 130 subsystem_name = "hiviewdfx" 131 132 part_name = "hidumper" 133} 134 135ohos_source_set("hidumperclient_source") { 136 sources = [ 137 "${hidumper_client_path}/native/dump_client_main.cpp", 138 "dump_utils.cpp", 139 ] 140 141 configs = [ 142 "${hidumper_utils_path}:utils_config", 143 "${hidumper_service_path}:interface_include", 144 "${hidumper_service_path}:zidl_config", 145 "${hidumper_service_path}:service_config", 146 ":hidumper_include", 147 ] 148 149 deps = [ 150 "${hidumper_service_path}:hidumper_client", 151 "${hidumper_utils_path}:utils", 152 ] 153 154 external_deps = [ 155 "c_utils:utils", 156 "eventhandler:libeventhandler", 157 "hilog:libhilog", 158 "init:libbegetutil", 159 "ipc:ipc_core", 160 "safwk:system_ability_fwk", 161 "samgr:samgr_proxy", 162 ] 163 subsystem_name = "hiviewdfx" 164 part_name = "hidumper" 165} 166 167ohos_shared_library("hidumperclient") { 168 install_enable = true 169 deps = [ ":hidumperclient_source" ] 170 external_deps = [ "hilog:libhilog" ] 171 version_script = "${hidumper_service_path}/hidumper.map" 172 subsystem_name = "hiviewdfx" 173 part_name = "hidumper" 174} 175 176ohos_executable("hidumper") { 177 install_enable = true 178 179 sources = [ "${hidumper_client_path}/native/main.cpp" ] 180 181 configs = [ 182 "${hidumper_utils_path}:utils_config", 183 "${hidumper_service_path}:interface_include", 184 "${hidumper_service_path}:zidl_config", 185 "${hidumper_service_path}:service_config", 186 ":hidumper_include", 187 ] 188 189 deps = [ 190 ":hidumperclient_source", 191 "${hidumper_service_path}:hidumper_client", 192 "${hidumper_utils_path}:utils", 193 ] 194 195 external_deps = [ 196 "c_utils:utils", 197 "hilog:libhilog", 198 "ipc:ipc_core", 199 "safwk:system_ability_fwk", 200 "samgr:samgr_proxy", 201 ] 202 203 subsystem_name = "hiviewdfx" 204 205 part_name = "hidumper" 206} 207