[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL V3 07/13] net/vmnet: add vmnet dependency and customizable option
|
From: |
Jason Wang |
|
Subject: |
[PULL V3 07/13] net/vmnet: add vmnet dependency and customizable option |
|
Date: |
Fri, 14 Jan 2022 13:09:03 +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..285fb7b 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 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 V3 00/13] Net patches, Jason Wang, 2022/01/14
- [PULL V3 01/13] hw/net/vmxnet3: Log guest-triggerable errors using LOG_GUEST_ERROR, Jason Wang, 2022/01/14
- [PULL V3 02/13] net/tap: Set return code on failure, Jason Wang, 2022/01/14
- [PULL V3 03/13] net: Fix uninitialized data usage, Jason Wang, 2022/01/14
- [PULL V3 04/13] net/colo-compare.c: Optimize compare order for performance, Jason Wang, 2022/01/14
- [PULL V3 06/13] net/filter: Optimize filter_send to coroutine, Jason Wang, 2022/01/14
- [PULL V3 05/13] net/colo-compare.c: Update the default value comments, Jason Wang, 2022/01/14
- [PULL V3 07/13] net/vmnet: add vmnet dependency and customizable option,
Jason Wang <=
- [PULL V3 08/13] net/vmnet: add vmnet backends to qapi/net, Jason Wang, 2022/01/14
- [PULL V3 09/13] net/vmnet: implement shared mode (vmnet-shared), Jason Wang, 2022/01/14
- [PULL V3 10/13] net/vmnet: implement host mode (vmnet-host), Jason Wang, 2022/01/14
- [PULL V3 12/13] net/vmnet: update qemu-options.hx, Jason Wang, 2022/01/14
- [PULL V3 13/13] net/vmnet: update MAINTAINERS list, Jason Wang, 2022/01/14
- [PULL V3 11/13] net/vmnet: implement bridged mode (vmnet-bridged), Jason Wang, 2022/01/14
- Re: [PULL V3 00/13] Net patches, Jason Wang, 2022/01/14