1020a203aSopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd.
2020a203aSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3020a203aSopenharmony_ci# you may not use this file except in compliance with the License.
4020a203aSopenharmony_ci# You may obtain a copy of the License at
5020a203aSopenharmony_ci#
6020a203aSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7020a203aSopenharmony_ci#
8020a203aSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9020a203aSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10020a203aSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11020a203aSopenharmony_ci# See the License for the specific language governing permissions and
12020a203aSopenharmony_ci# limitations under the License.
13020a203aSopenharmony_ci
14020a203aSopenharmony_ciimport("//base/hiviewdfx/hiview/hiview.gni")
15020a203aSopenharmony_ciimport("//build/ohos.gni")
16020a203aSopenharmony_ci
17020a203aSopenharmony_ciconfig("crash_validator_config") {
18020a203aSopenharmony_ci  visibility = [ "*:*" ]
19020a203aSopenharmony_ci  include_dirs = [
20020a203aSopenharmony_ci    ".",
21020a203aSopenharmony_ci    "include",
22020a203aSopenharmony_ci    "$hiview_base/include",
23020a203aSopenharmony_ci    "$hiview_core/include",
24020a203aSopenharmony_ci  ]
25020a203aSopenharmony_ci}
26020a203aSopenharmony_ci
27020a203aSopenharmony_ciohos_prebuilt_etc("crashvalidator_plugin_config") {
28020a203aSopenharmony_ci  source = "crashvalidator_plugin_config"
29020a203aSopenharmony_ci  part_name = "hiview"
30020a203aSopenharmony_ci  subsystem_name = "hiviewdfx"
31020a203aSopenharmony_ci  relative_install_dir = "hiview"
32020a203aSopenharmony_ci}
33020a203aSopenharmony_ci
34020a203aSopenharmony_ciohos_shared_library("libcrashvalidator") {
35020a203aSopenharmony_ci  part_name = "hiview"
36020a203aSopenharmony_ci  subsystem_name = "hiviewdfx"
37020a203aSopenharmony_ci  public_configs = [ ":crash_validator_config" ]
38020a203aSopenharmony_ci
39020a203aSopenharmony_ci  sanitize = {
40020a203aSopenharmony_ci    cfi = true
41020a203aSopenharmony_ci    cfi_cross_dso = true
42020a203aSopenharmony_ci    debug = false
43020a203aSopenharmony_ci  }
44020a203aSopenharmony_ci
45020a203aSopenharmony_ci  sources = [ "crash_validator.cpp" ]
46020a203aSopenharmony_ci
47020a203aSopenharmony_ci  deps = [
48020a203aSopenharmony_ci    ":crashvalidator_plugin_config",
49020a203aSopenharmony_ci    "$hiview_base:hiviewbase",
50020a203aSopenharmony_ci  ]
51020a203aSopenharmony_ci
52020a203aSopenharmony_ci  external_deps = [
53020a203aSopenharmony_ci    "hilog:libhilog",
54020a203aSopenharmony_ci    "hisysevent:libhisysevent",
55020a203aSopenharmony_ci    "ipc:ipc_single",
56020a203aSopenharmony_ci  ]
57020a203aSopenharmony_ci}
58020a203aSopenharmony_ci
59020a203aSopenharmony_cigroup("unittest") {
60020a203aSopenharmony_ci  testonly = true
61020a203aSopenharmony_ci  deps = []
62020a203aSopenharmony_ci}
63020a203aSopenharmony_ci
64020a203aSopenharmony_cigroup("moduletest") {
65020a203aSopenharmony_ci  testonly = true
66020a203aSopenharmony_ci  deps = []
67020a203aSopenharmony_ci}
68