1fb726d48Sopenharmony_ci# Copyright (c) Huawei Technologies Co., Ltd. 2023. All rights reserved.
2fb726d48Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3fb726d48Sopenharmony_ci# you may not use this file except in compliance with the License.
4fb726d48Sopenharmony_ci# You may obtain a copy of the License at
5fb726d48Sopenharmony_ci#
6fb726d48Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7fb726d48Sopenharmony_ci#
8fb726d48Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9fb726d48Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10fb726d48Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11fb726d48Sopenharmony_ci# See the License for the specific language governing permissions and
12fb726d48Sopenharmony_ci# limitations under the License.
13fb726d48Sopenharmony_ci
14fb726d48Sopenharmony_ciimport("//build/ohos.gni")
15fb726d48Sopenharmony_ciimport("../../build/ts.gni")
16fb726d48Sopenharmony_ci
17fb726d48Sopenharmony_ciohos_source_set("trace_data") {
18fb726d48Sopenharmony_ci  subsystem_name = "${OHOS_PROFILER_SUBSYS_NAME}"
19fb726d48Sopenharmony_ci  part_name = "${OHOS_PROFILER_PART_NAME}"
20fb726d48Sopenharmony_ci  sources = [
21fb726d48Sopenharmony_ci    "sqllite_prepar_cache_data.cpp",
22fb726d48Sopenharmony_ci    "trace_data_cache.cpp",
23fb726d48Sopenharmony_ci    "trace_data_cache_base.cpp",
24fb726d48Sopenharmony_ci    "trace_data_cache_reader.cpp",
25fb726d48Sopenharmony_ci    "trace_data_cache_writer.cpp",
26fb726d48Sopenharmony_ci    "trace_data_db.cpp",
27fb726d48Sopenharmony_ci    "trace_stdtype/base_stdtype.cpp",
28fb726d48Sopenharmony_ci    "trace_stdtype/common_stdtype.cpp",
29fb726d48Sopenharmony_ci    "trace_stdtype/ftrace/callstack_stdtype.cpp",
30fb726d48Sopenharmony_ci    "trace_stdtype/ftrace/render_service_stdtype.cpp",
31fb726d48Sopenharmony_ci    "trace_stdtype/ftrace/sched_stdtype.cpp",
32fb726d48Sopenharmony_ci    "trace_stdtype/ftrace/syscall_stdtype.cpp",
33fb726d48Sopenharmony_ci    "trace_stdtype/ftrace/template/animation_stdtype.cpp",
34fb726d48Sopenharmony_ci    "trace_stdtype/ftrace/template/app_startup_stdtype.cpp",
35fb726d48Sopenharmony_ci    "trace_stdtype/ftrace/template/task_pool_stdtype.cpp",
36fb726d48Sopenharmony_ci    "trace_stdtype/hilog/hilog_stdtype.cpp",
37fb726d48Sopenharmony_ci    "trace_stdtype/hiperf/hiperf_stdtype.cpp",
38fb726d48Sopenharmony_ci    "trace_stdtype/hisysevent/hisysevent_stdtype.cpp",
39fb726d48Sopenharmony_ci    "trace_stdtype/htrace/activity_monitor_stdtype.cpp",
40fb726d48Sopenharmony_ci    "trace_stdtype/htrace/arkts_stdtype.cpp",
41fb726d48Sopenharmony_ci    "trace_stdtype/htrace/ebpf_stdtype.cpp",
42fb726d48Sopenharmony_ci    "trace_stdtype/htrace/native_memory_stdtype.cpp",
43fb726d48Sopenharmony_ci    "trace_stdtype/measure/measure_stdtype.cpp",
44fb726d48Sopenharmony_ci  ]
45fb726d48Sopenharmony_ci
46fb726d48Sopenharmony_ci  if (!is_independent_compile) {
47fb726d48Sopenharmony_ci    configs = [ "${TS_DIR}/gn:ts_config" ]
48fb726d48Sopenharmony_ci  }
49fb726d48Sopenharmony_ci  if (enable_ts_utest && !use_wasm) {
50fb726d48Sopenharmony_ci    cflags = [
51fb726d48Sopenharmony_ci      "-fprofile-arcs",
52fb726d48Sopenharmony_ci      "-ftest-coverage",
53fb726d48Sopenharmony_ci    ]
54fb726d48Sopenharmony_ci    ldflags = [
55fb726d48Sopenharmony_ci      "-fprofile-arcs",
56fb726d48Sopenharmony_ci      "-ftest-coverage",
57fb726d48Sopenharmony_ci      "--coverage",
58fb726d48Sopenharmony_ci    ]
59fb726d48Sopenharmony_ci    if (is_test) {
60fb726d48Sopenharmony_ci      cflags += [ "-D IS_UT" ]
61fb726d48Sopenharmony_ci    }
62fb726d48Sopenharmony_ci  }
63fb726d48Sopenharmony_ci  include_dirs = [
64fb726d48Sopenharmony_ci    "${THIRD_PARTY}/sqlite/include",
65fb726d48Sopenharmony_ci    "${SRC}",
66fb726d48Sopenharmony_ci    "${SRC}/base",
67fb726d48Sopenharmony_ci    "${SRC}/include",
68fb726d48Sopenharmony_ci    "${SRC}/table",
69fb726d48Sopenharmony_ci    "${SRC}/table/base/include",
70fb726d48Sopenharmony_ci    "${SRC}/table/ebpf/include",
71fb726d48Sopenharmony_ci    "${SRC}/table/ftrace/include",
72fb726d48Sopenharmony_ci    "${SRC}/table/hiperf/include",
73fb726d48Sopenharmony_ci    "${SRC}/table/hi_sysevent/include",
74fb726d48Sopenharmony_ci    "${SRC}/table/js_memory/include",
75fb726d48Sopenharmony_ci    "${SRC}/table/monitor/include",
76fb726d48Sopenharmony_ci    "${SRC}/table/native_hook/include",
77fb726d48Sopenharmony_ci    ".",
78fb726d48Sopenharmony_ci    "${THIRD_PARTY}/protobuf/src",
79fb726d48Sopenharmony_ci    "${THIRD_PARTY}/bounds_checking_function/include",
80fb726d48Sopenharmony_ci    "${THIRD_PARTY}/json/single_include/nlohmann",
81fb726d48Sopenharmony_ci    "${THIRD_PARTY}/perf_include/hiviewdfx/faultloggerd/interfaces/nonlinux",
82fb726d48Sopenharmony_ci    "${SRC}/trace_data/trace_stdtype",
83fb726d48Sopenharmony_ci    "${SRC}/trace_data/trace_stdtype/ftrace",
84fb726d48Sopenharmony_ci    "${SRC}/trace_data/trace_stdtype/ftrace/template",
85fb726d48Sopenharmony_ci    "${SRC}/trace_data/trace_stdtype/hilog",
86fb726d48Sopenharmony_ci    "${SRC}/trace_data/trace_stdtype/hiperf",
87fb726d48Sopenharmony_ci    "${SRC}/trace_data/trace_stdtype/hisysevent",
88fb726d48Sopenharmony_ci    "${SRC}/trace_data/trace_stdtype/htrace",
89fb726d48Sopenharmony_ci    "${SRC}/trace_data/trace_stdtype/measure",
90fb726d48Sopenharmony_ci  ]
91fb726d48Sopenharmony_ci
92fb726d48Sopenharmony_ci  deps = [
93fb726d48Sopenharmony_ci    "${OHOS_TRACE_STREAMER_PROTOS_DIR}/protos/smartperf_host:ts_all_sph_cpp",
94fb726d48Sopenharmony_ci  ]
95fb726d48Sopenharmony_ci
96fb726d48Sopenharmony_ci  public_configs = [
97fb726d48Sopenharmony_ci    "${SRC}/parser/ebpf_parser:ebpf_parser_cfg",
98fb726d48Sopenharmony_ci    "${SRC}/base/sqlite_ext:sqlite_ext_cfg",
99fb726d48Sopenharmony_ci  ]
100fb726d48Sopenharmony_ci}
101