On 04/06/2025 10:07, Jan Beulich wrote:
> On 04.06.2025 09:21, Michal Orzel wrote:
>> When cross-compiling, HOSTCC can be different than CC.
>
> I'm sorry for being pedantic, but the two can also be different for other
> reasons (and I'd like to avoid this becoming a bad precedent, then getting
> copied elsewhere). Both may target the same architecture. Hence I'd like
> to suggest ...
>
>> With the recent
>> `install` rule addition, this would put a binary of a wrong format in
>> the destdir (e.g. building tests on x86 host for Arm target).
>>
>> Take the opportunity to adjust the `run` rule to only run the test if
>> HOSTCC is CC, else print a warning message.
>>
>> Fixes: 96a587a05736 ("tools/tests: Add install target for vPCI")
>> Signed-off-by: Michal Orzel <michal.or...@amd.com>
>> ---
>> Changes in v2:
>> - change Fixes tag
>> - add `run` rule adjustment from Roger
>> ---
>> tools/tests/vpci/Makefile | 6 +++++-
>> 1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/tools/tests/vpci/Makefile b/tools/tests/vpci/Makefile
>> index 9450f7593a41..f2226a5543bc 100644
>> --- a/tools/tests/vpci/Makefile
>> +++ b/tools/tests/vpci/Makefile
>> @@ -8,10 +8,14 @@ all: $(TARGET)
>>
>> .PHONY: run
>> run: $(TARGET)
>> +ifeq ($(CC),$(HOSTCC))
>> ./$(TARGET)
>> +else
>> + $(warning HOSTCC != CC, cannot run test)
>
> ... s/cannot/will not/ here. Alternatively, -dumpmachine output of both
If this is just s/cannot/will not/ I hope this can be done on commit.
~Michal
> could be compared, yet even that would leave us with false negatives
> (e.g. x86_64-suse-linux vs x86_64-pc-linux-gnu as I can see for my
> system compiler vs the ones I built myself).
>
> Jan
>
>> +endif
>>
>> $(TARGET): vpci.c vpci.h list.h main.c emul.h
>> - $(HOSTCC) $(CFLAGS_xeninclude) -g -o $@ vpci.c main.c
>> + $(CC) $(CFLAGS_xeninclude) -g -o $@ vpci.c main.c
>>
>> .PHONY: clean
>> clean:
>