On Thu, Apr 15, 2021 at 4:40 PM Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote: > > On 15/04/21 09:27, Masahiro Yamada wrote: > > Since commit d9f4ff50d2aa ("kbuild: spilt cc-option and friends to > > scripts/Makefile.compiler"), some kselftests fail to build. > > > > The tools/ directory opted out Kbuild, and went in a different > > direction. They copy any kind of files to the tools/ directory > > in order to do whatever they want to do in their world. > > > > tools/build/Build.include mimics scripts/Kbuild.include, but some > > tool Makefiles included the Kbuild one to import a feature that is > > missing in tools/build/Build.include: > > > > - Commit ec04aa3ae87b ("tools/thermal: tmon: use "-fstack-protector" > > only if supported") included scripts/Kbuild.include from > > tools/thermal/tmon/Makefile to import the cc-option macro. > > > > - Commit c2390f16fc5b ("selftests: kvm: fix for compilers that do > > not support -no-pie") included scripts/Kbuild.include from > > tools/testing/selftests/kvm/Makefile to import the try-run macro. > > > > - Commit 9cae4ace80ef ("selftests/bpf: do not ignore clang > > failures") included scripts/Kbuild.include from > > tools/testing/selftests/bpf/Makefile to import the .DELETE_ON_ERROR > > target. > > > > - Commit 0695f8bca93e ("selftests/powerpc: Handle Makefile for > > unrecognized option") included scripts/Kbuild.include from > > tools/testing/selftests/powerpc/pmu/ebb/Makefile to import the > > try-run macro. > > > > Copy what they want there, and stop including scripts/Kbuild.include > > from the tool Makefiles. > > I think it would make sense to add try-run, cc-option and > .DELETE_ON_ERROR to tools/build/Build.include? To be safe, I just copy-pasted what the makefiles need. If someone wants to refactor the tool build system, that is fine, but, to me, I do not see consistent rules or policy under tools/. -- Best Regards Masahiro Yamada