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_ciconfig("ebpf_parser_cfg") { 17fb726d48Sopenharmony_ci if (!is_independent_compile) { 18fb726d48Sopenharmony_ci configs = [ "${TS_DIR}/gn:ts_config" ] 19fb726d48Sopenharmony_ci } 20fb726d48Sopenharmony_ci include_dirs = [ 21fb726d48Sopenharmony_ci ".", 22fb726d48Sopenharmony_ci "../", 23fb726d48Sopenharmony_ci "../..", 24fb726d48Sopenharmony_ci "../../trace_data", 25fb726d48Sopenharmony_ci "../../base", 26fb726d48Sopenharmony_ci "../../include", 27fb726d48Sopenharmony_ci "../../filter", 28fb726d48Sopenharmony_ci "../../cfg", 29fb726d48Sopenharmony_ci "../../trace_streamer", 30fb726d48Sopenharmony_ci "../../proto_reader/include", 31fb726d48Sopenharmony_ci "${THIRD_PARTY}/protobuf/src", 32fb726d48Sopenharmony_ci "${THIRD_PARTY}/sqlite/include", 33fb726d48Sopenharmony_ci "${THIRD_PARTY}/bounds_checking_function/include", 34fb726d48Sopenharmony_ci ] 35fb726d48Sopenharmony_ci include_dirs += [ 36fb726d48Sopenharmony_ci "${SRC}/trace_data/trace_stdtype", 37fb726d48Sopenharmony_ci "${SRC}/trace_data/trace_stdtype/ftrace", 38fb726d48Sopenharmony_ci "${SRC}/trace_data/trace_stdtype/ftrace/template", 39fb726d48Sopenharmony_ci "${SRC}/trace_data/trace_stdtype/hilog", 40fb726d48Sopenharmony_ci "${SRC}/trace_data/trace_stdtype/hiperf", 41fb726d48Sopenharmony_ci "${SRC}/trace_data/trace_stdtype/hisysevent", 42fb726d48Sopenharmony_ci "${SRC}/trace_data/trace_stdtype/htrace", 43fb726d48Sopenharmony_ci "${SRC}/trace_data/trace_stdtype/measure", 44fb726d48Sopenharmony_ci ] 45fb726d48Sopenharmony_ci if (is_mingw || is_mac) { 46fb726d48Sopenharmony_ci include_dirs += [ "${THIRD_PARTY}/elfutils/libelf" ] 47fb726d48Sopenharmony_ci } 48fb726d48Sopenharmony_ci if (enable_ts_utest && !use_wasm) { 49fb726d48Sopenharmony_ci cflags = [ 50fb726d48Sopenharmony_ci "-fprofile-arcs", 51fb726d48Sopenharmony_ci "-ftest-coverage", 52fb726d48Sopenharmony_ci ] 53fb726d48Sopenharmony_ci ldflags = [ 54fb726d48Sopenharmony_ci "-fprofile-arcs", 55fb726d48Sopenharmony_ci "-ftest-coverage", 56fb726d48Sopenharmony_ci "--coverage", 57fb726d48Sopenharmony_ci ] 58fb726d48Sopenharmony_ci if (is_test) { 59fb726d48Sopenharmony_ci cflags += [ "-D IS_UT" ] 60fb726d48Sopenharmony_ci } 61fb726d48Sopenharmony_ci } 62fb726d48Sopenharmony_ci} 63fb726d48Sopenharmony_ci 64fb726d48Sopenharmony_ciohos_static_library("ebpf_parser") { 65fb726d48Sopenharmony_ci subsystem_name = "${OHOS_PROFILER_SUBSYS_NAME}" 66fb726d48Sopenharmony_ci part_name = "${OHOS_PROFILER_PART_NAME}" 67fb726d48Sopenharmony_ci sources = [ 68fb726d48Sopenharmony_ci "bio_latency_data_parser.cpp", 69fb726d48Sopenharmony_ci "ebpf_base.cpp", 70fb726d48Sopenharmony_ci "ebpf_data_parser.cpp", 71fb726d48Sopenharmony_ci "ebpf_data_reader.cpp", 72fb726d48Sopenharmony_ci "ebpf_splitter.cpp", 73fb726d48Sopenharmony_ci "file_system_data_parser.cpp", 74fb726d48Sopenharmony_ci "paged_memory_data_parser.cpp", 75fb726d48Sopenharmony_ci ] 76fb726d48Sopenharmony_ci public_configs = [ ":ebpf_parser_cfg" ] 77fb726d48Sopenharmony_ci public_deps = [ 78fb726d48Sopenharmony_ci "${OHOS_TRACE_STREAMER_PROTOS_DIR}/protos/types/plugins/memory_data:memory_data_reader", 79fb726d48Sopenharmony_ci "${PERF_DIR}/hiperf:hiperf_src", 80fb726d48Sopenharmony_ci ] 81fb726d48Sopenharmony_ci deps = [ 82fb726d48Sopenharmony_ci "${THIRD_PARTY}/protobuf:protobuf_lite_static", 83fb726d48Sopenharmony_ci "${THIRD_PARTY}/protobuf:protobuf_static", 84fb726d48Sopenharmony_ci ] 85fb726d48Sopenharmony_ci} 86