# Copyright (c) Huawei Technologies Co., Ltd. 2022. 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("../../base/config.gni") ohos_source_set("hiebpfplugin_source") { sources = [ "${OHOS_PROFILER_DIR}/device/services/profiler_service/src/trace_file_helper.cpp", "${OHOS_PROFILER_DIR}/device/services/profiler_service/src/trace_file_writer.cpp", "src/hiebpf_module.cpp", ] include_dirs = [ "include", "${OHOS_PROFILER_DIR}/interfaces/kits", "${OHOS_PROFILER_DIR}/device/base/include", "${OHOS_PROFILER_DIR}/device/plugins/api/include", "${OHOS_PROFILER_DIR}/device/services/profiler_service/src", ] deps = [ "${OHOS_PROFILER_DIR}/protos/services:common_types_lite_proto", "${OHOS_PROFILER_DIR}/protos/types/plugins/hiebpf_data:hiebpf_data_cpp", "../../base:hiprofiler_base", ] if (current_toolchain != host_toolchain) { defines = [ "HAVE_HILOG", "LITE_PROTO", ] external_deps = [ "bounds_checking_function:libsec_shared", "hilog:libhilog_base", "init:libbegetutil", "openssl:libcrypto_shared", "protobuf:protobuf_lite", ] } subsystem_name = "${OHOS_PROFILER_SUBSYS_NAME}" part_name = "${OHOS_PROFILER_PART_NAME}" public_configs = [ "${OHOS_PROFILER_DIR}/device/base:hiprofiler_test_config" ] } ohos_shared_library("hiebpfplugin") { output_name = "hiebpfplugin" version_script = "libhiebpf_plugin.map" deps = [ ":hiebpfplugin_source" ] if (current_toolchain != host_toolchain) { defines = [ "HAVE_HILOG", "LITE_PROTO", ] external_deps = [ "hilog:libhilog_base" ] } install_enable = true subsystem_name = "${OHOS_PROFILER_SUBSYS_NAME}" part_name = "${OHOS_PROFILER_PART_NAME}" } group("ebpf_targets") { deps = [ ":hiebpfplugin", "tools:ebpf_converter", ] if (!use_libfuzzer) { deps += [ "tools:ebpf_converter(${host_toolchain})" ] } }