# major/minor/release must be numbers
m4_define([libguestfs_major], [1])
-m4_define([libguestfs_minor], [3])
-m4_define([libguestfs_release], [8])
+m4_define([libguestfs_minor], [4])
+m4_define([libguestfs_release], [5])
# extra can be any string
m4_define([libguestfs_extra], [])
-AC_INIT([libguestfs],libguestfs_major.libguestfs_minor.libguestfs_release[]libguestfs_extra)
+AC_INIT([libguestfs],libguestfs_major.libguestfs_minor.libguestfs_release)
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([foreign])
AC_DEFINE([PACKAGE_VERSION_RELEASE],[libguestfs_release],[Release number])
AC_DEFINE([PACKAGE_VERSION_EXTRA],["libguestfs_extra"],[Extra version string])
+dnl Stable or unstable version?
+AC_MSG_CHECKING([if this is a stable or unstable branch of libguestfs])
+AS_IF([test "$((libguestfs_minor % 2))" -eq 0 ],[
+ AC_MSG_RESULT([stable])
+ ],[
+ AC_MSG_RESULT([unstable])
+ AC_MSG_NOTICE([
+***
+This is a development version of libguestfs. Some APIs may be unstable
+until they appear in a stable release of libguestfs (at which point
+the C API and ABI is guaranteed to remain stable forever). For
+more information about stable and development branches of libguestfs
+please see the section "LIBGUESTFS VERSION NUMBERS" in guestfs(3).
+***])
+ ])
+
dnl Die if the user tries to configure as root, see:
dnl https://www.redhat.com/archives/libguestfs/2010-April/msg00098.html
AC_MSG_CHECKING([if you are trying to configure as root])
nw="$nw -Wmissing-format-attribute" # daemon.h's asprintf_nowarn
nw="$nw -Winline" # daemon.h's asprintf_nowarn
nw="$nw -Wshadow" # numerous, plus we're not unanimous
- # ?? -Wstrict-overflow
nw="$nw -Wunsafe-loop-optimizations" # just a warning that an optimization
# was not possible, safe to ignore
nw="$nw -Wpacked" # Allow attribute((packed)) on structs
+ nw="$nw -Wlong-long" # Allow long long since it's required
+ # by Python, Ruby and xstrtoll.
gl_MANYWARN_ALL_GCC([ws])
gl_MANYWARN_COMPLEMENT([ws], [$ws], [$nw])
vmchannel_net_user=no
fi
- if test "x$vmchannel_net_user" = "xno" -a "x$vmchannel_guestfwd" = "xno"; then
+ if test "x$vmchannel_net_user" = "xno" && test "x$vmchannel_guestfwd" = "xno"; then
AC_MSG_FAILURE(
[I did not find user mode network or vmchannel support in
$QEMU.
[febootstrap-to-initramfs],[febootstrap-to-initramfs],[no])
test "x$FEBOOTSTRAP_TO_INITRAMFS" = "xno" && \
AC_MSG_ERROR([febootstrap-to-initramfs must be installed])
+ AC_CHECK_PROG([FEBOOTSTRAP_TO_SUPERMIN],
+ [febootstrap-to-supermin],[febootstrap-to-supermin],[no])
+ test "x$FEBOOTSTRAP_TO_SUPERMIN" = "xno" && \
+ AC_MSG_ERROR([febootstrap-to-supermin 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_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
+ if test "$fakechroot_major" -lt 2 || \
+ ( test "$fakechroot_major" -eq 2 && test "$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],
- [set name of Fedora repository @<:@default=fedora-12@:>@])],
+ [set name of Fedora repository @<:@default=fedora-13@:>@])],
[],
- [with_repo=fedora-12])
+ [with_repo=fedora-13])
REPO="$with_repo"
AC_SUBST(REPO)
AC_DEFINE_UNQUOTED([REPO],["$REPO"],[Name of Fedora repository.])
[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 -e --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 -e --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 Enable packet dumps when in verbose mode. This generates lots
dnl of debug info, only useful for people debugging the RPC mechanism.
AC_ARG_ENABLE([packet-dump],
dnl Check for OCaml (optional, for OCaml bindings).
AC_PROG_OCAML
AC_PROG_FINDLIB
-AM_CONDITIONAL([HAVE_OCAML],[test "x$OCAMLC" != "xno" -a "x$OCAMLFIND" != "xno"])
+AM_CONDITIONAL([HAVE_OCAML],[test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"])
dnl Optional xml-light for running the generator.
OCAML_PKG_xml_light=no
-if test "x$OCAMLC" != "xno" -a "x$OCAMLFIND" != "xno"; then
+if test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"; then
AC_CHECK_OCAML_PKG([xml-light])
fi
AM_CONDITIONAL([HAVE_XML_LIGHT],[test "x$OCAML_PKG_xml_light" != "xno"])
fi
AM_CONDITIONAL([HAVE_PERL],
- [test "x$PERL" != "xno" -a "x$missing_perl_modules" != "xyes"])
+ [test "x$PERL" != "xno" && test "x$missing_perl_modules" != "xyes"])
dnl Check for Python (optional, for Python bindings).
AC_CHECK_PROG([PYTHON],[python],[python],[no])
AC_SUBST(PYTHON_SITE_PACKAGES)
AM_CONDITIONAL([HAVE_PYTHON],
- [test "x$PYTHON_INCLUDEDIR" != "x" -a "x$PYTHON_SITE_PACKAGES" != "x"])
+ [test "x$PYTHON_INCLUDEDIR" != "x" && test "x$PYTHON_SITE_PACKAGES" != "x"])
dnl Check for Ruby and rake (optional, for Ruby bindings).
AC_CHECK_LIB([ruby],[ruby_init],[HAVE_LIBRUBY=1],[HAVE_LIBRUBY=0])
AC_CHECK_PROG([RAKE],[rake],[rake],[no])
AM_CONDITIONAL([HAVE_RUBY],
- [test "x$RAKE" != "xno" -a -n "$HAVE_LIBRUBY"])
+ [test "x$RAKE" != "xno" && test -n "$HAVE_LIBRUBY"])
dnl Check for Java.
AC_ARG_WITH(java_home,
[with_java_home=check])
if test "x$with_java_home" != "xno"; then
- if test "x$with_java_home" != "xyes" -a "x$with_java_home" != "xcheck"
+ if test "x$with_java_home" != "xyes" && test "x$with_java_home" != "xcheck"
then
# Reject unsafe characters in $JAVA_HOME
jh_lf='
/usr/lib/jvm/java \
/usr/lib/jvm/java-6-openjdk
do
- if test -d $d -a -f $d/bin/java; then
+ if test -d $d && test -f $d/bin/java; then
JAVA_HOME=$d
break
fi
fi
AM_CONDITIONAL([HAVE_INSPECTOR],
- [test "x$PERL" != "xno" -a "x$missing_perl_modules" != "xyes"])
+ [test "x$PERL" != "xno" && test "x$missing_perl_modules" != "xyes"])
AM_CONDITIONAL([HAVE_TOOLS],
- [test "x$PERL" != "xno" -a "x$missing_perl_modules" != "xyes"])
+ [test "x$PERL" != "xno" && test "x$missing_perl_modules" != "xyes"])
dnl Library versioning.
MAX_PROC_NR=`cat $srcdir/src/MAX_PROC_NR`
dnl http://www.mail-archive.com/automake@gnu.org/msg10204.html
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([Makefile
src/Makefile fish/Makefile po/Makefile.in examples/Makefile
appliance/Makefile