Re: [PATCH spice-gtk] Deal with libusbredirparser.pc rename to libusbredirparser-0.5.pc

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

 



Hi,

On 09/25/2012 03:05 PM, Christophe Fergeau wrote:
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@xxxxxxxxxx>
---
  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 ;)

I did it my way on purpose, otherwise the configure output will be:

checking for USBREDIR... no
checking for USBREDIR... yes

on systems which don't have the new usbredirparser, which is weird,

So I'm taking your ack for my v1 and pushing as is :)

Regards,

Hans

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]