X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=configure.ac;h=ece7da70989bf108509c1281fcbfd04f21e4e783;hp=48b57ede246a877b3b405ede2c9b823eba12f615;hb=7c3a90f94cd6b8fec9cdd1c052b91a14c0ee0e0e;hpb=beb83b6760069558ce0bd23991866789818927ef diff --git a/configure.ac b/configure.ac index 48b57ed..ece7da7 100644 --- a/configure.ac +++ b/configure.ac @@ -15,13 +15,26 @@ # 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.57]) +# major/minor/release must be numbers +m4_define([libguestfs_major], [1]) +m4_define([libguestfs_minor], [0]) +m4_define([libguestfs_release], [65]) +# 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 +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 @@ -70,19 +83,26 @@ AC_ARG_WITH([qemu], [], [with_qemu="$default_qemu"]) AC_PATH_PROGS([QEMU],[$with_qemu],[no], - [$PATH$PATH_SEPARATOR/usr/sbin$PATH_SEPARATOR/sbin]) + [$PATH$PATH_SEPARATOR/usr/sbin$PATH_SEPARATOR/sbin$PATH_SEPARATOR/usr/libexec]) test "x$QEMU" = "xno" && AC_MSG_ERROR([qemu must be installed]) AC_DEFINE_UNQUOTED([QEMU],["$QEMU"],[Location of qemu binary.]) dnl Check that the chosen qemu has vmchannel support. dnl http://lists.gnu.org/archive/html/qemu-devel/2009-02/msg01042.html if test "x$vmchannel_test" != "xno"; then - AC_MSG_CHECKING([for vmchannel support in $QEMU]) - vmchannelout=`$QEMU -net channel /dev/zero 2>&1 ||:` - echo "vmchannel test command output: $vmchannelout" >&AS_MESSAGE_LOG_FD - if ! echo $vmchannelout | grep -sq "vmchannel wrong port number" ; then + AC_MSG_CHECKING([for "guestfwd" support in $QEMU]) + if $QEMU --help | grep -sq guestfwd; then + AC_MSG_RESULT([yes]) + else AC_MSG_RESULT([no]) - AC_MSG_FAILURE( + AC_MSG_CHECKING([for "-net channel" support in $QEMU]) + vmchannelout=`$QEMU -net channel /dev/zero 2>&1 ||:` + echo "vmchannel test command output: $vmchannelout" >&AS_MESSAGE_LOG_FD + if echo "$vmchannelout" | grep -sq "vmchannel wrong port number" ; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + AC_MSG_FAILURE( [I did not find vmchannel support in $QEMU. vmchannel support is vital for libguestfs to operate. You need a version @@ -98,8 +118,8 @@ If I am using the wrong qemu or you want to compile qemu from source and install it in another location, then you should configure with the --with-qemu option. ]) + fi fi - AC_MSG_RESULT([yes]) fi dnl Set drive interface used by the guestfs_add_drive{,_ro} calls @@ -149,8 +169,8 @@ if test "x$FEBOOTSTRAP" != "xno"; then AC_MSG_WARN([fakechroot --version command failed, proceeding anyway]) else AC_MSG_RESULT([$fakechroot_version]) - fakechroot_major=`echo $fakechroot_version | awk -F. '{print $1}'` - fakechroot_minor=`echo $fakechroot_version | awk -F. '{print $2}'` + 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 AC_MSG_ERROR([fakechroot version must be >= 2.9]) @@ -167,7 +187,7 @@ else test "x$DEBIRF" = "xno" && AC_MSG_ERROR([debirf must be installed]) DIST="DEBIAN" - case $host_cpu in + case "$host_cpu" in *86) DEBIAN_KERNEL_ARCH=486 ;; @@ -193,8 +213,6 @@ REPO="$with_repo" 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], @@ -203,8 +221,8 @@ AC_ARG_WITH([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. @@ -231,7 +249,7 @@ if test "x$enable_supermin" = "xyes"; then 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 + if ! echo "$out" | grep -sq -e --files ; then AC_MSG_RESULT([no]) AC_MSG_FAILURE( [febootstrap-to-initramfs does not support the --files option. @@ -247,7 +265,7 @@ version of febootstrap. 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 + if ! echo "$out" | grep -sq -e --nocompress ; then AC_MSG_RESULT([no]) AC_MSG_FAILURE( [febootstrap-to-initramfs does not support the --nocompress option. @@ -377,6 +395,13 @@ AC_ARG_WITH(java_home, if test "x$with_java_home" != "xno"; then if test "x$with_java_home" != "xyes" -a "x$with_java_home" != "xcheck" then + # Reject unsafe characters in $JAVA_HOME + jh_lf=' +' + case $JAVA_HOME in + *[\\\"\#\$\&\'\`$jh_lf\ \ ]*) + AC_MSG_FAILURE([unsafe \$JAVA_HOME directory (use --with-java-home=no to disable Java support)]);; + esac if test -d "$with_java_home"; then JAVA_HOME="$with_java_home" else @@ -401,7 +426,7 @@ if test "x$with_java_home" != "xno"; 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 + else JAVA="$JAVA_HOME/bin/java" fi if test ! -x "$JAVA_HOME/bin/javac"; then @@ -434,7 +459,7 @@ if test "x$with_java_home" != "xno"; then else if test "`find $JAVA_HOME -name jni.h`" != ""; then head=`find $JAVA_HOME -name jni.h | tail -1` - dir=`dirname $head` + dir=`dirname "$head"` JNI_CFLAGS="-I$dir" else AC_MSG_FAILURE([missing jni.h header file]) @@ -455,7 +480,7 @@ if test "x$with_java_home" != "xno"; then else if test "`find $JAVA_HOME -name jni_md.h`" != ""; then head=`find $JAVA_HOME -name jni_md.h | tail -1` - dir=`dirname $head` + dir=`dirname "$head"` JNI_CFLAGS="$JNI_CFLAGS -I$dir" else AC_MSG_FAILURE([missing jni_md.h header file]) @@ -479,10 +504,10 @@ if test "x$with_java_home" != "xno"; then 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 + 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 @@ -506,9 +531,9 @@ AC_CHECK_PROG([GHC],[ghc],[ghc],[no]) AM_CONDITIONAL([HAVE_HASKELL], [test "x$GHC" != "xno"]) -dnl Check for Perl modules needed by virt-df, inspector and V2V. +dnl Check for Perl modules needed by virt-df, inspector, V2V etc. missing_perl_modules=no -for pm in Pod::Usage Getopt::Long Sys::Virt Data::Dumper XML::Writer; 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]) @@ -518,9 +543,11 @@ for pm in Pod::Usage Getopt::Long Sys::Virt Data::Dumper XML::Writer; do fi done if test "x$missing_perl_modules" = "xyes"; then - AC_MSG_WARN([some Perl modules required to compile virt-df, virt-inspector and virt-v2v are missing]) + AC_MSG_WARN([some Perl modules required to compile virt-cat, virt-df, virt-inspector and virt-v2v are missing]) 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], @@ -555,12 +582,14 @@ AC_CONFIG_FILES([Makefile images/Makefile capitests/Makefile regressions/Makefile + test-tool/Makefile ocaml/Makefile ocaml/examples/Makefile perl/Makefile python/Makefile ruby/Makefile ruby/Rakefile java/Makefile haskell/Makefile + cat/Makefile df/Makefile inspector/Makefile v2v/Makefile @@ -589,6 +618,8 @@ 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 +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 ...................... "