Fix non-srcdir builds: further fixes to OCaml build rules.
[libguestfs.git] / configure.ac
index f3b79a1..59eeb9d 100644 (file)
 # 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.27])
-AM_INIT_AUTOMAKE
+# major/minor/release must be numbers
+m4_define([libguestfs_major],   [1])
+m4_define([libguestfs_minor],   [0])
+m4_define([libguestfs_release], [61])
+# extra can be any string
+m4_define([libguestfs_extra],   [])
+
+AC_INIT([libguestfs],libguestfs_major.libguestfs_minor.libguestfs_release[]libguestfs_extra)
+AM_INIT_AUTOMAKE([foreign])
 
 AC_CONFIG_MACRO_DIR([m4])
 
 AC_PROG_LIBTOOL
 
 
 AC_CONFIG_MACRO_DIR([m4])
 
 AC_PROG_LIBTOOL
 
+dnl Split up the version string.
+AC_DEFINE([PACKAGE_VERSION_MAJOR],[libguestfs_major],[Major version number])
+AC_DEFINE([PACKAGE_VERSION_MINOR],[libguestfs_minor],[Minor version number])
+AC_DEFINE([PACKAGE_VERSION_RELEASE],[libguestfs_release],[Release number])
+AC_DEFINE([PACKAGE_VERSION_EXTRA],["libguestfs_extra"],[Extra version string])
+
 dnl Check for basic C environment.
 AC_PROG_CC_STDC
 AC_PROG_INSTALL
 dnl Check for basic C environment.
 AC_PROG_CC_STDC
 AC_PROG_INSTALL
@@ -56,6 +69,11 @@ AC_CHECK_PROG([POD2TEXT],[pod2text],[pod2text],[no])
 test "x$POD2TEXT" = "xno" &&
      AC_MSG_ERROR([pod2text must be installed])
 
 test "x$POD2TEXT" = "xno" &&
      AC_MSG_ERROR([pod2text must be installed])
 
+dnl Check for mksquashfs.
+AC_PATH_PROGS([MKSQUASHFS],[mksquashfs],[no],
+       [$PATH$PATH_SEPARATOR/usr/sbin$PATH_SEPARATOR/sbin])
+test "x$MKSQUASHFS" = "xno" && AC_MSG_ERROR([mksquashfs must be installed])
+
 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-kvm qemu-system-$host_cpu qemu"
 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-kvm qemu-system-$host_cpu qemu"
@@ -97,41 +115,52 @@ the --with-qemu option.
     AC_MSG_RESULT([yes])
 fi
 
     AC_MSG_RESULT([yes])
 fi
 
+dnl Set drive interface used by the guestfs_add_drive{,_ro} calls
+dnl ('-drive ...,if=...' option to qemu).
+dnl
+dnl NB. We will change the default in future to virtio, but at the
+dnl moment this causes a performance problem, RHBZ#509383.
+AC_ARG_WITH([drive-if],
+       [AS_HELP_STRING([--with-drive-if],
+         [set default driver (ide|scsi|virtio) @<:@default=ide@:>@])],
+       [],
+       [with_drive_if=ide])
+AC_DEFINE_UNQUOTED([DRIVE_IF],["$with_drive_if"],[Default drive interface.])
+
 dnl Check for febootstrap etc.
 AC_CHECK_PROG([FEBOOTSTRAP],
        [febootstrap],[febootstrap],[no])
 dnl Check for febootstrap etc.
 AC_CHECK_PROG([FEBOOTSTRAP],
        [febootstrap],[febootstrap],[no])
-test "x$FEBOOTSTRAP" = "xno" && \
-     AC_MSG_ERROR([febootstrap must be installed])
-AC_CHECK_PROG([FEBOOTSTRAP_RUN],
+if test "x$FEBOOTSTRAP" != "xno"; then
+  AC_CHECK_PROG([FEBOOTSTRAP_RUN],
        [febootstrap-run],[febootstrap-run],[no])
        [febootstrap-run],[febootstrap-run],[no])
-test "x$FEBOOTSTRAP_RUN" = "xno" && \
+  test "x$FEBOOTSTRAP_RUN" = "xno" && \
      AC_MSG_ERROR([febootstrap-run must be installed])
      AC_MSG_ERROR([febootstrap-run must be installed])
-AC_CHECK_PROG([FEBOOTSTRAP_INSTALL],
+  AC_CHECK_PROG([FEBOOTSTRAP_INSTALL],
        [febootstrap-install],[febootstrap-install],[no])
        [febootstrap-install],[febootstrap-install],[no])
-test "x$FEBOOTSTRAP_INSTALL" = "xno" && \
+  test "x$FEBOOTSTRAP_INSTALL" = "xno" && \
      AC_MSG_ERROR([febootstrap-install must be installed])
      AC_MSG_ERROR([febootstrap-install must be installed])
-AC_CHECK_PROG([FEBOOTSTRAP_MINIMIZE],
+  AC_CHECK_PROG([FEBOOTSTRAP_MINIMIZE],
        [febootstrap-minimize],[febootstrap-minimize],[no])
        [febootstrap-minimize],[febootstrap-minimize],[no])
-test "x$FEBOOTSTRAP_MINIMIZE" = "xno" && \
+  test "x$FEBOOTSTRAP_MINIMIZE" = "xno" && \
      AC_MSG_ERROR([febootstrap-minimize must be installed])
      AC_MSG_ERROR([febootstrap-minimize must be installed])
-AC_CHECK_PROG([FEBOOTSTRAP_TO_INITRAMFS],
+  AC_CHECK_PROG([FEBOOTSTRAP_TO_INITRAMFS],
        [febootstrap-to-initramfs],[febootstrap-to-initramfs],[no])
        [febootstrap-to-initramfs],[febootstrap-to-initramfs],[no])
-test "x$FEBOOTSTRAP_TO_INITRAMFS" = "xno" && \
+  test "x$FEBOOTSTRAP_TO_INITRAMFS" = "xno" && \
      AC_MSG_ERROR([febootstrap-to-initramfs must be installed])
 
      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],
+  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])
        [fakechroot],[fakechroot],[no])
-test "x$FAKECHROOT" = "xno" && \
+  test "x$FAKECHROOT" = "xno" && \
     AC_MSG_ERROR([fakechroot must be installed])
 
     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_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])
     AC_MSG_RESULT([failed])
     AC_MSG_WARN([fakechroot --version command failed, proceeding anyway])
-else
+  else
     AC_MSG_RESULT([$fakechroot_version])
     fakechroot_major=`echo $fakechroot_version | awk -F. '{print $1}'`
     fakechroot_minor=`echo $fakechroot_version | awk -F. '{print $2}'`
     AC_MSG_RESULT([$fakechroot_version])
     fakechroot_major=`echo $fakechroot_version | awk -F. '{print $1}'`
     fakechroot_minor=`echo $fakechroot_version | awk -F. '{print $2}'`
@@ -139,7 +168,33 @@ else
             \( "$fakechroot_major" -eq 2 -a "$fakechroot_minor" -lt 9 \); then
         AC_MSG_ERROR([fakechroot version must be >= 2.9])
     fi
             \( "$fakechroot_major" -eq 2 -a "$fakechroot_minor" -lt 9 \); then
         AC_MSG_ERROR([fakechroot version must be >= 2.9])
     fi
+  fi
+  DIST="REDHAT"
+else
+  # check for debootstrap and debirf
+  AC_CHECK_PROG([DEBOOTSTRAP],
+       [debootstrap],[debootstrap],[no])
+  test "x$DEBOOTSTRAP" = "xno" && \
+       AC_MSG_ERROR([Either febootstrap or debootstrap must be installed])
+  AC_CHECK_PROG([DEBIRF],[debirf],[debirf],[no])
+  test "x$DEBIRF" = "xno" &&
+        AC_MSG_ERROR([debirf must be installed])
+  DIST="DEBIAN"
+  case $host_cpu in
+      *86)
+          DEBIAN_KERNEL_ARCH=486
+          ;;
+      x86_64)
+          DEBIAN_KERNEL_ARCH=amd64
+          ;;
+      *)
+         DEBIAN_KERNEL_ARCH=$host_cpu
+         ;;
+   esac
+   AC_SUBST(DEBIAN_KERNEL_ARCH)
 fi
 fi
+AC_SUBST(DIST)
+
 
 dnl --with-repo to specify a Fedora repository.
 AC_ARG_WITH([repo],
 
 dnl --with-repo to specify a Fedora repository.
 AC_ARG_WITH([repo],
@@ -151,18 +206,16 @@ REPO="$with_repo"
 AC_SUBST(REPO)
 AC_DEFINE_UNQUOTED([REPO],["$REPO"],[Name of Fedora repository.])
 
 AC_SUBST(REPO)
 AC_DEFINE_UNQUOTED([REPO],["$REPO"],[Name of Fedora repository.])
 
-AC_DEFINE_UNQUOTED([host_cpu],["$host_cpu"],[Host architecture.])
-
 dnl --with-updates to specify a Fedora updates repository.
 AC_ARG_WITH([updates],
        [AS_HELP_STRING([--with-updates],
 dnl --with-updates to specify a Fedora updates repository.
 AC_ARG_WITH([updates],
        [AS_HELP_STRING([--with-updates],
-         [set name of Fedora updates repository @<:@default=updates-released-f10@:>@])],
+         [set name of Fedora updates repository @<:@default=updates-released-f11@:>@])],
        [],
        [with_updates=updates-released-f11])
 UPDATES="$with_updates"
 AC_SUBST(UPDATES)
        [],
        [with_updates=updates-released-f11])
 UPDATES="$with_updates"
 AC_SUBST(UPDATES)
-AC_DEFINE_UNQUOTED([UPDATES],["$UPDATES"],[Name of Fedora updates repository.])
 
 
+dnl Define a symbol for the host CPU architecture.
 AC_DEFINE_UNQUOTED([host_cpu],["$host_cpu"],[Host architecture.])
 
 dnl --with-mirror to specify a local Fedora mirror.
 AC_DEFINE_UNQUOTED([host_cpu],["$host_cpu"],[Host architecture.])
 
 dnl --with-mirror to specify a local Fedora mirror.
@@ -174,6 +227,49 @@ AC_ARG_WITH([mirror],
 MIRROR="$with_mirror"
 AC_SUBST(MIRROR)
 
 MIRROR="$with_mirror"
 AC_SUBST(MIRROR)
 
+dnl Build the supermin appliance?  Please see README file before
+dnl enabling this option.
+AC_ARG_ENABLE([supermin],
+       [AS_HELP_STRING([--enable-supermin],
+         [enable supermin appliance (see README) @<:@default=no@:>@])],
+       [],
+       [enable_supermin=no])
+AM_CONDITIONAL([SUPERMIN],[test "x$enable_supermin" = "xyes"])
+
+if test "x$enable_supermin" = "xyes"; then
+    dnl Check febootstrap-to-initramfs accepts the --files option
+    dnl (febootstrap >= 2.2).
+    AC_MSG_CHECKING([for --files support in $FEBOOTSTRAP_TO_INITRAMFS])
+    out=`$FEBOOTSTRAP_TO_INITRAMFS 2>&1 ||:`
+    echo "febootstrap_to_initramfs test command output: $out" >&AS_MESSAGE_LOG_FD
+    if ! echo $out | grep -sq -- "--files" ; then
+        AC_MSG_RESULT([no])
+       AC_MSG_FAILURE(
+[febootstrap-to-initramfs does not support the --files option.
+
+To build the supermin appliance, you need to upgrade to the latest
+version of febootstrap.
+])
+    fi
+    AC_MSG_RESULT([yes])
+
+    dnl Check febootstrap-to-initramfs accepts the --nocompress option
+    dnl (febootstrap >= 2.3).
+    AC_MSG_CHECKING([for --nocompress support in $FEBOOTSTRAP_TO_INITRAMFS])
+    out=`$FEBOOTSTRAP_TO_INITRAMFS 2>&1 ||:`
+    echo "febootstrap_to_initramfs test command output: $out" >&AS_MESSAGE_LOG_FD
+    if ! echo $out | grep -sq -- "--nocompress" ; then
+        AC_MSG_RESULT([no])
+       AC_MSG_FAILURE(
+[febootstrap-to-initramfs does not support the --nocompress option.
+
+To build the supermin appliance, you need to upgrade to the latest
+version of febootstrap.
+])
+    fi
+    AC_MSG_RESULT([yes])
+fi
+
 dnl Readline.
 AC_ARG_WITH([readline],
     [AS_HELP_STRING([--with-readline],
 dnl Readline.
 AC_ARG_WITH([readline],
     [AS_HELP_STRING([--with-readline],
@@ -195,7 +291,8 @@ AS_IF([test "x$with_readline" != xno],
         ], -lncurses)])
 
 dnl For i18n.
         ], -lncurses)])
 
 dnl For i18n.
-IT_PROG_INTLTOOL
+AM_GNU_GETTEXT([external])
+AM_GNU_GETTEXT_VERSION([0.14])
 
 dnl Check for OCaml (optional, for OCaml bindings).
 AC_PROG_OCAML
 
 dnl Check for OCaml (optional, for OCaml bindings).
 AC_PROG_OCAML
@@ -297,94 +394,107 @@ if test "x$with_java_home" != "xno"; then
             AC_MSG_FAILURE([$with_java_home is not a directory (use --with-java-home=no to disable Java support)])
        fi
     fi
             AC_MSG_FAILURE([$with_java_home is not a directory (use --with-java-home=no to disable Java support)])
        fi
     fi
+
     if test "x$JAVA_HOME" = "x"; then
     if test "x$JAVA_HOME" = "x"; then
-        JAVA_HOME=/usr/lib/jvm/java
-    fi
-    AC_MSG_CHECKING(for JDK in $JAVA_HOME)
-    if test ! -x "$JAVA_HOME/bin/java"; then
-        AC_MSG_ERROR([missing $JAVA_HOME/bin/java binary (use --with-java-home=no to disable Java support)])
-    else
-        JAVA="$JAVA_HOME/bin/java"
+        # Look for Java in some likely locations.
+       for d in \
+           /usr/lib/jvm/java \
+           /usr/lib/jvm/java-6-openjdk
+       do
+           if test -d $d -a -f $d/bin/java; then
+                JAVA_HOME=$d
+               break
+           fi
+       done
     fi
     fi
-    if test ! -x "$JAVA_HOME/bin/javac"; then
-        AC_MSG_ERROR([missing $JAVA_HOME/bin/javac binary])
-    else
-        JAVAC="$JAVA_HOME/bin/javac"
-    fi
-    if test ! -x "$JAVA_HOME/bin/javah"; then
-        AC_MSG_ERROR([missing $JAVA_HOME/bin/javah binary])
-    else
-        JAVAH="$JAVA_HOME/bin/javah"
-    fi
-    if test ! -x "$JAVA_HOME/bin/javadoc"; then
-        AC_MSG_ERROR([missing $JAVA_HOME/bin/javadoc binary])
-    else
-        JAVADOC="$JAVA_HOME/bin/javadoc"
-    fi
-    if test ! -x "$JAVA_HOME/bin/jar"; then
-        AC_MSG_ERROR([missing $JAVA_HOME/bin/jar binary])
-    else
-        JAR="$JAVA_HOME/bin/jar"
-    fi
-    java_version=`$JAVA -version 2>&1 | grep "java version"`
-    AC_MSG_RESULT(found $java_version in $JAVA_HOME)
 
 
-    dnl Find jni.h.
-    AC_MSG_CHECKING([for jni.h])
-    if test -f "$JAVA_HOME/include/jni.h"; then
-        JNI_CFLAGS="-I$JAVA_HOME/include"
-    else
-    if test "`find $JAVA_HOME -name jni.h`" != ""; then
-        head=`find $JAVA_HOME -name jni.h | tail -1`
-       dir=`dirname $head`
-       JNI_CFLAGS="-I$dir"
-    else
-       AC_MSG_FAILURE([missing jni.h header file])
-    fi
-    fi
-    AC_MSG_RESULT([$JNI_CFLAGS])
-
-    dnl Find jni_md.h.
-    AC_MSG_CHECKING([for jni_md.h])
-    case "$build_os" in
-    *linux*) system="linux" ;;
-    *SunOS*) system="solaris" ;;
-    *cygwin*) system="win32" ;;
-    *) system="$build_os" ;;
-    esac
-    if test -f "$JAVA_HOME/include/$system/jni_md.h"; then
-        JNI_CFLAGS="$JNI_CFLAGS -I$JAVA_HOME/include/$system"
-    else
-    if test "`find $JAVA_HOME -name jni_md.h`" != ""; then
-        head=`find $JAVA_HOME -name jni_md.h | tail -1`
-       dir=`dirname $head`
-       JNI_CFLAGS="$JNI_CFLAGS -I$dir"
-    else
-       AC_MSG_FAILURE([missing jni_md.h header file])
-    fi
+    if test "x$JAVA_HOME" != "x"; then
+        AC_MSG_CHECKING(for JDK in $JAVA_HOME)
+       if test ! -x "$JAVA_HOME/bin/java"; then
+            AC_MSG_ERROR([missing $JAVA_HOME/bin/java binary (use --with-java-home=no to disable Java support)])
+       else
+           JAVA="$JAVA_HOME/bin/java"
+       fi
+       if test ! -x "$JAVA_HOME/bin/javac"; then
+            AC_MSG_ERROR([missing $JAVA_HOME/bin/javac binary])
+       else
+           JAVAC="$JAVA_HOME/bin/javac"
+        fi
+       if test ! -x "$JAVA_HOME/bin/javah"; then
+            AC_MSG_ERROR([missing $JAVA_HOME/bin/javah binary])
+        else
+            JAVAH="$JAVA_HOME/bin/javah"
+        fi
+        if test ! -x "$JAVA_HOME/bin/javadoc"; then
+            AC_MSG_ERROR([missing $JAVA_HOME/bin/javadoc binary])
+        else
+            JAVADOC="$JAVA_HOME/bin/javadoc"
+        fi
+        if test ! -x "$JAVA_HOME/bin/jar"; then
+            AC_MSG_ERROR([missing $JAVA_HOME/bin/jar binary])
+        else
+            JAR="$JAVA_HOME/bin/jar"
+        fi
+        java_version=`$JAVA -version 2>&1 | grep "java version"`
+        AC_MSG_RESULT(found $java_version in $JAVA_HOME)
+
+        dnl Find jni.h.
+        AC_MSG_CHECKING([for jni.h])
+        if test -f "$JAVA_HOME/include/jni.h"; then
+            JNI_CFLAGS="-I$JAVA_HOME/include"
+        else
+            if test "`find $JAVA_HOME -name jni.h`" != ""; then
+                head=`find $JAVA_HOME -name jni.h | tail -1`
+               dir=`dirname $head`
+               JNI_CFLAGS="-I$dir"
+            else
+               AC_MSG_FAILURE([missing jni.h header file])
+            fi
+        fi
+        AC_MSG_RESULT([$JNI_CFLAGS])
+
+        dnl Find jni_md.h.
+        AC_MSG_CHECKING([for jni_md.h])
+        case "$build_os" in
+        *linux*) system="linux" ;;
+        *SunOS*) system="solaris" ;;
+        *cygwin*) system="win32" ;;
+        *) system="$build_os" ;;
+        esac
+        if test -f "$JAVA_HOME/include/$system/jni_md.h"; then
+            JNI_CFLAGS="$JNI_CFLAGS -I$JAVA_HOME/include/$system"
+        else
+            if test "`find $JAVA_HOME -name jni_md.h`" != ""; then
+                head=`find $JAVA_HOME -name jni_md.h | tail -1`
+               dir=`dirname $head`
+                JNI_CFLAGS="$JNI_CFLAGS -I$dir"
+            else
+                AC_MSG_FAILURE([missing jni_md.h header file])
+            fi
+        fi
+        AC_MSG_RESULT([$JNI_CFLAGS])
+
+        dnl Need extra version flag?
+        AC_MSG_CHECKING([extra javac flags])
+        JAVAC_FLAGS=
+        javac_version=`$JAVAC -version 2>&1`
+        case "$javac_version" in
+        *Eclipse*)
+            JAVAC_FLAGS="-source 1.5" ;;
+        esac
+        AC_MSG_RESULT([$JAVAC_FLAGS])
+
+        dnl Where to install jarfiles.
+        dnl XXX How to make it configurable?
+        JAR_INSTALL_DIR=\${prefix}/share/java
+        JNI_INSTALL_DIR=\${libdir}
+
+        dnl JNI version.
+        jni_major_version=`echo $VERSION | awk -F. '{print $1}'`
+        jni_minor_version=`echo $VERSION | awk -F. '{print $2}'`
+        jni_micro_version=`echo $VERSION | awk -F. '{print $3}'`
+        JNI_VERSION_INFO=`expr $jni_major_version + $jni_minor_version`:$jni_micro_version:$jni_minor_version
     fi
     fi
-    AC_MSG_RESULT([$JNI_CFLAGS])
-
-    dnl Need extra version flag?
-    AC_MSG_CHECKING([extra javac flags])
-    JAVAC_FLAGS=
-    javac_version=`$JAVAC -version 2>&1`
-    case "$javac_version" in
-    *Eclipse*)
-       JAVAC_FLAGS="-source 1.5" ;;
-    esac
-    AC_MSG_RESULT([$JAVAC_FLAGS])
-
-    dnl Where to install jarfiles.
-    dnl XXX How to make it configurable?
-    JAR_INSTALL_DIR=\${prefix}/share/java
-    JNI_INSTALL_DIR=\${libdir}
-
-    dnl JNI version.
-    jni_major_version=`echo $VERSION | awk -F. '{print $1}'`
-    jni_minor_version=`echo $VERSION | awk -F. '{print $2}'`
-    jni_micro_version=`echo $VERSION | awk -F. '{print $3}'`
-    JNI_VERSION_INFO=`expr $jni_major_version + $jni_minor_version`:$jni_micro_version:$jni_minor_version
 fi
 
 AC_SUBST(JAVA_HOME)
 fi
 
 AC_SUBST(JAVA_HOME)
@@ -407,9 +517,9 @@ AC_CHECK_PROG([GHC],[ghc],[ghc],[no])
 AM_CONDITIONAL([HAVE_HASKELL],
     [test "x$GHC" != "xno"])
 
 AM_CONDITIONAL([HAVE_HASKELL],
     [test "x$GHC" != "xno"])
 
-dnl Check for Perl modules needed by the inspector.
+dnl Check for Perl modules needed by virt-df, inspector, V2V etc.
 missing_perl_modules=no
 missing_perl_modules=no
-for pm in Pod::Usage Getopt::Long Sys::Virt Data::Dumper; do
+for pm in Pod::Usage Getopt::Long Sys::Virt Data::Dumper XML::Writer Locale::TextDomain; do
     AC_MSG_CHECKING([for $pm])
     if ! perl -M$pm -e1 >/dev/null 2>&1; then
         AC_MSG_RESULT([no])
     AC_MSG_CHECKING([for $pm])
     if ! perl -M$pm -e1 >/dev/null 2>&1; then
         AC_MSG_RESULT([no])
@@ -419,35 +529,59 @@ for pm in Pod::Usage Getopt::Long Sys::Virt Data::Dumper; do
     fi
 done
 if test "x$missing_perl_modules" = "xyes"; then
     fi
 done
 if test "x$missing_perl_modules" = "xyes"; then
-    AC_MSG_WARN([some Perl modules required to compile virt-inspector are missing])
+    AC_MSG_WARN([some Perl modules required to compile virt-cat, virt-df, virt-inspector and virt-v2v are missing])
 fi
 
 fi
 
+AM_CONDITIONAL([HAVE_CAT],
+    [test "x$PERL" != "xno" -a "x$missing_perl_modules" != "xyes"])
+AM_CONDITIONAL([HAVE_DF],
+    [test "x$PERL" != "xno" -a "x$missing_perl_modules" != "xyes"])
 AM_CONDITIONAL([HAVE_INSPECTOR],
     [test "x$PERL" != "xno" -a "x$missing_perl_modules" != "xyes"])
 AM_CONDITIONAL([HAVE_INSPECTOR],
     [test "x$PERL" != "xno" -a "x$missing_perl_modules" != "xyes"])
+AM_CONDITIONAL([HAVE_V2V],
+    [test "x$PERL" != "xno" -a "x$missing_perl_modules" != "xyes"])
+
+dnl Library versioning.
+MAX_PROC_NR=`cat $srcdir/src/MAX_PROC_NR`
+AC_SUBST(MAX_PROC_NR)
 
 dnl Run in subdirs.
 AC_CONFIG_SUBDIRS([daemon])
 
 dnl Produce output files.
 AC_CONFIG_HEADERS([config.h])
 
 dnl Run in subdirs.
 AC_CONFIG_SUBDIRS([daemon])
 
 dnl Produce output files.
 AC_CONFIG_HEADERS([config.h])
+dnl http://www.mail-archive.com/automake@gnu.org/msg10204.html
+AC_CONFIG_FILES([appliance/make.sh],
+               [chmod +x appliance/make.sh])
+AC_CONFIG_FILES([appliance/update.sh],
+               [chmod +x appliance/update.sh])
+AC_CONFIG_FILES([appliance/supermin-split.sh],
+               [chmod +x appliance/supermin-split.sh])
+AC_CONFIG_FILES([appliance/supermin-make.sh],
+               [chmod +x appliance/supermin-make.sh])
+AC_CONFIG_FILES([appliance/libguestfs-supermin-helper],
+               [chmod +x appliance/libguestfs-supermin-helper])
 AC_CONFIG_FILES([Makefile
                 src/Makefile fish/Makefile po/Makefile.in examples/Makefile
 AC_CONFIG_FILES([Makefile
                 src/Makefile fish/Makefile po/Makefile.in examples/Makefile
+                appliance/Makefile
+                appliance/debian/debirf.conf
                 images/Makefile
                 images/Makefile
+                capitests/Makefile
+                regressions/Makefile
                 ocaml/Makefile ocaml/examples/Makefile
                 perl/Makefile
                 python/Makefile
                 ruby/Makefile ruby/Rakefile
                 java/Makefile
                 haskell/Makefile
                 ocaml/Makefile ocaml/examples/Makefile
                 perl/Makefile
                 python/Makefile
                 ruby/Makefile ruby/Rakefile
                 java/Makefile
                 haskell/Makefile
+                cat/Makefile
+                df/Makefile
                 inspector/Makefile
                 inspector/Makefile
-                make-initramfs.sh update-initramfs.sh
+                v2v/Makefile
                 libguestfs.pc
                 ocaml/META perl/Makefile.PL])
 AC_OUTPUT
 
                 libguestfs.pc
                 ocaml/META perl/Makefile.PL])
 AC_OUTPUT
 
-dnl WTF?
-chmod +x make-initramfs.sh update-initramfs.sh
-
 dnl Produce summary.
 echo
 echo
 dnl Produce summary.
 echo
 echo
@@ -469,14 +603,21 @@ echo -n "Java bindings ....................... "
 if test "x$HAVE_JAVA_TRUE" = "x"; then echo "yes"; else echo "no"; fi
 echo -n "Haskell bindings .................... "
 if test "x$HAVE_HASKELL" = "x"; then echo "yes"; else echo "no"; fi
 if test "x$HAVE_JAVA_TRUE" = "x"; then echo "yes"; else echo "no"; fi
 echo -n "Haskell bindings .................... "
 if test "x$HAVE_HASKELL" = "x"; then echo "yes"; else echo "no"; fi
+echo -n "virt-cat ............................ "
+if test "x$HAVE_CAT" = "x"; then echo "yes"; else echo "no"; fi
+echo -n "virt-df ............................. "
+if test "x$HAVE_DF" = "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 -n "virt-inspector ...................... "
 if test "x$HAVE_INSPECTOR" = "x"; then echo "yes"; else echo "no"; fi
+echo -n "virt-v2v ............................ "
+if test "x$HAVE_V2V" = "x"; then echo "yes"; else echo "no"; fi
+echo "supermin appliance .................. $enable_supermin"
 echo
 echo "If any optional component is configured 'no' when you expected 'yes'"
 echo "then you should check the preceeding messages."
 echo
 echo
 echo "If any optional component is configured 'no' when you expected 'yes'"
 echo "then you should check the preceeding messages."
 echo
-echo "Please report bugs back to the fedora-virt mailing list:"
-echo "http://www.redhat.com/mailman/listinfo/fedora-virt"
+echo "Please report bugs back to the mailing list:"
+echo "http://www.redhat.com/mailman/listinfo/libguestfs"
 echo
 echo "Next you should type 'make' to build the package,"
 echo "then 'make check' to run the tests."
 echo
 echo "Next you should type 'make' to build the package,"
 echo "then 'make check' to run the tests."