meson: add udev build options

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
This commit is contained in:
Pavel Hrdina 2020-07-29 14:21:43 +02:00
parent 4cd405eef9
commit 57a521fcaf
4 changed files with 12 additions and 39 deletions

View File

@ -109,14 +109,12 @@ fi
LIBVIRT_ARG_NSS LIBVIRT_ARG_NSS
LIBVIRT_ARG_PM_UTILS LIBVIRT_ARG_PM_UTILS
LIBVIRT_ARG_UDEV
LIBVIRT_ARG_VIRTUALPORT LIBVIRT_ARG_VIRTUALPORT
LIBVIRT_ARG_WIRESHARK LIBVIRT_ARG_WIRESHARK
LIBVIRT_ARG_YAJL LIBVIRT_ARG_YAJL
LIBVIRT_CHECK_NWFILTER LIBVIRT_CHECK_NWFILTER
LIBVIRT_CHECK_PM_UTILS LIBVIRT_CHECK_PM_UTILS
LIBVIRT_CHECK_UDEV
LIBVIRT_CHECK_VIRTUALPORT LIBVIRT_CHECK_VIRTUALPORT
LIBVIRT_CHECK_WIRESHARK LIBVIRT_CHECK_WIRESHARK
LIBVIRT_CHECK_XDR LIBVIRT_CHECK_XDR
@ -401,7 +399,6 @@ LIBVIRT_RESULT_LIBXL
LIBVIRT_RESULT_NSS LIBVIRT_RESULT_NSS
LIBVIRT_RESULT_PM_UTILS LIBVIRT_RESULT_PM_UTILS
LIBVIRT_RESULT_RBD LIBVIRT_RESULT_RBD
LIBVIRT_RESULT_UDEV
LIBVIRT_RESULT_VIRTUALPORT LIBVIRT_RESULT_VIRTUALPORT
LIBVIRT_RESULT_XDR LIBVIRT_RESULT_XDR
LIBVIRT_RESULT_YAJL LIBVIRT_RESULT_YAJL

View File

@ -1,36 +0,0 @@
dnl The libudev.so library
dnl
dnl Copyright (C) 2012-2013 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 <http://www.gnu.org/licenses/>.
dnl
AC_DEFUN([LIBVIRT_ARG_UDEV],[
LIBVIRT_ARG_WITH_FEATURE([UDEV], [libudev], [check], [219])
])
AC_DEFUN([LIBVIRT_CHECK_UDEV],[
AC_REQUIRE([LIBVIRT_CHECK_PCIACCESS])
LIBVIRT_CHECK_PKG([UDEV], [libudev], [219])
if test "$with_udev" = "yes" && test "$with_pciaccess" != "yes" ; then
AC_MSG_ERROR([You must install the pciaccess module to build with udev])
fi
])
AC_DEFUN([LIBVIRT_RESULT_UDEV],[
AC_REQUIRE([LIBVIRT_RESULT_PCIACCESS])
LIBVIRT_RESULT_LIB([UDEV])
])

View File

@ -1382,6 +1382,12 @@ if not cc.compiles(pthread_sigmask_code)
conf.set('FUNC_PTHREAD_SIGMASK_BROKEN', 1) conf.set('FUNC_PTHREAD_SIGMASK_BROKEN', 1)
endif endif
udev_version = '219'
udev_dep = dependency('libudev', version: '>=' + udev_version, required: get_option('udev'))
if udev_dep.found()
conf.set('WITH_UDEV', 1)
endif
# generic build dependencies checks # generic build dependencies checks
@ -1432,6 +1438,10 @@ elif get_option('polkit').enabled()
error('You must install dbus to compile libvirt with polkit-1') error('You must install dbus to compile libvirt with polkit-1')
endif endif
if udev_dep.found() and not pciaccess_dep.found()
error('You must install the pciaccess module to build with udev')
endif
# define top include directory # define top include directory
@ -1487,6 +1497,7 @@ libs_summary = {
'sanlock': conf.has('WITH_SANLOCK'), 'sanlock': conf.has('WITH_SANLOCK'),
'sasl': sasl_dep.found(), 'sasl': sasl_dep.found(),
'selinux': selinux_dep.found(), 'selinux': selinux_dep.found(),
'udev': udev_dep.found(),
} }
summary(libs_summary, section: 'Libraries', bool_yn: true) summary(libs_summary, section: 'Libraries', bool_yn: true)

View File

@ -40,6 +40,7 @@ option('sanlock', type: 'feature', value: 'auto', description: 'sanlock support'
option('sasl', type: 'feature', value: 'auto', description: 'sasl supprt') option('sasl', type: 'feature', value: 'auto', description: 'sasl supprt')
option('selinux', type: 'feature', value: 'auto', description: 'selinux support') option('selinux', type: 'feature', value: 'auto', description: 'selinux support')
option('selinux_mount', type: 'string', value: '', description: 'set SELinux mount point') option('selinux_mount', type: 'string', value: '', description: 'set SELinux mount point')
option('udev', type: 'feature', value: 'auto', description: 'udev support')
# build driver options # build driver options