aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xconfigure29
1 files changed, 25 insertions, 4 deletions
diff --git a/configure b/configure
index 36ee849..640e815 100755
--- a/configure
+++ b/configure
@@ -1317,10 +1317,30 @@ fi
if test "$xen" != "no" ; then
xen_libs="-lxenstore -lxenctrl -lxenguest"
- # Xen unstable
+ # First we test whether Xen headers and libraries are available.
+ # If no, we are done and there is no Xen support.
+ # If yes, more tests are run to detect the Xen version.
+
+ # Xen (any)
cat > $TMPC <<EOF
#include <xenctrl.h>
#include <xs.h>
+int main(void) {
+ return 0;
+}
+EOF
+ if ! compile_prog "" "$xen_libs" ; then
+ # Xen not found
+ if test "$xen" = "yes" ; then
+ feature_not_found "xen"
+ fi
+ xen=no
+
+ # Xen unstable
+ elif (
+ cat > $TMPC <<EOF
+#include <xenctrl.h>
+#include <xs.h>
#include <stdint.h>
#include <xen/hvm/hvm_info_table.h>
#if !defined(HVM_MAX_VCPUS)
@@ -1336,7 +1356,8 @@ int main(void) {
return 0;
}
EOF
- if compile_prog "" "$xen_libs" ; then
+ compile_prog "" "$xen_libs"
+ ) ; then
xen_ctrl_version=410
xen=yes
@@ -1407,10 +1428,10 @@ EOF
xen_ctrl_version=330
xen=yes
- # Xen not found or unsupported
+ # Xen version unsupported
else
if test "$xen" = "yes" ; then
- feature_not_found "xen"
+ feature_not_found "xen (unsupported version)"
fi
xen=no
fi