qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PULL 00/10] Gitlab-CI, qtest, moxie removal and misc patches


From: Philippe Mathieu-Daudé
Subject: Re: [PULL 00/10] Gitlab-CI, qtest, moxie removal and misc patches
Date: Thu, 20 May 2021 04:40:42 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1

On 5/14/21 12:25 PM, Thomas Huth wrote:
> On 14/05/2021 12.22, Philippe Mathieu-Daudé wrote:
>> On 5/9/21 6:05 PM, Thomas Huth wrote:
>>> On 07/05/2021 14.41, Paolo Bonzini wrote:
>>>> On 07/05/21 11:45, Thomas Huth wrote:
>>>>>
>>>>>
>>>>> diff --git a/Makefile b/Makefile
>>>>> index bcbbec71a1..3088502329 100644
>>>>> --- a/Makefile
>>>>> +++ b/Makefile
>>>>> @@ -85,7 +85,8 @@ x := $(shell rm -rf meson-private meson-info
>>>>> meson-logs)
>>>>>    endif
>>>>>
>>>>>    # 1. ensure config-host.mak is up-to-date
>>>>> -config-host.mak: $(SRC_PATH)/configure $(SRC_PATH)/pc-bios
>>>>> $(SRC_PATH)/VERSION
>>>>> +config-host.mak: $(SRC_PATH)/configure $(SRC_PATH)/pc-bios
>>>>> $(SRC_PATH)/VERSION \
>>>>> +                $(SRC_PATH)/default-configs/targets
>>>>>           @echo config-host.mak is out-of-date, running configure
>>>>>           @if test -f meson-private/coredata.dat; then \
>>>>>             ./config.status --skip-meson; \
>>>>>
>>>>> I.e. re-run configure if somethings in default-configs/targets
>>>>> changed.
>>>>> Does that look sane?
>>>>
>>>> I am not sure if using a directory is reliable (it's pre-existing for
>>>> pc-bios).  However you probably can use
>>>>
>>>> # currently in tests/Makefile.include, move it to toplevel Makefile
>>>> TARGETS=$(patsubst libqemu-%.fa, %, $(filter libqemu-%.fa,
>>>> $(ninja-targets)))
>>>> config-host.mak: $(SRC_PATH)/configure
>>>> $(TARGETS:%=default-configs/targets/%)
>>>>
>>>> And then if a file goes missing it will trigger the rebuild of
>>>> config-host.mak.
>>>
>>> Sounds like an idea, too ... but I'm unsure whether it's doable due to
>>> the order of the statements there... TARGETS gets populated from
>>> ninja-targets, but ninja-targets gets set *after* the config-host.mak
>>> block ... would it be safe to move the config-host.mak block around?
>>
>> Not sure I understood Paolo's suggestion, I tried:
>>
>> -- >8 --
>> diff --git a/Makefile b/Makefile
>> index bcbbec71a1c..3ef3622228b 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -152,6 +152,10 @@ ifneq ($(filter $(ninja-targets),
>> $(ninja-cmd-goals)),)
>>          +$(quiet-@)$(if $(MAKE.nq),@:, $(NINJA) -d keepdepfile \
>>             $(NINJAFLAGS) $(sort $(filter $(ninja-targets),
>> $(ninja-cmd-goals))) | cat)
>>   endif
>> +
>> +TARGETS=$(patsubst libqemu-%.fa, %, $(filter libqemu-%.fa,
>> $(ninja-targets)))
>> +config-host.mak: $(SRC_PATH)/configure
>> $(TARGETS:%=default-configs/targets/%)
>> +
>>   endif
>>
>>   # Force configure to re-run if the API symbols are updated
>> ---
>>
>> But still get (after git pull this morning):
>>
>> $ ninja qemu-system-ppc
>> [0/1] Regenerating build files.
>> ...
>> meson.build:1303:2: ERROR: Failed to load
>> default-configs/targets/moxie-softmmu.mak: [Errno 2] No such file or
>> directory: 'default-configs/targets/moxie-softmmu.mak'
>> A full log can be found at meson-logs/meson-log.txt
>> FAILED: build.ninja
>>
>> I'm keeping the directory unmodified in case you want me to try
>> other fixes.
> 
> If you run ninja directly, you certainly won't fix this issue by
> patching the "Makefile" ;-)

OK... Not sure how to detect it from ninja then.

For now I'm blowing this builddir and start with a fresh one.

If we want to reproduce to fix we can checkout before/after your
pull request tag. Eventually it will be automagically fixed when
we'll remove the next target :)

Regards,

Phil.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]