Hi Jerome, On Wed, 11 Sept 2024 at 03:58, Jerome Forissier <jerome.foriss...@linaro.org> wrote: > > When building for sandbox, self.cross is empty. > > In MakeEnvironment(), CROSS_COMPILE is defined to be self.cross (with > or without a full path), optionally prefixed by the toolchain wrapper > defined in ~/.buildman. This is fine when self.cross is not empty, but > it doesn't make sense when it is: > - Either there is no wrapper and we end up with an empty CROSS_COMPILE > which is the same as not defining it (the host compiler will be used), > - Or there is a wrapper and CROSS_COMPILE will contain only the wrapper > which obviously is not a valid compiler, hence an error. > > Test case: > > $ sudo apt install ccache > $ grep -q toolchain-wrapper ~/.buildman || \ > printf "[toolchain-wrapper]\nwrapper = ccache\n" >>~/.buildman > $ make mrproper > $ ./tools/buildman/buildman sandbox_noinst > $ ./tools/buildman/buildman sandbox_noinst > Building current source for 1 boards (1 thread, 24 jobs per thread) > sandbox: + sandbox_noinst > +arch/sandbox/lib/reloc_sandbox_efi.c:10:15: error: operator '==' has no > left operand > + 10 | #if HOST_ARCH == HOST_ARCH_X86_64 > + | ^~ > [...] > > The GetEnvArgs function is modified too, since the VAR_CROSS_COMPILE > case has the same issue. > > In tools/buildman/test.py, testGetEnvArgs is extended and > testMakeEnvironment is added. They check the 'arm' and 'sandbox' > toolchains, with and without a wrapper. > > Signed-off-by: Jerome Forissier <jerome.foriss...@linaro.org> > --- > tools/buildman/test.py | 46 +++++++++++++++++++++++++++++++++++++ > tools/buildman/toolchain.py | 6 +++-- > 2 files changed, 50 insertions(+), 2 deletions(-)
Reviewed-by: Simon Glass <s...@chromium.org> I did not expect to still get that same error now, but OK.