All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] buildsys: Build quicker (mostly tools and linux-user)
@ 2020-01-09 15:39 Philippe Mathieu-Daudé
  2020-01-09 15:39 ` [PATCH 1/4] configure: Do not build libfdt is not required Philippe Mathieu-Daudé
                   ` (4 more replies)
  0 siblings, 5 replies; 16+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-01-09 15:39 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Alex Bennée, Laurent Vivier, Paolo Bonzini,
	Philippe Mathieu-Daudé,
	Richard Henderson

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



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

* [PATCH 1/4] configure: Do not build libfdt is not required
  2020-01-09 15:39 [PATCH 0/4] buildsys: Build quicker (mostly tools and linux-user) Philippe Mathieu-Daudé
@ 2020-01-09 15:39 ` Philippe Mathieu-Daudé
  2020-01-09 16:33   ` Thomas Huth
  2020-01-10 10:04   ` Alistair Francis
  2020-01-09 15:39 ` [PATCH 2/4] Makefile: Clarify all the codebase requires qom/ objects Philippe Mathieu-Daudé
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 16+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-01-09 15:39 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Alex Bennée, Laurent Vivier, Paolo Bonzini,
	Philippe Mathieu-Daudé,
	Richard Henderson

We only require libfdt for system emulation, in a small set
of architecture:

4077  # fdt support is mandatory for at least some target architectures,
4078  # so insist on it if we're building those system emulators.
4079  fdt_required=no
4080  for target in $target_list; do
4081    case $target in
4082      aarch64*-softmmu|arm*-softmmu|ppc*-softmmu|microblaze*-softmmu|mips64el-softmmu|riscv*-softmmu)
4083        fdt_required=yes

Do not build libfdt if we did not manually specified --enable-fdt.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 configure | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/configure b/configure
index 0ce2c0354a..266a8386d1 100755
--- a/configure
+++ b/configure
@@ -4092,6 +4092,8 @@ if test "$fdt_required" = "yes"; then
       "targets which need it (by specifying a cut down --target-list)."
   fi
   fdt=yes
+elif test "$fdt" != "yes" ; then
+  fdt=no
 fi
 
 if test "$fdt" != "no" ; then
-- 
2.21.1



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

* [PATCH 2/4] Makefile: Clarify all the codebase requires qom/ objects
  2020-01-09 15:39 [PATCH 0/4] buildsys: Build quicker (mostly tools and linux-user) Philippe Mathieu-Daudé
  2020-01-09 15:39 ` [PATCH 1/4] configure: Do not build libfdt is not required Philippe Mathieu-Daudé
@ 2020-01-09 15:39 ` Philippe Mathieu-Daudé
  2020-01-10  8:13   ` Thomas Huth
  2020-01-09 15:39 ` [PATCH 3/4] Makefile: Restrict system emulation and tools objects Philippe Mathieu-Daudé
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 16+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-01-09 15:39 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Alex Bennée, Laurent Vivier, Paolo Bonzini,
	Philippe Mathieu-Daudé,
	Richard Henderson

QEMU user-mode also requires the qom/ objects, it is not only
used by "system emulation and qemu-img". As we will use a big
if() block, move it upper in the "Common libraries for tools
and emulators" section.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 Makefile.objs | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/Makefile.objs b/Makefile.objs
index 7c1e50f9d6..5aae561984 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -2,6 +2,7 @@
 # Common libraries for tools and emulators
 stub-obj-y = stubs/
 util-obj-y = crypto/ util/ qobject/ qapi/
+qom-obj-y = qom/
 
 chardev-obj-y = chardev/
 
@@ -26,11 +27,6 @@ block-obj-m = block/
 
 crypto-obj-y = crypto/
 
-#######################################################################
-# qom-obj-y is code used by both qemu system emulation and qemu-img
-
-qom-obj-y = qom/
-
 #######################################################################
 # io-obj-y is code used by both qemu system emulation and qemu-img
 
-- 
2.21.1



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

* [PATCH 3/4] Makefile: Restrict system emulation and tools objects
  2020-01-09 15:39 [PATCH 0/4] buildsys: Build quicker (mostly tools and linux-user) Philippe Mathieu-Daudé
  2020-01-09 15:39 ` [PATCH 1/4] configure: Do not build libfdt is not required Philippe Mathieu-Daudé
  2020-01-09 15:39 ` [PATCH 2/4] Makefile: Clarify all the codebase requires qom/ objects Philippe Mathieu-Daudé
@ 2020-01-09 15:39 ` Philippe Mathieu-Daudé
  2020-01-10  8:14   ` Thomas Huth
  2020-01-09 15:39 ` [PATCH 4/4] Makefile: Remove unhelpful comment Philippe Mathieu-Daudé
  2020-01-10  8:35 ` [PATCH 0/4] buildsys: Build quicker (mostly tools and linux-user) Laurent Vivier
  4 siblings, 1 reply; 16+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-01-09 15:39 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Alex Bennée, Laurent Vivier, Paolo Bonzini,
	Philippe Mathieu-Daudé,
	Richard Henderson

Restrict all the system emulation and tools objects with a
Makefile IF (CONFIG_SOFTMMU OR CONFIG_TOOLS) check.

Using the same description over and over is not very helpful.
Use it once, just before the if() block.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 Makefile.objs | 19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

diff --git a/Makefile.objs b/Makefile.objs
index 5aae561984..395dd1e670 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -4,16 +4,15 @@ stub-obj-y = stubs/
 util-obj-y = crypto/ util/ qobject/ qapi/
 qom-obj-y = qom/
 
+#######################################################################
+# code used by both qemu system emulation and qemu-img
+
+ifeq ($(call lor,$(CONFIG_SOFTMMU),$(CONFIG_TOOLS)),y)
+
 chardev-obj-y = chardev/
 
-#######################################################################
-# authz-obj-y is code used by both qemu system emulation and qemu-img
-
 authz-obj-y = authz/
 
-#######################################################################
-# block-obj-y is code used by both qemu system emulation and qemu-img
-
 block-obj-y = nbd/
 block-obj-y += block.o blockjob.o job.o
 block-obj-y += block/ scsi/
@@ -22,16 +21,12 @@ block-obj-$(CONFIG_REPLICATION) += replication.o
 
 block-obj-m = block/
 
-#######################################################################
-# crypto-obj-y is code used by both qemu system emulation and qemu-img
-
 crypto-obj-y = crypto/
 
-#######################################################################
-# io-obj-y is code used by both qemu system emulation and qemu-img
-
 io-obj-y = io/
 
+endif # CONFIG_SOFTMMU or CONFIG_TOOLS
+
 ######################################################################
 # Target independent part of system emulation. The long term path is to
 # suppress *all* target specific code in case of system emulation, i.e. a
-- 
2.21.1



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

* [PATCH 4/4] Makefile: Remove unhelpful comment
  2020-01-09 15:39 [PATCH 0/4] buildsys: Build quicker (mostly tools and linux-user) Philippe Mathieu-Daudé
                   ` (2 preceding siblings ...)
  2020-01-09 15:39 ` [PATCH 3/4] Makefile: Restrict system emulation and tools objects Philippe Mathieu-Daudé
@ 2020-01-09 15:39 ` Philippe Mathieu-Daudé
  2020-01-10  8:15   ` Thomas Huth
  2020-01-10  8:35 ` [PATCH 0/4] buildsys: Build quicker (mostly tools and linux-user) Laurent Vivier
  4 siblings, 1 reply; 16+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-01-09 15:39 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Alex Bennée, Laurent Vivier, Paolo Bonzini,
	Philippe Mathieu-Daudé,
	Richard Henderson

It is pointless to keep qapi/ object separate from the other
common-objects. Drop the comment.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 Makefile.objs | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/Makefile.objs b/Makefile.objs
index 395dd1e670..c6321d0465 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -71,11 +71,9 @@ qemu-seccomp.o-libs := $(SECCOMP_LIBS)
 
 common-obj-$(CONFIG_FDT) += device_tree.o
 
-######################################################################
-# qapi
-
 common-obj-y += qapi/
-endif
+
+endif # CONFIG_SOFTMMU
 
 #######################################################################
 # Target-independent parts used in system and user emulation
-- 
2.21.1



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

* Re: [PATCH 1/4] configure: Do not build libfdt is not required
  2020-01-09 15:39 ` [PATCH 1/4] configure: Do not build libfdt is not required Philippe Mathieu-Daudé
@ 2020-01-09 16:33   ` Thomas Huth
  2020-01-10 10:04   ` Alistair Francis
  1 sibling, 0 replies; 16+ messages in thread
From: Thomas Huth @ 2020-01-09 16:33 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Paolo Bonzini, Alex Bennée, Laurent Vivier, Richard Henderson

On 09/01/2020 16.39, Philippe Mathieu-Daudé wrote:
> We only require libfdt for system emulation, in a small set
> of architecture:
> 
> 4077  # fdt support is mandatory for at least some target architectures,
> 4078  # so insist on it if we're building those system emulators.
> 4079  fdt_required=no
> 4080  for target in $target_list; do
> 4081    case $target in
> 4082      aarch64*-softmmu|arm*-softmmu|ppc*-softmmu|microblaze*-softmmu|mips64el-softmmu|riscv*-softmmu)
> 4083        fdt_required=yes
> 
> Do not build libfdt if we did not manually specified --enable-fdt.

I suggest to add:

"... or have one of the platforms that require it in our target list."

> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  configure | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/configure b/configure
> index 0ce2c0354a..266a8386d1 100755
> --- a/configure
> +++ b/configure
> @@ -4092,6 +4092,8 @@ if test "$fdt_required" = "yes"; then
>        "targets which need it (by specifying a cut down --target-list)."
>    fi
>    fdt=yes
> +elif test "$fdt" != "yes" ; then
> +  fdt=no
>  fi
>  
>  if test "$fdt" != "no" ; then
> 

Reviewed-by: Thomas Huth <thuth@redhat.com>



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

* Re: [PATCH 2/4] Makefile: Clarify all the codebase requires qom/ objects
  2020-01-09 15:39 ` [PATCH 2/4] Makefile: Clarify all the codebase requires qom/ objects Philippe Mathieu-Daudé
@ 2020-01-10  8:13   ` Thomas Huth
  0 siblings, 0 replies; 16+ messages in thread
From: Thomas Huth @ 2020-01-10  8:13 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Paolo Bonzini, Alex Bennée, Laurent Vivier, Richard Henderson

On 09/01/2020 16.39, Philippe Mathieu-Daudé wrote:
> QEMU user-mode also requires the qom/ objects, it is not only
> used by "system emulation and qemu-img". As we will use a big
> if() block, move it upper in the "Common libraries for tools
> and emulators" section.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  Makefile.objs | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/Makefile.objs b/Makefile.objs
> index 7c1e50f9d6..5aae561984 100644
> --- a/Makefile.objs
> +++ b/Makefile.objs
> @@ -2,6 +2,7 @@
>  # Common libraries for tools and emulators
>  stub-obj-y = stubs/
>  util-obj-y = crypto/ util/ qobject/ qapi/
> +qom-obj-y = qom/
>  
>  chardev-obj-y = chardev/
>  
> @@ -26,11 +27,6 @@ block-obj-m = block/
>  
>  crypto-obj-y = crypto/
>  
> -#######################################################################
> -# qom-obj-y is code used by both qemu system emulation and qemu-img
> -
> -qom-obj-y = qom/
> -
>  #######################################################################
>  # io-obj-y is code used by both qemu system emulation and qemu-img
>  
> 

Reviewed-by: Thomas Huth <thuth@redhat.com>



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

* Re: [PATCH 3/4] Makefile: Restrict system emulation and tools objects
  2020-01-09 15:39 ` [PATCH 3/4] Makefile: Restrict system emulation and tools objects Philippe Mathieu-Daudé
@ 2020-01-10  8:14   ` Thomas Huth
  2020-01-10  8:25     ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 16+ messages in thread
From: Thomas Huth @ 2020-01-10  8:14 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Paolo Bonzini, Alex Bennée, Laurent Vivier, Richard Henderson

On 09/01/2020 16.39, Philippe Mathieu-Daudé wrote:
> Restrict all the system emulation and tools objects with a
> Makefile IF (CONFIG_SOFTMMU OR CONFIG_TOOLS) check.
> 
> Using the same description over and over is not very helpful.
> Use it once, just before the if() block.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  Makefile.objs | 19 +++++++------------
>  1 file changed, 7 insertions(+), 12 deletions(-)
> 
> diff --git a/Makefile.objs b/Makefile.objs
> index 5aae561984..395dd1e670 100644
> --- a/Makefile.objs
> +++ b/Makefile.objs
> @@ -4,16 +4,15 @@ stub-obj-y = stubs/
>  util-obj-y = crypto/ util/ qobject/ qapi/
>  qom-obj-y = qom/
>  
> +#######################################################################
> +# code used by both qemu system emulation and qemu-img
> +
> +ifeq ($(call lor,$(CONFIG_SOFTMMU),$(CONFIG_TOOLS)),y)

That ",y" at the end looks wrong?

 Thomas



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

* Re: [PATCH 4/4] Makefile: Remove unhelpful comment
  2020-01-09 15:39 ` [PATCH 4/4] Makefile: Remove unhelpful comment Philippe Mathieu-Daudé
@ 2020-01-10  8:15   ` Thomas Huth
  0 siblings, 0 replies; 16+ messages in thread
From: Thomas Huth @ 2020-01-10  8:15 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Paolo Bonzini, Alex Bennée, Laurent Vivier,
	Markus Armbruster, Richard Henderson

On 09/01/2020 16.39, Philippe Mathieu-Daudé wrote:
> It is pointless to keep qapi/ object separate from the other
> common-objects. Drop the comment.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  Makefile.objs | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/Makefile.objs b/Makefile.objs
> index 395dd1e670..c6321d0465 100644
> --- a/Makefile.objs
> +++ b/Makefile.objs
> @@ -71,11 +71,9 @@ qemu-seccomp.o-libs := $(SECCOMP_LIBS)
>  
>  common-obj-$(CONFIG_FDT) += device_tree.o
>  
> -######################################################################
> -# qapi
> -
>  common-obj-y += qapi/
> -endif
> +
> +endif # CONFIG_SOFTMMU
>  
>  #######################################################################
>  # Target-independent parts used in system and user emulation
> 

Reviewed-by: Thomas Huth <thuth@redhat.com>



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

* Re: [PATCH 3/4] Makefile: Restrict system emulation and tools objects
  2020-01-10  8:14   ` Thomas Huth
@ 2020-01-10  8:25     ` Philippe Mathieu-Daudé
  2020-01-10  8:34       ` Thomas Huth
  0 siblings, 1 reply; 16+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-01-10  8:25 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Philippe Mathieu-Daudé,
	qemu-devel@nongnu.org Developers, Laurent Vivier, Paolo Bonzini,
	Alex Bennée, Richard Henderson

[-- Attachment #1: Type: text/plain, Size: 1097 bytes --]

Le ven. 10 janv. 2020 09:18, Thomas Huth <thuth@redhat.com> a écrit :

> On 09/01/2020 16.39, Philippe Mathieu-Daudé wrote:
> > Restrict all the system emulation and tools objects with a
> > Makefile IF (CONFIG_SOFTMMU OR CONFIG_TOOLS) check.
> >
> > Using the same description over and over is not very helpful.
> > Use it once, just before the if() block.
> >
> > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> > ---
> >  Makefile.objs | 19 +++++++------------
> >  1 file changed, 7 insertions(+), 12 deletions(-)
> >
> > diff --git a/Makefile.objs b/Makefile.objs
> > index 5aae561984..395dd1e670 100644
> > --- a/Makefile.objs
> > +++ b/Makefile.objs
> > @@ -4,16 +4,15 @@ stub-obj-y = stubs/
> >  util-obj-y = crypto/ util/ qobject/ qapi/
> >  qom-obj-y = qom/
> >
> > +#######################################################################
> > +# code used by both qemu system emulation and qemu-img
> > +
> > +ifeq ($(call lor,$(CONFIG_SOFTMMU),$(CONFIG_TOOLS)),y)
>
> That ",y" at the end looks wrong?
>

It's the result of the logical OR.

[-- Attachment #2: Type: text/html, Size: 1626 bytes --]

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

* Re: [PATCH 3/4] Makefile: Restrict system emulation and tools objects
  2020-01-10  8:25     ` Philippe Mathieu-Daudé
@ 2020-01-10  8:34       ` Thomas Huth
  0 siblings, 0 replies; 16+ messages in thread
From: Thomas Huth @ 2020-01-10  8:34 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Philippe Mathieu-Daudé,
	qemu-devel@nongnu.org Developers, Laurent Vivier, Paolo Bonzini,
	Alex Bennée, Richard Henderson

On 10/01/2020 09.25, Philippe Mathieu-Daudé wrote:
> Le ven. 10 janv. 2020 09:18, Thomas Huth <thuth@redhat.com
> <mailto:thuth@redhat.com>> a écrit :
> 
>     On 09/01/2020 16.39, Philippe Mathieu-Daudé wrote:
>     > Restrict all the system emulation and tools objects with a
>     > Makefile IF (CONFIG_SOFTMMU OR CONFIG_TOOLS) check.
>     >
>     > Using the same description over and over is not very helpful.
>     > Use it once, just before the if() block.
>     >
>     > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com
>     <mailto:philmd@redhat.com>>
>     > ---
>     >  Makefile.objs | 19 +++++++------------
>     >  1 file changed, 7 insertions(+), 12 deletions(-)
>     >
>     > diff --git a/Makefile.objs b/Makefile.objs
>     > index 5aae561984..395dd1e670 100644
>     > --- a/Makefile.objs
>     > +++ b/Makefile.objs
>     > @@ -4,16 +4,15 @@ stub-obj-y = stubs/
>     >  util-obj-y = crypto/ util/ qobject/ qapi/
>     >  qom-obj-y = qom/
>     > 
>     >
>     +#######################################################################
>     > +# code used by both qemu system emulation and qemu-img
>     > +
>     > +ifeq ($(call lor,$(CONFIG_SOFTMMU),$(CONFIG_TOOLS)),y)
> 
>     That ",y" at the end looks wrong?
> 
> 
> It's the result of the logical OR.

-ENOTENOUGHCOFFEEYET

Your code is fine, of course.

Reviewed-by: Thomas Huth <thuth@redhat.com>



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

* Re: [PATCH 0/4] buildsys: Build quicker (mostly tools and linux-user)
  2020-01-09 15:39 [PATCH 0/4] buildsys: Build quicker (mostly tools and linux-user) Philippe Mathieu-Daudé
                   ` (3 preceding siblings ...)
  2020-01-09 15:39 ` [PATCH 4/4] Makefile: Remove unhelpful comment Philippe Mathieu-Daudé
@ 2020-01-10  8:35 ` Laurent Vivier
  2020-01-10  9:17   ` Philippe Mathieu-Daudé
  4 siblings, 1 reply; 16+ messages in thread
From: Laurent Vivier @ 2020-01-10  8:35 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Paolo Bonzini, Thomas Huth, Alex Bennée, Richard Henderson

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


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

* Re: [PATCH 0/4] buildsys: Build quicker (mostly tools and linux-user)
  2020-01-10  8:35 ` [PATCH 0/4] buildsys: Build quicker (mostly tools and linux-user) Laurent Vivier
@ 2020-01-10  9:17   ` Philippe Mathieu-Daudé
  2020-01-10 14:03     ` Laurent Vivier
  0 siblings, 1 reply; 16+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-01-10  9:17 UTC (permalink / raw)
  To: Laurent Vivier
  Cc: Thomas Huth, Philippe Mathieu-Daudé,
	qemu-devel@nongnu.org Developers, Paolo Bonzini,
	Alex Bennée, Richard Henderson

[-- Attachment #1: Type: text/plain, Size: 944 bytes --]

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?

>

[-- Attachment #2: Type: text/html, Size: 1509 bytes --]

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

* Re: [PATCH 1/4] configure: Do not build libfdt is not required
  2020-01-09 15:39 ` [PATCH 1/4] configure: Do not build libfdt is not required Philippe Mathieu-Daudé
  2020-01-09 16:33   ` Thomas Huth
@ 2020-01-10 10:04   ` Alistair Francis
  1 sibling, 0 replies; 16+ messages in thread
From: Alistair Francis @ 2020-01-10 10:04 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Thomas Huth, qemu-devel@nongnu.org Developers, Laurent Vivier,
	Paolo Bonzini, Alex Bennée, Richard Henderson

On Thu, Jan 9, 2020 at 11:40 PM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:
>
> We only require libfdt for system emulation, in a small set
> of architecture:
>
> 4077  # fdt support is mandatory for at least some target architectures,
> 4078  # so insist on it if we're building those system emulators.
> 4079  fdt_required=no
> 4080  for target in $target_list; do
> 4081    case $target in
> 4082      aarch64*-softmmu|arm*-softmmu|ppc*-softmmu|microblaze*-softmmu|mips64el-softmmu|riscv*-softmmu)
> 4083        fdt_required=yes
>
> Do not build libfdt if we did not manually specified --enable-fdt.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
>  configure | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/configure b/configure
> index 0ce2c0354a..266a8386d1 100755
> --- a/configure
> +++ b/configure
> @@ -4092,6 +4092,8 @@ if test "$fdt_required" = "yes"; then
>        "targets which need it (by specifying a cut down --target-list)."
>    fi
>    fdt=yes
> +elif test "$fdt" != "yes" ; then
> +  fdt=no
>  fi
>
>  if test "$fdt" != "no" ; then
> --
> 2.21.1
>
>


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

* Re: [PATCH 0/4] buildsys: Build quicker (mostly tools and linux-user)
  2020-01-10  9:17   ` Philippe Mathieu-Daudé
@ 2020-01-10 14:03     ` Laurent Vivier
  2020-01-10 16:41       ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 16+ messages in thread
From: Laurent Vivier @ 2020-01-10 14:03 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Thomas Huth, Philippe Mathieu-Daudé,
	qemu-devel@nongnu.org Developers, Paolo Bonzini,
	Alex Bennée, Richard Henderson

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


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

* Re: [PATCH 0/4] buildsys: Build quicker (mostly tools and linux-user)
  2020-01-10 14:03     ` Laurent Vivier
@ 2020-01-10 16:41       ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 16+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-01-10 16:41 UTC (permalink / raw)
  To: Laurent Vivier, Philippe Mathieu-Daudé
  Cc: Paolo Bonzini, Thomas Huth, Alex Bennée,
	qemu-devel@nongnu.org Developers, Richard Henderson

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.



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

end of thread, other threads:[~2020-01-10 16:42 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-09 15:39 [PATCH 0/4] buildsys: Build quicker (mostly tools and linux-user) Philippe Mathieu-Daudé
2020-01-09 15:39 ` [PATCH 1/4] configure: Do not build libfdt is not required Philippe Mathieu-Daudé
2020-01-09 16:33   ` Thomas Huth
2020-01-10 10:04   ` Alistair Francis
2020-01-09 15:39 ` [PATCH 2/4] Makefile: Clarify all the codebase requires qom/ objects Philippe Mathieu-Daudé
2020-01-10  8:13   ` Thomas Huth
2020-01-09 15:39 ` [PATCH 3/4] Makefile: Restrict system emulation and tools objects Philippe Mathieu-Daudé
2020-01-10  8:14   ` Thomas Huth
2020-01-10  8:25     ` Philippe Mathieu-Daudé
2020-01-10  8:34       ` Thomas Huth
2020-01-09 15:39 ` [PATCH 4/4] Makefile: Remove unhelpful comment Philippe Mathieu-Daudé
2020-01-10  8:15   ` Thomas Huth
2020-01-10  8:35 ` [PATCH 0/4] buildsys: Build quicker (mostly tools and linux-user) Laurent Vivier
2020-01-10  9:17   ` Philippe Mathieu-Daudé
2020-01-10 14:03     ` Laurent Vivier
2020-01-10 16:41       ` Philippe Mathieu-Daudé

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.