1# Copyright (c) 2023 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("//base/hiviewdfx/faultloggerd/faultloggerd.gni")
15
16if (defined(ohos_lite)) {
17  group("panic_handler") {
18    deps = []
19  }
20} else {
21  ohos_rust_shared_library("panic_handler") {
22    sources = [ "lib.rs" ]
23    cflags_cc = [ "-DRUSTC_DEMANGLE" ]
24    rustflags = [ "-Zstack-protector=all" ]
25    deps = [ "$faultloggerd_path/interfaces/rust/stacktrace:stacktrace_rust" ]
26    external_deps = [ "hilog:hilog_rust" ]
27    defines = []
28    if (defined(global_parts_info.hiviewdfx_hisysevent)) {
29      external_deps += [ "hisysevent:hisysevent_rust" ]
30      defines += [ "HISYSEVENT_ENABLE" ]
31    }
32    crate_name = "panic_handler"
33    crate_type = "dylib"
34    part_name = "faultloggerd"
35    subsystem_name = "hiviewdfx"
36  }
37}
38