mbox series

[v2,00/12] buildsys: Do not build various objects if not necessary

Message ID 20210122204441.2145197-1-philmd@redhat.com
Headers show
Series buildsys: Do not build various objects if not necessary | expand

Message

Philippe Mathieu-Daudé Jan. 22, 2021, 8:44 p.m. UTC
In this series we deselect a bunch of features when they
not required, so less objects are built.

While this reduce pressure on CI and slow systems, this is
particularly helpful for developers regularly testing multiple
build configurations.

All CI tests pass:
https://gitlab.com/philmd/qemu/-/pipelines/245654160

Supersedes: <20210120151916.1167448-1-philmd@redhat.com>

Philippe Mathieu-Daudé (12):
  configure: Only check for audio drivers if system-mode is selected
  tests/meson: Only build softfloat objects if TCG is selected
  pc-bios/meson: Only install EDK2 blob firmwares with system emulation
  meson: Do not build optional libraries by default
  meson: Restrict block subsystem processing
  meson: Merge trace_events_subdirs array
  meson: Restrict some trace event directories to user/system emulation
  meson: Restrict emulation code
  qapi/meson: Restrict qdev code to system-mode emulation
  qapi/meson: Remove QMP from user-mode emulation
  qapi/meson: Restrict system-mode specific modules
  qapi/meson: Restrict UI module to system emulation and tools

 configure           |  6 +++++
 meson.build         | 55 ++++++++++++++++++++++++++-------------------
 stubs/qdev.c        | 23 +++++++++++++++++++
 MAINTAINERS         |  1 +
 pc-bios/meson.build |  1 +
 qapi/meson.build    | 34 +++++++++++++++++++---------
 stubs/meson.build   |  2 ++
 tests/meson.build   | 11 +++++++--
 8 files changed, 97 insertions(+), 36 deletions(-)
 create mode 100644 stubs/qdev.c

Comments

Paolo Bonzini Jan. 23, 2021, 6:11 p.m. UTC | #1
On 22/01/21 21:44, Philippe Mathieu-Daudé wrote:
> In this series we deselect a bunch of features when they
> not required, so less objects are built.
> 
> While this reduce pressure on CI and slow systems, this is
> particularly helpful for developers regularly testing multiple
> build configurations.
> 
> All CI tests pass:
> https://gitlab.com/philmd/qemu/-/pipelines/245654160
> 
> Supersedes: <20210120151916.1167448-1-philmd@redhat.com>
> 
> Philippe Mathieu-Daudé (12):
>    configure: Only check for audio drivers if system-mode is selected
>    tests/meson: Only build softfloat objects if TCG is selected
>    pc-bios/meson: Only install EDK2 blob firmwares with system emulation
>    meson: Do not build optional libraries by default
>    meson: Restrict block subsystem processing
>    meson: Merge trace_events_subdirs array
>    meson: Restrict some trace event directories to user/system emulation
>    meson: Restrict emulation code
>    qapi/meson: Restrict qdev code to system-mode emulation
>    qapi/meson: Remove QMP from user-mode emulation
>    qapi/meson: Restrict system-mode specific modules
>    qapi/meson: Restrict UI module to system emulation and tools
> 
>   configure           |  6 +++++
>   meson.build         | 55 ++++++++++++++++++++++++++-------------------
>   stubs/qdev.c        | 23 +++++++++++++++++++
>   MAINTAINERS         |  1 +
>   pc-bios/meson.build |  1 +
>   qapi/meson.build    | 34 +++++++++++++++++++---------
>   stubs/meson.build   |  2 ++
>   tests/meson.build   | 11 +++++++--
>   8 files changed, 97 insertions(+), 36 deletions(-)
>   create mode 100644 stubs/qdev.c
> 

Except for patch 8,

Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Alex Bennée Jan. 26, 2021, 2:57 p.m. UTC | #2
Philippe Mathieu-Daudé <philmd@redhat.com> writes:

> In this series we deselect a bunch of features when they
> not required, so less objects are built.
>
> While this reduce pressure on CI and slow systems, this is
> particularly helpful for developers regularly testing multiple
> build configurations.
>
> All CI tests pass:
> https://gitlab.com/philmd/qemu/-/pipelines/245654160
>
> Supersedes: <20210120151916.1167448-1-philmd@redhat.com>

Series looks good to me but I guess you need some sub-system feedback.
I've sent a few more patches that might be worth rolling in to better
handle check-tcg/softfloat.

>
> Philippe Mathieu-Daudé (12):
>   configure: Only check for audio drivers if system-mode is selected
>   tests/meson: Only build softfloat objects if TCG is selected
>   pc-bios/meson: Only install EDK2 blob firmwares with system emulation
>   meson: Do not build optional libraries by default
>   meson: Restrict block subsystem processing
>   meson: Merge trace_events_subdirs array
>   meson: Restrict some trace event directories to user/system emulation
>   meson: Restrict emulation code
>   qapi/meson: Restrict qdev code to system-mode emulation
>   qapi/meson: Remove QMP from user-mode emulation
>   qapi/meson: Restrict system-mode specific modules
>   qapi/meson: Restrict UI module to system emulation and tools
>
>  configure           |  6 +++++
>  meson.build         | 55 ++++++++++++++++++++++++++-------------------
>  stubs/qdev.c        | 23 +++++++++++++++++++
>  MAINTAINERS         |  1 +
>  pc-bios/meson.build |  1 +
>  qapi/meson.build    | 34 +++++++++++++++++++---------
>  stubs/meson.build   |  2 ++
>  tests/meson.build   | 11 +++++++--
>  8 files changed, 97 insertions(+), 36 deletions(-)
>  create mode 100644 stubs/qdev.c
Philippe Mathieu-Daudé Jan. 26, 2021, 3:28 p.m. UTC | #3
On 1/26/21 3:57 PM, Alex Bennée wrote:
> 
> Philippe Mathieu-Daudé <philmd@redhat.com> writes:
> 
>> In this series we deselect a bunch of features when they
>> not required, so less objects are built.
>>
>> While this reduce pressure on CI and slow systems, this is
>> particularly helpful for developers regularly testing multiple
>> build configurations.
>>
>> All CI tests pass:
>> https://gitlab.com/philmd/qemu/-/pipelines/245654160
>>
>> Supersedes: <20210120151916.1167448-1-philmd@redhat.com>
> 
> Series looks good to me but I guess you need some sub-system feedback.

Yeah, I will wait for Markus feedback on qapi/ before respining (with
target/ fix), ...

> I've sent a few more patches that might be worth rolling in to better
> handle check-tcg/softfloat.

... including your patches if they aren't merged before.

Thanks for having a look,

Phil.
Markus Armbruster Jan. 26, 2021, 4:09 p.m. UTC | #4
Philippe Mathieu-Daudé <philmd@redhat.com> writes:

> On 1/26/21 3:57 PM, Alex Bennée wrote:
>> 
>> Philippe Mathieu-Daudé <philmd@redhat.com> writes:
>> 
>>> In this series we deselect a bunch of features when they
>>> not required, so less objects are built.
>>>
>>> While this reduce pressure on CI and slow systems, this is
>>> particularly helpful for developers regularly testing multiple
>>> build configurations.
>>>
>>> All CI tests pass:
>>> https://gitlab.com/philmd/qemu/-/pipelines/245654160
>>>
>>> Supersedes: <20210120151916.1167448-1-philmd@redhat.com>
>> 
>> Series looks good to me but I guess you need some sub-system feedback.
>
> Yeah, I will wait for Markus feedback on qapi/ before respining (with
> target/ fix), ...

Maybe I'm naive today, but to me this looks like a case of "if it still
builds, it's fine".

Anything in particular you want my feedback for?

>> I've sent a few more patches that might be worth rolling in to better
>> handle check-tcg/softfloat.
>
> ... including your patches if they aren't merged before.
>
> Thanks for having a look,
>
> Phil.
Philippe Mathieu-Daudé Jan. 26, 2021, 7:38 p.m. UTC | #5
On 1/26/21 5:09 PM, Markus Armbruster wrote:
> Philippe Mathieu-Daudé <philmd@redhat.com> writes:
> 
>> On 1/26/21 3:57 PM, Alex Bennée wrote:
>>>
>>> Philippe Mathieu-Daudé <philmd@redhat.com> writes:
>>>
>>>> In this series we deselect a bunch of features when they
>>>> not required, so less objects are built.
>>>>
>>>> While this reduce pressure on CI and slow systems, this is
>>>> particularly helpful for developers regularly testing multiple
>>>> build configurations.
>>>>
>>>> All CI tests pass:
>>>> https://gitlab.com/philmd/qemu/-/pipelines/245654160
>>>>
>>>> Supersedes: <20210120151916.1167448-1-philmd@redhat.com>
>>>
>>> Series looks good to me but I guess you need some sub-system feedback.
>>
>> Yeah, I will wait for Markus feedback on qapi/ before respining (with
>> target/ fix), ...
> 
> Maybe I'm naive today, but to me this looks like a case of "if it still
> builds, it's fine".
> 
> Anything in particular you want my feedback for?

You are listed as qapi/ maintainer with Michael :)

QAPI
M: Markus Armbruster <armbru@redhat.com>
M: Michael Roth <michael.roth@amd.com>
S: Supported
F: qapi/

If it is fine to you, then I'll respin addressing Paolo's comments.

Thanks :)

Phil.
Markus Armbruster Jan. 27, 2021, 8:42 a.m. UTC | #6
Philippe Mathieu-Daudé <philmd@redhat.com> writes:

> On 1/26/21 5:09 PM, Markus Armbruster wrote:
>> Philippe Mathieu-Daudé <philmd@redhat.com> writes:
>> 
>>> On 1/26/21 3:57 PM, Alex Bennée wrote:
>>>>
>>>> Philippe Mathieu-Daudé <philmd@redhat.com> writes:
>>>>
>>>>> In this series we deselect a bunch of features when they
>>>>> not required, so less objects are built.
>>>>>
>>>>> While this reduce pressure on CI and slow systems, this is
>>>>> particularly helpful for developers regularly testing multiple
>>>>> build configurations.
>>>>>
>>>>> All CI tests pass:
>>>>> https://gitlab.com/philmd/qemu/-/pipelines/245654160
>>>>>
>>>>> Supersedes: <20210120151916.1167448-1-philmd@redhat.com>
>>>>
>>>> Series looks good to me but I guess you need some sub-system feedback.
>>>
>>> Yeah, I will wait for Markus feedback on qapi/ before respining (with
>>> target/ fix), ...
>> 
>> Maybe I'm naive today, but to me this looks like a case of "if it still
>> builds, it's fine".
>> 
>> Anything in particular you want my feedback for?
>
> You are listed as qapi/ maintainer with Michael :)
>
> QAPI
> M: Markus Armbruster <armbru@redhat.com>
> M: Michael Roth <michael.roth@amd.com>
> S: Supported
> F: qapi/
>
> If it is fine to you, then I'll respin addressing Paolo's comments.
>
> Thanks :)
>
> Phil.

Go right ahead!
Paolo Bonzini Jan. 29, 2021, 8:22 a.m. UTC | #7
On 22/01/21 21:44, Philippe Mathieu-Daudé wrote:
> In this series we deselect a bunch of features when they
> not required, so less objects are built.
> 
> While this reduce pressure on CI and slow systems, this is
> particularly helpful for developers regularly testing multiple
> build configurations.
> 
> All CI tests pass:
> https://gitlab.com/philmd/qemu/-/pipelines/245654160
> 
> Supersedes: <20210120151916.1167448-1-philmd@redhat.com>
> 
> Philippe Mathieu-Daudé (12):
>    configure: Only check for audio drivers if system-mode is selected
>    tests/meson: Only build softfloat objects if TCG is selected
>    pc-bios/meson: Only install EDK2 blob firmwares with system emulation
>    meson: Do not build optional libraries by default
>    meson: Restrict block subsystem processing
>    meson: Merge trace_events_subdirs array
>    meson: Restrict some trace event directories to user/system emulation
>    meson: Restrict emulation code
>    qapi/meson: Restrict qdev code to system-mode emulation
>    qapi/meson: Remove QMP from user-mode emulation
>    qapi/meson: Restrict system-mode specific modules
>    qapi/meson: Restrict UI module to system emulation and tools
> 
>   configure           |  6 +++++
>   meson.build         | 55 ++++++++++++++++++++++++++-------------------
>   stubs/qdev.c        | 23 +++++++++++++++++++
>   MAINTAINERS         |  1 +
>   pc-bios/meson.build |  1 +
>   qapi/meson.build    | 34 +++++++++++++++++++---------
>   stubs/meson.build   |  2 ++
>   tests/meson.build   | 11 +++++++--
>   8 files changed, 97 insertions(+), 36 deletions(-)
>   create mode 100644 stubs/qdev.c
> 

Queued, thanks.

Paolo