[Spice-devel] [PATCH spice-gtk] Deal with libusbredirparser.pc rename to libusbredirparser-0.5.pc

Christophe Fergeau cfergeau at redhat.com
Tue Sep 25 06:05:18 PDT 2012


Hey,

On Tue, Sep 25, 2012 at 01:02:09PM +0200, Hans de Goede wrote:
> The usbredir 0.5 release introduced the new API for 64 bit packet ids, but
> it kept the libusbredirparser.pc name as is, meaning that older versions of
> qemu will still have their pkg-config check for usbredirparser fulfilled,
> and build with the usb-redir device. Due to the API change there will be
> some compiler warnings, but the build will succeed, however the usb-redir
> device will be broken on 32 bit machines.
> 
> To solve this, the usbredir-0.5.2 release renames the libusbredirparser.pc
> file to libusbredirparser-0.5.pc, so that it will no longer fulfill the
> pkg-config check of the qemu-1.2 and older releases, stopping the (silent)
> breakage.
> 
> spice-gtk does not use the changed parts of the API, but does
> use libusbredirparser for the usbredirfilter* functions. This patch adapts
> spice-gtk's configure to accept both the libusbredirparser-0.5 and the
> libusbredirparser pkg-config names.
> 
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
> ---
>  configure.ac | 15 +++++++++++----
>  1 file changed, 11 insertions(+), 4 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index c7367cc..7c59575 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -349,10 +349,17 @@ AC_ARG_ENABLE([usbredir],
>  if test "x$enable_usbredir" = "xno"; then
>    have_usbredir="no"
>  else
> -  PKG_CHECK_MODULES([USBREDIR],
> -                    [libusb-1.0 >= 1.0.9 libusbredirhost >= 0.4.2 libusbredirparser >= 0.4],
> -                    [have_usbredir=yes],
> -                    [have_usbredir=no])
> +  if ${PKG_CONFIG} libusbredirparser-0.5; then
> +    PKG_CHECK_MODULES([USBREDIR],
> +                      [libusb-1.0 >= 1.0.9 libusbredirhost libusbredirparser-0.5],
> +                      [have_usbredir=yes],
> +                      [have_usbredir=no])
> +  else
> +    PKG_CHECK_MODULES([USBREDIR],
> +                      [libusb-1.0 >= 1.0.9 libusbredirhost >= 0.4.2 libusbredirparser >= 0.4],
> +                      [have_usbredir=yes],
> +                      [have_usbredir=no])
> +  fi

I'd do something like
    PKG_CHECK_MODULES([USBREDIR],
                      [libusb-1.0 >= 1.0.9 libusbredirhost libusbredirparser-0.5],
                      [have_usbredir=yes],
                      [have_usbredir=no])
    if [ x"$have_usbredir" = "xno" ]; then
        PKG_CHECK_MODULES([USBREDIR],
                          [libusb-1.0 >= 1.0.9 libusbredirhost >= 0.4.2 libusbredirparser >= 0.4],
                          [have_usbredir=yes],
                          [have_usbredir=no])
    fi

This avoids the "if ${PKG_CONFIG} libusbredirparser-0.5; then" test which
is unusual to me, I have seen the version I suggest more often.

ACK to your version if you prefer things this way, otherwise v2 welcome ;)

Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20120925/665c6cba/attachment.pgp>


More information about the Spice-devel mailing list