qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 1/5] configure: add --disable-tcg configure option


From: Anthony Liguori
Subject: [Qemu-devel] [PATCH 1/5] configure: add --disable-tcg configure option
Date: Fri, 2 Sep 2011 16:47:59 -0500

This lets you build without TCG (KVM only).  When this flag is passed to
configure, it will automatically filter out the target list to only those that
support KVM.

I guess the same could be done for Xen but I'll let the Xen folks figure that
one out :-)

Signed-off-by: Anthony Liguori <address@hidden>
---
 configure |   40 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 39 insertions(+), 1 deletions(-)

diff --git a/configure b/configure
index a8ea688..04f121c 100755
--- a/configure
+++ b/configure
@@ -130,6 +130,7 @@ xen_ctrl_version=""
 linux_aio=""
 attr=""
 xfs=""
+tcg="yes"
 
 vhost_net="no"
 kvm="no"
@@ -643,6 +644,10 @@ for opt do
   ;;
   --enable-kvm) kvm="yes"
   ;;
+  --disable-tcg) tcg="no"
+  ;;
+  --enable-tcg) tcg="yes"
+  ;;
   --disable-spice) spice="no"
   ;;
   --enable-spice) spice="yes"
@@ -2877,7 +2882,6 @@ qemu_version=`head $source_path/VERSION`
 echo "VERSION=$qemu_version" >>$config_host_mak
 echo "PKGVERSION=$pkgversion" >>$config_host_mak
 echo "SRC_PATH=$source_path" >> $config_host_mak
-echo "TARGET_DIRS=$target_list" >> $config_host_mak
 if [ "$docs" = "yes" ] ; then
   echo "BUILD_DOCS=yes" >> $config_host_mak
 fi
@@ -3135,6 +3139,23 @@ if test "$static" = "no" -a "$user_pie" = "yes" ; then
   echo "QEMU_CFLAGS+=-fpie" > libdis-user/config.mak
 fi
 
+kvm_incompatible() {
+    if test "$kvm" = "yes" -a \
+      \( "$1" = "$cpu" -o \
+      \( "$1" = "ppcemb" -a "$cpu" = "ppc" \) -o \
+      \( "$1" = "ppc64"  -a "$cpu" = "ppc" \) -o \
+      \( "$1" = "ppc"    -a "$cpu" = "ppc64" \) -o \
+      \( "$1" = "ppcemb" -a "$cpu" = "ppc64" \) -o \
+      \( "$1" = "x86_64" -a "$cpu" = "i386"   \) -o \
+      \( "$1" = "i386"   -a "$cpu" = "x86_64" \) \) ; then
+       return 1
+    else
+       return 0
+    fi
+}
+
+target_list2=
+
 for target in $target_list; do
 target_dir="$target"
 config_target_mak=$target_dir/config-target.mak
@@ -3185,6 +3206,17 @@ case "$target" in
     ;;
 esac
 
+if test "$tcg" = "no"; then
+    if test "$target_softmmu" = "no"; then
+       continue;
+    fi
+    if kvm_incompatible "$target_arch2"; then
+       continue;
+    fi
+fi
+
+target_list2="$target $target_list2"
+
 mkdir -p $target_dir
 mkdir -p $target_dir/fpu
 mkdir -p $target_dir/tcg
@@ -3213,6 +3245,10 @@ TARGET_ARCH="$target_arch2"
 TARGET_BASE_ARCH=""
 TARGET_ABI_DIR=""
 
+if test "$tcg" = "yes"; then
+  echo "CONFIG_TCG=1" >> $config_target_mak
+fi
+
 case "$target_arch2" in
   i386)
     target_phys_bits=64
@@ -3598,6 +3634,8 @@ echo "QEMU_INCLUDES+=$includes" >> $config_target_mak
 
 done # for target in $targets
 
+echo "TARGET_DIRS=$target_list2" >> $config_host_mak
+
 # build tree in object directory in case the source is not in the current 
directory
 DIRS="tests tests/cris slirp audio block net pc-bios/optionrom"
 DIRS="$DIRS pc-bios/spapr-rtas"
-- 
1.7.4.1




reply via email to

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