[libvirt] [PATCH] xen: Fix build when with xen disabled and libxl enabled

Peter Krempa pkrempa at redhat.com
Wed Nov 30 19:39:44 UTC 2016


xen_common.c does not get compiled in such case which breaks the build
due to xenDomainDefAddImplicitInputDevice not being available.

Move the function to a different place to resolve the issue. Caused by
commit 36785c7e
---
 src/Makefile.am            |  4 ++--
 src/conf/domain_conf.c     | 22 ++++++++++++++++++++++
 src/conf/domain_conf.h     |  3 +++
 src/libxl/libxl_domain.c   |  3 +--
 src/xen/xen_driver.c       |  2 +-
 src/xenapi/xenapi_driver.c |  3 +--
 src/xenconfig/xen_common.c | 22 ----------------------
 src/xenconfig/xen_common.h |  3 ---
 8 files changed, 30 insertions(+), 32 deletions(-)

diff --git a/src/Makefile.am b/src/Makefile.am
index d440548..eaf7b59 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1250,7 +1250,7 @@ libvirt_driver_xen_impl_la_CFLAGS =				\
 		-I$(srcdir)/xenconfig				\
 		$(AM_CFLAGS)
 libvirt_driver_xen_impl_la_LDFLAGS = $(AM_LDFLAGS)
-libvirt_driver_xen_impl_la_LIBADD = $(XEN_LIBS) libvirt_xenconfig.la
+libvirt_driver_xen_impl_la_LIBADD = $(XEN_LIBS)
 libvirt_driver_xen_impl_la_SOURCES = $(XEN_DRIVER_SOURCES)
 endif WITH_XEN

@@ -1311,7 +1311,7 @@ if WITH_XENAPI
 noinst_LTLIBRARIES += libvirt_driver_xenapi.la
 libvirt_la_BUILT_LIBADD += libvirt_driver_xenapi.la
 libvirt_driver_xenapi_la_CFLAGS = $(LIBXENSERVER_CFLAGS) $(CURL_CFLAGS) \
-		-I$(srcdir)/conf -I$(srcdir)/xenconfig $(AM_CFLAGS)
+		-I$(srcdir)/conf $(AM_CFLAGS)
 libvirt_driver_xenapi_la_LDFLAGS = $(AM_LDFLAGS)
 libvirt_driver_xenapi_la_LIBADD = $(LIBXENSERVER_LIBS) $(CURL_LIBS)
 libvirt_driver_xenapi_la_SOURCES = $(XENAPI_DRIVER_SOURCES)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index b001efc..64665fa 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -25786,3 +25786,25 @@ virDomainDefVcpuOrderClear(virDomainDefPtr def)
     for (i = 0; i < def->maxvcpus; i++)
         def->vcpus[i]->order = 0;
 }
+
+
+int
+virDomainDefXenAddImplicitInputDevice(virDomainDefPtr def)
+{
+    virDomainInputBus implicitInputBus = VIR_DOMAIN_INPUT_BUS_XEN;
+
+    if (def->os.type == VIR_DOMAIN_OSTYPE_HVM)
+        implicitInputBus = VIR_DOMAIN_INPUT_BUS_PS2;
+
+    if (virDomainDefMaybeAddInput(def,
+                                  VIR_DOMAIN_INPUT_TYPE_MOUSE,
+                                  implicitInputBus) < 0)
+        return -1;
+
+    if (virDomainDefMaybeAddInput(def,
+                                  VIR_DOMAIN_INPUT_TYPE_KBD,
+                                  implicitInputBus) < 0)
+        return -1;
+
+    return 0;
+}
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 4447b03..00e833d 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -3211,4 +3211,7 @@ virDomainGetBlkioParametersAssignFromDef(virDomainDefPtr def,
                                          virTypedParameterPtr params,
                                          int *nparams,
                                          int maxparams);
+
+int virDomainDefXenAddImplicitInputDevice(virDomainDefPtr def);
+
 #endif /* __DOMAIN_CONF_H */
diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c
index 5cde576..557a408 100644
--- a/src/libxl/libxl_domain.c
+++ b/src/libxl/libxl_domain.c
@@ -37,7 +37,6 @@
 #include "virstring.h"
 #include "virtime.h"
 #include "locking/domain_lock.h"
-#include "xen_common.h"
 #include "network/bridge_driver.h"

 #define VIR_FROM_THIS VIR_FROM_LIBXL
@@ -407,7 +406,7 @@ libxlDomainDefPostParse(virDomainDefPtr def,
     }

     /* add implicit input devices */
-    if (xenDomainDefAddImplicitInputDevice(def) < 0)
+    if (virDomainDefXenAddImplicitInputDevice(def) < 0)
         return -1;

     return 0;
diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c
index 3f9bfa7..55c3eb4 100644
--- a/src/xen/xen_driver.c
+++ b/src/xen/xen_driver.c
@@ -384,7 +384,7 @@ xenDomainDefPostParse(virDomainDefPtr def,
     }

     /* add implicit input device */
-    if (xenDomainDefAddImplicitInputDevice(def) <0)
+    if (virDomainDefXenAddImplicitInputDevice(def) <0)
         return -1;

     return 0;
diff --git a/src/xenapi/xenapi_driver.c b/src/xenapi/xenapi_driver.c
index a9ed407..0949192 100644
--- a/src/xenapi/xenapi_driver.c
+++ b/src/xenapi/xenapi_driver.c
@@ -39,7 +39,6 @@
 #include "xenapi_driver_private.h"
 #include "xenapi_utils.h"
 #include "virstring.h"
-#include "xen_common.h"

 #define VIR_FROM_THIS VIR_FROM_XENAPI

@@ -80,7 +79,7 @@ xenapiDomainDefPostParse(virDomainDefPtr def,
                          void *parseOpaque ATTRIBUTE_UNUSED)
 {
     /* add implicit input device */
-    if (xenDomainDefAddImplicitInputDevice(def) < 0)
+    if (virDomainDefXenAddImplicitInputDevice(def) < 0)
         return -1;

     return 0;
diff --git a/src/xenconfig/xen_common.c b/src/xenconfig/xen_common.c
index 7968d40..b129f5e 100644
--- a/src/xenconfig/xen_common.c
+++ b/src/xenconfig/xen_common.c
@@ -1870,25 +1870,3 @@ xenFormatConfigCommon(virConfPtr conf,

     return 0;
 }
-
-
-int
-xenDomainDefAddImplicitInputDevice(virDomainDefPtr def)
-{
-    virDomainInputBus implicitInputBus = VIR_DOMAIN_INPUT_BUS_XEN;
-
-    if (def->os.type == VIR_DOMAIN_OSTYPE_HVM)
-        implicitInputBus = VIR_DOMAIN_INPUT_BUS_PS2;
-
-    if (virDomainDefMaybeAddInput(def,
-                                  VIR_DOMAIN_INPUT_TYPE_MOUSE,
-                                  implicitInputBus) < 0)
-        return -1;
-
-    if (virDomainDefMaybeAddInput(def,
-                                  VIR_DOMAIN_INPUT_TYPE_KBD,
-                                  implicitInputBus) < 0)
-        return -1;
-
-    return 0;
-}
diff --git a/src/xenconfig/xen_common.h b/src/xenconfig/xen_common.h
index 9055692..de981ba 100644
--- a/src/xenconfig/xen_common.h
+++ b/src/xenconfig/xen_common.h
@@ -67,7 +67,4 @@ int xenFormatConfigCommon(virConfPtr conf,
                           virConnectPtr conn,
                           const char *nativeFormat);

-
-int xenDomainDefAddImplicitInputDevice(virDomainDefPtr def);
-
 #endif /* __VIR_XEN_COMMON_H__ */
-- 
2.10.1




More information about the libvir-list mailing list