Bug: Segfault in Perl bindings.
[libguestfs.git] / configure.ac
index a898040..4209baa 100644 (file)
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-AC_INIT([libguestfs],[1.0.14])
+AC_INIT([libguestfs],[1.0.21])
 AM_INIT_AUTOMAKE
 
 AC_CONFIG_MACRO_DIR([m4])
 AM_INIT_AUTOMAKE
 
 AC_CONFIG_MACRO_DIR([m4])
@@ -23,7 +23,7 @@ AC_CONFIG_MACRO_DIR([m4])
 AC_PROG_LIBTOOL
 
 dnl Check for basic C environment.
 AC_PROG_LIBTOOL
 
 dnl Check for basic C environment.
-AC_PROG_CC
+AC_PROG_CC_STDC
 AC_PROG_INSTALL
 AC_PROG_CPP
 
 AC_PROG_INSTALL
 AC_PROG_CPP
 
@@ -58,11 +58,7 @@ test "x$POD2TEXT" = "xno" &&
 
 dnl Check for QEMU for running binaries on this $host_cpu, fall
 dnl back to basic 'qemu'.  Allow the user to override it.
 
 dnl Check for QEMU for running binaries on this $host_cpu, fall
 dnl back to basic 'qemu'.  Allow the user to override it.
-default_qemu="qemu-system-$host_cpu qemu"
-# On x86-64, try using KVM first.
-if test "x$host_cpu" = "xx86_64"; then
-    default_qemu="qemu-kvm $default_qemu"
-fi
+default_qemu="qemu-kvm qemu-system-$host_cpu qemu"
 AC_ARG_WITH([qemu],
        [AS_HELP_STRING([--with-qemu],
          [set default QEMU binary @<:@default=[qemu-kvm] qemu-system-<host> qemu@:>@])],
 AC_ARG_WITH([qemu],
        [AS_HELP_STRING([--with-qemu],
          [set default QEMU binary @<:@default=[qemu-kvm] qemu-system-<host> qemu@:>@])],
@@ -119,6 +115,28 @@ AC_CHECK_PROG([FEBOOTSTRAP_TO_INITRAMFS],
 test "x$FEBOOTSTRAP_TO_INITRAMFS" = "xno" && \
      AC_MSG_ERROR([febootstrap-to-initramfs must be installed])
 
 test "x$FEBOOTSTRAP_TO_INITRAMFS" = "xno" && \
      AC_MSG_ERROR([febootstrap-to-initramfs must be installed])
 
+dnl Check we have fakechroot >= 2.9 (it's an indirect requirement
+dnl of febootstrap, but old versions will fail with yum).
+AC_CHECK_PROG([FAKECHROOT],
+       [fakechroot],[fakechroot],[no])
+test "x$FAKECHROOT" = "xno" && \
+    AC_MSG_ERROR([fakechroot must be installed])
+
+AC_MSG_CHECKING([fakechroot version])
+fakechroot_version=`$FAKECHROOT --version | awk '{print $3}'`
+if test -z "$fakechroot_version"; then
+    AC_MSG_RESULT([failed])
+    AC_MSG_WARN([fakechroot --version command failed, proceeding anyway])
+else
+    AC_MSG_RESULT([$fakechroot_version])
+    fakechroot_major=`echo $fakechroot_version | awk -F. '{print $1}'`
+    fakechroot_minor=`echo $fakechroot_version | awk -F. '{print $2}'`
+    if test "$fakechroot_major" -lt 2 -o \
+            \( "$fakechroot_major" -eq 2 -a "$fakechroot_minor" -lt 9 \); then
+        AC_MSG_ERROR([fakechroot version must be >= 2.9])
+    fi
+fi
+
 dnl --with-repo to specify a Fedora repository.
 AC_ARG_WITH([repo],
        [AS_HELP_STRING([--with-repo],
 dnl --with-repo to specify a Fedora repository.
 AC_ARG_WITH([repo],
        [AS_HELP_STRING([--with-repo],
@@ -186,7 +204,7 @@ dnl test the Perl bindings.
 missing_perl_modules=no
 for pm in Test::More Test::Pod Test::Pod::Coverage ExtUtils::MakeMaker; do
     AC_MSG_CHECKING([for $pm])
 missing_perl_modules=no
 for pm in Test::More Test::Pod Test::Pod::Coverage ExtUtils::MakeMaker; do
     AC_MSG_CHECKING([for $pm])
-    if ! perl -M$pm >/dev/null 2>&1; then
+    if ! perl -M$pm -e1 >/dev/null 2>&1; then
         AC_MSG_RESULT([no])
         missing_perl_modules=yes
     else
         AC_MSG_RESULT([no])
         missing_perl_modules=yes
     else
@@ -376,6 +394,24 @@ AC_SUBST(JNI_VERSION_INFO)
 
 AM_CONDITIONAL([HAVE_JAVA],[test -n "$JAVAC"])
 
 
 AM_CONDITIONAL([HAVE_JAVA],[test -n "$JAVAC"])
 
+dnl Check for Perl modules needed by the inspector.
+missing_perl_modules=no
+for pm in Pod::Usage Getopt::Long Sys::Virt Data::Dumper; do
+    AC_MSG_CHECKING([for $pm])
+    if ! perl -M$pm -e1 >/dev/null 2>&1; then
+        AC_MSG_RESULT([no])
+        missing_perl_modules=yes
+    else
+        AC_MSG_RESULT([yes])
+    fi
+done
+if test "x$missing_perl_modules" = "xyes"; then
+    AC_MSG_WARN([some Perl modules required to compile virt-inspector are missing])
+fi
+
+AM_CONDITIONAL([HAVE_INSPECTOR],
+    [test "x$PERL" != "xno" -a "x$missing_perl_modules" != "xyes"])
+
 dnl Run in subdirs.
 AC_CONFIG_SUBDIRS([daemon])
 
 dnl Run in subdirs.
 AC_CONFIG_SUBDIRS([daemon])
 
@@ -388,6 +424,7 @@ AC_CONFIG_FILES([Makefile src/Makefile fish/Makefile examples/Makefile
                 python/Makefile
                 ruby/Makefile ruby/Rakefile
                 java/Makefile
                 python/Makefile
                 ruby/Makefile ruby/Rakefile
                 java/Makefile
+                inspector/Makefile
                 make-initramfs.sh update-initramfs.sh
                 libguestfs.spec libguestfs.pc
                 ocaml/META perl/Makefile.PL])
                 make-initramfs.sh update-initramfs.sh
                 libguestfs.spec libguestfs.pc
                 ocaml/META perl/Makefile.PL])
@@ -415,6 +452,8 @@ echo -n "Ruby bindings ....................... "
 if test "x$HAVE_RUBY_TRUE" = "x"; then echo "yes"; else echo "no"; fi
 echo -n "Java bindings ....................... "
 if test "x$HAVE_JAVA_TRUE" = "x"; then echo "yes"; else echo "no"; fi
 if test "x$HAVE_RUBY_TRUE" = "x"; then echo "yes"; else echo "no"; fi
 echo -n "Java bindings ....................... "
 if test "x$HAVE_JAVA_TRUE" = "x"; then echo "yes"; else echo "no"; fi
+echo -n "virt-inspector ...................... "
+if test "x$HAVE_INSPECTOR" = "x"; then echo "yes"; else echo "no"; fi
 echo
 echo "If any optional component is configured 'no' when you expected 'yes'"
 echo "then you should check the preceeding messages."
 echo
 echo "If any optional component is configured 'no' when you expected 'yes'"
 echo "then you should check the preceeding messages."