From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Subject: [PATCH 06/26] configure, meson: convert libusb detection to meson
Date: Tue, 8 Jun 2021 13:22:41 +0200 [thread overview]
Message-ID: <20210608112301.402434-7-pbonzini@redhat.com> (raw)
In-Reply-To: <20210608112301.402434-1-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 27 ++++-----------------------
hw/usb/meson.build | 2 +-
meson.build | 11 +++++++----
meson_options.txt | 2 ++
4 files changed, 14 insertions(+), 28 deletions(-)
diff --git a/configure b/configure
index d3c2e8ccaf..651273c023 100755
--- a/configure
+++ b/configure
@@ -374,7 +374,7 @@ spice_protocol="auto"
rbd="auto"
smartcard="$default_feature"
u2f="auto"
-libusb="$default_feature"
+libusb="auto"
usb_redir="$default_feature"
opengl="$default_feature"
cpuid_h="no"
@@ -1285,9 +1285,9 @@ for opt do
;;
--enable-u2f) u2f="enabled"
;;
- --disable-libusb) libusb="no"
+ --disable-libusb) libusb="disabled"
;;
- --enable-libusb) libusb="yes"
+ --enable-libusb) libusb="enabled"
;;
--disable-usb-redir) usb_redir="no"
;;
@@ -3994,20 +3994,6 @@ if test "$smartcard" != "no"; then
fi
fi
-# check for libusb
-if test "$libusb" != "no" ; then
- if $pkg_config --atleast-version=1.0.13 libusb-1.0; then
- libusb="yes"
- libusb_cflags=$($pkg_config --cflags libusb-1.0)
- libusb_libs=$($pkg_config --libs libusb-1.0)
- else
- if test "$libusb" = "yes"; then
- feature_not_found "libusb" "Install libusb devel >= 1.0.13"
- fi
- libusb="no"
- fi
-fi
-
# check for usbredirparser for usb network redirection support
if test "$usb_redir" != "no" ; then
if $pkg_config --atleast-version=0.6 libusbredirparser-0.5; then
@@ -5626,12 +5612,6 @@ if test "$smartcard" = "yes" ; then
echo "SMARTCARD_LIBS=$libcacard_libs" >> $config_host_mak
fi
-if test "$libusb" = "yes" ; then
- echo "CONFIG_USB_LIBUSB=y" >> $config_host_mak
- echo "LIBUSB_CFLAGS=$libusb_cflags" >> $config_host_mak
- echo "LIBUSB_LIBS=$libusb_libs" >> $config_host_mak
-fi
-
if test "$usb_redir" = "yes" ; then
echo "CONFIG_USB_REDIR=y" >> $config_host_mak
echo "USB_REDIR_CFLAGS=$usb_redir_cflags" >> $config_host_mak
@@ -6214,6 +6194,7 @@ if test "$skip_meson" = no; then
-Dkvm=$kvm -Dhax=$hax -Dwhpx=$whpx -Dhvf=$hvf -Dnvmm=$nvmm \
-Dxen=$xen -Dxen_pci_passthrough=$xen_pci_passthrough -Dtcg=$tcg \
-Dcocoa=$cocoa -Dgtk=$gtk -Dmpath=$mpath -Dsdl=$sdl -Dsdl_image=$sdl_image \
+ -Dlibusb=$libusb \
-Dvnc=$vnc -Dvnc_sasl=$vnc_sasl -Dvnc_jpeg=$vnc_jpeg -Dvnc_png=$vnc_png \
-Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f -Dvirtiofsd=$virtiofsd \
-Dcapstone=$capstone -Dslirp=$slirp -Dfdt=$fdt -Dbrlapi=$brlapi \
diff --git a/hw/usb/meson.build b/hw/usb/meson.build
index f357270d0b..bd3f8735b9 100644
--- a/hw/usb/meson.build
+++ b/hw/usb/meson.build
@@ -72,7 +72,7 @@ if config_host.has_key('CONFIG_USB_REDIR')
endif
# usb pass-through
-softmmu_ss.add(when: ['CONFIG_USB', 'CONFIG_USB_LIBUSB', libusb],
+softmmu_ss.add(when: ['CONFIG_USB', libusb],
if_true: files('host-libusb.c'),
if_false: files('host-stub.c'))
softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('host-stub.c'))
diff --git a/meson.build b/meson.build
index 0d4b6fff16..2a4a47d281 100644
--- a/meson.build
+++ b/meson.build
@@ -991,10 +991,12 @@ if 'CONFIG_USB_REDIR' in config_host
link_args: config_host['USB_REDIR_LIBS'].split())
endif
libusb = not_found
-if 'CONFIG_USB_LIBUSB' in config_host
- libusb = declare_dependency(compile_args: config_host['LIBUSB_CFLAGS'].split(),
- link_args: config_host['LIBUSB_LIBS'].split())
+if not get_option('libusb').auto() or have_system
+ libusb = dependency('libusb-1.0', required: get_option('libusb'),
+ version: '>=1.0.13', method: 'pkg-config',
+ kwargs: static_kwargs)
endif
+
libpmem = not_found
if 'CONFIG_LIBPMEM' in config_host
libpmem = declare_dependency(compile_args: config_host['LIBPMEM_CFLAGS'].split(),
@@ -1213,6 +1215,7 @@ config_host_data.set('CONFIG_SDL', sdl.found())
config_host_data.set('CONFIG_SDL_IMAGE', sdl_image.found())
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_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())
@@ -2793,7 +2796,7 @@ summary_info += {'rbd support': rbd.found()}
summary_info += {'xfsctl support': config_host.has_key('CONFIG_XFS')}
summary_info += {'smartcard support': config_host.has_key('CONFIG_SMARTCARD')}
summary_info += {'U2F support': u2f.found()}
-summary_info += {'libusb': config_host.has_key('CONFIG_USB_LIBUSB')}
+summary_info += {'libusb': libusb.found()}
summary_info += {'usb net redir': config_host.has_key('CONFIG_USB_REDIR')}
summary_info += {'OpenGL support': config_host.has_key('CONFIG_OPENGL')}
summary_info += {'GBM': config_host.has_key('CONFIG_GBM')}
diff --git a/meson_options.txt b/meson_options.txt
index ac6e90da07..02c14d4751 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -86,6 +86,8 @@ option('gcrypt', type : 'feature', value : 'auto',
description: 'libgcrypt cryptography support')
option('libudev', type : 'feature', value : 'auto',
description: 'Use libudev to enumerate host devices')
+option('libusb', type : 'feature', value : 'auto',
+ description: 'libusb support for USB passthrough')
option('lzfse', type : 'feature', value : 'auto',
description: 'lzfse support for DMG images')
option('lzo', type : 'feature', value : 'auto',
--
2.31.1
next prev parent reply other threads:[~2021-06-08 11:30 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-08 11:22 [PATCH 00/22] Convert more checks to Meson Paolo Bonzini
2021-06-08 11:22 ` [PATCH 01/26] meson: drop unused CONFIG_GCRYPT_HMAC Paolo Bonzini
2021-06-08 17:37 ` Richard Henderson
2021-06-15 13:53 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 02/26] configure: drop unused variables for xts Paolo Bonzini
2021-06-08 12:15 ` Philippe Mathieu-Daudé
2021-06-08 17:38 ` Richard Henderson
2021-06-15 13:55 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 03/26] configure, meson: convert crypto detection to meson Paolo Bonzini
2021-06-08 19:16 ` Richard Henderson
2021-06-15 14:01 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 04/26] configure, meson: convert libtasn1 " Paolo Bonzini
2021-06-08 19:32 ` Richard Henderson
2021-06-15 14:04 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 05/26] configure, meson: convert pam " Paolo Bonzini
2021-06-08 19:45 ` Richard Henderson
2021-06-08 19:47 ` Richard Henderson
2021-06-08 20:20 ` Daniel P. Berrangé
2021-06-09 15:46 ` Richard Henderson
2021-06-09 15:57 ` Daniel P. Berrangé
2021-06-09 16:47 ` Richard Henderson
2021-06-15 13:58 ` Paolo Bonzini
2021-06-15 14:05 ` Daniel P. Berrangé
2021-06-08 11:22 ` Paolo Bonzini [this message]
2021-06-15 14:06 ` [PATCH 06/26] configure, meson: convert libusb " Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 07/26] configure, meson: convert libcacard " Paolo Bonzini
2021-06-15 14:08 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 08/26] configure, meson: convert libusbredir " Paolo Bonzini
2021-06-15 14:09 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 09/26] configure, meson: convert vte " Paolo Bonzini
2021-06-15 14:24 ` Daniel P. Berrangé
2021-06-15 15:12 ` Paolo Bonzini
2021-06-08 11:22 ` [PATCH 10/26] configure, meson: convert virgl " Paolo Bonzini
2021-06-15 14:25 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 11/26] configure, meson: convert libdaxctl " Paolo Bonzini
2021-06-15 14:37 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 12/26] configure, meson: convert libpmem " Paolo Bonzini
2021-06-15 14:37 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 13/26] configure, meson: convert liburing " Paolo Bonzini
2021-06-15 14:38 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 14/26] configure, meson: convert libxml2 " Paolo Bonzini
2021-06-15 14:44 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 15/26] meson: sort header tests Paolo Bonzini
2021-06-08 12:15 ` Philippe Mathieu-Daudé
2021-06-15 14:47 ` Daniel P. Berrangé
2021-06-15 15:16 ` Paolo Bonzini
2021-06-15 15:50 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 16/26] meson: remove preadv from summary Paolo Bonzini
2021-06-15 14:48 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 17/26] configure, meson: move CONFIG_IVSHMEM to meson Paolo Bonzini
2021-06-15 14:50 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 18/26] configure: convert HAVE_BROKEN_SIZE_MAX " Paolo Bonzini
2021-06-15 14:51 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 19/26] configure: convert compiler tests to meson, part 1 Paolo Bonzini
2021-06-15 14:59 ` Daniel P. Berrangé
2021-06-15 15:15 ` Paolo Bonzini
2021-06-08 11:22 ` [PATCH 20/26] meson: store dependency('threads') in a variable Paolo Bonzini
2021-06-15 15:02 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 21/26] configure: convert compiler tests to meson, part 2 Paolo Bonzini
2021-06-15 15:03 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 22/26] configure: convert compiler tests to meson, part 3 Paolo Bonzini
2021-06-15 15:08 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 23/26] configure: convert CONFIG_STATIC_ASSERT tests to meson Paolo Bonzini
2021-06-08 12:17 ` Philippe Mathieu-Daudé
2021-06-15 15:08 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 24/26] configure: convert compiler tests to meson, part 4 Paolo Bonzini
2021-06-15 15:13 ` Daniel P. Berrangé
2021-06-08 11:23 ` [PATCH 25/26] configure: convert compiler tests to meson, part 5 Paolo Bonzini
2021-06-15 15:15 ` Daniel P. Berrangé
2021-06-08 11:23 ` [PATCH 26/26] configure: convert compiler tests to meson, part 6 Paolo Bonzini
2021-06-15 15:17 ` Daniel P. Berrangé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210608112301.402434-7-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).