aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2013-08-06 11:32:32 +0100
committerIan Campbell <ian.campbell@citrix.com>2013-08-21 10:32:42 +0100
commitb0f69ec5c71de1248d915c193b57c43e786857dd (patch)
tree3e1d239ee2b68d08b80fe25385da22e71d4c6bd3 /tools
parent874f76a86adf1da70921884f5a868eec105cf8cd (diff)
downloadxen-b0f69ec5c71de1248d915c193b57c43e786857dd.tar.gz
xen-b0f69ec5c71de1248d915c193b57c43e786857dd.tar.bz2
xen-b0f69ec5c71de1248d915c193b57c43e786857dd.zip
tools: Make qemu-xen-traditional build optional.
Now that we have upstream qemu people may want to avoid building this extra code. There is a little bit of trickery in stubdom/configure.ac to ensure that the ioemu stubdom is only built if qemu-traditional is enabled. libxl will return an error if a caller tries to build a domain using qemu-xen-traditional when this support was disabled at build time. Since qemu-xen-traditional has been historically tightly bound to the Xen releases I don't see any value in supporting "3rd party" provision of qemu-xen-traditional. We also do not want/need this on ARM therefore default is on for x86 and off otherwise. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> [ ijc -- trivial conflicts in Tools.mk.in and tools/configure.ac. Reran autogen.sh ]
Diffstat (limited to 'tools')
-rw-r--r--tools/Makefile2
-rw-r--r--tools/config.h.in3
-rwxr-xr-xtools/configure31
-rw-r--r--tools/configure.ac16
4 files changed, 51 insertions, 1 deletions
diff --git a/tools/Makefile b/tools/Makefile
index 381af04849..6fa589b09c 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -28,7 +28,7 @@ SUBDIRS-$(CONFIG_Linux) += libvchan
# do not recurse in to a dir we are about to delete
ifneq "$(MAKECMDGOALS)" "distclean"
-SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-traditional-dir
+SUBDIRS-$(CONFIG_QEMU_TRAD) += qemu-xen-traditional-dir
SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-dir
endif
diff --git a/tools/config.h.in b/tools/config.h.in
index 8bda0bd259..f84422213f 100644
--- a/tools/config.h.in
+++ b/tools/config.h.in
@@ -18,6 +18,9 @@
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
+/* Qemu traditional enabled */
+#undef HAVE_QEMU_TRADITIONAL
+
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
diff --git a/tools/configure b/tools/configure
index ad4b5feb42..739842381c 100755
--- a/tools/configure
+++ b/tools/configure
@@ -654,6 +654,7 @@ APPEND_LIB
APPEND_INCLUDES
PREPEND_LIB
PREPEND_INCLUDES
+qemu_traditional
blktap1
xend
debug
@@ -734,6 +735,7 @@ enable_seabios
enable_debug
enable_xend
enable_blktap1
+enable_qemu_traditional
'
ac_precious_vars='build_alias
host_alias
@@ -1394,6 +1396,9 @@ Optional Features:
--disable-debug Disable debug build of tools (default is ENABLED)
--disable-xend Disable xend toolstack (default is ENABLED)
--enable-blktap1 Disable blktap1 tools (default is DISABLED)
+ --enable-qemu-traditional
+ Enable qemu traditional device model, (DEFAULT is on
+ for x86, otherwise off)
Some influential environment variables:
CC C compiler command
@@ -3654,6 +3659,32 @@ blktap1=$ax_cv_blktap1
+# Check whether --enable-qemu-traditional was given.
+if test "${enable_qemu_traditional+set}" = set; then :
+ enableval=$enable_qemu_traditional;
+else
+
+ case "$host_cpu" in
+ i[3456]86|x86_64)
+ enable_qemu_traditional="yes";;
+ *) enable_qemu_traditional="no";;
+ esac
+
+fi
+
+if test "x$enable_qemu_traditional" = "xyes"; then :
+
+
+$as_echo "#define HAVE_QEMU_TRADITIONAL 1" >>confdefs.h
+
+ qemu_traditional=y
+else
+
+ qemu_traditional=n
+
+fi
+
+
diff --git a/tools/configure.ac b/tools/configure.ac
index 1b4625a299..9b05478083 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -60,6 +60,22 @@ AX_ARG_DEFAULT_ENABLE([debug], [Disable debug build of tools])
AX_ARG_DEFAULT_ENABLE([xend], [Disable xend toolstack])
AX_ARG_DEFAULT_DISABLE([blktap1], [Disable blktap1 tools])
+AC_ARG_ENABLE([qemu-traditional],
+ AS_HELP_STRING([--enable-qemu-traditional],
+ [Enable qemu traditional device model, (DEFAULT is on for x86, otherwise off)]),,[
+ case "$host_cpu" in
+ i[[3456]]86|x86_64)
+ enable_qemu_traditional="yes";;
+ *) enable_qemu_traditional="no";;
+ esac
+])
+AS_IF([test "x$enable_qemu_traditional" = "xyes"], [
+AC_DEFINE([HAVE_QEMU_TRADITIONAL], [1], [Qemu traditional enabled])
+ qemu_traditional=y],[
+ qemu_traditional=n
+])
+AC_SUBST(qemu_traditional)
+
AC_ARG_VAR([PREPEND_INCLUDES],
[List of include folders to prepend to CFLAGS (without -I)])
AC_ARG_VAR([PREPEND_LIB],