plugin: Explicitly link to BZ2, LZMA and LZ

While all this information is in the .la files, libtool seems to get
confused with ordering in presence of static system libraries. This could
cause missing symbol error at link time. Adding these depenencies explicitly
workaround the issue.
This commit is contained in:
Nicolas Dufresne 2017-05-20 15:27:52 +02:00
parent 321d1c7a75
commit 7b0a5ad309
3 changed files with 9 additions and 14 deletions

View file

@ -280,6 +280,9 @@ else
LIBS=$save_LIBS
if test "x$HAVE_BZ2" = "xno"; then
AC_WARN([libbz2 not found, matroska demuxer will not be able to read bz2 tracks])
BZ2_LIBS=
else
BZ2_LIBS="-lbz2"
fi
dnl *** Check for lzma
@ -291,6 +294,9 @@ else
LIBS=$save_LIBS
if test "x$HAVE_LZMA" = "xno"; then
AC_WARN([lzma not found, tiff reader will not be able to read lzma files])
LZMA_LIBS=
else
LZMA_LIBS="-llzma"
fi
dnl libgstlibav.la: include dirs
@ -465,6 +471,8 @@ AC_SUBST(SWSCALE_CFLAGS)
AC_SUBST(SWSCALE_DEPS)
AC_SUBST(SWSCALE_LIBS)
AC_SUBST(WIN32_LIBS)
AC_SUBST(BZ2_LIBS)
AC_SUBST(LZMA_LIBS)
if test x$HAVE_LIBAV_UNINSTALLED = x1; then
AC_DEFINE(HAVE_LIBAV_UNINSTALLED, [], [Defined if building against uninstalled Libav source])

View file

@ -21,7 +21,7 @@ libgstlibav_la_CFLAGS = $(LIBAV_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
libgstlibav_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) \
-lgstaudio-$(GST_API_VERSION) -lgstvideo-$(GST_API_VERSION) \
-lgstpbutils-$(GST_API_VERSION) $(GST_BASE_LIBS) \
$(LIBAV_LIBS) $(WIN32_LIBS)
$(LIBAV_LIBS) $(WIN32_LIBS) -lz $(BZ2_LIBS) $(LZMA_LIBS)
libgstlibav_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(DARWIN_LDFLAGS)
if HAVE_LIBAV_UNINSTALLED

View file

@ -16,19 +16,6 @@ EXTRA_DIST=Makefile.am
MAINTAINERCLEANDIRS = $(DIST_SUBDIRS)
LIB_LIST=libavutil libswresample libavcodec libavformat libavfilter
if HAVE_BZ2
BZ2_LIBS = -lbz2
else
BZ2_LIBS =
endif
if HAVE_LZMA
LZMA_LIBS = -llzma
else
LZMA_LIBS =
endif
define create_la
echo " GEN $1.la" && \
(echo "# $1.la - a libtool library file" && \