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_ci
16fb726d48Sopenharmony_ciimport("../../../build/ts.gni")
17fb726d48Sopenharmony_ciohos_source_set("ftrace_tables") {
18fb726d48Sopenharmony_ci  subsystem_name = "${OHOS_PROFILER_SUBSYS_NAME}"
19fb726d48Sopenharmony_ci  part_name = "${OHOS_PROFILER_PART_NAME}"
20fb726d48Sopenharmony_ci  sources = [
21fb726d48Sopenharmony_ci    "animation_table.cpp",
22fb726d48Sopenharmony_ci    "app_startup_table.cpp",
23fb726d48Sopenharmony_ci    "callstack_table.cpp",
24fb726d48Sopenharmony_ci    "clk_event_filter_table.cpp",
25fb726d48Sopenharmony_ci    "clock_event_filter_table.cpp",
26fb726d48Sopenharmony_ci    "clock_snapshot_table.cpp",
27fb726d48Sopenharmony_ci    "cpu_measure_filter_table.cpp",
28fb726d48Sopenharmony_ci    "dma_fence_table.cpp",
29fb726d48Sopenharmony_ci    "dynamic_frame_table.cpp",
30fb726d48Sopenharmony_ci    "filter_table.cpp",
31fb726d48Sopenharmony_ci    "frame_maps_table.cpp",
32fb726d48Sopenharmony_ci    "frame_slice_table.cpp",
33fb726d48Sopenharmony_ci    "gpu_slice_table.cpp",
34fb726d48Sopenharmony_ci    "instants_table.cpp",
35fb726d48Sopenharmony_ci    "irq_table.cpp",
36fb726d48Sopenharmony_ci    "measure_table.cpp",
37fb726d48Sopenharmony_ci    "process_measure_filter_table.cpp",
38fb726d48Sopenharmony_ci    "process_table.cpp",
39fb726d48Sopenharmony_ci    "raw_table.cpp",
40fb726d48Sopenharmony_ci    "sched_slice_table.cpp",
41fb726d48Sopenharmony_ci    "so_static_initalization_table.cpp",
42fb726d48Sopenharmony_ci    "system_call_table.cpp",
43fb726d48Sopenharmony_ci    "system_event_filter_table.cpp",
44fb726d48Sopenharmony_ci    "task_pool_table.cpp",
45fb726d48Sopenharmony_ci    "thread_state_table.cpp",
46fb726d48Sopenharmony_ci    "thread_table.cpp",
47fb726d48Sopenharmony_ci  ]
48fb726d48Sopenharmony_ci
49fb726d48Sopenharmony_ci  include_dirs = [ "include" ]
50fb726d48Sopenharmony_ci  public_configs = [ "${SRC}/table/base:base_tables_cfg" ]
51fb726d48Sopenharmony_ci
52fb726d48Sopenharmony_ci  if (!is_independent_compile) {
53fb726d48Sopenharmony_ci    configs = [ "${TS_DIR}/gn:ts_config" ]
54fb726d48Sopenharmony_ci  }
55fb726d48Sopenharmony_ci  if (enable_ts_utest && !use_wasm) {
56fb726d48Sopenharmony_ci    cflags = [
57fb726d48Sopenharmony_ci      "-fprofile-arcs",
58fb726d48Sopenharmony_ci      "-ftest-coverage",
59fb726d48Sopenharmony_ci    ]
60fb726d48Sopenharmony_ci    ldflags = [
61fb726d48Sopenharmony_ci      "-fprofile-arcs",
62fb726d48Sopenharmony_ci      "-ftest-coverage",
63fb726d48Sopenharmony_ci      "--coverage",
64fb726d48Sopenharmony_ci    ]
65fb726d48Sopenharmony_ci    if (is_test) {
66fb726d48Sopenharmony_ci      cflags += [ "-D IS_UT" ]
67fb726d48Sopenharmony_ci    }
68fb726d48Sopenharmony_ci  }
69fb726d48Sopenharmony_ci}
70