Peter Maydell <peter.mayd...@linaro.org> writes: How about this approach?
[PATCH] configure: Disable virtfs if softmmu not enabled Signed-off-by: M. Mohan Kumar <mo...@in.ibm.com> --- configure | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/configure b/configure index 1654413..88c2b0f 100755 --- a/configure +++ b/configure @@ -3404,8 +3404,9 @@ if test "$want_tools" = "yes" ; then tools="qemu-nbd\$(EXESUF) $tools" fi fi -if test "$softmmu" = yes ; then - if test "$virtfs" != no ; then + +if test "$virtfs" != no ; then + if test "$softmmu" = yes ; then if test "$cap" = yes && test "$linux" = yes && test "$attr" = yes ; then virtfs=yes tools="$tools fsdev/virtfs-proxy-helper\$(EXESUF)" @@ -3415,6 +3416,12 @@ if test "$softmmu" = yes ; then fi virtfs=no fi + else + if test "$virtfs" = yes; then + error_exit "VirtFS is supported only on Linux and requires softmmu" + else + virtfs=no + fi fi if [ "$linux" = "yes" -o "$bsd" = "yes" -o "$solaris" = "yes" ] ; then if [ "$guest_agent" = "yes" ]; then -- 1.7.11.7 Tested with following configure options $ ./configure '--target-list=x86_64-linux-user' --disable-system [snip] VirtFS support no $ ./configure '--target-list=x86_64-linux-user' --disable-system --enable-virtfs ERROR: VirtFS is supported only on Linux and requires softmmu $ ./configure '--target-list=x86_64-softmmu' --enable-virtfs [snip] VirtFS support yes $ ./configure '--target-list=x86_64-softmmu' VirtFS support yes > On 11 June 2013 13:29, Michael Tokarev <m...@tls.msk.ru> wrote: >> 11.06.2013 01:45, Peter Maydell wrote: >>> This doesn't feel to me like it's quite the right way >>> to fix this bug. The current code in configure seems >>> to tangle up (a) was virtfs requested and can we do it? >>> with (b) what do we need to do if it was? (build some >>> extra tools) and (c) when does it make sense? not for >>> linux-user targets. So you end up with an 'else virtfs=no' >>> clause added in an odd place. If the mess was untangled >>> then this probably wouldn't be necessary. >> >> Um. I don't think that tangling is a bad thing really. >> Having different variables or options for it will be >> too bloated, in my opinion. I don't think there should >> be anything done with it. > > I don't want more variables. I just don't think we > should have "if not softmmu then do some other thing"; > just check for whether the user asked for virtfs and > we can do it, and if so set virtfs=yes. > >> How about something like this: >> >> --- a/configure >> +++ b/configure >> @@ -3810,7 +3810,7 @@ fi >> if test "$libattr" = "yes" ; then >> echo "CONFIG_LIBATTR=y" >> $config_host_mak >> fi >> -if test "$virtfs" = "yes" ; then >> +if test "$virtfs" = "yes" && test "$target_softmmu" = "yes" ; then >> echo "CONFIG_VIRTFS=y" >> $config_host_mak >> fi > > This seems like a step backwards to me. virtfs=yes should > just translate straight to CONFIG_VIRTFS and the makefile > should just not care if it's set if we happen not to be > building anything virtfs related. > >>> Also, disabling building tools and docs in general seems >>> broken: --disable-tools disables building qemu-img, for >>> instance, but not its documentation. So maybe we should >>> fix this by generally making sure we don't build the docs >>> unless we build the tool as well. >> >> This has been addressed by a separate patch sent by afaerber. > > That patch didn't touch anything virtfs proxy related. > > thanks > -- PMM