[GEDI] [PATCH 3/6] configure: Link test before auto-enabling the libusb library
Philippe Mathieu-Daudé
philmd at redhat.com
Fri Jun 14 07:24:29 UTC 2019
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 -ludev
collect2: error: ld returned 1 exit status
Makefile:204: recipe for target 'qemu-system-aarch64' failed
make[1]: *** [qemu-system-aarch64] Error 1
$ fgrep udev config-host.mak
LIBUSB_LIBS=-lusb-1.0 -ludev -pthread
$ lsb_release -cri
Distributor ID: Ubuntu
Release: 18.04
Codename: bionic
Signed-off-by: Philippe Mathieu-Daudé <philmd at redhat.com>
---
configure | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index 3428adb75b..e2511df1e3 100755
--- a/configure
+++ b/configure
@@ -4898,9 +4898,23 @@ 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)
+ if test "$static" = "yes"; then
+ libusb_libs=$($pkg_config --libs --static libusb-1.0)
+ else
+ libusb_libs=$($pkg_config --libs libusb-1.0)
+ fi
+ # Packaging for the static libraries is not always correct.
+ # At least ubuntu 18.04 ships only shared libraries.
+ write_c_skeleton
+ if ! compile_prog "$libusb_cflags" "$libusb_libs" ; then
+ if test "$libusb" = "yes" ; then
+ error_exit "libusb check failed."
+ fi
+ libusb="no"
+ else
+ libusb="yes"
+ fi
else
if test "$libusb" = "yes"; then
feature_not_found "libusb" "Install libusb devel >= 1.0.13"
--
2.20.1
More information about the integration
mailing list