build: Fix virtio-serial test for qemu 0.15.
[libguestfs.git] / configure.ac
index 25c286e..536dac0 100644 (file)
@@ -18,7 +18,7 @@
 # major/minor/release must be numbers
 m4_define([libguestfs_major],   [1])
 m4_define([libguestfs_minor],   [10])
-m4_define([libguestfs_release], [0])
+m4_define([libguestfs_release], [5])
 # extra can be any string
 m4_define([libguestfs_extra],   [])
 
@@ -310,8 +310,31 @@ AC_DEFINE_UNQUOTED([QEMU],["$QEMU"],[Location of qemu binary.])
 
 dnl Check that the chosen qemu has virtio-serial support.
 if test "x$vmchannel_test" != "xno"; then
+    AC_MSG_CHECKING([that $QEMU -help works])
+    if $QEMU -help > /dev/null 2>&1; then
+        AC_MSG_RESULT([yes])
+    else
+        AC_MSG_RESULT([no])
+        AC_MSG_FAILURE(
+[$QEMU -help: command failed.
+
+This could be a very old version of qemu, or qemu might not be
+working.
+])
+    fi
+
+    # qemu since 0.15 requires the -machine accel=tcg option, otherwise
+    # it won't start up.  QEMU DEVELOPERS, PLEASE ADD CAPABILITIES TESTING.
+    AC_MSG_CHECKING([if this qemu has the -machine accel=tcg option])
+    if $QEMU -help 2>&1 | grep -sq -- '-machine.*accel.*tcg'; then
+        qemu_machine_accel_tcg="-machine accel=tcg"
+        AC_MSG_RESULT([$qemu_machine_accel_tcg])
+    else
+        AC_MSG_RESULT([no])
+    fi
+
     AC_MSG_CHECKING([for virtio-serial support in $QEMU])
-    if $QEMU -nographic -device \? 2>&1 | grep -sq virtio-serial; then
+    if $QEMU $qemu_machine_accel_tcg -nographic -device \? 2>&1 | grep -sq virtio-serial; then
         AC_MSG_RESULT([yes])
     else
         AC_MSG_RESULT([no])
@@ -820,36 +843,46 @@ dnl http://www.mail-archive.com/automake@gnu.org/msg10204.html
 AC_CONFIG_FILES([podwrapper.sh],
                 [chmod +x podwrapper.sh])
 AC_CONFIG_FILES([Makefile
-                 generator/Makefile
-                 src/Makefile fish/Makefile po/Makefile.in examples/Makefile
                  appliance/Makefile
-                 images/Makefile
                  capitests/Makefile
-                 regressions/Makefile
-                 test-tool/Makefile
-                 ocaml/Makefile ocaml/examples/Makefile
-                 perl/Makefile perl/examples/Makefile
-                 python/Makefile python/examples/Makefile
-                 ruby/Makefile ruby/Rakefile ruby/examples/Makefile
-                 java/Makefile
+                 cat/Makefile
+                 caution/Makefile
+                 csharp/Makefile
+                 debian/changelog
+                 df/Makefile
+                 examples/Makefile
+                 fish/Makefile
+                 fuse/Makefile
+                 generator/Makefile
+                 gnulib/lib/Makefile
+                 gnulib/tests/Makefile
                  haskell/Makefile
+                 images/Makefile
                  inspector/Makefile
-                 tools/Makefile
+                 java/Makefile
                  libguestfs.pc
-                 gnulib/lib/Makefile
-                 gnulib/tests/Makefile
-                 fuse/Makefile
+                 ocaml/META
+                 ocaml/Makefile
+                 ocaml/examples/Makefile
+                 perl/Makefile
+                 perl/Makefile.PL
+                 perl/examples/Makefile
+                 php/Makefile
                  po-docs/Makefile
                  po-docs/ja/Makefile
                  po-docs/uk/Makefile
-                 php/Makefile
-                 csharp/Makefile
-                 cat/Makefile
-                 df/Makefile
+                 po/Makefile.in
+                 python/Makefile
+                 python/examples/Makefile
+                 regressions/Makefile
                  rescue/Makefile
-                 debian/changelog
-                 ocaml/META perl/Makefile.PL
-                 resize/Makefile])
+                 resize/Makefile
+                 ruby/Makefile
+                 ruby/Rakefile
+                 ruby/examples/Makefile
+                 src/Makefile
+                 test-tool/Makefile
+                 tools/Makefile])
 AC_OUTPUT
 
 dnl Produce summary.