[PATCH 0/4] buildsys: Build quicker (mostly tools and linux-user)

Philippe Mathieu-Daudé posted 4 patches 4 years, 3 months ago
Test docker-mingw@fedora passed
Test checkpatch passed
Test docker-quick@centos7 passed
Test FreeBSD passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200109153939.27173-1-philmd@redhat.com
There is a newer version of this series
configure     |  2 ++
Makefile.objs | 31 ++++++++++---------------------
2 files changed, 12 insertions(+), 21 deletions(-)
[PATCH 0/4] buildsys: Build quicker (mostly tools and linux-user)
Posted by Philippe Mathieu-Daudé 4 years, 3 months ago
In some configuration (linux-user, tools) we can ignore building
various objects (and the libfdt).

Philippe Mathieu-Daudé (4):
  configure: Do not build libfdt is not required
  Makefile: Clarify all the codebase requires qom/ objects
  Makefile: Restrict system emulation and tools objects
  Makefile: Remove unhelpful comment

 configure     |  2 ++
 Makefile.objs | 31 ++++++++++---------------------
 2 files changed, 12 insertions(+), 21 deletions(-)

-- 
2.21.1


Re: [PATCH 0/4] buildsys: Build quicker (mostly tools and linux-user)
Posted by Laurent Vivier 4 years, 3 months ago
Le 09/01/2020 à 16:39, Philippe Mathieu-Daudé a écrit :
> In some configuration (linux-user, tools) we can ignore building
> various objects (and the libfdt).
> 
> Philippe Mathieu-Daudé (4):
>   configure: Do not build libfdt is not required
>   Makefile: Clarify all the codebase requires qom/ objects
>   Makefile: Restrict system emulation and tools objects
>   Makefile: Remove unhelpful comment
> 
>  configure     |  2 ++
>  Makefile.objs | 31 ++++++++++---------------------
>  2 files changed, 12 insertions(+), 21 deletions(-)
> 

Did you test this with all the combinations of --[enable|disable]-tools,
--[enable|disable]-user and --[enable|disable]-system?

Thanks,
Laurent

Re: [PATCH 0/4] buildsys: Build quicker (mostly tools and linux-user)
Posted by Philippe Mathieu-Daudé 4 years, 3 months ago
Le ven. 10 janv. 2020 09:36, Laurent Vivier <laurent@vivier.eu> a écrit :

> Le 09/01/2020 à 16:39, Philippe Mathieu-Daudé a écrit :
> > In some configuration (linux-user, tools) we can ignore building
> > various objects (and the libfdt).
> >
> > Philippe Mathieu-Daudé (4):
> >   configure: Do not build libfdt is not required
> >   Makefile: Clarify all the codebase requires qom/ objects
> >   Makefile: Restrict system emulation and tools objects
> >   Makefile: Remove unhelpful comment
> >
> >  configure     |  2 ++
> >  Makefile.objs | 31 ++++++++++---------------------
> >  2 files changed, 12 insertions(+), 21 deletions(-)
> >
>
> Did you test this with all the combinations of --[enable|disable]-tools,
> --[enable|disable]-user and --[enable|disable]-system
>

I tested 12 of 27 because I thought some sets might overlap but I might
have missed something, what combination is giving you problem?

>
Re: [PATCH 0/4] buildsys: Build quicker (mostly tools and linux-user)
Posted by Laurent Vivier 4 years, 3 months ago
Le 10/01/2020 à 10:17, Philippe Mathieu-Daudé a écrit :
> Le ven. 10 janv. 2020 09:36, Laurent Vivier <laurent@vivier.eu
> <mailto:laurent@vivier.eu>> a écrit :
> 
>     Le 09/01/2020 à 16:39, Philippe Mathieu-Daudé a écrit :
>     > In some configuration (linux-user, tools) we can ignore building
>     > various objects (and the libfdt).
>     >
>     > Philippe Mathieu-Daudé (4):
>     >   configure: Do not build libfdt is not required
>     >   Makefile: Clarify all the codebase requires qom/ objects
>     >   Makefile: Restrict system emulation and tools objects
>     >   Makefile: Remove unhelpful comment
>     >
>     >  configure     |  2 ++
>     >  Makefile.objs | 31 ++++++++++---------------------
>     >  2 files changed, 12 insertions(+), 21 deletions(-)
>     >
> 
>     Did you test this with all the combinations of --[enable|disable]-tools,
>     --[enable|disable]-user and --[enable|disable]-system
> 
> 
> I tested 12 of 27 because I thought some sets might overlap but I might
> have missed something, what combination is giving you problem? 
> 

I didn't test your series, but I did this kind of change in the past and
sometime enabling tools without enabling softmmu can show missing
objects at build time, or you can also see if tools are built with
softmmu while tools are disabled.

I used to test with something like

for user in enable disable; do
    for tools in enable disable; do
        for system in enable disable; do
            rm -fr build
            mkdir build && \
            (cd build && \
             ../configure --$user-user \
                          --$system-system \
                          --$tools-tools && \
             make || exit)
        done
    done
done

Thanks,
Laurent

Re: [PATCH 0/4] buildsys: Build quicker (mostly tools and linux-user)
Posted by Philippe Mathieu-Daudé 4 years, 3 months ago
On 1/10/20 3:03 PM, Laurent Vivier wrote:
> Le 10/01/2020 à 10:17, Philippe Mathieu-Daudé a écrit :
>> Le ven. 10 janv. 2020 09:36, Laurent Vivier <laurent@vivier.eu
>> <mailto:laurent@vivier.eu>> a écrit :
>>
>>      Le 09/01/2020 à 16:39, Philippe Mathieu-Daudé a écrit :
>>      > In some configuration (linux-user, tools) we can ignore building
>>      > various objects (and the libfdt).
>>      >
>>      > Philippe Mathieu-Daudé (4):
>>      >   configure: Do not build libfdt is not required
>>      >   Makefile: Clarify all the codebase requires qom/ objects
>>      >   Makefile: Restrict system emulation and tools objects
>>      >   Makefile: Remove unhelpful comment
>>      >
>>      >  configure     |  2 ++
>>      >  Makefile.objs | 31 ++++++++++---------------------
>>      >  2 files changed, 12 insertions(+), 21 deletions(-)
>>      >
>>
>>      Did you test this with all the combinations of --[enable|disable]-tools,
>>      --[enable|disable]-user and --[enable|disable]-system
>>
>>
>> I tested 12 of 27 because I thought some sets might overlap but I might
>> have missed something, what combination is giving you problem?
>>
> 
> I didn't test your series, but I did this kind of change in the past and
> sometime enabling tools without enabling softmmu can show missing
> objects at build time, or you can also see if tools are built with
> softmmu while tools are disabled.
> 
> I used to test with something like
> 
> for user in enable disable; do
>      for tools in enable disable; do
>          for system in enable disable; do
>              rm -fr build
>              mkdir build && \
>              (cd build && \
>               ../configure --$user-user \
>                            --$system-system \
>                            --$tools-tools && \
>               make || exit)
>          done
>      done
> done

I tested all these 8 combinations, no problem.