1800b99b8Sopenharmony_ci# Copyright (c) 2021 Huawei Device Co., Ltd.
2800b99b8Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3800b99b8Sopenharmony_ci# you may not use this file except in compliance with the License.
4800b99b8Sopenharmony_ci# You may obtain a copy of the License at
5800b99b8Sopenharmony_ci#
6800b99b8Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7800b99b8Sopenharmony_ci#
8800b99b8Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9800b99b8Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10800b99b8Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11800b99b8Sopenharmony_ci# See the License for the specific language governing permissions and
12800b99b8Sopenharmony_ci# limitations under the License.
13800b99b8Sopenharmony_ci
14800b99b8Sopenharmony_ciimport("//base/hiviewdfx/faultloggerd/faultloggerd.gni")
15800b99b8Sopenharmony_ci
16800b99b8Sopenharmony_ciif (defined(ohos_lite)) {
17800b99b8Sopenharmony_ci  executable("dumpcatcher") {
18800b99b8Sopenharmony_ci    visibility = [ "*:*" ]
19800b99b8Sopenharmony_ci    include_dirs = [
20800b99b8Sopenharmony_ci      ".",
21800b99b8Sopenharmony_ci      "$faultloggerd_interfaces_path/common",
22800b99b8Sopenharmony_ci      "$faultloggerd_path/common/dfxlog",
23800b99b8Sopenharmony_ci      "$faultloggerd_path/common/dfxutil",
24800b99b8Sopenharmony_ci      "$faultloggerd_path/interfaces/innerkits/dump_catcher/include",
25800b99b8Sopenharmony_ci      "$hilog_lite_include_path",
26800b99b8Sopenharmony_ci    ]
27800b99b8Sopenharmony_ci    sources = [
28800b99b8Sopenharmony_ci      "dump_catcher.cpp",
29800b99b8Sopenharmony_ci      "main.cpp",
30800b99b8Sopenharmony_ci    ]
31800b99b8Sopenharmony_ci    deps = [
32800b99b8Sopenharmony_ci      "$faultloggerd_path/common/dfxlog:dfx_hilog",
33800b99b8Sopenharmony_ci      "$faultloggerd_path/common/dfxutil:dfx_util",
34800b99b8Sopenharmony_ci      "$faultloggerd_path/interfaces/innerkits/dump_catcher:libdfx_dumpcatcher",
35800b99b8Sopenharmony_ci    ]
36800b99b8Sopenharmony_ci
37800b99b8Sopenharmony_ci    external_deps = [
38800b99b8Sopenharmony_ci      "bounds_checking_function:libsec_shared",
39800b99b8Sopenharmony_ci      "hilog_lite:hilog_shared",
40800b99b8Sopenharmony_ci    ]
41800b99b8Sopenharmony_ci  }
42800b99b8Sopenharmony_ci} else {
43800b99b8Sopenharmony_ci  config("dumpcatcher_config") {
44800b99b8Sopenharmony_ci    visibility = [ ":*" ]
45800b99b8Sopenharmony_ci
46800b99b8Sopenharmony_ci    include_dirs = [
47800b99b8Sopenharmony_ci      ".",
48800b99b8Sopenharmony_ci      "$faultloggerd_interfaces_path/common",
49800b99b8Sopenharmony_ci      "$faultloggerd_path/interfaces/innerkits/signal_handler",
50800b99b8Sopenharmony_ci    ]
51800b99b8Sopenharmony_ci  }
52800b99b8Sopenharmony_ci
53800b99b8Sopenharmony_ci  ohos_executable("dumpcatcher") {
54800b99b8Sopenharmony_ci    if (build_variant == "root") {
55800b99b8Sopenharmony_ci      configs = [
56800b99b8Sopenharmony_ci        ":dumpcatcher_config",
57800b99b8Sopenharmony_ci        "$faultloggerd_path/common/build:coverage_flags",
58800b99b8Sopenharmony_ci      ]
59800b99b8Sopenharmony_ci
60800b99b8Sopenharmony_ci      sources = [
61800b99b8Sopenharmony_ci        "dump_catcher.cpp",
62800b99b8Sopenharmony_ci        "main.cpp",
63800b99b8Sopenharmony_ci      ]
64800b99b8Sopenharmony_ci
65800b99b8Sopenharmony_ci      cflags_cc = [ "-DDEBUG_CRASH_LOCAL_HANDLER" ]
66800b99b8Sopenharmony_ci
67800b99b8Sopenharmony_ci      deps = [
68800b99b8Sopenharmony_ci        "$faultloggerd_frameworks_path/localhandler:dfx_local_handler_src",
69800b99b8Sopenharmony_ci        "$faultloggerd_path/common/dfxlog:dfx_hilog",
70800b99b8Sopenharmony_ci        "$faultloggerd_path/common/dfxutil:dfx_util",
71800b99b8Sopenharmony_ci        "$faultloggerd_path/interfaces/innerkits/dump_catcher:libdfx_dumpcatcher",
72800b99b8Sopenharmony_ci      ]
73800b99b8Sopenharmony_ci
74800b99b8Sopenharmony_ci      external_deps = [
75800b99b8Sopenharmony_ci        "c_utils:utils",
76800b99b8Sopenharmony_ci        "hilog:libhilog",
77800b99b8Sopenharmony_ci      ]
78800b99b8Sopenharmony_ci    } else {
79800b99b8Sopenharmony_ci      sources = [ "dummy_dumpcatcher.cpp" ]
80800b99b8Sopenharmony_ci    }
81800b99b8Sopenharmony_ci
82800b99b8Sopenharmony_ci    install_images = [
83800b99b8Sopenharmony_ci      "system",
84800b99b8Sopenharmony_ci      "updater",
85800b99b8Sopenharmony_ci    ]
86800b99b8Sopenharmony_ci
87800b99b8Sopenharmony_ci    part_name = "faultloggerd"
88800b99b8Sopenharmony_ci    subsystem_name = "hiviewdfx"
89800b99b8Sopenharmony_ci  }
90800b99b8Sopenharmony_ci}
91