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("hiperf_config") { 17fb726d48Sopenharmony_ci cflags = [ 18fb726d48Sopenharmony_ci "-D ALWAYSTRUE", 19fb726d48Sopenharmony_ci "-D is_mingw=${is_mingw}", 20fb726d48Sopenharmony_ci ] 21fb726d48Sopenharmony_ci} 22fb726d48Sopenharmony_ciconfig("hiperf_public_config") { 23fb726d48Sopenharmony_ci include_dirs = [ 24fb726d48Sopenharmony_ci "linux", 25fb726d48Sopenharmony_ci "include", 26fb726d48Sopenharmony_ci "include/nonlinux", 27fb726d48Sopenharmony_ci "include/nonlinux/linux", 28fb726d48Sopenharmony_ci "${SRC}/", 29fb726d48Sopenharmony_ci "${SRC}/base", 30fb726d48Sopenharmony_ci "${SRC}/include", 31fb726d48Sopenharmony_ci "${SRC}/trace_streamer", 32fb726d48Sopenharmony_ci "${THIRD_PARTY}/bounds_checking_function/include", 33fb726d48Sopenharmony_ci "${THIRD_PARTY}/perf_include/libbpf", 34fb726d48Sopenharmony_ci "${COMMON_LIBRARY}/base/include", 35fb726d48Sopenharmony_ci ] 36fb726d48Sopenharmony_ci if (is_mingw) { 37fb726d48Sopenharmony_ci cflags = [ "-includeMingW64Fix.h" ] 38fb726d48Sopenharmony_ci } 39fb726d48Sopenharmony_ci} 40fb726d48Sopenharmony_ciohos_source_set("hiperf_src") { 41fb726d48Sopenharmony_ci subsystem_name = "thirdparty" 42fb726d48Sopenharmony_ci part_name = "hiperf" 43fb726d48Sopenharmony_ci sources = [ 44fb726d48Sopenharmony_ci "src/callstack.cpp", 45fb726d48Sopenharmony_ci "src/dwarf_encoding.cpp", 46fb726d48Sopenharmony_ci "src/option.cpp", 47fb726d48Sopenharmony_ci "src/perf_event_record.cpp", 48fb726d48Sopenharmony_ci "src/perf_file_format.cpp", 49fb726d48Sopenharmony_ci "src/perf_file_reader.cpp", 50fb726d48Sopenharmony_ci "src/register.cpp", 51fb726d48Sopenharmony_ci "src/report.cpp", 52fb726d48Sopenharmony_ci "src/subcommand.cpp", 53fb726d48Sopenharmony_ci "src/symbols_file.cpp", 54fb726d48Sopenharmony_ci "src/unique_stack_table.cpp", 55fb726d48Sopenharmony_ci "src/utilities.cpp", 56fb726d48Sopenharmony_ci "src/virtual_runtime.cpp", 57fb726d48Sopenharmony_ci "src/virtual_thread.cpp", 58fb726d48Sopenharmony_ci ] 59fb726d48Sopenharmony_ci configs -= [ trace_cfg_path ] 60fb726d48Sopenharmony_ci configs += [ "../../gn:hiperf_trace_cfg" ] 61fb726d48Sopenharmony_ci configs += [ ":hiperf_config" ] 62fb726d48Sopenharmony_ci public_configs = [ ":hiperf_public_config" ] 63fb726d48Sopenharmony_ci public_deps = [ 64fb726d48Sopenharmony_ci "${THIRD_PARTY}/zlib:libz", 65fb726d48Sopenharmony_ci "//third_party/perf_include/hiviewdfx:libfaultloggerd", 66fb726d48Sopenharmony_ci ] 67fb726d48Sopenharmony_ci if (!use_wasm && !is_win && !is_mingw && !is_mac && !is_test) { 68fb726d48Sopenharmony_ci if (!is_independent_compile) { 69fb726d48Sopenharmony_ci if (target_cpu == "arm64") { 70fb726d48Sopenharmony_ci public_deps += [ "//third_party/libunwind:unwind_source_arm64_opt" ] 71fb726d48Sopenharmony_ci } else { 72fb726d48Sopenharmony_ci public_deps += [ "//third_party/libunwind:unwind_source_${target_cpu}" ] 73fb726d48Sopenharmony_ci } 74fb726d48Sopenharmony_ci } else { 75fb726d48Sopenharmony_ci public_deps += [ "${THIRD_PARTY}/libunwind:libunwind" ] 76fb726d48Sopenharmony_ci } 77fb726d48Sopenharmony_ci } 78fb726d48Sopenharmony_ci} 79