1b0e7dd80Sopenharmony_ci# Copyright (c) 2021-2024 Huawei Device Co., Ltd.
2b0e7dd80Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3b0e7dd80Sopenharmony_ci# you may not use this file except in compliance with the License.
4b0e7dd80Sopenharmony_ci# You may obtain a copy of the License at
5b0e7dd80Sopenharmony_ci#
6b0e7dd80Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7b0e7dd80Sopenharmony_ci#
8b0e7dd80Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9b0e7dd80Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10b0e7dd80Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11b0e7dd80Sopenharmony_ci# See the License for the specific language governing permissions and
12b0e7dd80Sopenharmony_ci# limitations under the License.
13b0e7dd80Sopenharmony_ci
14b0e7dd80Sopenharmony_ciimport("//base/hiviewdfx/hitrace/hitrace.gni")
15b0e7dd80Sopenharmony_ciimport("//build/ohos.gni")
16b0e7dd80Sopenharmony_ci
17b0e7dd80Sopenharmony_ciohos_source_set("hitracechain_source") {
18b0e7dd80Sopenharmony_ci  branch_protector_ret = "pac_ret"
19b0e7dd80Sopenharmony_ci  include_dirs = [
20b0e7dd80Sopenharmony_ci    "$hitrace_interfaces_path/native/innerkits/include",
21b0e7dd80Sopenharmony_ci    "$hitrace_interfaces_path/native/innerkits/include/hitrace_meter",
22b0e7dd80Sopenharmony_ci    "$hitrace_frameworks_path/include",
23b0e7dd80Sopenharmony_ci  ]
24b0e7dd80Sopenharmony_ci
25b0e7dd80Sopenharmony_ci  sources = [
26b0e7dd80Sopenharmony_ci    "$hitrace_interfaces_path/native/innerkits/src/hitrace_meter.cpp",
27b0e7dd80Sopenharmony_ci    "$hitrace_interfaces_path/native/innerkits/src/hitrace_meter_c.c",
28b0e7dd80Sopenharmony_ci    "$hitrace_interfaces_path/native/innerkits/src/hitrace_meter_wrapper.cpp",
29b0e7dd80Sopenharmony_ci    "hitracechain.cpp",
30b0e7dd80Sopenharmony_ci    "hitracechainc.c",
31b0e7dd80Sopenharmony_ci    "hitraceid.cpp",
32b0e7dd80Sopenharmony_ci  ]
33b0e7dd80Sopenharmony_ci
34b0e7dd80Sopenharmony_ci  external_deps = [
35b0e7dd80Sopenharmony_ci    "bounds_checking_function:libsec_shared",
36b0e7dd80Sopenharmony_ci    "init:libbegetutil",
37b0e7dd80Sopenharmony_ci  ]
38b0e7dd80Sopenharmony_ci
39b0e7dd80Sopenharmony_ci  if (defined(ohos_lite)) {
40b0e7dd80Sopenharmony_ci    external_deps += [ "hilog_lite:hilog_lite" ]
41b0e7dd80Sopenharmony_ci  } else {
42b0e7dd80Sopenharmony_ci    external_deps += [ "hilog:libhilog" ]
43b0e7dd80Sopenharmony_ci  }
44b0e7dd80Sopenharmony_ci
45b0e7dd80Sopenharmony_ci  part_name = "hitrace"
46b0e7dd80Sopenharmony_ci  subsystem_name = "hiviewdfx"
47b0e7dd80Sopenharmony_ci}
48