[virt-tools-list] [PATCH 09/12] build: make libvirt optionnal

Christophe Fergeau cfergeau at redhat.com
Wed Dec 14 10:46:36 UTC 2011


Why do you want to do this exactly? virt-viewer needs libvirt,
remote-viewer does not, and you want to be able to build remote-viewer
on systems without libvirt even if it means not having virt-viewer?

s/optionnal/optional/ in the message subject.

Christophe

On Tue, Dec 13, 2011 at 08:35:07PM +0100, Marc-André Lureau wrote:
> ---
>  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
> 
> _______________________________________________
> virt-tools-list mailing list
> virt-tools-list at redhat.com
> https://www.redhat.com/mailman/listinfo/virt-tools-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/virt-tools-list/attachments/20111214/f10f5cb3/attachment.sig>


More information about the virt-tools-list mailing list