diff mbox series

[bpf-next,v2,01/10] selftests/bpf: Adapt OUTPUT appending logic to lower versions of Make

Message ID 20240904141951.1139090-2-pulehui@huaweicloud.com (mailing list archive)
State Superseded
Headers show
Series Local vmtest enhancement and RV64 enabled | expand

Checks

Context Check Description
conchuod/vmtest-fixes-PR fail merge-conflict

Commit Message

Pu Lehui Sept. 4, 2024, 2:19 p.m. UTC
From: Pu Lehui <pulehui@huawei.com>

The $(let ...) function is only supported by GNU Make version 4.4 [0]
and above, otherwise the following exception file or directory will be
generated:

	tools/testing/selftests/bpfFEATURE-DUMP.selftests
	tools/testing/selftests/bpffeature/

Considering that the GNU Make version of most Linux distributions is
lower than 4.4, let us adapt the corresponding logic to it.

Link: https://lists.gnu.org/archive/html/info-gnu/2022-10/msg00008.html [0]
Signed-off-by: Pu Lehui <pulehui@huawei.com>
---
 tools/testing/selftests/bpf/Makefile | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Andrii Nakryiko Sept. 4, 2024, 6:49 p.m. UTC | #1
On Wed, Sep 4, 2024 at 7:17 AM Pu Lehui <pulehui@huaweicloud.com> wrote:
>
> From: Pu Lehui <pulehui@huawei.com>
>
> The $(let ...) function is only supported by GNU Make version 4.4 [0]

Eduard, seems like the mystery is finally solved.

We were actually considering removing the FEATURE-DUMP functionality
from BPF selftests, but it's good to have a fix nevertheless, thanks!

> and above, otherwise the following exception file or directory will be
> generated:
>
>         tools/testing/selftests/bpfFEATURE-DUMP.selftests
>         tools/testing/selftests/bpffeature/
>
> Considering that the GNU Make version of most Linux distributions is
> lower than 4.4, let us adapt the corresponding logic to it.
>
> Link: https://lists.gnu.org/archive/html/info-gnu/2022-10/msg00008.html [0]
> Signed-off-by: Pu Lehui <pulehui@huawei.com>
> ---
>  tools/testing/selftests/bpf/Makefile | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile
> index 7660d19b66c2..9905e3739dd0 100644
> --- a/tools/testing/selftests/bpf/Makefile
> +++ b/tools/testing/selftests/bpf/Makefile
> @@ -187,8 +187,14 @@ FEATURE_TESTS := llvm
>  FEATURE_DISPLAY := $(FEATURE_TESTS)
>
>  # Makefile.feature expects OUTPUT to end with a slash
> +ifeq ($(shell expr $(MAKE_VERSION) \>= 4.4), 1)
>  $(let OUTPUT,$(OUTPUT)/,\
>         $(eval include ../../../build/Makefile.feature))
> +else
> +OUTPUT := $(OUTPUT)/
> +$(eval include ../../../build/Makefile.feature)
> +OUTPUT := $(patsubst %/,%,$(OUTPUT))
> +endif
>  endif
>
>  ifeq ($(feature-llvm),1)
> --
> 2.34.1
>
Eduard Zingerman Sept. 4, 2024, 7:29 p.m. UTC | #2
On Wed, 2024-09-04 at 11:49 -0700, Andrii Nakryiko wrote:
> On Wed, Sep 4, 2024 at 7:17 AM Pu Lehui <pulehui@huaweicloud.com> wrote:
> > 
> > From: Pu Lehui <pulehui@huawei.com>
> > 
> > The $(let ...) function is only supported by GNU Make version 4.4 [0]
> 
> Eduard, seems like the mystery is finally solved.

That this thing was silently ignored is most perplexing.

> We were actually considering removing the FEATURE-DUMP functionality
> from BPF selftests, but it's good to have a fix nevertheless, thanks!

Pu, thank you for figuring this out...

Acked-by: Eduard Zingerman <eddyz87@gmail.com>
diff mbox series

Patch

diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile
index 7660d19b66c2..9905e3739dd0 100644
--- a/tools/testing/selftests/bpf/Makefile
+++ b/tools/testing/selftests/bpf/Makefile
@@ -187,8 +187,14 @@  FEATURE_TESTS := llvm
 FEATURE_DISPLAY := $(FEATURE_TESTS)
 
 # Makefile.feature expects OUTPUT to end with a slash
+ifeq ($(shell expr $(MAKE_VERSION) \>= 4.4), 1)
 $(let OUTPUT,$(OUTPUT)/,\
 	$(eval include ../../../build/Makefile.feature))
+else
+OUTPUT := $(OUTPUT)/
+$(eval include ../../../build/Makefile.feature)
+OUTPUT := $(patsubst %/,%,$(OUTPUT))
+endif
 endif
 
 ifeq ($(feature-llvm),1)