From 0417725dce9ee5cceb56ba031b7d87c7a648b0d9 Mon Sep 17 00:00:00 2001 From: Pavel Hrdina Date: Thu, 30 Apr 2020 12:24:29 +0200 Subject: [PATCH] meson: add Hyper-V driver build option Signed-off-by: Pavel Hrdina Reviewed-by: Peter Krempa Reviewed-by: Neal Gompa --- configure.ac | 3 --- m4/virt-driver-hyperv.m4 | 47 ---------------------------------------- meson.build | 7 ++++++ meson_options.txt | 1 + 4 files changed, 8 insertions(+), 50 deletions(-) delete mode 100644 m4/virt-driver-hyperv.m4 diff --git a/configure.ac b/configure.ac index 50f7d12e60..38aa9d5eee 100644 --- a/configure.ac +++ b/configure.ac @@ -116,7 +116,6 @@ LIBVIRT_DRIVER_ARG_LIBXL LIBVIRT_DRIVER_ARG_VBOX LIBVIRT_DRIVER_ARG_LXC LIBVIRT_DRIVER_ARG_VZ -LIBVIRT_DRIVER_ARG_HYPERV LIBVIRT_DRIVER_ARG_TEST LIBVIRT_DRIVER_ARG_NETWORK LIBVIRT_DRIVER_ARG_INTERFACE @@ -128,7 +127,6 @@ LIBVIRT_DRIVER_CHECK_LIBXL LIBVIRT_DRIVER_CHECK_VBOX LIBVIRT_DRIVER_CHECK_LXC LIBVIRT_DRIVER_CHECK_VZ -LIBVIRT_DRIVER_CHECK_HYPERV LIBVIRT_DRIVER_CHECK_TEST LIBVIRT_DRIVER_CHECK_NETWORK LIBVIRT_DRIVER_CHECK_INTERFACE @@ -329,7 +327,6 @@ LIBVIRT_DRIVER_RESULT_VMWARE LIBVIRT_DRIVER_RESULT_VBOX LIBVIRT_DRIVER_RESULT_LIBXL LIBVIRT_DRIVER_RESULT_LXC -LIBVIRT_DRIVER_RESULT_HYPERV LIBVIRT_DRIVER_RESULT_VZ LIBVIRT_DRIVER_RESULT_TEST LIBVIRT_DRIVER_RESULT_NETWORK diff --git a/m4/virt-driver-hyperv.m4 b/m4/virt-driver-hyperv.m4 deleted file mode 100644 index f276a881f3..0000000000 --- a/m4/virt-driver-hyperv.m4 +++ /dev/null @@ -1,47 +0,0 @@ -dnl The Hyper-V driver -dnl -dnl Copyright (C) 2016 Red Hat, Inc. -dnl -dnl This library is free software; you can redistribute it and/or -dnl modify it under the terms of the GNU Lesser General Public -dnl License as published by the Free Software Foundation; either -dnl version 2.1 of the License, or (at your option) any later version. -dnl -dnl This library is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -dnl Lesser General Public License for more details. -dnl -dnl You should have received a copy of the GNU Lesser General Public -dnl License along with this library. If not, see -dnl . -dnl - -AC_DEFUN([LIBVIRT_DRIVER_ARG_HYPERV], [ - LIBVIRT_ARG_WITH_FEATURE([HYPERV], [Hyper-V], [check]) -]) - -AC_DEFUN([LIBVIRT_DRIVER_CHECK_HYPERV], [ - AC_REQUIRE([LIBVIRT_CHECK_OPENWSMAN]) - - if test "$with_hyperv" != "no"; then - if test "$with_openwsman" != "yes"; then - if test "$with_hyperv" = "check"; then - with_hyperv=no - else - AC_MSG_ERROR([openwsman is required for the Hyper-V driver]) - fi - else - with_hyperv=yes - fi - fi - - if test "$with_hyperv" = "yes" ; then - AC_DEFINE_UNQUOTED([WITH_HYPERV], 1, [whether Hyper-V driver is enabled]) - fi - AM_CONDITIONAL([WITH_HYPERV], [test "$with_hyperv" = "yes"]) -]) - -AC_DEFUN([LIBVIRT_DRIVER_RESULT_HYPERV], [ - LIBVIRT_RESULT([Hyper-V], [$with_hyperv]) -]) diff --git a/meson.build b/meson.build index d0a719600a..a246a4196e 100644 --- a/meson.build +++ b/meson.build @@ -1611,6 +1611,12 @@ elif get_option('driver_esx').enabled() error('Curl is required for the ESX driver') endif +if not get_option('driver_hyperv').disabled() and openwsman_dep.found() + conf.set('WITH_HYPERV', 1) +elif get_option('driver_hyperv').enabled() + error('openwsman is required for the Hyper-V driver') +endif + # define top include directory @@ -1632,6 +1638,7 @@ configure_file(output: 'meson-config.h', configuration: conf) driver_summary = { 'ESX': conf.has('WITH_ESX'), + 'Hyper-V': conf.has('WITH_HYPERV'), 'Bhyve': conf.has('WITH_BHYVE'), 'Remote': conf.has('WITH_REMOTE'), 'Libvirtd': conf.has('WITH_LIBVIRTD'), diff --git a/meson_options.txt b/meson_options.txt index a59949b979..75679e1d0f 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -50,6 +50,7 @@ option('yajl', type: 'feature', value: 'auto', description: 'yajl support') # build driver options option('driver_bhyve', type: 'feature', value: 'auto', description: 'bhyve driver') option('driver_esx', type: 'feature', value: 'enabled', description: 'esx driver') +option('driver_hyperv', type: 'feature', value: 'auto', description: 'Hyper-V driver') option('driver_libvirtd', type: 'feature', value: 'auto', description: 'libvirtd driver') option('driver_remote', type: 'feature', value: 'enabled', description: 'remote driver') option('remote_default_mode', type: 'combo', choices: ['legacy', 'direct'], value: 'legacy', description: 'remote driver default mode')