qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] configure: add option for virtiofsd
@ 2020-10-08 10:31 Misono Tomohiro
  2020-10-08 10:45 ` Paolo Bonzini
  2020-10-26 16:56 ` Dr. David Alan Gilbert
  0 siblings, 2 replies; 4+ messages in thread
From: Misono Tomohiro @ 2020-10-08 10:31 UTC (permalink / raw)
  To: qemu-devel, virtio-fs, pbonzini; +Cc: misono.tomohiro

Currently it is unknown whether virtiofsd will be built at
configuration time. It will be automatically built when dependency
is met. Also, required libraries are not clear.

To make this clear, add configure option --{enable,disable}-virtiofsd.
The default is the same as current (enabled if available) like many
other options. When --enable-virtiofsd is given and dependency is not
met, we get:

  ERROR: Problem encountered: virtiofsd requires libcap-ng-devel and seccomp-devel
or
  ERROR: Problem encountered: virtiofsd needs tools and vhost-user support

In addition, configuration summary now includes virtiofsd entry:

  build virtiofs daemon: YES/NO

Signed-off-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
---
This patch is based on current master branch

v1 ... https://lore.kernel.org/qemu-devel/20201007092913.1524199-1-misono.tomohiro@jp.fujitsu.com/
v1 -> v2: Update to follow the current meson build style

 configure         |  8 +++++++-
 meson.build       |  1 +
 meson_options.txt |  2 ++
 tools/meson.build | 17 +++++++++++++++--
 4 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/configure b/configure
index 28df227db5..2bd8419b1f 100755
--- a/configure
+++ b/configure
@@ -302,6 +302,7 @@ netmap="no"
 sdl="auto"
 sdl_image="auto"
 virtfs=""
+virtiofsd="auto"
 mpath="auto"
 vnc="enabled"
 sparse="auto"
@@ -1004,6 +1005,10 @@ for opt do
   ;;
   --enable-virtfs) virtfs="yes"
   ;;
+  --disable-virtiofsd) virtiofsd="disabled"
+  ;;
+  --enable-virtiofsd) virtiofsd="enabled"
+  ;;
   --disable-mpath) mpath="disabled"
   ;;
   --enable-mpath) mpath="enabled"
@@ -1761,6 +1766,7 @@ disabled with --disable-FEATURE, default is enabled if available:
   vnc-png         PNG compression for VNC server
   cocoa           Cocoa UI (Mac OS X only)
   virtfs          VirtFS
+  virtiofsd       build virtiofs daemon (virtiofsd)
   mpath           Multipath persistent reservation passthrough
   xen             xen backend driver support
   xen-pci-passthrough    PCI passthrough support for Xen
@@ -7215,7 +7221,7 @@ NINJA=${ninja:-$PWD/ninjatool} $meson setup \
 	-Dxen=$xen -Dxen_pci_passthrough=$xen_pci_passthrough -Dtcg=$tcg \
 	-Dcocoa=$cocoa -Dmpath=$mpath -Dsdl=$sdl -Dsdl_image=$sdl_image \
 	-Dvnc=$vnc -Dvnc_sasl=$vnc_sasl -Dvnc_jpeg=$vnc_jpeg -Dvnc_png=$vnc_png \
-	-Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f \
+	-Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f -Dvirtiofsd=$virtiofsd \
 	-Dcapstone=$capstone -Dslirp=$slirp -Dfdt=$fdt \
         $cross_arg \
         "$PWD" "$source_path"
diff --git a/meson.build b/meson.build
index 17c89c87c6..a087239009 100644
--- a/meson.build
+++ b/meson.build
@@ -1843,6 +1843,7 @@ summary_info += {'Audio drivers':     config_host['CONFIG_AUDIO_DRIVERS']}
 summary_info += {'Block whitelist (rw)': config_host['CONFIG_BDRV_RW_WHITELIST']}
 summary_info += {'Block whitelist (ro)': config_host['CONFIG_BDRV_RO_WHITELIST']}
 summary_info += {'VirtFS support':    config_host.has_key('CONFIG_VIRTFS')}
+summary_info += {'build virtiofs daemon': have_virtiofsd}
 summary_info += {'Multipath support': mpathpersist.found()}
 summary_info += {'VNC support':       vnc.found()}
 if vnc.found()
diff --git a/meson_options.txt b/meson_options.txt
index 1d3c94840a..80637ada63 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -48,6 +48,8 @@ option('vnc_sasl', type : 'feature', value : 'auto',
        description: 'SASL authentication for VNC server')
 option('xkbcommon', type : 'feature', value : 'auto',
        description: 'xkbcommon support')
+option('virtiofsd', type: 'feature', value: 'auto',
+       description: 'build virtiofs daemon (virtiofsd)')
 
 option('capstone', type: 'combo', value: 'auto',
        choices: ['disabled', 'enabled', 'auto', 'system', 'internal'],
diff --git a/tools/meson.build b/tools/meson.build
index 513bd2ff4f..76bf84df52 100644
--- a/tools/meson.build
+++ b/tools/meson.build
@@ -1,10 +1,23 @@
-have_virtiofsd = (have_system and
+have_virtiofsd = (targetos == 'linux' and
     have_tools and
-    'CONFIG_LINUX' in config_host and 
     'CONFIG_SECCOMP' in config_host and
     'CONFIG_LIBCAP_NG' in config_host and
     'CONFIG_VHOST_USER' in config_host)
 
+if get_option('virtiofsd').enabled()
+  if not have_virtiofsd
+    if targetos != 'linux'
+      error('virtiofsd requires Linux')
+    elif 'CONFIG_SECCOMP' not in config_host or 'CONFIG_LIBCAP_NG' not in config_host
+      error('virtiofsd requires libcap-ng-devel and seccomp-devel')
+    elif not have_tools or 'CONFIG_VHOST_USER' not in config_host
+      error('virtiofsd needs tools and vhost-user support')
+    endif
+  endif
+elif get_option('virtiofsd').disabled() or not have_system
+  have_virtiofsd = false
+endif
+
 if have_virtiofsd
   subdir('virtiofsd')
 endif
-- 
2.25.4



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] configure: add option for virtiofsd
  2020-10-08 10:31 [PATCH v2] configure: add option for virtiofsd Misono Tomohiro
@ 2020-10-08 10:45 ` Paolo Bonzini
  2020-10-09 12:13   ` [Virtio-fs] " Dr. David Alan Gilbert
  2020-10-26 16:56 ` Dr. David Alan Gilbert
  1 sibling, 1 reply; 4+ messages in thread
From: Paolo Bonzini @ 2020-10-08 10:45 UTC (permalink / raw)
  To: Misono Tomohiro, qemu-devel, virtio-fs

On 08/10/20 12:31, Misono Tomohiro wrote:
> Currently it is unknown whether virtiofsd will be built at
> configuration time. It will be automatically built when dependency
> is met. Also, required libraries are not clear.
> 
> To make this clear, add configure option --{enable,disable}-virtiofsd.
> The default is the same as current (enabled if available) like many
> other options. When --enable-virtiofsd is given and dependency is not
> met, we get:
> 
>   ERROR: Problem encountered: virtiofsd requires libcap-ng-devel and seccomp-devel
> or
>   ERROR: Problem encountered: virtiofsd needs tools and vhost-user support
> 
> In addition, configuration summary now includes virtiofsd entry:
> 
>   build virtiofs daemon: YES/NO
> 
> Signed-off-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
> ---
> This patch is based on current master branch
> 
> v1 ... https://lore.kernel.org/qemu-devel/20201007092913.1524199-1-misono.tomohiro@jp.fujitsu.com/
> v1 -> v2: Update to follow the current meson build style
> 
>  configure         |  8 +++++++-
>  meson.build       |  1 +
>  meson_options.txt |  2 ++
>  tools/meson.build | 17 +++++++++++++++--
>  4 files changed, 25 insertions(+), 3 deletions(-)
> 
> diff --git a/configure b/configure
> index 28df227db5..2bd8419b1f 100755
> --- a/configure
> +++ b/configure
> @@ -302,6 +302,7 @@ netmap="no"
>  sdl="auto"
>  sdl_image="auto"
>  virtfs=""
> +virtiofsd="auto"
>  mpath="auto"
>  vnc="enabled"
>  sparse="auto"
> @@ -1004,6 +1005,10 @@ for opt do
>    ;;
>    --enable-virtfs) virtfs="yes"
>    ;;
> +  --disable-virtiofsd) virtiofsd="disabled"
> +  ;;
> +  --enable-virtiofsd) virtiofsd="enabled"
> +  ;;
>    --disable-mpath) mpath="disabled"
>    ;;
>    --enable-mpath) mpath="enabled"
> @@ -1761,6 +1766,7 @@ disabled with --disable-FEATURE, default is enabled if available:
>    vnc-png         PNG compression for VNC server
>    cocoa           Cocoa UI (Mac OS X only)
>    virtfs          VirtFS
> +  virtiofsd       build virtiofs daemon (virtiofsd)
>    mpath           Multipath persistent reservation passthrough
>    xen             xen backend driver support
>    xen-pci-passthrough    PCI passthrough support for Xen
> @@ -7215,7 +7221,7 @@ NINJA=${ninja:-$PWD/ninjatool} $meson setup \
>  	-Dxen=$xen -Dxen_pci_passthrough=$xen_pci_passthrough -Dtcg=$tcg \
>  	-Dcocoa=$cocoa -Dmpath=$mpath -Dsdl=$sdl -Dsdl_image=$sdl_image \
>  	-Dvnc=$vnc -Dvnc_sasl=$vnc_sasl -Dvnc_jpeg=$vnc_jpeg -Dvnc_png=$vnc_png \
> -	-Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f \
> +	-Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f -Dvirtiofsd=$virtiofsd \
>  	-Dcapstone=$capstone -Dslirp=$slirp -Dfdt=$fdt \
>          $cross_arg \
>          "$PWD" "$source_path"
> diff --git a/meson.build b/meson.build
> index 17c89c87c6..a087239009 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1843,6 +1843,7 @@ summary_info += {'Audio drivers':     config_host['CONFIG_AUDIO_DRIVERS']}
>  summary_info += {'Block whitelist (rw)': config_host['CONFIG_BDRV_RW_WHITELIST']}
>  summary_info += {'Block whitelist (ro)': config_host['CONFIG_BDRV_RO_WHITELIST']}
>  summary_info += {'VirtFS support':    config_host.has_key('CONFIG_VIRTFS')}
> +summary_info += {'build virtiofs daemon': have_virtiofsd}
>  summary_info += {'Multipath support': mpathpersist.found()}
>  summary_info += {'VNC support':       vnc.found()}
>  if vnc.found()
> diff --git a/meson_options.txt b/meson_options.txt
> index 1d3c94840a..80637ada63 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -48,6 +48,8 @@ option('vnc_sasl', type : 'feature', value : 'auto',
>         description: 'SASL authentication for VNC server')
>  option('xkbcommon', type : 'feature', value : 'auto',
>         description: 'xkbcommon support')
> +option('virtiofsd', type: 'feature', value: 'auto',
> +       description: 'build virtiofs daemon (virtiofsd)')
>  
>  option('capstone', type: 'combo', value: 'auto',
>         choices: ['disabled', 'enabled', 'auto', 'system', 'internal'],
> diff --git a/tools/meson.build b/tools/meson.build
> index 513bd2ff4f..76bf84df52 100644
> --- a/tools/meson.build
> +++ b/tools/meson.build
> @@ -1,10 +1,23 @@
> -have_virtiofsd = (have_system and
> +have_virtiofsd = (targetos == 'linux' and
>      have_tools and
> -    'CONFIG_LINUX' in config_host and 
>      'CONFIG_SECCOMP' in config_host and
>      'CONFIG_LIBCAP_NG' in config_host and
>      'CONFIG_VHOST_USER' in config_host)
>  
> +if get_option('virtiofsd').enabled()
> +  if not have_virtiofsd
> +    if targetos != 'linux'
> +      error('virtiofsd requires Linux')
> +    elif 'CONFIG_SECCOMP' not in config_host or 'CONFIG_LIBCAP_NG' not in config_host
> +      error('virtiofsd requires libcap-ng-devel and seccomp-devel')
> +    elif not have_tools or 'CONFIG_VHOST_USER' not in config_host
> +      error('virtiofsd needs tools and vhost-user support')
> +    endif
> +  endif
> +elif get_option('virtiofsd').disabled() or not have_system
> +  have_virtiofsd = false
> +endif
> +
>  if have_virtiofsd
>    subdir('virtiofsd')
>  endif
> 

This looks good and the way you solved --enable-virtiofsd
--disable-tools makes sense.  I'll let David pick it up or decide if he
wants a different approach.

Paolo



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Virtio-fs] [PATCH v2] configure: add option for virtiofsd
  2020-10-08 10:45 ` Paolo Bonzini
@ 2020-10-09 12:13   ` Dr. David Alan Gilbert
  0 siblings, 0 replies; 4+ messages in thread
From: Dr. David Alan Gilbert @ 2020-10-09 12:13 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: virtio-fs, Misono Tomohiro, qemu-devel

* Paolo Bonzini (pbonzini@redhat.com) wrote:
> On 08/10/20 12:31, Misono Tomohiro wrote:
> > Currently it is unknown whether virtiofsd will be built at
> > configuration time. It will be automatically built when dependency
> > is met. Also, required libraries are not clear.
> > 
> > To make this clear, add configure option --{enable,disable}-virtiofsd.
> > The default is the same as current (enabled if available) like many
> > other options. When --enable-virtiofsd is given and dependency is not
> > met, we get:
> > 
> >   ERROR: Problem encountered: virtiofsd requires libcap-ng-devel and seccomp-devel
> > or
> >   ERROR: Problem encountered: virtiofsd needs tools and vhost-user support
> > 
> > In addition, configuration summary now includes virtiofsd entry:
> > 
> >   build virtiofs daemon: YES/NO
> > 
> > Signed-off-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
> > ---
> > This patch is based on current master branch
> > 
> > v1 ... https://lore.kernel.org/qemu-devel/20201007092913.1524199-1-misono.tomohiro@jp.fujitsu.com/
> > v1 -> v2: Update to follow the current meson build style
> > 
> >  configure         |  8 +++++++-
> >  meson.build       |  1 +
> >  meson_options.txt |  2 ++
> >  tools/meson.build | 17 +++++++++++++++--
> >  4 files changed, 25 insertions(+), 3 deletions(-)
> > 
> > diff --git a/configure b/configure
> > index 28df227db5..2bd8419b1f 100755
> > --- a/configure
> > +++ b/configure
> > @@ -302,6 +302,7 @@ netmap="no"
> >  sdl="auto"
> >  sdl_image="auto"
> >  virtfs=""
> > +virtiofsd="auto"
> >  mpath="auto"
> >  vnc="enabled"
> >  sparse="auto"
> > @@ -1004,6 +1005,10 @@ for opt do
> >    ;;
> >    --enable-virtfs) virtfs="yes"
> >    ;;
> > +  --disable-virtiofsd) virtiofsd="disabled"
> > +  ;;
> > +  --enable-virtiofsd) virtiofsd="enabled"
> > +  ;;
> >    --disable-mpath) mpath="disabled"
> >    ;;
> >    --enable-mpath) mpath="enabled"
> > @@ -1761,6 +1766,7 @@ disabled with --disable-FEATURE, default is enabled if available:
> >    vnc-png         PNG compression for VNC server
> >    cocoa           Cocoa UI (Mac OS X only)
> >    virtfs          VirtFS
> > +  virtiofsd       build virtiofs daemon (virtiofsd)
> >    mpath           Multipath persistent reservation passthrough
> >    xen             xen backend driver support
> >    xen-pci-passthrough    PCI passthrough support for Xen
> > @@ -7215,7 +7221,7 @@ NINJA=${ninja:-$PWD/ninjatool} $meson setup \
> >  	-Dxen=$xen -Dxen_pci_passthrough=$xen_pci_passthrough -Dtcg=$tcg \
> >  	-Dcocoa=$cocoa -Dmpath=$mpath -Dsdl=$sdl -Dsdl_image=$sdl_image \
> >  	-Dvnc=$vnc -Dvnc_sasl=$vnc_sasl -Dvnc_jpeg=$vnc_jpeg -Dvnc_png=$vnc_png \
> > -	-Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f \
> > +	-Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f -Dvirtiofsd=$virtiofsd \
> >  	-Dcapstone=$capstone -Dslirp=$slirp -Dfdt=$fdt \
> >          $cross_arg \
> >          "$PWD" "$source_path"
> > diff --git a/meson.build b/meson.build
> > index 17c89c87c6..a087239009 100644
> > --- a/meson.build
> > +++ b/meson.build
> > @@ -1843,6 +1843,7 @@ summary_info += {'Audio drivers':     config_host['CONFIG_AUDIO_DRIVERS']}
> >  summary_info += {'Block whitelist (rw)': config_host['CONFIG_BDRV_RW_WHITELIST']}
> >  summary_info += {'Block whitelist (ro)': config_host['CONFIG_BDRV_RO_WHITELIST']}
> >  summary_info += {'VirtFS support':    config_host.has_key('CONFIG_VIRTFS')}
> > +summary_info += {'build virtiofs daemon': have_virtiofsd}
> >  summary_info += {'Multipath support': mpathpersist.found()}
> >  summary_info += {'VNC support':       vnc.found()}
> >  if vnc.found()
> > diff --git a/meson_options.txt b/meson_options.txt
> > index 1d3c94840a..80637ada63 100644
> > --- a/meson_options.txt
> > +++ b/meson_options.txt
> > @@ -48,6 +48,8 @@ option('vnc_sasl', type : 'feature', value : 'auto',
> >         description: 'SASL authentication for VNC server')
> >  option('xkbcommon', type : 'feature', value : 'auto',
> >         description: 'xkbcommon support')
> > +option('virtiofsd', type: 'feature', value: 'auto',
> > +       description: 'build virtiofs daemon (virtiofsd)')
> >  
> >  option('capstone', type: 'combo', value: 'auto',
> >         choices: ['disabled', 'enabled', 'auto', 'system', 'internal'],
> > diff --git a/tools/meson.build b/tools/meson.build
> > index 513bd2ff4f..76bf84df52 100644
> > --- a/tools/meson.build
> > +++ b/tools/meson.build
> > @@ -1,10 +1,23 @@
> > -have_virtiofsd = (have_system and
> > +have_virtiofsd = (targetos == 'linux' and
> >      have_tools and
> > -    'CONFIG_LINUX' in config_host and 
> >      'CONFIG_SECCOMP' in config_host and
> >      'CONFIG_LIBCAP_NG' in config_host and
> >      'CONFIG_VHOST_USER' in config_host)
> >  
> > +if get_option('virtiofsd').enabled()
> > +  if not have_virtiofsd
> > +    if targetos != 'linux'
> > +      error('virtiofsd requires Linux')
> > +    elif 'CONFIG_SECCOMP' not in config_host or 'CONFIG_LIBCAP_NG' not in config_host
> > +      error('virtiofsd requires libcap-ng-devel and seccomp-devel')
> > +    elif not have_tools or 'CONFIG_VHOST_USER' not in config_host
> > +      error('virtiofsd needs tools and vhost-user support')
> > +    endif
> > +  endif
> > +elif get_option('virtiofsd').disabled() or not have_system
> > +  have_virtiofsd = false
> > +endif
> > +
> >  if have_virtiofsd
> >    subdir('virtiofsd')
> >  endif
> > 
> 
> This looks good and the way you solved --enable-virtiofsd
> --disable-tools makes sense.  I'll let David pick it up or decide if he
> wants a different approach.

In that case I'll take your word the meson bit is OK, so:

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

(I've also hit this, wondering why virtiofsd hasn't been built and
realising I was missing capng on a new host).

> Paolo
> 
> _______________________________________________
> Virtio-fs mailing list
> Virtio-fs@redhat.com
> https://www.redhat.com/mailman/listinfo/virtio-fs
-- 
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] configure: add option for virtiofsd
  2020-10-08 10:31 [PATCH v2] configure: add option for virtiofsd Misono Tomohiro
  2020-10-08 10:45 ` Paolo Bonzini
@ 2020-10-26 16:56 ` Dr. David Alan Gilbert
  1 sibling, 0 replies; 4+ messages in thread
From: Dr. David Alan Gilbert @ 2020-10-26 16:56 UTC (permalink / raw)
  To: Misono Tomohiro; +Cc: virtio-fs, pbonzini, qemu-devel

* Misono Tomohiro (misono.tomohiro@jp.fujitsu.com) wrote:
> Currently it is unknown whether virtiofsd will be built at
> configuration time. It will be automatically built when dependency
> is met. Also, required libraries are not clear.
> 
> To make this clear, add configure option --{enable,disable}-virtiofsd.
> The default is the same as current (enabled if available) like many
> other options. When --enable-virtiofsd is given and dependency is not
> met, we get:
> 
>   ERROR: Problem encountered: virtiofsd requires libcap-ng-devel and seccomp-devel
> or
>   ERROR: Problem encountered: virtiofsd needs tools and vhost-user support
> 
> In addition, configuration summary now includes virtiofsd entry:
> 
>   build virtiofs daemon: YES/NO
> 
> Signed-off-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
> ---
> This patch is based on current master branch
> 
> v1 ... https://lore.kernel.org/qemu-devel/20201007092913.1524199-1-misono.tomohiro@jp.fujitsu.com/
> v1 -> v2: Update to follow the current meson build style

Queued

> 
>  configure         |  8 +++++++-
>  meson.build       |  1 +
>  meson_options.txt |  2 ++
>  tools/meson.build | 17 +++++++++++++++--
>  4 files changed, 25 insertions(+), 3 deletions(-)
> 
> diff --git a/configure b/configure
> index 28df227db5..2bd8419b1f 100755
> --- a/configure
> +++ b/configure
> @@ -302,6 +302,7 @@ netmap="no"
>  sdl="auto"
>  sdl_image="auto"
>  virtfs=""
> +virtiofsd="auto"
>  mpath="auto"
>  vnc="enabled"
>  sparse="auto"
> @@ -1004,6 +1005,10 @@ for opt do
>    ;;
>    --enable-virtfs) virtfs="yes"
>    ;;
> +  --disable-virtiofsd) virtiofsd="disabled"
> +  ;;
> +  --enable-virtiofsd) virtiofsd="enabled"
> +  ;;
>    --disable-mpath) mpath="disabled"
>    ;;
>    --enable-mpath) mpath="enabled"
> @@ -1761,6 +1766,7 @@ disabled with --disable-FEATURE, default is enabled if available:
>    vnc-png         PNG compression for VNC server
>    cocoa           Cocoa UI (Mac OS X only)
>    virtfs          VirtFS
> +  virtiofsd       build virtiofs daemon (virtiofsd)
>    mpath           Multipath persistent reservation passthrough
>    xen             xen backend driver support
>    xen-pci-passthrough    PCI passthrough support for Xen
> @@ -7215,7 +7221,7 @@ NINJA=${ninja:-$PWD/ninjatool} $meson setup \
>  	-Dxen=$xen -Dxen_pci_passthrough=$xen_pci_passthrough -Dtcg=$tcg \
>  	-Dcocoa=$cocoa -Dmpath=$mpath -Dsdl=$sdl -Dsdl_image=$sdl_image \
>  	-Dvnc=$vnc -Dvnc_sasl=$vnc_sasl -Dvnc_jpeg=$vnc_jpeg -Dvnc_png=$vnc_png \
> -	-Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f \
> +	-Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f -Dvirtiofsd=$virtiofsd \
>  	-Dcapstone=$capstone -Dslirp=$slirp -Dfdt=$fdt \
>          $cross_arg \
>          "$PWD" "$source_path"
> diff --git a/meson.build b/meson.build
> index 17c89c87c6..a087239009 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1843,6 +1843,7 @@ summary_info += {'Audio drivers':     config_host['CONFIG_AUDIO_DRIVERS']}
>  summary_info += {'Block whitelist (rw)': config_host['CONFIG_BDRV_RW_WHITELIST']}
>  summary_info += {'Block whitelist (ro)': config_host['CONFIG_BDRV_RO_WHITELIST']}
>  summary_info += {'VirtFS support':    config_host.has_key('CONFIG_VIRTFS')}
> +summary_info += {'build virtiofs daemon': have_virtiofsd}
>  summary_info += {'Multipath support': mpathpersist.found()}
>  summary_info += {'VNC support':       vnc.found()}
>  if vnc.found()
> diff --git a/meson_options.txt b/meson_options.txt
> index 1d3c94840a..80637ada63 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -48,6 +48,8 @@ option('vnc_sasl', type : 'feature', value : 'auto',
>         description: 'SASL authentication for VNC server')
>  option('xkbcommon', type : 'feature', value : 'auto',
>         description: 'xkbcommon support')
> +option('virtiofsd', type: 'feature', value: 'auto',
> +       description: 'build virtiofs daemon (virtiofsd)')
>  
>  option('capstone', type: 'combo', value: 'auto',
>         choices: ['disabled', 'enabled', 'auto', 'system', 'internal'],
> diff --git a/tools/meson.build b/tools/meson.build
> index 513bd2ff4f..76bf84df52 100644
> --- a/tools/meson.build
> +++ b/tools/meson.build
> @@ -1,10 +1,23 @@
> -have_virtiofsd = (have_system and
> +have_virtiofsd = (targetos == 'linux' and
>      have_tools and
> -    'CONFIG_LINUX' in config_host and 
>      'CONFIG_SECCOMP' in config_host and
>      'CONFIG_LIBCAP_NG' in config_host and
>      'CONFIG_VHOST_USER' in config_host)
>  
> +if get_option('virtiofsd').enabled()
> +  if not have_virtiofsd
> +    if targetos != 'linux'
> +      error('virtiofsd requires Linux')
> +    elif 'CONFIG_SECCOMP' not in config_host or 'CONFIG_LIBCAP_NG' not in config_host
> +      error('virtiofsd requires libcap-ng-devel and seccomp-devel')
> +    elif not have_tools or 'CONFIG_VHOST_USER' not in config_host
> +      error('virtiofsd needs tools and vhost-user support')
> +    endif
> +  endif
> +elif get_option('virtiofsd').disabled() or not have_system
> +  have_virtiofsd = false
> +endif
> +
>  if have_virtiofsd
>    subdir('virtiofsd')
>  endif
> -- 
> 2.25.4
> 
> 
-- 
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-10-26 16:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-10-08 10:31 [PATCH v2] configure: add option for virtiofsd Misono Tomohiro
2020-10-08 10:45 ` Paolo Bonzini
2020-10-09 12:13   ` [Virtio-fs] " Dr. David Alan Gilbert
2020-10-26 16:56 ` Dr. David Alan Gilbert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).