buildrootschalter/package/shairport-sync/0002-fix-static-link-alsa.patch
Yann E. MORIN ac1ac9e628 package/shairport-sync: fix static builds
Because shairport-sync uses AC_CHECK_LIB to find some of the needed
libraries (opensl, alsa, popt...), it fails to bring in the dependencies
of those libraries; for example, -lssl requires -lz.

When doing a dynamically-linked build, those dependent libraries are
pulled in thanks to the DT_NEEDED ELF tags, but those are not available
in static libraries.

Use PKG_CHECK_MODULES instead of AC_CHECK_LIB, and emulate the results
of AC_CJECK_LIB (i.e. set the HAVE_LIBxxx and the LIBS variable
appropriately) to minimise the amount of code touched.

This should fix:
    http://autobuild.buildroot.net/results/1a5/1a56dbff3583bed0d693508dfc16859086846ecd/
    http://autobuild.buildroot.net/results/6d5/6d5a8157592f7a2c9469bf71b0453796ef982ab1/

At the same time, remove a comment at the end of a variable assignment,
since this has proven to cause some problems.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Jörg Krause <jkrause@posteo.de>
Cc: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-30 23:59:24 +01:00

28 lines
1.1 KiB
Diff

configure: fix static link with alsa
Use pkg-config to find the alsa library, that will return all the
dependent libraries of alsa (e.g. -ldl -lpthread -lrt) as well that
can not be deduced in case of a static link.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
Patch applied upstream:
https://github.com/mikebrady/shairport-sync/commit/e5a74a3ff08134a2b11f07bd850659d7816fb03d
diff -durN shairport-sync-2.1.8.orig/configure.ac shairport-sync-2.1.8/configure.ac
--- shairport-sync-2.1.8.orig/configure.ac 2014-11-29 12:56:11.954118681 +0100
+++ shairport-sync-2.1.8/configure.ac 2014-11-29 13:07:24.941687600 +0100
@@ -99,7 +99,10 @@
HAS_ALSA=1
AM_CONDITIONAL([USE_ALSA], [test 0])
AC_DEFINE([CONFIG_ALSA], 1, [Needed by the compiler.])
- AC_CHECK_LIB([asound], [snd_pcm_open], , AC_MSG_ERROR(ALSA support requires the asound library!))], )
+ PKG_CHECK_MODULES(
+ [ALSA], [alsa],
+ [LIBS="${ALSA_LIBS} ${LIBS}"
+ AC_DEFINE([HAVE_LIBASOUND],[1],[Define to 1 if you have ALSA])])])
AM_CONDITIONAL([USE_ALSA], [test "x$HAS_ALSA" = "x1"])
# Look for SNDIO flag