Re: [PATCH] perf build: Error for BPF skeletons without LIBBPF

From: Jiri Olsa
Date: Mon May 23 2022 - 05:12:30 EST


On Fri, May 20, 2022 at 02:18:26PM -0700, Ian Rogers wrote:
> LIBBPF requires LIBELF so doing "make BUILD_BPF_SKEL=1 NO_LIBELF=1"
> fails with compiler errors about missing declarations. Similar could
> happen if libbpf feature detection fails. Prefer to error when
> BUILD_BPF_SKEL is enabled but LIBBPF isn't.
>
> Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>

Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>

thanks,
jirka

> ---
> tools/perf/Makefile.config | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
> index d9b699ad402c..bedb734bd6f2 100644
> --- a/tools/perf/Makefile.config
> +++ b/tools/perf/Makefile.config
> @@ -664,6 +664,9 @@ ifdef BUILD_BPF_SKEL
> ifeq ($(feature-clang-bpf-co-re), 0)
> dummy := $(error Error: clang too old/not installed. Please install recent clang to build with BUILD_BPF_SKEL)
> endif
> + ifeq ($(filter -DHAVE_LIBBPF_SUPPORT, $(CFLAGS)),)
> + dummy := $(error Error: BPF skeleton support requires libbpf)
> + endif
> $(call detected,CONFIG_PERF_BPF_SKEL)
> CFLAGS += -DHAVE_BPF_SKEL
> endif
> --
> 2.36.1.124.g0e6072fb45-goog
>