提交 3c58896e 编写于 作者: D Diego Elio Pettenò 提交者: Matthias Bolte

Change detection of xen so that it's actually automatic rather than forced.

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.
上级 4d434da3
...@@ -205,7 +205,7 @@ fi ...@@ -205,7 +205,7 @@ fi
dnl Allow to build without Xen, QEMU/KVM, test or remote driver dnl Allow to build without Xen, QEMU/KVM, test or remote driver
AC_ARG_WITH([xen], 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_ARG_WITH([xen-inotify],
AC_HELP_STRING([--with-xen-inotify], [add XEN inotify support @<:@default=check@:>@]),[],[with_xen_inotify=check]) AC_HELP_STRING([--with-xen-inotify], [add XEN inotify support @<:@default=check@:>@]),[],[with_xen_inotify=check])
AC_ARG_WITH([qemu], AC_ARG_WITH([qemu],
...@@ -334,6 +334,8 @@ if test "$with_libvirtd" = "yes" ; then ...@@ -334,6 +334,8 @@ if test "$with_libvirtd" = "yes" ; then
fi fi
AM_CONDITIONAL([WITH_LIBVIRTD], [test "$with_libvirtd" = "yes"]) AM_CONDITIONAL([WITH_LIBVIRTD], [test "$with_libvirtd" = "yes"])
old_LIBS="$LIBS"
old_CFLAGS="$CFLAGS"
XEN_LIBS="" XEN_LIBS=""
XEN_CFLAGS="" XEN_CFLAGS=""
dnl search for the Xen store library dnl search for the Xen store library
...@@ -343,52 +345,58 @@ if test "$with_xen" != "no" ; then ...@@ -343,52 +345,58 @@ if test "$with_xen" != "no" ; then
XEN_LIBS="-L$with_xen/lib64 -L$with_xen/lib" XEN_LIBS="-L$with_xen/lib64 -L$with_xen/lib"
fi fi
fail=0 fail=0
old_LIBS="$LIBS"
old_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $XEN_CFLAGS" CFLAGS="$CFLAGS $XEN_CFLAGS"
LIBS="$LIBS $XEN_LIBS" LIBS="$LIBS $XEN_LIBS"
AC_CHECK_LIB([xenstore], [xs_read], [ AC_CHECK_LIB([xenstore], [xs_read], [
with_xen=yes with_xen=yes
XEN_LIBS="$XEN_LIBS -lxenstore" XEN_LIBS="$XEN_LIBS -lxenstore"
],[ ],[
if test "$with_xen" = "check" ; then if test "$with_xen" = "yes"; then
with_xen=no
else
with_xen=no
fail=1 fail=1
fi fi
with_xen=no
]) ])
fi
test $fail = 1 && if test "$with_xen" != "no" ; then
AC_MSG_ERROR([You must install the Xen development package to compile Xen driver with -lxenstore])
AC_CHECK_HEADERS([xen/xen.h xen/version.h xen/dom0_ops.h],,[ 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 <stdio.h>
#include <stdint.h> #include <stdint.h>
]) ])
fi
if test "$with_xen" != "no" ; then
dnl Search for the location of <xen/{linux,sys}/privcmd.h>. dnl Search for the location of <xen/{linux,sys}/privcmd.h>.
AC_CHECK_HEADERS([xen/sys/privcmd.h],,[ found=
AC_CHECK_HEADERS([xen/linux/privcmd.h],,[ AC_CHECK_HEADERS([xen/sys/privcmd.h xen/linux/privcmd.h], [found=yes; break;], [],
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 <stdio.h> #include <xen/xen.h>
#include <stdint.h> ])
#include <xen/xen.h> if test "x$found" != "xyes"; then
]) if test "$with_xen" = "yes"; then
], fail=1
[#include <stdio.h> fi
#include <stdint.h> with_xen=no
#include <xen/xen.h> fi
])
LIBS="$old_LIBS"
CFLAGS="$old_CFLAGS"
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 if test "$with_xen" = "yes"; then
AC_DEFINE_UNQUOTED([WITH_XEN], 1, [whether Xen driver is enabled]) AC_DEFINE_UNQUOTED([WITH_XEN], 1, [whether Xen driver is enabled])
fi fi
AM_CONDITIONAL([WITH_XEN], [test "$with_xen" = "yes"]) AM_CONDITIONAL([WITH_XEN], [test "$with_xen" = "yes"])
AC_SUBST([XEN_CFLAGS]) AC_SUBST([XEN_CFLAGS])
AC_SUBST([XEN_LIBS]) AC_SUBST([XEN_LIBS])
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册