Skip to content

Commit

Permalink
configure, meson: convert libusb detection to meson
Browse files Browse the repository at this point in the history
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  • Loading branch information
bonzini committed Jun 23, 2021
1 parent 46a9e24 commit 5d5cd9e
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 28 deletions.
27 changes: 4 additions & 23 deletions configure
Expand Up @@ -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"
Expand Down Expand Up @@ -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"
;;
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -5631,12 +5617,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
Expand Down Expand Up @@ -6215,6 +6195,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 \
Expand Down
2 changes: 1 addition & 1 deletion hw/usb/meson.build
Expand Up @@ -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'))
Expand Down
11 changes: 7 additions & 4 deletions meson.build
Expand Up @@ -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(),
Expand Down Expand Up @@ -1210,6 +1212,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())
Expand Down Expand Up @@ -2779,7 +2782,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')}
Expand Down
2 changes: 2 additions & 0 deletions meson_options.txt
Expand Up @@ -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',
Expand Down

0 comments on commit 5d5cd9e

Please sign in to comment.