qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: changing tests/qtest/meson.build causes unnecessary rebuilding
Date: Thu, 21 Jan 2021 16:55:33 +0100	[thread overview]
Message-ID: <b17b0df5-4bfd-6fef-3d01-c7783fdb3364@redhat.com> (raw)
In-Reply-To: <17698af4-537b-3e8e-67c8-4ed45a922def@redhat.com>

Hi Peter,

On 1/21/21 2:12 PM, Paolo Bonzini wrote:
> On 21/01/21 12:56, Peter Maydell wrote:
>> $ make -C build/arm-clang/ -j8
>> make: Entering directory
>> '/home/petmay01/linaro/qemu-from-laptop/qemu/build/arm-clang'
>> [1/23] Generating qemu-version.h with a meson_exe.py custom command
>> make: Leaving directory
>> '/home/petmay01/linaro/qemu-from-laptop/qemu/build/arm-clang'
>> $ touch tests/qtest/meson.build
>> $ make -C build/arm-clang/ -j8
>> make: Entering directory
>> '/home/petmay01/linaro/qemu-from-laptop/qemu/build/arm-clang'
>> /usr/bin/ninja  build.ninja && touch build.ninja.stamp
>> [0/1] Regenerating build files.
>> The Meson build system
>> [...]
>>
>> It then goes on to rebuild hundreds or thousands of files, most of
>> which are not even in tests/. (Oddly, the exact set of files recompiled
>> seems to vary from run to run.)
>>
>> Forcing a full rebuild of all of QEMU seems rather excessive when
>> the change was likely "add a new test case"...
> 
> This is "avoid build.ninja changes due to order of hash table iteration"
> (https://github.com/mesonbuild/meson/pull/7900/).  I think Meson 0.57
> (with the fix) should be out soon, hopefully before 6.0.
> 
> Alternatively you can try to bug your distro to include the patches,
> they are pretty safe.

Possible kludge rebuilding meson locally:

Paolo's #7900 got merged in commit 1c582a9de:
("Merge pull request #7900 from bonzini/stabilize-hash"),
so a possible kludge is to build and install meson in your
$HOME/.local/bin/ directory with pip as:

  $ python3 -m pip install --user \
      git+https://github.com/mesonbuild/meson.git@1c582a9de

Then either update your $PATH or use:

  $ ./configure --meson=$HOME/.local/bin/meson ...

Regards,

Phil.



      parent reply	other threads:[~2021-01-21 15:56 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-21 11:56 changing tests/qtest/meson.build causes unnecessary rebuilding Peter Maydell
2021-01-21 13:12 ` Paolo Bonzini
2021-01-21 14:29   ` Thomas Huth
2021-01-21 15:31     ` Paolo Bonzini
2021-01-21 15:55   ` Philippe Mathieu-Daudé [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b17b0df5-4bfd-6fef-3d01-c7783fdb3364@redhat.com \
    --to=philmd@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).