All of lore.kernel.org
 help / color / mirror / Atom feed
From: Juan Quintela <quintela@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: "Daniel P. Berrangé" <berrange@redhat.com>,
	"Laurent Vivier" <lvivier@redhat.com>,
	"QEMU Developers" <qemu-devel@nongnu.org>,
	"Peter Xu" <peterx@redhat.com>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 01/25] configure: We don't want to clean configuration files
Date: Tue, 17 Jul 2018 19:27:19 +0200	[thread overview]
Message-ID: <87k1ptydqg.fsf@secure.mitica> (raw)
In-Reply-To: <CAFEAcA8S1rG4X37Qmgk5YawCh32p=yw7o=22uQuZQWJMBBke7Q@mail.gmail.com> (Peter Maydell's message of "Tue, 17 Jul 2018 18:18:59 +0100")

Peter Maydell <peter.maydell@linaro.org> wrote:
> On 17 July 2018 at 18:05, Juan Quintela <quintela@redhat.com> wrote:
>> Daniel P. Berrangé <berrange@redhat.com> wrote:
>>> On Tue, Jul 17, 2018 at 01:33:38PM +0200, Juan Quintela wrote:
>>>> If you don't want to compile everything, you configure
>>>> config-devices.mak.  And then make clean remove it, and make will
>>>> create a default one without your configuration.  Fix it by not
>>>> removing it.
>>>>
>>>> Signed-off-by: Juan Quintela <quintela@redhat.com>
>>>> ---
>>>>  Makefile | 2 +-
>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/Makefile b/Makefile
>>>> index 2da686be33..2ffbcde323 100644
>>>> --- a/Makefile
>>>> +++ b/Makefile
>>>> @@ -751,7 +751,7 @@ clean:
>>>>      if test -d $$d; then $(MAKE) -C $$d $@ || exit 1; fi; \
>>>>      rm -f $$d/qemu-options.def; \
>>>>          done
>>>> -    rm -f $(SUBDIR_DEVICES_MAK) config-all-devices.mak
>>>> +    rm -f config-all-devices.mak
>>>>
>>>>  VERSION ?= $(shell cat VERSION)
>>>
>>> This feels wrong to me.  If 'make' is creating config-devices.mak, then
>>> either 'make clean' or 'make distclean' must remove it. So if you remove
>>> it here, it should be added to distclean instead.
>>
>> I can agree with putting it on distclean.
>>
>> make don't put it there if it is already there.  My use case is that I
>> have several build trees from the same source three:
>>
>> - x86_64-softmmu with minimal set of devices (the ones that I use)
>> - x86_64-softmmu with everything under the sun
>> - everything that can be compiled in in fedora
>>
>> for the 1st case, I am interested that it is fast, so I edit the
>> x86_64-softmmu/config-device.mak.  But if I do a make clean for any
>> reason, I lost my changes.
>
> I think the problem here is that we're confused about whether
> config-devices.mak should be a user-editable file or just
> part of our build process. Personally I think we should go
> for the latter, ie if there are useful use cases that
> currently you need to edit the file to achieve, we should
> provide a better mechanism for doing them.

I agree with the better mechanism, but until them this is the only way
to "choose" what devices to compile in.  It is a very bad mechanism, but
it is the only one that we have right now.

On a general level, for devices that are quite well isolated, it works
quite well.  But for the rest of the things, it is kind of messy.
- No dependencies
  So, if you look at the generated x86_64-softmmu/config-devices,mak,
  you can see that we define CONFIG_SCSI=y at least three times
- No way to show that dependencies at the C level, so we can only
  compile in/out at the file level
- simple things like pc-speaker, msmouse or vmport, you can't compile
  out, because they are created by code, not by
  qom/configuration/whatever.

On the other hand, sometimes it looks like I am the only user that use
this.  The original reason for this was to be able to compile out
drivers that downstream don't care about.  There were a couple of
intents to integrate with something like kernel kconfig, but I think
that we never end integrating anything from there.

Later, Juan.

  reply	other threads:[~2018-07-17 17:27 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-17 11:33 [Qemu-devel] [PATCH 00/25] Don't "check" disabled drivers Juan Quintela
2018-07-17 11:33 ` [Qemu-devel] [PATCH 01/25] configure: We don't want to clean configuration files Juan Quintela
2018-07-17 12:46   ` Daniel P. Berrangé
2018-07-17 17:05     ` Juan Quintela
2018-07-17 17:18       ` Peter Maydell
2018-07-17 17:27         ` Juan Quintela [this message]
2018-07-17 19:30           ` Peter Maydell
2018-07-17 20:22             ` Juan Quintela
2018-07-17 11:33 ` [Qemu-devel] [PATCH 02/25] config: CONFIG_SERIAL* is already in pci.mak Juan Quintela
2018-07-17 11:33 ` [Qemu-devel] [PATCH 03/25] check: Use land/lor when possible Juan Quintela
2018-07-17 11:33 ` [Qemu-devel] [PATCH 04/25] check: Only test vmxnet3 when it is compiled in Juan Quintela
2018-07-17 11:42   ` Thomas Huth
2018-07-17 11:33 ` [Qemu-devel] [PATCH 05/25] check: Only test ne2000 " Juan Quintela
2018-07-17 11:42   ` Thomas Huth
2018-07-17 11:33 ` [Qemu-devel] [PATCH 06/25] check: Only test eepro100 " Juan Quintela
2018-07-17 11:47   ` Thomas Huth
2018-07-17 11:33 ` [Qemu-devel] [PATCH 07/25] check: Only test pcnet " Juan Quintela
2018-07-17 11:43   ` Thomas Huth
2018-07-17 11:33 ` [Qemu-devel] [PATCH 08/25] check: Only test rtl8139 " Juan Quintela
2018-07-17 11:46   ` Thomas Huth
2018-07-17 11:33 ` [Qemu-devel] [PATCH 09/25] check: Only test es1370 " Juan Quintela
2018-07-17 11:52   ` Thomas Huth
2018-07-17 11:33 ` [Qemu-devel] [PATCH 10/25] check: Only test ac97 " Juan Quintela
2018-07-17 11:49   ` Thomas Huth
2018-07-17 11:33 ` [Qemu-devel] [PATCH 11/25] check: Only test hda " Juan Quintela
2018-07-17 11:50   ` Thomas Huth
2018-07-17 11:33 ` [Qemu-devel] [PATCH 12/25] check: Only test ipack " Juan Quintela
2018-07-17 12:09   ` Thomas Huth
2018-07-17 11:33 ` [Qemu-devel] [PATCH 13/25] check: Only test isa-testdev " Juan Quintela
2018-07-17 12:13   ` Thomas Huth
2018-07-17 11:33 ` [Qemu-devel] [PATCH 14/25] check: Only test ioh3420 " Juan Quintela
2018-07-17 12:13   ` Thomas Huth
2018-07-17 11:33 ` [Qemu-devel] [PATCH 15/25] check: Only test i82801b11 " Juan Quintela
2018-07-17 12:14   ` Thomas Huth
2018-07-17 11:33 ` [Qemu-devel] [PATCH 16/25] check: Only test sdhci " Juan Quintela
2018-07-17 11:48   ` Thomas Huth
2018-07-17 11:33 ` [Qemu-devel] [PATCH 17/25] check: Only test wdt_ib700 " Juan Quintela
2018-07-17 11:50   ` Thomas Huth
2018-07-17 11:33 ` [Qemu-devel] [PATCH 18/25] check: Only test pvpanic " Juan Quintela
2018-07-17 12:40   ` Thomas Huth
2018-07-17 11:33 ` [Qemu-devel] [PATCH 19/25] check: Only test nvme " Juan Quintela
2018-07-17 14:00   ` Thomas Huth
2018-07-17 11:33 ` [Qemu-devel] [PATCH 20/25] check: Only test usb-xhci-nec " Juan Quintela
2018-07-17 14:06   ` Thomas Huth
2018-07-17 17:06     ` Juan Quintela
2018-07-26 15:09     ` Juan Quintela
2018-07-27  8:13       ` Thomas Huth
2018-07-17 11:33 ` [Qemu-devel] [PATCH 21/25] check: Only test usb-ohci " Juan Quintela
2018-07-17 14:09   ` Thomas Huth
2018-07-17 11:33 ` [Qemu-devel] [PATCH 22/25] check: Only test usb-uhci devices when they are " Juan Quintela
2018-07-17 14:10   ` Thomas Huth
2018-07-17 11:34 ` [Qemu-devel] [PATCH 23/25] check: Only test usb-ehci when it is " Juan Quintela
2018-07-17 14:10   ` Thomas Huth
2018-07-17 11:34 ` [Qemu-devel] [PATCH 24/25] check: Only test ivshm " Juan Quintela
2018-07-17 11:34 ` [Qemu-devel] [PATCH 25/25] check: Only test tpm devices when they are " Juan Quintela

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=87k1ptydqg.fsf@secure.mitica \
    --to=quintela@redhat.com \
    --cc=berrange@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=lvivier@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=peterx@redhat.com \
    --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 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.