[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL V2 07/13] net/vmnet: add vmnet dependency and customizable option
From: |
Jason Wang |
Subject: |
[PULL V2 07/13] net/vmnet: add vmnet dependency and customizable option |
Date: |
Wed, 12 Jan 2022 16:32:14 +0800 |
From: Vladislav Yaroshchuk <yaroshchuk2000@gmail.com>
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,
corresponding probe is created into meson.build.
Signed-off-by: Vladislav Yaroshchuk <yaroshchuk2000@gmail.com>
Signed-off-by: Jason Wang <jasowang@redhat.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 c1b1db1..a6751ec 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_SHARING_SERVICE_BUSY',
+ 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 921967e..701e138 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 50bd7be..cdcece4 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.7.4
- [PULL V2 00/13] Net patches, Jason Wang, 2022/01/12
- [PULL V2 01/13] hw/net/vmxnet3: Log guest-triggerable errors using LOG_GUEST_ERROR, Jason Wang, 2022/01/12
- [PULL V2 06/13] net/filter: Optimize filter_send to coroutine, Jason Wang, 2022/01/12
- [PULL V2 03/13] net: Fix uninitialized data usage, Jason Wang, 2022/01/12
- [PULL V2 04/13] net/colo-compare.c: Optimize compare order for performance, Jason Wang, 2022/01/12
- [PULL V2 05/13] net/colo-compare.c: Update the default value comments, Jason Wang, 2022/01/12
- [PULL V2 02/13] net/tap: Set return code on failure, Jason Wang, 2022/01/12
- [PULL V2 07/13] net/vmnet: add vmnet dependency and customizable option,
Jason Wang <=
- [PULL V2 08/13] net/vmnet: add vmnet backends to qapi/net, Jason Wang, 2022/01/12
- [PULL V2 09/13] net/vmnet: implement shared mode (vmnet-shared), Jason Wang, 2022/01/12
- [PULL V2 10/13] net/vmnet: implement host mode (vmnet-host), Jason Wang, 2022/01/12
- [PULL V2 12/13] net/vmnet: update qemu-options.hx, Jason Wang, 2022/01/12
- [PULL V2 11/13] net/vmnet: implement bridged mode (vmnet-bridged), Jason Wang, 2022/01/12
- [PULL V2 13/13] net/vmnet: update MAINTAINERS list, Jason Wang, 2022/01/12
- Re: [PULL V2 00/13] Net patches, Peter Maydell, 2022/01/13