1# Copyright (c) 2021-2024 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. 13import("//base/hiviewdfx/hiview/hiview.gni") 14import("//build/ohos.gni") 15 16config("faultlogger_service_adapter_config") { 17 visibility = [ "*:*" ] 18 19 include_dirs = [ "." ] 20} 21 22ohos_source_set("faultlogger_service_ability") { 23 part_name = "hiview" 24 include_dirs = [ 25 "$hiview_plugin/faultlogger/common", 26 "$hiview_plugin/faultlogger/service", 27 ] 28 29 public_configs = [ ":faultlogger_service_adapter_config" ] 30 31 sources = [ "faultlogger_adapter.cpp" ] 32 33 deps = [ 34 "$hiview_base:hiviewbase", 35 "idl:faultlogger_service_impl", 36 ] 37 38 external_deps = [ 39 "hilog:libhilog", 40 "ipc:ipc_single", 41 "safwk:system_ability_fwk", 42 "samgr:samgr_proxy", 43 ] 44} 45 46ohos_source_set("faultlogger_service_ability_with_cfi") { 47 part_name = "hiview" 48 sanitize = { 49 cfi = true 50 cfi_cross_dso = true 51 cfi_vcall_icall_only = true 52 debug = false 53 } 54 55 include_dirs = [ 56 "$hiview_plugin/faultlogger/common", 57 "$hiview_plugin/faultlogger/service", 58 ] 59 60 public_configs = [ ":faultlogger_service_adapter_config" ] 61 62 sources = [ "faultlogger_adapter.cpp" ] 63 64 deps = [ 65 "$hiview_base:hiviewbase", 66 "idl:faultlogger_service_impl_with_cfi", 67 ] 68 69 external_deps = [ 70 "hilog:libhilog", 71 "ipc:ipc_single", 72 "safwk:system_ability_fwk", 73 "samgr:samgr_proxy", 74 ] 75} 76 77ohos_source_set("faultlogger_service") { 78 part_name = "hiview" 79 include_dirs = [ 80 ".", 81 "$hiview_plugin/faultlogger/common", 82 "$hiview_plugin/faultlogger/service/sanitizer_collector", 83 "$hiview_framework/native/unified_collection/process/include", 84 ] 85 86 sources = [ 87 "faultlog_database.cpp", 88 "faultlog_formatter.cpp", 89 "faultlog_manager.cpp", 90 "faultlogger.cpp", 91 "freeze_json_generator.cpp", 92 "sanitizer_collector/zip_helper.cpp", 93 ] 94 95 deps = [ 96 ":faultlogger_service_ability", 97 "$hiview_base:hiviewbase", 98 "$hiview_interfaces/inner_api/unified_collection/utility:libucollection_utility", 99 "$hiview_plugin/faultlogger/common:faultlogger_common", 100 "$hiview_plugin/faultlogger/common:log_analyzer", 101 ] 102 103 external_deps = [ 104 "access_token:libaccesstoken_sdk", 105 "bounds_checking_function:libsec_shared", 106 "bundle_framework:appexecfwk_base", 107 "bundle_framework:appexecfwk_core", 108 "c_utils:utils", 109 "faultloggerd:crash_exception", 110 "ffrt:libffrt", 111 "hilog:libhilog", 112 "hisysevent:libhisysevent", 113 "init:libbegetutil", 114 "ipc:ipc_single", 115 "jsoncpp:jsoncpp", 116 "safwk:system_ability_fwk", 117 "samgr:samgr_proxy", 118 ] 119} 120 121ohos_source_set("faultlogger_service_with_cfi") { 122 sanitize = { 123 cfi = true 124 cfi_cross_dso = true 125 cfi_vcall_icall_only = true 126 debug = false 127 } 128 part_name = "hiview" 129 include_dirs = [ 130 "$hiview_plugin/faultlogger/common", 131 "$hiview_plugin/faultlogger/service/sanitizer_collector", 132 "$hiview_framework/native/unified_collection/process/include", 133 ] 134 135 sources = [ 136 "faultlog_database.cpp", 137 "faultlog_formatter.cpp", 138 "faultlog_manager.cpp", 139 "faultlogger.cpp", 140 "freeze_json_generator.cpp", 141 "sanitizer_collector/zip_helper.cpp", 142 ] 143 144 deps = [ 145 ":faultlogger_service_ability_with_cfi", 146 "$hiview_base:hiviewbase", 147 "$hiview_interfaces/inner_api/unified_collection/utility:libucollection_utility", 148 "$hiview_plugin/faultlogger/common:faultlogger_common_with_cfi", 149 "$hiview_plugin/faultlogger/common:log_analyzer_with_cfi", 150 ] 151 152 external_deps = [ 153 "access_token:libaccesstoken_sdk", 154 "bounds_checking_function:libsec_shared", 155 "bundle_framework:appexecfwk_base", 156 "bundle_framework:appexecfwk_core", 157 "c_utils:utils", 158 "faultloggerd:crash_exception", 159 "ffrt:libffrt", 160 "hilog:libhilog", 161 "hisysevent:libhisysevent", 162 "init:libbegetutil", 163 "ipc:ipc_single", 164 "jsoncpp:jsoncpp", 165 "safwk:system_ability_fwk", 166 "samgr:samgr_proxy", 167 ] 168} 169 170ohos_source_set("faultlogger_service_fuzz_src") { 171 part_name = "hiview" 172 include_dirs = [ 173 ".", 174 "$hiview_plugin/faultlogger/common", 175 "$hiview_plugin/faultlogger/service/sanitizer_collector", 176 "$hiview_framework/native/unified_collection/process/include", 177 ] 178 defines = [ "UNIT_TEST" ] 179 180 sources = [ 181 "faultlog_database.cpp", 182 "faultlog_formatter.cpp", 183 "faultlog_manager.cpp", 184 "faultlogger.cpp", 185 "freeze_json_generator.cpp", 186 "sanitizer_collector/zip_helper.cpp", 187 ] 188 189 deps = [ 190 ":faultlogger_service_ability", 191 "$hiview_base:hiviewbase", 192 "$hiview_interfaces/inner_api/unified_collection/utility:libucollection_utility", 193 "$hiview_plugin/faultlogger/common:faultlogger_common", 194 "$hiview_plugin/faultlogger/common:log_analyzer", 195 ] 196 197 external_deps = [ 198 "access_token:libaccesstoken_sdk", 199 "bounds_checking_function:libsec_shared", 200 "bundle_framework:appexecfwk_base", 201 "bundle_framework:appexecfwk_core", 202 "c_utils:utils", 203 "faultloggerd:crash_exception", 204 "ffrt:libffrt", 205 "hilog:libhilog", 206 "hisysevent:libhisysevent", 207 "init:libbegetutil", 208 "ipc:ipc_single", 209 "jsoncpp:jsoncpp", 210 "zlib:libz", 211 ] 212} 213