qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH] Add ability to build without any targets enabled


From: Daniel P. Berrange
Subject: [Qemu-devel] [PATCH] Add ability to build without any targets enabled
Date: Fri, 31 Aug 2012 18:06:28 +0100

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.

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
   ;;
   --enable-trace-backend=*) trace_backend="$optarg"
   ;;
@@ -865,6 +872,10 @@ for opt do
   ;;
   --disable-guest-agent) guest_agent="no"
   ;;
+  --enable-tools) want_tools="yes"
+  ;;
+  --disable-tools) want_tools="no"
+  ;;
   --enable-seccomp) seccomp="yes"
   ;;
   --disable-seccomp) seccomp="no"
@@ -1315,14 +1326,13 @@ if ! "$python" -c 'import sys; 
sys.exit(sys.version_info < (2,4) or sys.version_
 fi
 
 if test -z "$target_list" ; then
-    target_list="$default_target_list"
+    if test $without_targets = 0 ; then
+        target_list="$default_target_list"
+    fi
 else
     target_list=`echo "$target_list" | sed -e 's/,/ /g'`
 fi
-if test -z "$target_list" ; then
-    echo "No targets enabled"
-    exit 1
-fi
+
 # see if system emulation was really requested
 case " $target_list " in
   *"-softmmu "*) softmmu=yes
@@ -3039,9 +3049,14 @@ fi
 qemu_confdir=$sysconfdir$confsuffix
 qemu_datadir=$datadir$confsuffix
 
-tools=
-if test "$softmmu" = yes ; then
+tools=""
+if test "$want_tools" = "yes" ; then
   tools="qemu-img\$(EXESUF) qemu-io\$(EXESUF) $tools"
+  if [ "$linux" = "yes" -o "$bsd" = "yes" -o "$solaris" = "yes" ] ; then
+    tools="qemu-nbd\$(EXESUF) $tools"
+  fi
+fi
+if test "$softmmu" = yes ; then
   if test "$virtfs" != no ; then
     if test "$cap" = yes && test "$linux" = yes && test "$attr" = yes ; then
       virtfs=yes
@@ -3055,14 +3070,13 @@ if test "$softmmu" = yes ; then
     fi
   fi
   if [ "$linux" = "yes" -o "$bsd" = "yes" -o "$solaris" = "yes" ] ; then
-      tools="qemu-nbd\$(EXESUF) $tools"
     if [ "$guest_agent" = "yes" ]; then
       tools="qemu-ga\$(EXESUF) $tools"
     fi
   fi
-fi
-if test "$smartcard_nss" = "yes" ; then
-  tools="vscclient\$(EXESUF) $tools"
+  if test "$smartcard_nss" = "yes" ; then
+    tools="vscclient\$(EXESUF) $tools"
+  fi
 fi
 
 # Mac OS X ships with a broken assembler
-- 
1.7.11.2




reply via email to

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