[virt-tools-list] [PATCH 09/12] build: make libvirt optionnal
Marc-André Lureau
marcandre.lureau at gmail.com
Tue Dec 13 19:35:07 UTC 2011
---
configure.ac | 18 +++++++++++++++++-
src/Makefile.am | 5 ++++-
src/virt-viewer-auth.c | 3 ++-
src/virt-viewer-auth.h | 6 ++++++
4 files changed, 29 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index 77838fe..6aaa0dc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -37,7 +37,23 @@ IT_PROG_INTLTOOL([0.35.0])
PKG_CHECK_MODULES(GMODULE2, gmodule-export-2.0 >= $GMODULE2_REQUIRED)
PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= $LIBXML2_REQUIRED)
-PKG_CHECK_MODULES(LIBVIRT, libvirt >= $LIBVIRT_REQUIRED)
+
+AC_ARG_WITH([libvirt],
+ AS_HELP_STRING([--without-libvirt], [Ignore presence of libvirt and disable it]))
+
+AS_IF([test "x$with_libvirt" != "xno"],
+ [PKG_CHECK_MODULES(LIBVIRT,
+ [libvirt],
+ [have_libvirt=yes], [have_libvirt=no])],
+ [have_libvirt=no])
+
+AS_IF([test "x$have_libvirt" = "xyes"],
+ [AC_DEFINE([HAVE_LIBVIRT], 1, [Have libvirt?])],
+ [AS_IF([test "x$with_libvirt" = "xyes"],
+ [AC_MSG_ERROR([libvirt requested but not found])
+ ])
+])
+AM_CONDITIONAL([HAVE_LIBVIRT], [test "x$have_libvirt" = "xyes"])
AC_MSG_CHECKING([which gtk+ version to compile against])
AC_ARG_WITH([gtk],
diff --git a/src/Makefile.am b/src/Makefile.am
index e1e0ee9..b4d7556 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -2,7 +2,7 @@ NULL =
# we are forced to use a shared library,
# because libtool reordred .a after .la libs, and it fails to link
lib_LTLIBRARIES = libvirt-viewer.la
-bin_PROGRAMS = virt-viewer
+bin_PROGRAMS =
builderxmldir = $(pkgdatadir)/ui
builderxml_DATA = \
@@ -13,6 +13,8 @@ builderxml_DATA = \
EXTRA_DIST = $(builderxml_DATA)
+if HAVE_LIBVIRT
+bin_PROGRAMS += virt-viewer
virt_viewer_SOURCES = \
virt-viewer-events.h virt-viewer-events.c \
virt-viewer.h virt-viewer.c \
@@ -21,6 +23,7 @@ virt_viewer_SOURCES = \
virt_viewer_LDADD = libvirt-viewer.la
virt_viewer_LDFLAGS = @LIBVIRT_LIBS@
virt_viewer_CFLAGS = $(AM_CFLAGS) @LIBVIRT_CFLAGS@
+endif
if HAVE_SPICE_GTK
bin_PROGRAMS += remote-viewer
diff --git a/src/virt-viewer-auth.c b/src/virt-viewer-auth.c
index d6c0300..52eb4c9 100644
--- a/src/virt-viewer-auth.c
+++ b/src/virt-viewer-auth.c
@@ -174,6 +174,7 @@ virt_viewer_auth_vnc_credentials(GtkWidget *vnc,
#endif
+#ifdef HAVE_LIBVIRT
int
virt_viewer_auth_libvirt_credentials(virConnectCredentialPtr cred,
unsigned int ncred,
@@ -228,7 +229,7 @@ virt_viewer_auth_libvirt_credentials(virConnectCredentialPtr cred,
DEBUG_LOG("Return %d", ret);
return ret;
}
-
+#endif
diff --git a/src/virt-viewer-auth.h b/src/virt-viewer-auth.h
index 1cbf2b6..c111582 100644
--- a/src/virt-viewer-auth.h
+++ b/src/virt-viewer-auth.h
@@ -23,7 +23,11 @@
#ifndef VIRT_VIEWER_AUTH_H
#define VIRT_VIEWER_AUTH_H
+#include "config.h"
+
+#ifdef HAVE_LIBVIRT
#include <libvirt/libvirt.h>
+#endif
#include "virt-viewer-util.h"
@@ -36,8 +40,10 @@ int virt_viewer_auth_collect_credentials(const char *type,
char **username,
char **password);
+#ifdef HAVE_LIBVIRT
int virt_viewer_auth_libvirt_credentials(virConnectCredentialPtr cred,
unsigned int ncred,
void *cbdata);
+#endif
#endif
--
1.7.7.3
More information about the virt-tools-list
mailing list