From 1ac1dce4d0eb0d311f4f19d982dd048fad37a9bf Mon Sep 17 00:00:00 2001 From: Pavel Hrdina Date: Wed, 29 Jul 2020 14:22:35 +0200 Subject: [PATCH] meson: add driver_remote build option Signed-off-by: Pavel Hrdina Reviewed-by: Peter Krempa Reviewed-by: Neal Gompa --- configure.ac | 3 --- m4/virt-driver-remote.m4 | 48 ---------------------------------------- meson.build | 18 +++++++++++++++ meson_options.txt | 1 + 4 files changed, 19 insertions(+), 51 deletions(-) delete mode 100644 m4/virt-driver-remote.m4 diff --git a/configure.ac b/configure.ac index f14798e2de..36d71e9c71 100644 --- a/configure.ac +++ b/configure.ac @@ -130,7 +130,6 @@ LIBVIRT_DRIVER_ARG_BHYVE LIBVIRT_DRIVER_ARG_ESX LIBVIRT_DRIVER_ARG_HYPERV LIBVIRT_DRIVER_ARG_TEST -LIBVIRT_DRIVER_ARG_REMOTE LIBVIRT_DRIVER_ARG_LIBVIRTD LIBVIRT_DRIVER_ARG_NETWORK LIBVIRT_DRIVER_ARG_INTERFACE @@ -146,7 +145,6 @@ LIBVIRT_DRIVER_CHECK_BHYVE LIBVIRT_DRIVER_CHECK_ESX LIBVIRT_DRIVER_CHECK_HYPERV LIBVIRT_DRIVER_CHECK_TEST -LIBVIRT_DRIVER_CHECK_REMOTE LIBVIRT_DRIVER_CHECK_LIBVIRTD LIBVIRT_DRIVER_CHECK_NETWORK LIBVIRT_DRIVER_CHECK_INTERFACE @@ -352,7 +350,6 @@ LIBVIRT_DRIVER_RESULT_HYPERV LIBVIRT_DRIVER_RESULT_VZ LIBVIRT_DRIVER_RESULT_BHYVE LIBVIRT_DRIVER_RESULT_TEST -LIBVIRT_DRIVER_RESULT_REMOTE LIBVIRT_DRIVER_RESULT_NETWORK LIBVIRT_DRIVER_RESULT_LIBVIRTD LIBVIRT_DRIVER_RESULT_INTERFACE diff --git a/m4/virt-driver-remote.m4 b/m4/virt-driver-remote.m4 deleted file mode 100644 index 8d98e369b3..0000000000 --- a/m4/virt-driver-remote.m4 +++ /dev/null @@ -1,48 +0,0 @@ -dnl The remote 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_REMOTE], [ - LIBVIRT_ARG_WITH_FEATURE([REMOTE], [remote driver], [yes]) - LIBVIRT_ARG_WITH([REMOTE_DEFAULT_MODE], [remote driver default mode], [legacy]) -]) - -AC_DEFUN([LIBVIRT_DRIVER_CHECK_REMOTE], [ - if test "$with_remote" = "yes" ; then - AC_DEFINE_UNQUOTED([WITH_REMOTE], 1, [whether Remote driver is enabled]) - fi - AM_CONDITIONAL([WITH_REMOTE], [test "$with_remote" = "yes"]) - - case "$with_remote_default_mode" in - legacy) - REMOTE_DRIVER_MODE_DEFAULT=REMOTE_DRIVER_MODE_LEGACY - ;; - direct) - REMOTE_DRIVER_MODE_DEFAULT=REMOTE_DRIVER_MODE_DIRECT - ;; - *) - AC_MSG_ERROR([Unknown remote mode '$with_remote_default_mode']) - ;; - esac - - AC_DEFINE_UNQUOTED([REMOTE_DRIVER_MODE_DEFAULT],[$REMOTE_DRIVER_MODE_DEFAULT], [Default remote driver mode]) -]) - -AC_DEFUN([LIBVIRT_DRIVER_RESULT_REMOTE], [ - LIBVIRT_RESULT([Remote], [$with_remote]) -]) diff --git a/meson.build b/meson.build index eb2d297fa7..0d59d6f45f 100644 --- a/meson.build +++ b/meson.build @@ -1555,6 +1555,19 @@ if conf.has('WITH_VIRTUALPORT') and not conf.has('WITH_MACVTAP') endif +# build driver options + +if get_option('driver_remote').enabled() + if not xdr_dep.found() and host_machine.system() not in [ 'freebsd', 'darwin' ] + error('XDR is required for remote driver') + endif + conf.set('WITH_REMOTE', 1) +endif + +remote_default_mode = get_option('remote_default_mode').to_upper() +conf.set('REMOTE_DRIVER_MODE_DEFAULT', 'REMOTE_DRIVER_MODE_@0@'.format(remote_default_mode)) + + # define top include directory top_inc_dir = include_directories('.') @@ -1573,6 +1586,11 @@ configure_file(output: 'meson-config.h', configuration: conf) # print configuration summary +driver_summary = { + 'Remote': conf.has('WITH_REMOTE'), +} +summary(driver_summary, section: 'Drivers', bool_yn: true) + libs_summary = { 'acl': acl_dep.found(), 'apparmor': apparmor_dep.found(), diff --git a/meson_options.txt b/meson_options.txt index dfc516181d..e445050abf 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -49,3 +49,4 @@ option('yajl', type: 'feature', value: 'auto', description: 'yajl support') # build driver options 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')