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