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 <aligu...@us.ibm.com> --- 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