qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* ANNOUNCE: build system conversion to Meson has landed
@ 2020-08-21 13:49 Peter Maydell
  2020-08-21 14:39 ` Eric Blake
  2020-08-21 14:50 ` Laszlo Ersek
  0 siblings, 2 replies; 6+ messages in thread
From: Peter Maydell @ 2020-08-21 13:49 UTC (permalink / raw)
  To: QEMU Developers; +Cc: Paolo Bonzini

Hi; we've just merged Paolo's patchset that converts the build system
to use Meson. This should mostly be fairly seamless for the average
developer (we hope) but there are a few things to be aware of:

 * you probably want to do a distclean or otherwise do a clean build
   when you first update your git tree to a version of master with Meson
   (especially if you do in-tree builds)
 * out-of-tree builds should continue to work basically normally
 * we have retained compatibility for an "in-tree build" workflow where
   you run configure/make in the source tree, but this is now implemented
   by having configure create a build tree for you under-the-hood
   (but do consider switching to just doing out-of-tree builds)
 * you will need at least GNU Make 3.82 (everybody probably has this
   already unless you're on OSX, in which case install a make from
   homebrew or similar as the Apple-supplied system make is too old)
 * you need the Python 'setuptools' installed
 * we provide meson itself as a submodule, so you don't need to install
   that yourself
 * if you have patches in flight that made build-system related changes
   (eg adding new files) then you'll probably need to update them to
   work with meson; fingers crossed this should be straightforward
 * I will continue to work through the outstanding pullreqs on the
   list, but probably a bunch of them conflict with the meson switchover
   and submaintainers will need to respin them. Sorry about that.
   (I'll work through them and send out the usual "please fix" emails,
   but feel free to actively re-spin before I get to your pullreq if
   you know it's going to need work.)

https://wiki.qemu.org/Features/Meson/Next has a summary of changes
and is worth a quick scan through.

We've tested this as best as we could, but there are probably going
to be a few teething troubles -- please let us know if something
seems to be broken.

thanks
-- PMM


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: ANNOUNCE: build system conversion to Meson has landed
  2020-08-21 13:49 ANNOUNCE: build system conversion to Meson has landed Peter Maydell
@ 2020-08-21 14:39 ` Eric Blake
  2020-08-24 12:57   ` Markus Armbruster
  2020-08-21 14:50 ` Laszlo Ersek
  1 sibling, 1 reply; 6+ messages in thread
From: Eric Blake @ 2020-08-21 14:39 UTC (permalink / raw)
  To: Peter Maydell, QEMU Developers; +Cc: Paolo Bonzini

On 8/21/20 8:49 AM, Peter Maydell wrote:
> Hi; we've just merged Paolo's patchset that converts the build system
> to use Meson. This should mostly be fairly seamless for the average
> developer (we hope) but there are a few things to be aware of:
> 
>   * you probably want to do a distclean or otherwise do a clean build
>     when you first update your git tree to a version of master with Meson
>     (especially if you do in-tree builds)
>   * out-of-tree builds should continue to work basically normally
>   * we have retained compatibility for an "in-tree build" workflow where
>     you run configure/make in the source tree, but this is now implemented
>     by having configure create a build tree for you under-the-hood
>     (but do consider switching to just doing out-of-tree builds)

If you do an in-tree build, do the 'make distclean' _before_ a 'git 
pull' of the new code.  If you don't clean first, the pull attempt is 
likely to complain about various trace.h files, so that is a good 
reminder.  And if you manage to pull anyway, you may need to rewind your 
tree back to v5.1.0 before attempting the in-tree 'make distclean', then 
re-try the pull.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: ANNOUNCE: build system conversion to Meson has landed
  2020-08-21 13:49 ANNOUNCE: build system conversion to Meson has landed Peter Maydell
  2020-08-21 14:39 ` Eric Blake
@ 2020-08-21 14:50 ` Laszlo Ersek
  2020-08-21 14:59   ` Paolo Bonzini
  1 sibling, 1 reply; 6+ messages in thread
From: Laszlo Ersek @ 2020-08-21 14:50 UTC (permalink / raw)
  To: Peter Maydell, QEMU Developers; +Cc: Paolo Bonzini

On 08/21/20 15:49, Peter Maydell wrote:

> https://wiki.qemu.org/Features/Meson/Next has a summary of changes
> and is worth a quick scan through.

I'd like to propose a wording clarification:

"""
For bisection: incremental builds work fine in the forward direction.
They probably don't work at all backwards. This is mitigated by the fact
that bisection usually starts at a release, and the patches should be
applied on top of the 5.1.0 tag.
"""

namely:

- s/forward direction/forward direction, across the conversion/
- s/backwards/backwards, across the conversion/

Because the way the paragraph is worded now, it suggests that *any*
individual bisection step that moves backwards in the git history will
not build. That would be of course catastrophic. We should clarify that
the symptom is limited to steps that straddle the conversion commit range.

If the suggested replacements are OK, I can make the edit myself (if
that's preferred).

(Not trying to be a busybody -- exactly because I contribute little to
QEMU, bisection is a comparatively large part of what I *do* do with QEMU.)

Thanks!
Laszlo



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: ANNOUNCE: build system conversion to Meson has landed
  2020-08-21 14:50 ` Laszlo Ersek
@ 2020-08-21 14:59   ` Paolo Bonzini
  2020-08-24 10:56     ` Laszlo Ersek
  0 siblings, 1 reply; 6+ messages in thread
From: Paolo Bonzini @ 2020-08-21 14:59 UTC (permalink / raw)
  To: Laszlo Ersek, Peter Maydell, QEMU Developers

On 21/08/20 16:50, Laszlo Ersek wrote:
> On 08/21/20 15:49, Peter Maydell wrote:
> 
>> https://wiki.qemu.org/Features/Meson/Next has a summary of changes
>> and is worth a quick scan through.
> 
> I'd like to propose a wording clarification:
> 
> """
> For bisection: incremental builds work fine in the forward direction.
> They probably don't work at all backwards. This is mitigated by the fact
> that bisection usually starts at a release, and the patches should be
> applied on top of the 5.1.0 tag.
> """
> 
> namely:
> 
> - s/forward direction/forward direction, across the conversion/
> - s/backwards/backwards, across the conversion/
> 
> Because the way the paragraph is worded now, it suggests that *any*
> individual bisection step that moves backwards in the git history will
> not build. That would be of course catastrophic. We should clarify that
> the symptom is limited to steps that straddle the conversion commit range.
> 
> If the suggested replacements are OK, I can make the edit myself (if
> that's preferred).
> 
> (Not trying to be a busybody -- exactly because I contribute little to
> QEMU, bisection is a comparatively large part of what I *do* do with QEMU.)

That's fine! I made a small adjustment and you're free to improve
further on the wording.

Paolo



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: ANNOUNCE: build system conversion to Meson has landed
  2020-08-21 14:59   ` Paolo Bonzini
@ 2020-08-24 10:56     ` Laszlo Ersek
  0 siblings, 0 replies; 6+ messages in thread
From: Laszlo Ersek @ 2020-08-24 10:56 UTC (permalink / raw)
  To: Paolo Bonzini, Peter Maydell, QEMU Developers

On 08/21/20 16:59, Paolo Bonzini wrote:
> On 21/08/20 16:50, Laszlo Ersek wrote:
>> On 08/21/20 15:49, Peter Maydell wrote:
>>
>>> https://wiki.qemu.org/Features/Meson/Next has a summary of changes
>>> and is worth a quick scan through.
>>
>> I'd like to propose a wording clarification:
>>
>> """
>> For bisection: incremental builds work fine in the forward direction.
>> They probably don't work at all backwards. This is mitigated by the fact
>> that bisection usually starts at a release, and the patches should be
>> applied on top of the 5.1.0 tag.
>> """
>>
>> namely:
>>
>> - s/forward direction/forward direction, across the conversion/
>> - s/backwards/backwards, across the conversion/
>>
>> Because the way the paragraph is worded now, it suggests that *any*
>> individual bisection step that moves backwards in the git history will
>> not build. That would be of course catastrophic. We should clarify that
>> the symptom is limited to steps that straddle the conversion commit range.
>>
>> If the suggested replacements are OK, I can make the edit myself (if
>> that's preferred).
>>
>> (Not trying to be a busybody -- exactly because I contribute little to
>> QEMU, bisection is a comparatively large part of what I *do* do with QEMU.)
> 
> That's fine! I made a small adjustment and you're free to improve
> further on the wording.

Thanks a lot, the new text reads great!
Laszlo



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: ANNOUNCE: build system conversion to Meson has landed
  2020-08-21 14:39 ` Eric Blake
@ 2020-08-24 12:57   ` Markus Armbruster
  0 siblings, 0 replies; 6+ messages in thread
From: Markus Armbruster @ 2020-08-24 12:57 UTC (permalink / raw)
  To: Eric Blake; +Cc: Peter Maydell, QEMU Developers, Paolo Bonzini

Eric Blake <eblake@redhat.com> writes:

> On 8/21/20 8:49 AM, Peter Maydell wrote:
>> Hi; we've just merged Paolo's patchset that converts the build system
>> to use Meson. This should mostly be fairly seamless for the average
>> developer (we hope) but there are a few things to be aware of:
>>
>>   * you probably want to do a distclean or otherwise do a clean build
>>     when you first update your git tree to a version of master with Meson
>>     (especially if you do in-tree builds)
>>   * out-of-tree builds should continue to work basically normally
>>   * we have retained compatibility for an "in-tree build" workflow where
>>     you run configure/make in the source tree, but this is now implemented
>>     by having configure create a build tree for you under-the-hood
>>     (but do consider switching to just doing out-of-tree builds)
>
> If you do an in-tree build, do the 'make distclean' _before_ a 'git
> pull' of the new code.  If you don't clean first, the pull attempt is
> likely to complain about various trace.h files, so that is a good
> reminder.  And if you manage to pull anyway, you may need to rewind
> your tree back to v5.1.0 before attempting the in-tree 'make
> distclean', then re-try the pull.

In case you read Eric's advice too late:

    $ (cd your-build-dir && mv -f config.status .config.status && rm -r * && mv .config.status config.status && ./config.status)

It's how I've been blowing away build trees at the slightest sign of
trouble.  Caveat emptor, YMMV, etc. etc.



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-08-24 12:58 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-08-21 13:49 ANNOUNCE: build system conversion to Meson has landed Peter Maydell
2020-08-21 14:39 ` Eric Blake
2020-08-24 12:57   ` Markus Armbruster
2020-08-21 14:50 ` Laszlo Ersek
2020-08-21 14:59   ` Paolo Bonzini
2020-08-24 10:56     ` Laszlo Ersek

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).