X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=configure.ac;h=62998ba5cdb2ed81468a1a893e6c3bf1df6dad7f;hp=513df560da136c30ca7cef0a9f07eebdd8496fcf;hb=4963be850090933e5769f9d3412d9eb86f522b1b;hpb=d3be0facdd688f06eb4bc3743b53226f2d060482 diff --git a/configure.ac b/configure.ac index 513df56..62998ba 100644 --- a/configure.ac +++ b/configure.ac @@ -17,8 +17,8 @@ # 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], [5]) +m4_define([libguestfs_release], [3]) # extra can be any string m4_define([libguestfs_extra], []) @@ -37,6 +37,22 @@ 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 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]) @@ -94,10 +110,11 @@ if test "$gl_gcc_warnings" = yes; then 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]) @@ -168,6 +185,15 @@ AC_ARG_ENABLE([appliance], AM_CONDITIONAL([ENABLE_APPLIANCE],[test "x$enable_appliance" = "xyes"]) AC_MSG_RESULT([$enable_appliance]) +dnl Check for PCRE. +AC_CHECK_LIB([pcre],[pcre_compile], + [AC_SUBST([LIBPCRE], ["-lpcre"])], + [AC_MSG_FAILURE( + [Perl Compatible Regular Expressions library (PCRE) is required])]) +AC_CHECK_HEADER([pcre.h],[], + [AC_MSG_FAILURE( + [Perl Compatible Regular Expressions library (PCRE) header file pcre.h is required])]) + dnl Check for rpcgen and XDR library. rpcgen is optional. AC_CHECK_PROG([RPCGEN],[rpcgen],[rpcgen],[no]) AM_CONDITIONAL([HAVE_RPCGEN],[test "x$RPCGEN" != "xno"]) @@ -274,14 +300,14 @@ AC_ARG_WITH([drive-if], AC_DEFINE_UNQUOTED([DRIVE_IF],["$with_drive_if"],[Default drive interface.]) dnl Set interface used by the network. Normally you should -dnl leave this at the default (virtio) but you can use the +dnl leave this at the default (virtio-net-pci) but you can use the dnl alternative (ne2k_pci) because of bugs in virtio networking dnl eg. https://bugzilla.redhat.com/show_bug.cgi?id=516022 AC_ARG_WITH([net-if], [AS_HELP_STRING([--with-net-if], - [set default net driver (virtio|ne2k_pci) @<:@default=virtio@:>@])], + [set default net driver (virtio-net-pci|ne2k_pci) @<:@default=virtio-net-pci@:>@])], [], - [with_net_if=virtio]) + [with_net_if=virtio-net-pci]) AC_DEFINE_UNQUOTED([NET_IF],["$with_net_if"],[Default network interface.]) dnl Check for febootstrap etc. @@ -305,6 +331,10 @@ if test "x$enable_appliance" = "xyes"; then [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). @@ -391,40 +421,6 @@ AC_ARG_ENABLE([supermin], [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], @@ -462,6 +458,26 @@ dnl For i18n. AM_GNU_GETTEXT([external]) AM_GNU_GETTEXT_VERSION([0.17]) +dnl libmagic (required) +AC_CHECK_LIB([magic],[magic_file],[ + AC_SUBST([LIBMAGIC], ["-lmagic"]) + ],[ + AC_MSG_FAILURE([libmagic is required]) + ]) +AC_CHECK_HEADER([magic.h],[],[ + AC_MSG_FAILURE([magic.h header file is required]) + ]) + +dnl libvirt (required) +PKG_CHECK_MODULES([LIBVIRT], [libvirt]) +AC_SUBST([LIBVIRT_CFLAGS]) +AC_SUBST([LIBVIRT_LIBS]) + +dnl libxml2 (required) +PKG_CHECK_MODULES([LIBXML2], [libxml-2.0]) +AC_SUBST([LIBXML2_CFLAGS]) +AC_SUBST([LIBXML2_LIBS]) + dnl hivex library (highly recommended). dnl This used to be a part of libguestfs, but was spun off into its dnl own separate upstream project in libguestfs 1.0.85. @@ -564,6 +580,11 @@ if test "x$PYTHON" != "xno"; then fi AC_MSG_RESULT([not found]) done + + old_LIBS="$LIBS" + LIBS="$LIBS -lpython$PYTHON_VERSION" + AC_CHECK_FUNCS([PyCapsule_New]) + LIBS="$old_LIBS" fi AC_SUBST(PYTHON_PREFIX) @@ -761,10 +782,6 @@ AC_CONFIG_HEADERS([config.h]) 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