# freeform string.
m4_define([libguestfs_major], [1])
m4_define([libguestfs_minor], [13])
-m4_define([libguestfs_release], [7])
+m4_define([libguestfs_release], [25])
AC_INIT([libguestfs],libguestfs_major.libguestfs_minor.libguestfs_release)
AC_CONFIG_AUX_DIR([build-aux])
AC_PROG_LIBTOOL
+AC_PROG_SED
+
dnl Check for basic C environment.
AC_PROG_CC_STDC
AC_PROG_INSTALL
fi
AC_SUBST([SELINUX_LIB])
+dnl Check for systemtap/DTrace userspace probes (optional).
+dnl http://sourceware.org/systemtap/wiki/AddingUserSpaceProbingToApps
+AC_CHECK_HEADERS([sys/sdt.h])
+dnl AC_CHECK_PROG([DTRACE],[dtrace],[dtrace],[no])
+
dnl Check for cpio which isn't in the default Pardus install amazingly.
AC_CHECK_PROG([CPIO],[cpio],[cpio],[no])
test "x$CPIO" = "xno" &&
])
fi
+ dnl qemu 0.15 was released with broken support for '-machine',
+ dnl requiring you to add the machine type: '-machine pc,[...]'.
+ dnl The problem is that 'pc' is only applicable for PC-like
+ dnl hardware, so we cannot do this as a general solution. Since
+ dnl qemu 0.15, this problem has been fixed so now the default
+ dnl machine type is chosen (qemu commit 2645c6dcaf6ea2a51a).
+ dnl
+ dnl We need to work out if this qemu is the broken version, so we
+ dnl can add 'pc' just for this broken version.
+ dnl
+ dnl Note that old qemu didn't support the '-machine' option at all.
+ dnl
+ dnl We use the -kernel option for testing this, because this option
+ dnl is processed very late, after qemu has set up the machine.
+ AC_MSG_CHECKING([for broken '-machine accel=tcg' option in $QEMU])
+ LC_ALL=C $QEMU -nographic -machine accel=tcg -kernel /NO_SUCH_FILE \
+ > config1.tmp 2>&1
+ LC_ALL=C $QEMU -nographic -machine pc,accel=tcg -kernel /NO_SUCH_FILE \
+ > config2.tmp 2>&1
+ if cmp -s config1.tmp config2.tmp; then
+ AC_MSG_RESULT([no])
+ else
+ AC_MSG_RESULT([yes])
+ AC_DEFINE([QEMU_MACHINE_TYPE_IS_BROKEN],[1],[qemu -machine accel=tcg option is broken (in qemu 0.15 only)])
+ fi
+ rm config1.tmp config2.tmp
+
+ dnl See if the '-machine [pc,]accel=tcg' option is required in
+ dnl order to run the virtio-serial test below. This happens when
+ dnl we run qemu-kvm inside a VM without forcing TCG:
+ dnl
+ dnl Could not access KVM kernel module: No such file or directory
+ dnl failed to initialize KVM: No such file or directory
+ dnl No accelerator found!
+ AC_MSG_CHECKING([if -machine @<:@pc,@:>@accel=tcg option is required to test virtio-serial feature])
+ if $QEMU -nographic -device \? >/dev/null 2>&1; then
+ :
+ elif $QEMU -machine accel=tcg -nographic -device \? >/dev/null 2>&1; then
+ QEMU_EXTRA_OPTIONS_FOR_TEST="-machine accel=tcg"
+ elif $QEMU -machine pc,accel=tcg -nographic -device \? >/dev/null 2>&1; then
+ QEMU_EXTRA_OPTIONS_FOR_TEST="-machine pc,accel=tcg"
+ # else nothing ... it'll fail below.
+ fi
+ AC_MSG_RESULT([$QEMU_EXTRA_OPTIONS_FOR_TEST])
+
AC_MSG_CHECKING([for virtio-serial support in $QEMU])
- if $QEMU -nographic -device \? 2>&1 | grep -sq virtio-serial; then
+ if $QEMU $QEMU_EXTRA_OPTIONS_FOR_TEST -nographic -device \? 2>&1 | grep -sq virtio-serial; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
])
AM_CONDITIONAL([HAVE_PHP], [test "x$PHP" != "xno" && test "x$PHPIZE" != "xno"])
+dnl Erlang
+ERLANG=no
+AC_ARG_ENABLE([erlang],
+ AS_HELP_STRING([--disable-erlang], [Disable Erlang language bindings]),
+ [],
+ [enable_erlang=yes])
+# NB: Don't use AS_IF here: it doesn't work.
+if test "x$enable_erlang" != "xno"; then
+ ERLANG=
+ AC_ERLANG_PATH_ERLC([no])
+
+ if test "x$ERLC" != "xno"; then
+ AC_ERLANG_CHECK_LIB([erl_interface], [],
+ [AC_MSG_FAILURE([Erlang erl_interface library not installed. Use --disable-erlang to disable.])])
+ AC_ERLANG_SUBST_LIB_DIR
+ fi
+fi
+AM_CONDITIONAL([HAVE_ERLANG], [test "x$ERLANG" != "xno" && test "x$ERLC" != "xno"])
+
dnl Check for Perl modules needed by Perl virt tools (virt-df, etc.)
AS_IF([test "x$PERL" != "xno"],
[
dnl Produce output files.
AC_CONFIG_HEADERS([config.h])
dnl http://www.mail-archive.com/automake@gnu.org/msg10204.html
+AC_CONFIG_FILES([clone/virt-sysprep],
+ [chmod +x clone/virt-sysprep])
AC_CONFIG_FILES([podwrapper.sh],
[chmod +x podwrapper.sh])
AC_CONFIG_FILES([run],
[chmod +x run])
AC_CONFIG_FILES([Makefile
+ align/Makefile
appliance/Makefile
capitests/Makefile
cat/Makefile
caution/Makefile
+ clone/Makefile
csharp/Makefile
daemon/Makefile
debian/changelog
df/Makefile
edit/Makefile
+ erlang/Makefile
+ erlang/examples/Makefile
examples/Makefile
fish/Makefile
fuse/Makefile
ruby/Makefile
ruby/Rakefile
ruby/examples/Makefile
+ sparsify/Makefile
src/Makefile
test-tool/Makefile
tools/Makefile])
if test "x$HAVE_HASKELL_TRUE" = "x"; then echo "yes"; else echo "no"; fi
echo -n "PHP bindings ........................ "
if test "x$HAVE_PHP_TRUE" = "x"; then echo "yes"; else echo "no"; fi
+echo -n "Erlang bindings ..................... "
+if test "x$HAVE_ERLANG_TRUE" = "x"; then echo "yes"; else echo "no"; fi
echo "guestfish and C virt tools .......... yes"
echo -n "Perl virt tools ..................... "
if test "x$HAVE_TOOLS_TRUE" = "x"; then echo "yes"; else echo "no"; fi