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 <[email protected]>
> ---
>  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

Attachment: pgp6feqemkUon.pgp
Description: PGP signature

_______________________________________________
Spice-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to