Similarly to commit a73e82ef912, test the library links correctly
before considering it as usable.
This fixes using ./configure --static on Ubuntu 18.04:
$ make subdir-aarch64-softmmu
[...]
LINK aarch64-softmmu/qemu-system-aarch64
/usr/bin/ld: cannot find -lusbredirparser
collect2: error: ld returned 1 exit status
Makefile:204: recipe for target 'qemu-system-aarch64' failed
make[1]: *** [qemu-system-aarch64] Error 1
$ fgrep redir config-host.mak
USB_REDIR_LIBS=-lusbredirparser
$ lsb_release -cri
Distributor ID: Ubuntu
Release: 18.04
Codename: bionic
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
configure | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/configure b/configure
index 2ebaa32746..0dd6e8bed3 100755
--- a/configure
+++ b/configure
@@ -4918,9 +4918,19 @@ 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
- usb_redir="yes"
usb_redir_cflags=$($pkg_config --cflags libusbredirparser-0.5)
usb_redir_libs=$($pkg_config --libs libusbredirparser-0.5)
+ # Packaging for the static libraries is not always correct.
+ # At least ubuntu 18.04 ships only shared libraries.
+ write_c_skeleton
+ if ! compile_prog "$usb_redir_cflags" "$usb_redir_libs" ; then
+ if test "$usb_redir" = "yes" ; then
+ error_exit "usbredir check failed."
+ fi
+ usb_redir="no"
+ else
+ usb_redir="yes"
+ fi
else
if test "$usb_redir" = "yes"; then
feature_not_found "usb-redir" "Install usbredir devel"
--
2.20.1