X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=configure.ac;h=435b5e1a8b48cf9309853e17c874c0c67f1aa7d3;hp=168da83bec8045b9decce4a3924384140bf6985a;hb=cd00157efca760ce043dcae216d921841dd25ff9;hpb=8ea322aba3041e67cf32b43101a3299f89c9b0dc diff --git a/configure.ac b/configure.ac index 168da83..435b5e1 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ # libguestfs -# Copyright (C) 2009-2010 Red Hat Inc. +# Copyright (C) 2009-2011 Red Hat Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,8 +17,8 @@ # major/minor/release must be numbers m4_define([libguestfs_major], [1]) -m4_define([libguestfs_minor], [7]) -m4_define([libguestfs_release], [20]) +m4_define([libguestfs_minor], [11]) +m4_define([libguestfs_release], [18]) # extra can be any string m4_define([libguestfs_extra], []) @@ -158,7 +158,7 @@ dnl Headers. AC_CHECK_HEADERS([errno.h sys/types.h sys/un.h sys/wait.h sys/socket.h endian.h byteswap.h]) dnl Functions. -AC_CHECK_FUNCS([posix_fallocate]) +AC_CHECK_FUNCS([futimens posix_fallocate]) dnl Build the daemon? AC_MSG_CHECKING([if we should build the daemon]) @@ -204,7 +204,8 @@ if test "x$enable_appliance" = "xyes"; then dnl dnl This used to be Very Important but is now just used to select dnl which packages to install in the appliance, since the package - dnl names vary slightly across distros. (See appliance/packagelist.in) + dnl names vary slightly across distros. (See + dnl appliance/packagelist.in and appliance/excludelist.in) AC_MSG_CHECKING([which Linux distro for package names]) DISTRO=REDHAT if test -f /etc/debian_version; then @@ -213,6 +214,9 @@ if test "x$enable_appliance" = "xyes"; then DISTRO=UBUNTU fi fi + if test -f /etc/arch-release; then + DISTRO=ARCHLINUX + fi AC_MSG_RESULT([$DISTRO]) AC_SUBST([DISTRO]) fi @@ -245,10 +249,31 @@ AC_CHECK_PROG([POD2HTML],[pod2html],[pod2html],[no]) test "x$POD2HTML" = "xno" && AC_MSG_ERROR([pod2html must be installed]) -dnl Check for mkisofs. -AC_PATH_PROGS([MKISOFS],[mkisofs],[no], +dnl Check if pod2man, pod2text take --stderr and -u options (not in RHEL 5). +AC_MSG_CHECKING([if pod2man takes --stderr option]) +if "$POD2MAN" --stderr >/dev/null 2>&1; then + AC_MSG_RESULT([yes]) + POD2_STDERR_OPTION="--stderr" +else + AC_MSG_RESULT([no]) + POD2_STDERR_OPTION="" +fi +AC_SUBST([POD2_STDERR_OPTION]) + +AC_MSG_CHECKING([if pod2man takes -u option]) +if "$POD2MAN" -u >/dev/null 2>&1; then + AC_MSG_RESULT([yes]) + POD2_UTF8_OPTION="-u" +else + AC_MSG_RESULT([no]) + POD2_UTF8_OPTION="" +fi +AC_SUBST([POD2_UTF8_OPTION]) + +dnl Check for genisoimage. +AC_PATH_PROGS([GENISOIMAGE],[genisoimage],[no], [$PATH$PATH_SEPARATOR/usr/sbin$PATH_SEPARATOR/sbin]) -test "x$MKISOFS" = "xno" && AC_MSG_ERROR([mkisofs must be installed]) +test "x$GENISOIMAGE" = "xno" && AC_MSG_ERROR([genisoimage must be installed]) dnl Check for optional xmllint. AC_CHECK_PROG([XMLLINT],[xmllint],[xmllint],[no]) @@ -288,7 +313,6 @@ if test "x$vmchannel_test" != "xno"; then AC_MSG_CHECKING([for virtio-serial support in $QEMU]) if $QEMU -nographic -device \? 2>&1 | grep -sq virtio-serial; then AC_MSG_RESULT([yes]) - vmchannel_guestfwd=guestfwd else AC_MSG_RESULT([no]) AC_MSG_FAILURE( @@ -407,6 +431,15 @@ PKG_CHECK_MODULES([LIBXML2], [libxml-2.0], [AC_MSG_WARN([libxml2 not found, some core features will be disabled])]) AM_CONDITIONAL([HAVE_LIBXML2],[test "x$LIBXML2_LIBS" != "x"]) +dnl libconfig (highly recommended) +PKG_CHECK_MODULES([LIBCONFIG], [libconfig], + [AC_SUBST([LIBCONFIG_CFLAGS]) + AC_SUBST([LIBCONFIG_LIBS]) + AC_DEFINE([HAVE_LIBCONFIG],[1],[libconfig found at compile time.]) + ], + [AC_MSG_WARN([libconfig not found, some features will be disabled])]) +AM_CONDITIONAL([HAVE_LIBCONFIG],[test "x$LIBCONFIG_LIBS" != "x"]) + 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. @@ -416,6 +449,7 @@ PKG_CHECK_MODULES([HIVEX], [hivex], AC_DEFINE([HAVE_HIVEX],[1],[hivex library found at compile time.]) ], [AC_MSG_WARN([hivex not found, some core features will be disabled])]) +AM_CONDITIONAL([HAVE_HIVEX],[test "x$HIVEX_LIBS" != "x"]) dnl FUSE is optional to build the FUSE module. AC_ARG_ENABLE([fuse], @@ -442,9 +476,16 @@ AS_IF([test "x$enable_ocaml" != "xno"], OCAMLFIND= AC_PROG_OCAML AC_PROG_FINDLIB + + AS_IF([test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"], + [AC_CHECK_OCAML_PKG([pcre])]) ]) AM_CONDITIONAL([HAVE_OCAML], [test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"]) +AM_CONDITIONAL([HAVE_OCAML_PCRE], + [test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno" && test "x$OCAML_PKG_pcre" != "xno"]) +AM_CONDITIONAL([HAVE_OCAMLDOC], + [test "x$OCAMLDOC" != "xno"]) dnl Check for Perl (optional, for Perl bindings). PERL=no @@ -480,7 +521,7 @@ dnl Check for Python (optional, for Python bindings). PYTHON_PREFIX= PYTHON_VERSION= PYTHON_INCLUDEDIR= -PYTHON_SITE_PACKAGES= +PYTHON_INSTALLDIR= AC_ARG_ENABLE([python], AS_HELP_STRING([--disable-python], [Disable Python language bindings]), @@ -499,40 +540,29 @@ AS_IF([test "x$enable_python" != "xno"], PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"` AC_MSG_RESULT([$PYTHON_VERSION]) - for d in \ - $PYTHON_PREFIX/include/python$PYTHON_VERSION \ - /usr/include/python$PYTHON_VERSION \ - /usr/local/include/python$PYTHON_VERSION - do - AC_MSG_CHECKING([Python.h in $d]) - if test -r "$d/Python.h"; then - AC_MSG_RESULT([found]) - PYTHON_INCLUDEDIR=$d - break - fi - AC_MSG_RESULT([not found]) - done - if test "x$PYTHON_INCLUDEDIR" = "x"; then - AC_MSG_WARN([Python include directory not found]) + AC_MSG_CHECKING([for Python include path]) + if test -z "$PYTHON_INCLUDEDIR"; then + python_path=`$PYTHON -c "import distutils.sysconfig; \ + print (distutils.sysconfig.get_python_inc ());"` + PYTHON_INCLUDEDIR=$python_path fi - - for d in \ - $PYTHON_PREFIX/lib64/python$PYTHON_VERSION/site-packages \ - $PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages \ - /usr/lib64/python$PYTHON_VERSION/site-packages \ - /usr/lib/python$PYTHON_VERSION/site-packages \ - /usr/local/lib/python$PYTHON_VERSION/site-packages - do - AC_MSG_CHECKING([for $d]) - if test -d "$d"; then - AC_MSG_RESULT([found]) - PYTHON_SITE_PACKAGES=$d - break + AC_MSG_RESULT([$PYTHON_INCLUDEDIR]) + + AC_ARG_WITH([python-installdir], + [AS_HELP_STRING([--with-python-installdir], + [directory to install python modules @<:@default=check@:>@])], + [PYTHON_INSTALLDIR="$withval" + AC_MSG_NOTICE([Python install dir $PYTHON_INSTALLDIR])], + [PYTHON_INSTALLDIR=check]) + + if test "x$PYTHON_INSTALLDIR" = "xcheck"; then + PYTHON_INSTALLDIR= + AC_MSG_CHECKING([for Python site-packages path]) + if test -z "$PYTHON_INSTALLDIR"; then + PYTHON_INSTALLDIR=`$PYTHON -c "import distutils.sysconfig; \ + print (distutils.sysconfig.get_python_lib(1,0));"` fi - AC_MSG_RESULT([not found]) - done - if test "x$PYTHON_SITE_PACKAGES" = "x"; then - AC_MSG_WARN([Python site-packages directory not found]) + AC_MSG_RESULT([$PYTHON_INSTALLDIR]) fi old_LIBS="$LIBS" @@ -544,10 +574,10 @@ AS_IF([test "x$enable_python" != "xno"], AC_SUBST(PYTHON_PREFIX) AC_SUBST(PYTHON_VERSION) AC_SUBST(PYTHON_INCLUDEDIR) - AC_SUBST(PYTHON_SITE_PACKAGES) + AC_SUBST(PYTHON_INSTALLDIR) ]) AM_CONDITIONAL([HAVE_PYTHON], - [test "x$PYTHON_INCLUDEDIR" != "x" && test "x$PYTHON_SITE_PACKAGES" != "x"]) + [test "x$PYTHON" != "xno" && test "x$PYTHON_INCLUDEDIR" != "x" && test "x$PYTHON_INSTALLDIR" != "x"]) dnl Check for Ruby and rake (optional, for Ruby bindings). AC_ARG_ENABLE([ruby], @@ -771,33 +801,47 @@ dnl http://www.mail-archive.com/automake@gnu.org/msg10204.html AC_CONFIG_FILES([podwrapper.sh], [chmod +x podwrapper.sh]) AC_CONFIG_FILES([Makefile - generator/Makefile - src/Makefile fish/Makefile po/Makefile.in examples/Makefile appliance/Makefile - images/Makefile capitests/Makefile - regressions/Makefile - test-tool/Makefile - ocaml/Makefile ocaml/examples/Makefile - perl/Makefile - python/Makefile python/examples/Makefile - ruby/Makefile ruby/Rakefile ruby/examples/Makefile - java/Makefile + cat/Makefile + caution/Makefile + csharp/Makefile + debian/changelog + df/Makefile + edit/Makefile + examples/Makefile + fish/Makefile + fuse/Makefile + generator/Makefile + gnulib/lib/Makefile + gnulib/tests/Makefile haskell/Makefile + images/Makefile inspector/Makefile - tools/Makefile + java/Makefile libguestfs.pc - gnulib/lib/Makefile - gnulib/tests/Makefile - fuse/Makefile + ocaml/META + ocaml/Makefile + ocaml/examples/Makefile + perl/Makefile + perl/Makefile.PL + perl/examples/Makefile + php/Makefile po-docs/Makefile po-docs/ja/Makefile - php/Makefile - csharp/Makefile - cat/Makefile - df/Makefile + po-docs/uk/Makefile + po/Makefile.in + python/Makefile + python/examples/Makefile + regressions/Makefile rescue/Makefile - ocaml/META perl/Makefile.PL]) + resize/Makefile + ruby/Makefile + ruby/Rakefile + ruby/examples/Makefile + src/Makefile + test-tool/Makefile + tools/Makefile]) AC_OUTPUT dnl Produce summary. @@ -825,8 +869,11 @@ echo -n "Haskell bindings .................... " 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 "virt-* tools ........................ " +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 +echo -n "virt-resize ......................... " +if test "x$HAVE_OCAML" = "x" && test "x$HAVE_OCAML_PCRE" = "x"; then echo "yes"; else echo "no"; fi echo "FUSE filesystem ..................... $enable_fuse" echo echo "If any optional component is configured 'no' when you expected 'yes'"