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 "hilog:libhilog", 93 "hiview:libucollection_utility", 94 "init:libbegetutil", 95 "ipc:ipc_core", 96 "safwk:system_ability_fwk", 97 "samgr:samgr_proxy", 98 "zlib:shared_libz", 99 ] 100 defines = [] 101 102 if (hidumper_ability_runtime_enable) { 103 external_deps += [ "ability_runtime:app_manager" ] 104 defines += [ "HIDUMPER_ABILITY_RUNTIME_ENABLE" ] 105 } 106 107 if (hidumper_netmanager_base_enable) { 108 external_deps += [ "netmanager_base:net_stats_manager_if" ] 109 defines += [ "HIDUMPER_NETMANAGER_BASE_ENABLE" ] 110 } 111 112 if (hidumper_bundlemanager_framework_enable) { 113 external_deps += [ 114 "bundle_framework:appexecfwk_base", 115 "bundle_framework:appexecfwk_core", 116 ] 117 defines += [ "HIDUMPER_BUNDLEMANAGER_FRAMEWORK_ENABLE" ] 118 } 119 120 if (hidumper_hiviewdfx_hisysevent_enable) { 121 external_deps += [ "hisysevent:libhisysevent" ] 122 defines += [ "HIDUMPER_HIVIEWDFX_HISYSEVENT_ENABLE" ] 123 } 124 125 subsystem_name = "hiviewdfx" 126 127 part_name = "hidumper" 128} 129 130ohos_source_set("hidumperclient_source") { 131 sources = [ 132 "${hidumper_client_path}/native/dump_client_main.cpp", 133 "dump_utils.cpp", 134 ] 135 136 configs = [ 137 "${hidumper_utils_path}:utils_config", 138 "${hidumper_service_path}:interface_include", 139 "${hidumper_service_path}:zidl_config", 140 "${hidumper_service_path}:service_config", 141 ":hidumper_include", 142 ] 143 144 deps = [ 145 "${hidumper_service_path}:hidumper_client", 146 "${hidumper_utils_path}:utils", 147 ] 148 149 external_deps = [ 150 "c_utils:utils", 151 "eventhandler:libeventhandler", 152 "hilog:libhilog", 153 "init:libbegetutil", 154 "ipc:ipc_core", 155 "safwk:system_ability_fwk", 156 "samgr:samgr_proxy", 157 ] 158 subsystem_name = "hiviewdfx" 159 part_name = "hidumper" 160} 161 162ohos_shared_library("hidumperclient") { 163 install_enable = true 164 deps = [ ":hidumperclient_source" ] 165 external_deps = [ "hilog:libhilog" ] 166 version_script = "${hidumper_service_path}/hidumper.map" 167 subsystem_name = "hiviewdfx" 168 part_name = "hidumper" 169} 170 171ohos_executable("hidumper") { 172 install_enable = true 173 174 sources = [ "${hidumper_client_path}/native/main.cpp" ] 175 176 configs = [ 177 "${hidumper_utils_path}:utils_config", 178 "${hidumper_service_path}:interface_include", 179 "${hidumper_service_path}:zidl_config", 180 "${hidumper_service_path}:service_config", 181 ":hidumper_include", 182 ] 183 184 deps = [ 185 ":hidumperclient_source", 186 "${hidumper_service_path}:hidumper_client", 187 "${hidumper_utils_path}:utils", 188 ] 189 190 external_deps = [ 191 "c_utils:utils", 192 "hilog:libhilog", 193 "ipc:ipc_core", 194 "safwk:system_ability_fwk", 195 "samgr:samgr_proxy", 196 ] 197 198 subsystem_name = "hiviewdfx" 199 200 part_name = "hidumper" 201} 202