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