# Copyright (c) Huawei Technologies Co., Ltd. 2023. All rights reserved. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import("//build/ohos.gni") import("../../build/ts.gni") config("parser_base_cfg") { include_dirs = [ "${THIRD_PARTY}/protobuf/src", "${THIRD_PARTY}/protobuf/third_party/abseil-cpp", "${THIRD_PARTY}/sqlite/include", "${SRC}/base", "${SRC}/cfg", "${SRC}/trace_streamer", "${SRC}/trace_data", "${SRC}/include", "${SRC}/filter", "${SRC}/filter/hi_sysevent_filter", "${SRC}/filter/hook_filter", "${SRC}/filter/perf_filter", "${SRC}", ".", "ptreader_parser", "pbreader_parser", "pbreader_parser/htrace_parser", "rawtrace_parser", "ebpf_parser", "../proto_reader/include", "${THIRD_PARTY}/bounds_checking_function/include", "${THIRD_PARTY}/json/single_include/nlohmann", "${THIRD_PARTY}/profiler/device/plugins/ftrace_plugin/include", ] include_dirs += [ "${SRC}/trace_data/trace_stdtype", "${SRC}/trace_data/trace_stdtype/ftrace", "${SRC}/trace_data/trace_stdtype/ftrace/template", "${SRC}/trace_data/trace_stdtype/hilog", "${SRC}/trace_data/trace_stdtype/hiperf", "${SRC}/trace_data/trace_stdtype/hisysevent", "${SRC}/trace_data/trace_stdtype/htrace", "${SRC}/trace_data/trace_stdtype/measure", "${SRC}/trace_data/trace_stdtype/xpower", ] if (!is_independent_compile) { configs = [ "${TS_DIR}/gn:ts_config" ] } if (enable_ts_utest && !use_wasm) { cflags = [ "-fprofile-arcs", "-ftest-coverage", ] ldflags = [ "-fprofile-arcs", "-ftest-coverage", "--coverage", ] if (is_test) { cflags += [ "-D IS_UT" ] } } } config("hilog_parser_cfg") { include_dirs = [ "pbreader_parser", "pbreader_parser/hilog_parser", "ptreader_parser/hilog_parser", ] } config("hisysevent_parser_cfg") { include_dirs = [ "pbreader_parser", "pbreader_parser/hisysevent_parser", "ptreader_parser/hisysevent_parser", "${SRC}/filter/hi_sysevent_filter", ] } ohos_source_set("parser") { subsystem_name = "${OHOS_PROFILER_SUBSYS_NAME}" part_name = "${OHOS_PROFILER_PART_NAME}" sources = [ "event_parser_base.cpp", "print_event_parser.cpp", "thread_state_flag.cpp", ] public_deps = [] public_deps += [ "pbreader_parser:pbreader_parser_src" ] public_deps += [ "ptreader_parser:ptreader_parser_src" ] if (enable_rawtrace) { public_deps += [ "rawtrace_parser:rawtrace_parser" ] } if (enable_ebpf) { public_deps += [ "ebpf_parser:ebpf_parser" ] } public_configs = [ ":parser_base_cfg" ] }