2023-05-09 19:24:38

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: [PATCH 1/1] perf build: Gracefully fail the build if BUILD_BPF_SKEL=1 is specified and clang isn't available

Namhyung,

The one you acked disabled the build and emitted a warning, but
then that was when we were trying to have BUILD_BPF_SKEL=1 as default,
this one is for the current situation, where we need to explicitely ask
for those features by explicitely adding BUILD_BPF_SKEL=1 to the make
command line, I think I can keep your Acked-by, right?

- Arnaldo

---

Build BPF skels require having a compiler able to generate BPF bytecode,
and so far this is only possible with clang, so check for its
availability and fail the build when the user explicitely ask for BPF
skels to be built.

Acked-by: Namhyung Kim <[email protected]>
Cc: Adrian Hunter <[email protected]>
Cc: Andrii Nakryiko <[email protected]>,
Cc: Ian Rogers <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Song Liu <[email protected]>
Cc: Yang Jihong <[email protected]>,
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
tools/perf/Makefile.config | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
index 4884520f954f4b2a..70268442f7eeca50 100644
--- a/tools/perf/Makefile.config
+++ b/tools/perf/Makefile.config
@@ -216,6 +216,12 @@ ifeq ($(call get-executable,$(BISON)),)
dummy := $(error Error: $(BISON) is missing on this system, please install it)
endif

+ifeq ($(BUILD_BPF_SKEL),1)
+ ifeq ($(call get-executable,$(CLANG)),)
+ dummy := $(error $(CLANG) is missing on this system, please install it to be able to build with BUILD_BPF_SKEL=1)
+ endif
+endif
+
ifneq ($(OUTPUT),)
ifeq ($(shell expr $(shell $(BISON) --version | grep bison | sed -e 's/.\+ \([0-9]\+\).\([0-9]\+\).\([0-9]\+\)/\1\2\3/g') \>\= 371), 1)
BISON_FILE_PREFIX_MAP := --file-prefix-map=$(OUTPUT)=
--
2.39.2


2023-05-09 20:00:04

by Namhyung Kim

[permalink] [raw]
Subject: Re: [PATCH 1/1] perf build: Gracefully fail the build if BUILD_BPF_SKEL=1 is specified and clang isn't available

Hi Arnaldo,

On Tue, May 9, 2023 at 11:54 AM <[email protected]> wrote:
>
> Namhyung,
>
> The one you acked disabled the build and emitted a warning, but
> then that was when we were trying to have BUILD_BPF_SKEL=1 as default,
> this one is for the current situation, where we need to explicitely ask
> for those features by explicitely adding BUILD_BPF_SKEL=1 to the make
> command line, I think I can keep your Acked-by, right?

Sure thing!

Thanks,
Namhyung


> ---
>
> Build BPF skels require having a compiler able to generate BPF bytecode,
> and so far this is only possible with clang, so check for its
> availability and fail the build when the user explicitely ask for BPF
> skels to be built.
>
> Acked-by: Namhyung Kim <[email protected]>
> Cc: Adrian Hunter <[email protected]>
> Cc: Andrii Nakryiko <[email protected]>,
> Cc: Ian Rogers <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: Jiri Olsa <[email protected]>
> Cc: Song Liu <[email protected]>
> Cc: Yang Jihong <[email protected]>,
> Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
> ---
> tools/perf/Makefile.config | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
> index 4884520f954f4b2a..70268442f7eeca50 100644
> --- a/tools/perf/Makefile.config
> +++ b/tools/perf/Makefile.config
> @@ -216,6 +216,12 @@ ifeq ($(call get-executable,$(BISON)),)
> dummy := $(error Error: $(BISON) is missing on this system, please install it)
> endif
>
> +ifeq ($(BUILD_BPF_SKEL),1)
> + ifeq ($(call get-executable,$(CLANG)),)
> + dummy := $(error $(CLANG) is missing on this system, please install it to be able to build with BUILD_BPF_SKEL=1)
> + endif
> +endif
> +
> ifneq ($(OUTPUT),)
> ifeq ($(shell expr $(shell $(BISON) --version | grep bison | sed -e 's/.\+ \([0-9]\+\).\([0-9]\+\).\([0-9]\+\)/\1\2\3/g') \>\= 371), 1)
> BISON_FILE_PREFIX_MAP := --file-prefix-map=$(OUTPUT)=
> --
> 2.39.2
>