[PATCH 5/9] build: simplify check for WITH_MACVTAP

Laine Stump posted 9 patches 4 years, 1 month ago
[PATCH 5/9] build: simplify check for WITH_MACVTAP
Posted by Laine Stump 4 years, 1 month ago
macvtap support was added to the Linux kernel in 2.6.33. libvirt
checked for this by looking for MACVLAN_MODE_BRIDGE and IFLA_VF_MAX in
linux/if_link.h. This hasn't been necessary for a very long time, so
just gate on platform == 'linux' (and be sure to complain if someone
tries to enable it on a non-Linux platform).

Signed-off-by: Laine Stump <laine@redhat.com>
---
 meson.build | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/meson.build b/meson.build
index 5e0af76bbc..fe08a45b46 100644
--- a/meson.build
+++ b/meson.build
@@ -1159,20 +1159,15 @@ libxml_dep = dependency('libxml-2.0', version: '>=' + libxml_version)
 cc = meson.get_compiler('c')
 m_dep = cc.find_library('m', required : false)
 
-use_macvtap = false
-if not get_option('macvtap').disabled()
-  if (cc.has_header_symbol('linux/if_link.h', 'MACVLAN_MODE_BRIDGE') and
-      cc.has_header_symbol('linux/if_link.h', 'IFLA_VF_MAX'))
-    use_macvtap = true
+if host_machine.system() == 'linux'
+  if not get_option('macvtap').disabled()
+    conf.set('WITH_MACVTAP', 1)
   endif
-
-  if get_option('macvtap').enabled() and not use_macvtap
-    error('Installed linux headers don\'t show support for macvtap device.')
+else
+  if get_option('macvtap').enabled()
+    error('macvtap is not supported on this platform.')
   endif
 endif
-if use_macvtap
-  conf.set('WITH_MACVTAP', 1)
-endif
 
 netcf_version = '0.1.8'
 netcf_dep = dependency('netcf', version: '>=' + netcf_version, required: get_option('netcf'))
-- 
2.26.2