qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Juan Quintela <quintela@redhat.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH v3 00/30] Compile only devices that are used
Date: Thu, 27 Aug 2009 21:17:35 +0200	[thread overview]
Message-ID: <cover.1251399960.git.quintela@redhat.com> (raw)

The new config file version!!!!!

v3:
- Now we have a config file by target!!!
- We have configure tool to choose what drivers to compile
      vi <target>/config-devices.mak
- We have another nice tool to check if a config file is valid
      make: if it compiles, it is good, otherwise go to previous step
- Renamed config.h/config.mak to config-target.h and config-target.{h,mak}
      now config.h is not generated, and we can put more stuff there
- I did a go at trying to create config-devices.h, but it is _interesting_
  as we have different names, and have to put one of the files.
  That is the reason why I did the automatic generation of *.h files from
  *.mak files.
- I switched previus patches to this new series.

ToDo:
- there is still a bug when compiling with make -j<n>, sometimes it don't
  generate config-host.h.  Still haven't been able to catch why. Normally
  it works, that is the reason why it is not esay to find what is wrong.
- Pass more stuff to that configuration files.

Comments?

v2:
- ptimer is also used in sparc64 (Blue Swirl)
- generate and compile gdbstub-xml only when needed.

v1:
This series disable complilation of devices that are not used in
any of the selected targets.  Patch series remove all the devices that are
not used for x86_64/i386-softmmu alone.  If you also compiles the softmmu
targets that need them, they are compiled back in.

I sent similar patches to this series a couple of months ago.  The big
different (for those with good memory) is that now I don't move devices
from Makefile.hw and Makefile to Makefile.target.  I just enable/disable
them with CONFIG_FOO and normal building system.

I didn't do it for other platform because I don't have an easy way to test
that I haven't broke anything.  Anyone that uses other platform can do the
same simplification there.


Juan Quintela (30):
  Don't include config-host.mak from inside config.mak
  Move generation of config-host.h to Makefile from configure
  Remove useless check for config-host.mak
  Rename config.{h,mak} config-target.{h,mak}
  Move generation of config-target.h to Makefile from configure
  Add new config-devices.mak for each target
  Generate gdbstub-xml.c only when needed
  Only compile usb_ohci when one target uses it
  Only compile isa_mmio when one target uses it
  Only compile qdev_addr when one target uses it
  Only compile nand when one target uses it
  Only compile ecc when one target uses it
  Only compile esp when one target uses it
  Only compile escc when one target uses it
  Only compile m48t59 when one target uses it
  Only compile ptimer when one target uses it
  Only compile sd when one target uses it
  Only compile max7310 when one target uses it
  Only compile wm8750 when one target uses it
  Only compile twl92230  when one target uses it
  Only compile tsc2005  when one target uses it
  Only compile lm832x  when one target uses it
  Only compile tmp105  when one target uses it
  Only compile stellaris_input when one target uses it
  Only compile sd0303 when one target uses it
  Only compile sd0323 when one target uses it
  Only compile ads7846 when one target uses it
  Only compile max111x when one target uses it
  Only compile ssi-sd when one target uses it
  Only compile ssi when one target uses it

 .gitignore                                 |    3 +
 Makefile                                   |   52 +++++++---
 Makefile.hw                                |   13 ++-
 Makefile.target                            |   30 +++---
 config.h                                   |    3 +
 configure                                  |  150 ++++++++++++----------------
 create_config                              |    2 +
 default-configs/alpha-linux-user.mak       |    1 +
 default-configs/arm-linux-user.mak         |    3 +
 default-configs/arm-softmmu.mak            |   22 ++++
 default-configs/armeb-linux-user.mak       |    3 +
 default-configs/cris-linux-user.mak        |    1 +
 default-configs/cris-softmmu.mak           |    3 +
 default-configs/i386-bsd-user.mak          |    1 +
 default-configs/i386-darwin-user.mak       |    1 +
 default-configs/i386-linux-user.mak        |    1 +
 default-configs/i386-softmmu.mak           |    1 +
 default-configs/m68k-linux-user.mak        |    3 +
 default-configs/m68k-softmmu.mak           |    3 +
 default-configs/microblaze-linux-user.mak  |    1 +
 default-configs/microblaze-softmmu.mak     |    1 +
 default-configs/mips-linux-user.mak        |    1 +
 default-configs/mips-softmmu.mak           |    4 +
 default-configs/mips64-softmmu.mak         |    4 +
 default-configs/mips64el-softmmu.mak       |    4 +
 default-configs/mipsel-linux-user.mak      |    1 +
 default-configs/mipsel-softmmu.mak         |    4 +
 default-configs/ppc-darwin-user.mak        |    3 +
 default-configs/ppc-linux-user.mak         |    3 +
 default-configs/ppc-softmmu.mak            |    7 ++
 default-configs/ppc64-linux-user.mak       |    3 +
 default-configs/ppc64-softmmu.mak          |    7 ++
 default-configs/ppc64abi32-linux-user.mak  |    3 +
 default-configs/ppcemb-softmmu.mak         |    7 ++
 default-configs/sh4-linux-user.mak         |    1 +
 default-configs/sh4-softmmu.mak            |    3 +
 default-configs/sh4eb-linux-user.mak       |    1 +
 default-configs/sh4eb-softmmu.mak          |    3 +
 default-configs/sparc-bsd-user.mak         |    1 +
 default-configs/sparc-linux-user.mak       |    1 +
 default-configs/sparc-softmmu.mak          |    7 ++
 default-configs/sparc32plus-linux-user.mak |    1 +
 default-configs/sparc64-bsd-user.mak       |    1 +
 default-configs/sparc64-linux-user.mak     |    1 +
 default-configs/sparc64-softmmu.mak        |    6 +
 default-configs/x86_64-bsd-user.mak        |    1 +
 default-configs/x86_64-linux-user.mak      |    1 +
 default-configs/x86_64-softmmu.mak         |    1 +
 rules.mak                                  |    9 ++
 49 files changed, 268 insertions(+), 119 deletions(-)
 create mode 100644 config.h
 create mode 100644 default-configs/alpha-linux-user.mak
 create mode 100644 default-configs/arm-linux-user.mak
 create mode 100644 default-configs/arm-softmmu.mak
 create mode 100644 default-configs/armeb-linux-user.mak
 create mode 100644 default-configs/cris-linux-user.mak
 create mode 100644 default-configs/cris-softmmu.mak
 create mode 100644 default-configs/i386-bsd-user.mak
 create mode 100644 default-configs/i386-darwin-user.mak
 create mode 100644 default-configs/i386-linux-user.mak
 create mode 100644 default-configs/i386-softmmu.mak
 create mode 100644 default-configs/m68k-linux-user.mak
 create mode 100644 default-configs/m68k-softmmu.mak
 create mode 100644 default-configs/microblaze-linux-user.mak
 create mode 100644 default-configs/microblaze-softmmu.mak
 create mode 100644 default-configs/mips-linux-user.mak
 create mode 100644 default-configs/mips-softmmu.mak
 create mode 100644 default-configs/mips64-softmmu.mak
 create mode 100644 default-configs/mips64el-softmmu.mak
 create mode 100644 default-configs/mipsel-linux-user.mak
 create mode 100644 default-configs/mipsel-softmmu.mak
 create mode 100644 default-configs/ppc-darwin-user.mak
 create mode 100644 default-configs/ppc-linux-user.mak
 create mode 100644 default-configs/ppc-softmmu.mak
 create mode 100644 default-configs/ppc64-linux-user.mak
 create mode 100644 default-configs/ppc64-softmmu.mak
 create mode 100644 default-configs/ppc64abi32-linux-user.mak
 create mode 100644 default-configs/ppcemb-softmmu.mak
 create mode 100644 default-configs/sh4-linux-user.mak
 create mode 100644 default-configs/sh4-softmmu.mak
 create mode 100644 default-configs/sh4eb-linux-user.mak
 create mode 100644 default-configs/sh4eb-softmmu.mak
 create mode 100644 default-configs/sparc-bsd-user.mak
 create mode 100644 default-configs/sparc-linux-user.mak
 create mode 100644 default-configs/sparc-softmmu.mak
 create mode 100644 default-configs/sparc32plus-linux-user.mak
 create mode 100644 default-configs/sparc64-bsd-user.mak
 create mode 100644 default-configs/sparc64-linux-user.mak
 create mode 100644 default-configs/sparc64-softmmu.mak
 create mode 100644 default-configs/x86_64-bsd-user.mak
 create mode 100644 default-configs/x86_64-linux-user.mak
 create mode 100644 default-configs/x86_64-softmmu.mak

             reply	other threads:[~2009-08-27 19:20 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-27 19:17 Juan Quintela [this message]
2009-08-27 19:17 ` [Qemu-devel] [PATCH 01/30] Don't include config-host.mak from inside config.mak Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 02/30] Move generation of config-host.h to Makefile from configure Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 03/30] Remove useless check for config-host.mak Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 04/30] Rename config.{h, mak} config-target.{h, mak} Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 05/30] Move generation of config-target.h to Makefile from configure Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 06/30] Add new config-devices.mak for each target Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 07/30] Generate gdbstub-xml.c only when needed Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 08/30] Only compile usb_ohci when one target uses it Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 09/30] Only compile isa_mmio " Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 10/30] Only compile qdev_addr " Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 11/30] Only compile nand " Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 12/30] Only compile ecc " Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 13/30] Only compile esp " Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 14/30] Only compile escc " Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 15/30] Only compile m48t59 " Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 16/30] Only compile ptimer " Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 17/30] Only compile sd " Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 18/30] Only compile max7310 " Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 19/30] Only compile wm8750 " Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 20/30] Only compile twl92230 " Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 21/30] Only compile tsc2005 " Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 22/30] Only compile lm832x " Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 23/30] Only compile tmp105 " Juan Quintela
2009-08-27 19:17 ` [Qemu-devel] [PATCH 24/30] Only compile stellaris_input " Juan Quintela
2009-08-27 19:18 ` [Qemu-devel] [PATCH 25/30] Only compile sd0303 " Juan Quintela
2009-08-27 19:18 ` [Qemu-devel] [PATCH 26/30] Only compile sd0323 " Juan Quintela
2009-08-27 19:18 ` [Qemu-devel] [PATCH 27/30] Only compile ads7846 " Juan Quintela
2009-08-27 19:18 ` [Qemu-devel] [PATCH 28/30] Only compile max111x " Juan Quintela
2009-08-27 19:18 ` [Qemu-devel] [PATCH 29/30] Only compile ssi-sd " Juan Quintela
2009-08-27 19:18 ` [Qemu-devel] [PATCH 30/30] Only compile ssi " 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=cover.1251399960.git.quintela@redhat.com \
    --to=quintela@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 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).