[GEDI] [PATCH 5/6] configure: Link test before auto-enabling the pulseaudio library
Philippe Mathieu-Daudé
philmd at redhat.com
Fri Jun 14 07:24:31 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 -lpulse
/usr/bin/ld: cannot find -lpulsecommon-11.1
collect2: error: ld returned 1 exit status
Makefile:204: recipe for target 'qemu-system-aarch64' failed
make[1]: *** [qemu-system-aarch64] Error 1
$ fgrep pulse config-host.mak
PULSE_LIBS=-L/usr/lib/aarch64-linux-gnu/pulseaudio -lpulse -lpulsecommon-11.1
$ lsb_release -cri
Distributor ID: Ubuntu
Release: 18.04
Codename: bionic
Signed-off-by: Philippe Mathieu-Daudé <philmd at redhat.com>
---
configure | 23 +++++++++++++++++++----
1 file changed, 19 insertions(+), 4 deletions(-)
diff --git a/configure b/configure
index 4eed33e1b1..4d015496ae 100755
--- a/configure
+++ b/configure
@@ -3408,10 +3408,25 @@ for drv in $audio_drv_list; do
pa | try-pa)
if $pkg_config libpulse --exists; then
- pulse_libs=$($pkg_config libpulse --libs)
- audio_pt_int="yes"
- if test "$drv" = "try-pa"; then
- audio_drv_list=$(echo "$audio_drv_list" | sed -e 's/try-pa/pa/')
+ pulse_cflags=$($pkg_config --cflags libpulse)
+ if test "$static" = "yes"; then
+ pulse_libs=$($pkg_config --libs --static libpulse)
+ else
+ pulse_libs=$($pkg_config --libs libpulse)
+ 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 "$pulse_cflags" "$pulse_libs" ; then
+ unset pulse_cflags pulse_libs
+ if test "$drv" = "try-pa"; then
+ audio_drv_list=$(echo "$audio_drv_list" | sed -e 's/try-pa//')
+ fi
+ else
+ audio_pt_int="yes"
+ if test "$drv" = "try-pa"; then
+ audio_drv_list=$(echo "$audio_drv_list" | sed -e 's/try-pa/pa/')
+ fi
fi
else
if test "$drv" = "try-pa"; then
--
2.20.1
More information about the integration
mailing list