qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PULL 09/12] configure, meson: convert libusb detection to meson


From: Yonggang Luo
Subject: Re: [PULL 09/12] configure, meson: convert libusb detection to meson
Date: Fri, 25 Jun 2021 10:09:01 +0800



On Wed, Jun 23, 2021 at 8:27 PM Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> Reviewed-by: Daniel P. Berrangé <berrange@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 237e99c3d0..e54d06b99e 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
> @@ -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
> @@ -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 \
> 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 c9266bd3cc..58d3a3bdc9 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

Hi, I am not sure if it's right, but I think the dection may need convert to this:

```
if not get_option('libusb').disabled()
  libusb = dependency('libusb-1.0', required: get_option('libusb').auto(),
                      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(),
> @@ -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())
> @@ -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')}
> 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
>
>
>


--
         此致

罗勇刚
Yours
    sincerely,
Yonggang Luo

reply via email to

[Prev in Thread] Current Thread [Next in Thread]