qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] Add ability to build without any targets enable


From: Stefan Weil
Subject: Re: [Qemu-devel] [PATCH] Add ability to build without any targets enabled
Date: Fri, 31 Aug 2012 19:29:26 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.16) Gecko/20120724 Iceowl/1.0b1 Icedove/3.0.11

Am 31.08.2012 19:15, schrieb Peter Maydell:
On 31 August 2012 18:06, Daniel P. Berrange<address@hidden>  wrote:
From: "Daniel P. Berrange"<address@hidden>

The qemu-img, qemu-nbd and qemu-io tools are quite useful in their
own right. eg LXC can use qemu-img and qemu-nbd to support running
of containers with qcow2 images. As such it is reasonable to allow
building these tools, without enabling any QEMU targets. This change
does two things:

  - Allows passing an empty string to the --target-list arg
    to disable all targets
  - Adds --enable-tools/--disable-tools args to enable/disable
    building of qemu-img, qemu-nbd and qemu-io independantly
    of whether any softmmu target is disabled. The builds
    default to enabled at all times.

Feels to me like these should be separate patches.

With this you can do

   ./configure --target-list=

and get a build that only includes the basic tools

Signed-off-by: Daniel P. Berrange<address@hidden>
---
  configure | 38 ++++++++++++++++++++++++++------------
  1 file changed, 26 insertions(+), 12 deletions(-)

diff --git a/configure b/configure
index d97fd81..bbde154 100755
--- a/configure
+++ b/configure
@@ -128,6 +128,7 @@ libs_qga=""
  debug_info="yes"

  target_list=""
+without_targets=0

  # Default value for a variable defining feature "foo".
  #  * foo="no"  feature will only be used if --enable-foo arg is given
@@ -216,6 +217,7 @@ usb_redir=""
  opengl=""
  zlib="yes"
  guest_agent="yes"
+want_tools="yes"
  libiscsi=""
  coroutine=""
  seccomp=""
@@ -614,7 +616,12 @@ for opt do
    ;;
    --cpu=*)
    ;;
-  --target-list=*) target_list="$optarg"
+  --target-list=*)
+    if test -z "$optarg" ; then
+        without_targets=1
+    else
+        target_list="$optarg"
+    fi
    ;;

I think the code ends up a bit simpler if you start with
target_list=DEFAULT
and use that as the indicator of 'use default list' rather
than the empty string. However that does add the 'undocumented
feature' that '--target-list=DEFAULT' becomes valid...

-- PMM

An undefined target_list might be a better indicator
and does not add undocumented features.

I appreciate the possibility of default builds without tools:
they save time when running 'git bisect' or in cross builds
when the tools are not needed.

My private QEMU has this feature since several years, but
uses an approach which differs from this patch: there are always
Makefile targets 'doc' and 'tools'. By default, 'all' includes
'doc' and 'tools', but they can be disabled using configure
options (--disable-docs, --disable-tools). Even when they
are disabled, it is possible to run 'make doc' or 'make tools'.

Regards,

Stefan W.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]