[libvirt] [PATCH 2/2] Change detection of xen so that it's actually automatic rather than forced.
Daniel P. Berrange
berrange at redhat.com
Sun Jan 17 17:03:37 UTC 2010
On Sun, Jan 17, 2010 at 03:48:46PM +0100, Diego Elio Petten? wrote:
> This ensures that ./configure will work fine if xen development packages
> are not around, rather than fail. When passing ./configure --with-xen, the
> lack of xen development packages become fatal.
> ---
> configure.in | 60 ++++++++++++++++++++++++++++++++-------------------------
> 1 files changed, 34 insertions(+), 26 deletions(-)
>
> diff --git a/configure.in b/configure.in
> index 447d57e..8cbbfe5 100644
> --- a/configure.in
> +++ b/configure.in
> @@ -205,7 +205,7 @@ fi
>
> dnl Allow to build without Xen, QEMU/KVM, test or remote driver
> AC_ARG_WITH([xen],
> - AC_HELP_STRING([--with-xen], [add XEN support @<:@default=yes@:>@]),[],[with_xen=yes])
> + AC_HELP_STRING([--with-xen], [add XEN support @<:@default=check@:>@]),[],[with_xen=check])
> AC_ARG_WITH([xen-inotify],
> AC_HELP_STRING([--with-xen-inotify], [add XEN inotify support @<:@default=check@:>@]),[],[with_xen_inotify=check])
> AC_ARG_WITH([qemu],
> @@ -334,6 +334,8 @@ if test "$with_libvirtd" = "yes" ; then
> fi
> AM_CONDITIONAL([WITH_LIBVIRTD], [test "$with_libvirtd" = "yes"])
>
> +old_LIBS="$LIBS"
> +old_CFLAGS="$CFLAGS"
> XEN_LIBS=""
> XEN_CFLAGS=""
> dnl search for the Xen store library
> @@ -343,52 +345,58 @@ if test "$with_xen" != "no" ; then
> XEN_LIBS="-L$with_xen/lib64 -L$with_xen/lib"
> fi
> fail=0
> - old_LIBS="$LIBS"
> - old_CFLAGS="$CFLAGS"
> CFLAGS="$CFLAGS $XEN_CFLAGS"
> LIBS="$LIBS $XEN_LIBS"
> AC_CHECK_LIB([xenstore], [xs_read], [
> with_xen=yes
> XEN_LIBS="$XEN_LIBS -lxenstore"
> ],[
> - if test "$with_xen" = "check" ; then
> - with_xen=no
> - else
> - with_xen=no
> + if test "$with_xen" = "yes"; then
> fail=1
> fi
> + with_xen=no
> ])
> +fi
>
> - test $fail = 1 &&
> - AC_MSG_ERROR([You must install the Xen development package to compile Xen driver with -lxenstore])
> -
> +if test "$with_xen" != "no" ; then
> AC_CHECK_HEADERS([xen/xen.h xen/version.h xen/dom0_ops.h],,[
> - AC_MSG_ERROR([Cannot find standard Xen headers. Is xen-devel installed?])
> + if test "$with_xen" = "yes"; then
> + fail=1
> + fi
> + with_xen=no
> ],
> [#include <stdio.h>
> #include <stdint.h>
> ])
> +fi
>
> +if test "$with_xen" != "no" ; then
> dnl Search for the location of <xen/{linux,sys}/privcmd.h>.
> - AC_CHECK_HEADERS([xen/sys/privcmd.h],,[
> - AC_CHECK_HEADERS([xen/linux/privcmd.h],,[
> - AC_MSG_ERROR([Cannot find header file <xen/linux/privcmd.h> or <xen/sys/privcmd.h>. Is xen-devel installed?])
> - ],
> -[#include <stdio.h>
> -#include <stdint.h>
> -#include <xen/xen.h>
> -])
> - ],
> -[#include <stdio.h>
> -#include <stdint.h>
> -#include <xen/xen.h>
> -])
> - LIBS="$old_LIBS"
> - CFLAGS="$old_CFLAGS"
> + found=
> + AC_CHECK_HEADERS([xen/sys/privcmd.h xen/linux/privcmd.h], [found=yes; break;], [],
> + [#include <stdio.h>
> + #include <stdint.h>
> + #include <xen/xen.h>
> + ])
> + if test "x$found" != "xyes"; then
> + if test "$with_xen" = "yes"; then
> + fail=1
> + fi
> + with_xen=no
> + fi
> fi
> +
> +LIBS="$old_LIBS"
> +CFLAGS="$old_CFLAGS"
> +
> +if test $fail = 1; then
> + AC_MSG_ERROR([You must install the Xen development package to compile Xen driver with -lxenstore])
> +fi
> +
> if test "$with_xen" = "yes"; then
> AC_DEFINE_UNQUOTED([WITH_XEN], 1, [whether Xen driver is enabled])
> fi
> +
> AM_CONDITIONAL([WITH_XEN], [test "$with_xen" = "yes"])
> AC_SUBST([XEN_CFLAGS])
> AC_SUBST([XEN_LIBS])
> --
ACK
Daniel
--
|: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|
More information about the libvir-list
mailing list