Hi Roman,

чт, 20 янв. 2022 г. в 10:14, Roman Bolshakov <ro...@roolebo.dev>:

> On Thu, Jan 13, 2022 at 08:22:13PM +0300, Vladislav Yaroshchuk wrote:
> > vmnet.framework dependency is added with 'vmnet' option
> > to enable or disable it. Default value is 'auto'.
> >
> > vmnet features to be used are available since macOS 11.0,
>
> Hi Vladislav,
>
> I'm not sure if the comment belongs here. Perhaps you mean that bridged
> mode is available from 10.15:
>
>         VMNET_BRIDGED_MODE API_AVAILABLE(macos(10.15))  = 1002
>
>
Yes, I forgot to update this part of the cover letter, thank you.


> This means vmnet.framework is supported on all macbooks starting from 2012.
>
> With this fixed,
> Tested-by: Roman Bolshakov <ro...@roolebo.dev>
> Reviewed-by: Roman Bolshakov <ro...@roolebo.dev>
>
> The other two modes - shared and host are supported on earlier versions
> of macOS (from 10.10). But port forwarding is only available from macOS
> 10.15.
>
> Theoretically it should possible to support the framework on the earlier
> models from 2010 or 2007 on Yosemite up to High Sierra with less
> features using MacPorts but I don't think it'd be reasonable to ask
> that.
>
>
I'm not sure it's necessary to support such old models. Compatibility with
10.15 on 2012+ macs is enough I think.

Thanks,
> Roman
>
> > corresponding probe is created into meson.build.
> >
> > Signed-off-by: Vladislav Yaroshchuk <yaroshchuk2...@gmail.com>
> > ---
> >  meson.build                   | 16 +++++++++++++++-
> >  meson_options.txt             |  2 ++
> >  scripts/meson-buildoptions.sh |  3 +++
> >  3 files changed, 20 insertions(+), 1 deletion(-)
> >
> > diff --git a/meson.build b/meson.build
> > index c1b1db1e28..285fb7bc41 100644
> > --- a/meson.build
> > +++ b/meson.build
> > @@ -496,6 +496,18 @@ if cocoa.found() and get_option('gtk').enabled()
> >    error('Cocoa and GTK+ cannot be enabled at the same time')
> >  endif
> >
> > +vmnet = dependency('appleframeworks', modules: 'vmnet', required:
> get_option('vmnet'))
> > +if vmnet.found() and not cc.has_header_symbol('vmnet/vmnet.h',
> > +                                              'VMNET_BRIDGED_MODE',
> > +                                              dependencies: vmnet)
> > +  vmnet = not_found
> > +  if get_option('vmnet').enabled()
> > +    error('vmnet.framework API is outdated')
> > +  else
> > +    warning('vmnet.framework API is outdated, disabling')
> > +  endif
> > +endif
> > +
> >  seccomp = not_found
> >  if not get_option('seccomp').auto() or have_system or have_tools
> >    seccomp = dependency('libseccomp', version: '>=2.3.0',
> > @@ -1492,6 +1504,7 @@ config_host_data.set('CONFIG_SECCOMP',
> seccomp.found())
> >  config_host_data.set('CONFIG_SNAPPY', snappy.found())
> >  config_host_data.set('CONFIG_USB_LIBUSB', libusb.found())
> >  config_host_data.set('CONFIG_VDE', vde.found())
> > +config_host_data.set('CONFIG_VMNET', vmnet.found())
> >  config_host_data.set('CONFIG_VHOST_USER_BLK_SERVER',
> have_vhost_user_blk_server)
> >  config_host_data.set('CONFIG_VNC', vnc.found())
> >  config_host_data.set('CONFIG_VNC_JPEG', jpeg.found())
> > @@ -3406,7 +3419,8 @@ summary(summary_info, bool_yn: true, section:
> 'Crypto')
> >  # Libraries
> >  summary_info = {}
> >  if targetos == 'darwin'
> > -  summary_info += {'Cocoa support':   cocoa}
> > +  summary_info += {'Cocoa support':           cocoa}
> > +  summary_info += {'vmnet.framework support': vmnet}
> >  endif
> >  summary_info += {'SDL support':       sdl}
> >  summary_info += {'SDL image support': sdl_image}
> > diff --git a/meson_options.txt b/meson_options.txt
> > index 921967eddb..701e1381f9 100644
> > --- a/meson_options.txt
> > +++ b/meson_options.txt
> > @@ -151,6 +151,8 @@ option('netmap', type : 'feature', value : 'auto',
> >         description: 'netmap network backend support')
> >  option('vde', type : 'feature', value : 'auto',
> >         description: 'vde network backend support')
> > +option('vmnet', type : 'feature', value : 'auto',
> > +       description: 'vmnet.framework network backend support')
> >  option('virglrenderer', type : 'feature', value : 'auto',
> >         description: 'virgl rendering support')
> >  option('vnc', type : 'feature', value : 'auto',
> > diff --git a/scripts/meson-buildoptions.sh
> b/scripts/meson-buildoptions.sh
> > index 50bd7bed4d..cdcece4b05 100644
> > --- a/scripts/meson-buildoptions.sh
> > +++ b/scripts/meson-buildoptions.sh
> > @@ -84,6 +84,7 @@ meson_options_help() {
> >    printf "%s\n" '  u2f             U2F emulation support'
> >    printf "%s\n" '  usb-redir       libusbredir support'
> >    printf "%s\n" '  vde             vde network backend support'
> > +  printf "%s\n" '  vmnet           vmnet.framework network backend
> support'
> >    printf "%s\n" '  vhost-user-blk-server'
> >    printf "%s\n" '                  build vhost-user-blk server'
> >    printf "%s\n" '  virglrenderer   virgl rendering support'
> > @@ -248,6 +249,8 @@ _meson_option_parse() {
> >      --disable-usb-redir) printf "%s" -Dusb_redir=disabled ;;
> >      --enable-vde) printf "%s" -Dvde=enabled ;;
> >      --disable-vde) printf "%s" -Dvde=disabled ;;
> > +    --enable-vmnet) printf "%s" -Dvmnet=enabled ;;
> > +    --disable-vmnet) printf "%s" -Dvmnet=disabled ;;
> >      --enable-vhost-user-blk-server) printf "%s"
> -Dvhost_user_blk_server=enabled ;;
> >      --disable-vhost-user-blk-server) printf "%s"
> -Dvhost_user_blk_server=disabled ;;
> >      --enable-virglrenderer) printf "%s" -Dvirglrenderer=enabled ;;
> > --
> > 2.23.0
> >
>


-- 
Best Regards,

Vladislav Yaroshchuk

Reply via email to