mirror of
https://github.com/torvalds/linux.git
synced 2025-04-12 06:49:52 +00:00
rtla: Add optional dependency on BPF tooling
If tooling required for building BPF CO-RE skeletons is present (that is, libbpf, clang with BPF CO-RE support, and bpftool), turn on HAVE_BPF_SKEL flag. Those requirements are similar to what perf requires, with the difference of using system libbpf and bpftool instead of in-tree versions. rtla can be forcefully built without BPF skeleton support by setting BUILD_BPF_SKEL=0 manually; in that case, a warning is displayed. Cc: John Kacur <jkacur@redhat.com> Cc: Luis Goncalves <lgoncalv@redhat.com> Cc: Gabriele Monaco <gmonaco@redhat.com> Cc: Clark Williams <williams@redhat.com> Link: https://lore.kernel.org/20250218145859.27762-4-tglozar@redhat.com Signed-off-by: Tomas Glozar <tglozar@redhat.com> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
This commit is contained in:
parent
8a635c3856
commit
9dc3766ed0
@ -33,9 +33,15 @@ DOCSRC := ../../../Documentation/tools/rtla/
|
||||
FEATURE_TESTS := libtraceevent
|
||||
FEATURE_TESTS += libtracefs
|
||||
FEATURE_TESTS += libcpupower
|
||||
FEATURE_TESTS += libbpf
|
||||
FEATURE_TESTS += clang-bpf-co-re
|
||||
FEATURE_TESTS += bpftool-skeletons
|
||||
FEATURE_DISPLAY := libtraceevent
|
||||
FEATURE_DISPLAY += libtracefs
|
||||
FEATURE_DISPLAY += libcpupower
|
||||
FEATURE_DISPLAY += libbpf
|
||||
FEATURE_DISPLAY += clang-bpf-co-re
|
||||
FEATURE_DISPLAY += bpftool-skeletons
|
||||
|
||||
ifeq ($(V),1)
|
||||
Q =
|
||||
|
@ -53,6 +53,48 @@ else
|
||||
$(info Please install libcpupower-dev/kernel-tools-libs-devel)
|
||||
endif
|
||||
|
||||
ifndef BUILD_BPF_SKEL
|
||||
# BPF skeletons are used to implement improved sample collection, enable
|
||||
# them by default.
|
||||
BUILD_BPF_SKEL := 1
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_BPF_SKEL),0)
|
||||
$(info BPF skeleton support disabled, building without BPF skeleton support.)
|
||||
endif
|
||||
|
||||
$(call feature_check,libbpf)
|
||||
ifeq ($(feature-libbpf), 1)
|
||||
$(call detected,CONFIG_LIBBPF)
|
||||
else
|
||||
$(info libbpf is missing, building without BPF skeleton support.)
|
||||
$(info Please install libbpf-dev/libbpf-devel)
|
||||
BUILD_BPF_SKEL := 0
|
||||
endif
|
||||
|
||||
$(call feature_check,clang-bpf-co-re)
|
||||
ifeq ($(feature-clang-bpf-co-re), 1)
|
||||
$(call detected,CONFIG_CLANG_BPF_CO_RE)
|
||||
else
|
||||
$(info clang is missing or does not support BPF CO-RE, building without BPF skeleton support.)
|
||||
$(info Please install clang)
|
||||
BUILD_BPF_SKEL := 0
|
||||
endif
|
||||
|
||||
$(call feature_check,bpftool-skeletons)
|
||||
ifeq ($(feature-bpftool-skeletons), 1)
|
||||
$(call detected,CONFIG_BPFTOOL_SKELETONS)
|
||||
else
|
||||
$(info bpftool is missing or not supporting skeletons, building without BPF skeleton support.)
|
||||
$(info Please install bpftool)
|
||||
BUILD_BPF_SKEL := 0
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_BPF_SKEL),1)
|
||||
CFLAGS += -DHAVE_BPF_SKEL
|
||||
EXTLIBS += -lbpf
|
||||
endif
|
||||
|
||||
ifeq ($(STOP_ERROR),1)
|
||||
$(error Please, check the errors above.)
|
||||
endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user