X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=configure.ac;h=f0d6ead55d0adee7263f4e19bafcfec402b6cb55;hp=0f8853d41f27e33357d27b4b7906aafc4dd8aeba;hb=af7af2fc5e48e4efecd1f65b60e61b88733161b9;hpb=f565e71560862e9fa3e6d000c5f8fa6deb7e90e0 diff --git a/configure.ac b/configure.ac index 0f8853d..f0d6ead 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], [5]) -m4_define([libguestfs_release], [12]) +m4_define([libguestfs_minor], [7]) +m4_define([libguestfs_release], [2]) # extra can be any string m4_define([libguestfs_extra], []) @@ -129,6 +129,9 @@ if test "$gl_gcc_warnings" = yes; then # gcc 4.5.0 20090517, and it provokes warnings in cat.c, dd.c, truncate.c gl_WARN_ADD([-Wno-logical-op]) + # Work around warning in src/inspect.c. This seems to be a bug in gcc 4.5.1. + gl_WARN_ADD([-Wno-strict-overflow]) + gl_WARN_ADD([-fdiagnostics-show-option]) AC_SUBST([WARN_CFLAGS]) @@ -201,6 +204,16 @@ AC_CHECK_LIB([portablexdr],[xdrmem_create],[],[ AC_SEARCH_LIBS([xdrmem_create],[rpc xdr nsl]) ]) +dnl Check for cpio which isn't in the default Pardus install amazingly. +AC_CHECK_PROG([CPIO],[cpio],[cpio],[no]) +test "x$CPIO" = "xno" && + AC_MSG_ERROR([cpio must be installed]) + +dnl Check for gperf. +AC_CHECK_PROG([GPERF],[gperf],[gperf],[no]) +test "x$GPERF" = "xno" && + AC_MSG_ERROR([gperf must be installed]) + dnl Check for pod2man and pod2text. AC_CHECK_PROG([POD2MAN],[pod2man],[pod2man],[no]) test "x$POD2MAN" = "xno" && @@ -220,7 +233,7 @@ AM_CONDITIONAL([HAVE_XMLLINT],[test "x$XMLLINT" != "xno"]) dnl Check for QEMU for running binaries on this $host_cpu, fall dnl back to basic 'qemu'. Allow the user to override it. -default_qemu="qemu-kvm qemu-system-$host_cpu qemu" +default_qemu="qemu-kvm kvm qemu-system-$host_cpu qemu" AC_ARG_WITH([qemu], [AS_HELP_STRING([--with-qemu], [set default QEMU binary @<:@default=[qemu-kvm] qemu-system- qemu@:>@])], @@ -231,50 +244,24 @@ AC_PATH_PROGS([QEMU],[$with_qemu],[no], 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 or we can -dnl fallback to null vmchannel (still using SLIRP). See the -dnl discussion in the README file. +dnl Check that the chosen qemu has virtio-serial support. if test "x$vmchannel_test" != "xno"; then - AC_MSG_CHECKING([for guestfwd support in $QEMU]) - if $QEMU -nographic --help | grep -sq guestfwd; 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]) - # Note that this test must be conditional on the previous - # test failing. This is because recent qemu will throw - # up an SDL window and hang if we try to run this test. - AC_MSG_CHECKING([for "-net channel" (old guestfwd) support in $QEMU]) - vmchannelout=`$QEMU -nographic -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]) - vmchannel_guestfwd=net_channel - else - AC_MSG_RESULT([no]) - vmchannel_guestfwd=no - fi - fi - - AC_MSG_CHECKING([for "-net user" (user mode network) support in $QEMU]) - if $QEMU -nographic --help | grep -sq -- "-net user"; then - AC_MSG_RESULT([yes]) - vmchannel_net_user=yes - else - AC_MSG_RESULT([no]) - vmchannel_net_user=no - fi - - 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 +[I did not find virtio-serial support in $QEMU. -Either user mode networking or vmchannel support is vital for -libguestfs to operate. +virtio-serial support in qemu or KVM is essential for libguestfs +to operate. -Please read the relevant section in the README file for more -information about this. +Usually this means that you have to install a newer version of qemu +and/or KVM. Please read the relevant section in the README file for +more information about this. You can override this test by setting the environment variable vmchannel_test=no However if you don't have the right support @@ -287,7 +274,7 @@ the --with-qemu option. fi fi -dnl Set drive interface used by the guestfs_add_drive{,_ro} calls +dnl Set default drive interface used by the guestfs_add_drive_opts call dnl ('-drive ...,if=...' option to qemu). dnl dnl If you encounter performance problems with virtio (RHBZ#509383) @@ -402,22 +389,22 @@ if test "x$enable_appliance" = "xyes"; then AC_SUBST(MIRROR) fi -dnl --with-repo to specify a Fedora repository. +dnl --with-repo to specify a 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.]) +AC_DEFINE_UNQUOTED([REPO],["$REPO"],[Name of software repository.]) dnl Build the supermin appliance? Please see README file before dnl enabling this option. AC_ARG_ENABLE([supermin], [AS_HELP_STRING([--enable-supermin], [enable supermin appliance (see README) @<:@default=no@:>@])], - [], + [AC_DEFINE([ENABLE_SUPERMIN],[1],[Supermin appliance enabled.])], [enable_supermin=no]) AM_CONDITIONAL([SUPERMIN],[test "x$enable_supermin" = "xyes"]) @@ -483,34 +470,46 @@ PKG_CHECK_MODULES([AUGEAS], [augeas]) AC_SUBST([AUGEAS_CFLAGS]) AC_SUBST([AUGEAS_LIBS]) -dnl hivex library (highly recommended). +dnl hivex library (required) 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. -HAVE_HIVEX=yes -PKG_CHECK_MODULES([HIVEX], [hivex],,[ - HAVE_HIVEX=no - AC_MSG_WARN([Hivex library and headers are missing, so optional Windows Registry tools won't be built])]) -AM_CONDITIONAL([HAVE_HIVEX],[test "x$HAVE_HIVEX" = "xyes"]) +PKG_CHECK_MODULES([HIVEX], [hivex]) AC_SUBST([HIVEX_CFLAGS]) AC_SUBST([HIVEX_LIBS]) dnl FUSE is optional to build the FUSE module. -HAVE_FUSE=yes -PKG_CHECK_MODULES([FUSE],[fuse],,[ - HAVE_FUSE=no - AC_MSG_WARN([FUSE library and headers are missing, so optional FUSE module won't be built])]) -AM_CONDITIONAL([HAVE_FUSE],[test "x$HAVE_FUSE" = "xyes"]) +AC_ARG_ENABLE([fuse], + AS_HELP_STRING([--disable-fuse], [Disable FUSE (guestmount) support]), + [], + [enable_fuse=yes]) +AS_IF([test "x$enable_fuse" != "xno"], + [PKG_CHECK_MODULES([FUSE],[fuse],,[ + enable_fuse=no + AC_MSG_WARN([FUSE library and headers are missing, so optional FUSE module won't be built])])]) +AM_CONDITIONAL([HAVE_FUSE],[test "x$enable_fuse" != "xno"]) dnl Check for OCaml (optional, for OCaml bindings). -AC_PROG_OCAML -AC_PROG_FINDLIB -AM_CONDITIONAL([HAVE_OCAML],[test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"]) - -dnl Optional xml-light for running the generator. +OCAMLC=no +OCAMLFIND=no OCAML_PKG_xml_light=no -if test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"; then - AC_CHECK_OCAML_PKG([xml-light]) -fi +AC_ARG_ENABLE([ocaml], + AS_HELP_STRING([--disable-ocaml], [Disable OCaml language bindings]), + [], + [enable_ocaml=yes]) +AS_IF([test "x$enable_ocaml" != "xno"], + [dnl OCAMLC and OCAMLFIND have to be unset first, otherwise + dnl AC_CHECK_TOOL (inside AC_PROG_OCAML) will not look. + OCAMLC= + OCAMLFIND= + AC_PROG_OCAML + AC_PROG_FINDLIB + + dnl Optional xml-light for running the generator. + if test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"; then + AC_CHECK_OCAML_PKG([xml-light]) + fi]) +AM_CONDITIONAL([HAVE_OCAML], + [test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"]) AM_CONDITIONAL([HAVE_XML_LIGHT],[test "x$OCAML_PKG_xml_light" != "xno"]) dnl Build the OCaml viewer example. This has a lengthy list of @@ -820,6 +819,7 @@ AC_CONFIG_FILES([Makefile po-docs/Makefile po-docs/ja/Makefile php/Makefile + csharp/Makefile ocaml/META perl/Makefile.PL]) AC_OUTPUT @@ -853,7 +853,7 @@ if test "x$HAVE_INSPECTOR_TRUE" = "x"; then echo "yes"; else echo "no"; fi echo -n "virt-* tools ........................ " if test "x$HAVE_TOOLS_TRUE" = "x"; then echo "yes"; else echo "no"; fi echo "supermin appliance .................. $enable_supermin" -echo "FUSE filesystem ..................... $HAVE_FUSE" +echo "FUSE filesystem ..................... $enable_fuse" echo echo "If any optional component is configured 'no' when you expected 'yes'" echo "then you should check the preceeding messages."