summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndoni Morales Alastruey <ylatuya@gmail.com>2012-09-13 11:10:05 +0000
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2013-04-15 16:17:18 +0200
commitfeb2ddba7fdb647e64007819bca837b1f6c0fbc3 (patch)
tree569a431281e2bc6444b608a06587832e075d9d9b
parent0ff75d880707525d48b90cca1c11e78719cdfe1b (diff)
downloadgstreamer-feb2ddba7fdb647e64007819bca837b1f6c0fbc3.tar.gz
libav: fix static linking
-rw-r--r--configure.ac30
-rw-r--r--ext/libav/Makefile.am2
-rw-r--r--ext/libswscale/Makefile.am2
3 files changed, 26 insertions, 8 deletions
diff --git a/configure.ac b/configure.ac
index 075947d6c3..138a8a6ea5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -290,19 +290,35 @@ else
-I \$(top_builddir)/gst-libs/ext/libav \
-Wno-deprecated-declarations"
- dnl libgstlibav.la: libs to statically link to
- LIBAV_LIBS="\$(top_builddir)/gst-libs/ext/libav/libavformat/libavformat.a \
- \$(top_builddir)/gst-libs/ext/libav/libavcodec/libavcodec.a \
- \$(top_builddir)/gst-libs/ext/libav/libavutil/libavutil.a"
+ LIBAV_DEPS="\$(top_builddir)/gst-libs/ext/libav/libavformat/libavformat.a \
+ \$(top_builddir)/gst-libs/ext/libav/libavcodec/libavcodec.a \
+ \$(top_builddir)/gst-libs/ext/libav/libavutil/libavutil.a"
+ if test "x$enable_static_plugins" = xyes; then
+ dnl with static linking we can't use the .a archive directly as they would
+ dnl be included in the final libgstlibav.a as a file and won't be usable.
+ dnl libav*.a must be copied to the final destination too
+ LIBAV_LIBS="-lavformat -lavcodec -lavutil"
+ else
+ dnl libgstlibav.la: libs to statically link to
+ LIBAV_LIBS="$LIBAV_DEPS"
+ fi
dnl
SWSCALE_CFLAGS="-I \$(top_srcdir)/gst-libs/ext/libav \
-I \$(top_builddir)/gst-libs/ext/libav \
-Wno-deprecated-declarations"
- dnl libgstswscale.la: libs to statically link to
- SWSCALE_LIBS="\$(top_builddir)/gst-libs/ext/libav/libswscale/libswscale.a \
+ SWSCALE_DEPS="\$(top_builddir)/gst-libs/ext/libav/libswscale/libswscale.a \
\$(top_builddir)/gst-libs/ext/libav/libavutil/libavutil.a"
+ if test "x$enable_static_plugins" = xyes; then
+ dnl with static linking we can't use the .a archive directly as they would
+ dnl be included in the final libgstswscale.a as a file and won't be usable.
+ dnl libav*.a must be copied to the final destination too
+ LIBAV_LIBS="-lswscale -lavutil"
+ else
+ dnl libgstswscale.la: libs to statically link to
+ SWSCALE_LIBS="$SWSCALE_DEPS"
+ fi
LIBAV_SUBDIRS=gst-libs
AC_DEFINE(HAVE_AVI_H)
@@ -423,9 +439,11 @@ else
fi
AC_SUBST(LIBAV_CFLAGS)
+AC_SUBST(LIBAV_DEPS)
AC_SUBST(LIBAV_LIBS)
AC_SUBST(LIBAV_SUBDIRS)
AC_SUBST(SWSCALE_CFLAGS)
+AC_SUBST(SWSCALE_DEPS)
AC_SUBST(SWSCALE_LIBS)
AC_SUBST(WIN32_LIBS)
diff --git a/ext/libav/Makefile.am b/ext/libav/Makefile.am
index a290c68ad4..a1e51f4cde 100644
--- a/ext/libav/Makefile.am
+++ b/ext/libav/Makefile.am
@@ -32,7 +32,7 @@ libgstlibav_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(DARWIN_LDFLAGS)
libgstlibav_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
if HAVE_LIBAV_UNINSTALLED
-libgstlibav_la_DEPENDENCIES = $(LIBAV_LIBS)
+libgstlibav_la_DEPENDENCIES = $(LIBAV_DEPS)
endif
diff --git a/ext/libswscale/Makefile.am b/ext/libswscale/Makefile.am
index b252c09508..510647ba6e 100644
--- a/ext/libswscale/Makefile.am
+++ b/ext/libswscale/Makefile.am
@@ -11,5 +11,5 @@ libgstavscale_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(DARWIN_LDFLAGS)
libgstavscale_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
if HAVE_LIBAV_UNINSTALLED
-libgstavscale_la_DEPENDENCIES = $(SWSCALE_LIBS)
+libgstavscale_la_DEPENDENCIES = $(SWSCALE_DEPS)
endif