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

[Xen-devel] [PATCH v2 1/2] Introduce configure option --with-system-qemu-traditional



Introduce a configure option to disable the in-tree qemu-traditional
build and use an externally provided qemu-dm binary. The option is very
similar to the existing --with-system-qemu-xen.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
---
 INSTALL                |    3 +++
 tools/configure.ac     |   16 ++++++++++++++++
 tools/libxl/libxl_dm.c |   11 ++++++++++-
 3 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/INSTALL b/INSTALL
index a0f2e7b..3c7c56f 100644
--- a/INSTALL
+++ b/INSTALL
@@ -107,6 +107,9 @@ qemu-traditional.
   --enable-qemu-traditional
   --enable-rombios
 
+Use the given qemu-traditional binary instead of compiling a private copy.
+  --with-system-qemu-traditional=PATH
+
 The libxl toolstack uses the upstream qemu per default. A private copy
 will be built. If desired this private copy can be configured with
 additional options passed to its configure script.
diff --git a/tools/configure.ac b/tools/configure.ac
index d31c2f3..9bad253 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -169,6 +169,22 @@ AC_DEFINE([HAVE_ROMBIOS], [1], [ROMBIOS enabled])
 ])
 AC_SUBST(rombios)
 
+AC_ARG_WITH([system-qemu-traditional],
+    AS_HELP_STRING([--with-system-qemu-traditional@<:@=PATH@:>@],
+       [Use system supplied qemu-traditional PATH or qemu-dm
+       (taken from $PATH) as qemu-traditional device model instead of
+       building and installing our own version]),[
+    case $withval in
+    yes) qemu_traditional=n; qemu_traditional_path=qemu-dm ;;
+    no)  qemu_traditional=y; qemu_traditional_path= ;;
+    *)   qemu_traditional=n; qemu_traditional_path=$withval ;;
+    esac
+],[])
+AS_IF([test "x$qemu_traditional" = "xn"], [
+    AC_DEFINE_UNQUOTED([QEMU_TRADITIONAL_PATH], ["$qemu_traditional_path"], 
[Qemu Traditional Xen path])
+])
+AC_SUBST(qemu_traditional_path)
+
 AC_ARG_WITH([system-qemu],
     AS_HELP_STRING([--with-system-qemu@<:@=PATH@:>@],
        [Use system supplied qemu PATH or qemu (taken from $PATH) as qemu-xen
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 30c1578..7a2ebbe 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -43,6 +43,15 @@ static const char *qemu_xen_path(libxl__gc *gc)
 #endif
 }
 
+static const char *qemu_traditional_path(libxl__gc *gc)
+{
+#ifdef QEMU_TRADITIONAL_PATH
+    return QEMU_TRADITIONAL_PATH;
+#else
+    return libxl__abs_path(gc, "qemu-dm", libxl__private_bindir_path());
+#endif
+}
+
 static int libxl__create_qemu_logfile(libxl__gc *gc, char *name)
 {
     char *logfile;
@@ -74,7 +83,7 @@ const char *libxl__domain_device_model(libxl__gc *gc,
     } else {
         switch (info->device_model_version) {
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL:
-            dm = libxl__abs_path(gc, "qemu-dm", libxl__private_bindir_path());
+            dm = qemu_traditional_path(gc);
             break;
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
             dm = qemu_xen_path(gc);
-- 
1.7.10.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.