net/vmnet: add vmnet dependency and customizable option
vmnet.framework dependency is added with 'vmnet' option to enable or disable it. Default value is 'auto'. used vmnet features are available since macOS 11.0, but new backend can be built and work properly with subset of them on 10.15 too. Reviewed-by: Akihiko Odaki <akihiko.odaki@gmail.com> Tested-by: Akihiko Odaki <akihiko.odaki@gmail.com> Signed-off-by: Vladislav Yaroshchuk <Vladislav.Yaroshchuk@jetbrains.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
parent
eec398119f
commit
e2c1d78da3
16
meson.build
16
meson.build
@ -580,6 +580,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',
|
||||
@ -1741,6 +1753,7 @@ config_host_data.set('CONFIG_VHOST_KERNEL', have_vhost_kernel)
|
||||
config_host_data.set('CONFIG_VHOST_USER', have_vhost_user)
|
||||
config_host_data.set('CONFIG_VHOST_CRYPTO', have_vhost_user_crypto)
|
||||
config_host_data.set('CONFIG_VHOST_VDPA', have_vhost_vdpa)
|
||||
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_PNG', png.found())
|
||||
config_host_data.set('CONFIG_VNC', vnc.found())
|
||||
@ -3897,7 +3910,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}
|
||||
|
@ -197,6 +197,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('png', type : 'feature', value : 'auto',
|
||||
|
@ -158,6 +158,7 @@ meson_options_help() {
|
||||
printf "%s\n" ' vhost-kernel vhost kernel backend support'
|
||||
printf "%s\n" ' vhost-net vhost-net kernel acceleration support'
|
||||
printf "%s\n" ' vhost-user vhost-user 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" ' vhost-vdpa vhost-vdpa kernel backend support'
|
||||
|
Loading…
Reference in New Issue
Block a user