mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-02 04:22:27 +00:00
Simplify and fix the static linking
Some libtool will endup removing the shared build when running a static build. That had unwanted side effect. Rather then fighting libtool to get to build each static and shared seperatly, let libtool build with the LIBAV_DEPS added to LIBADD (list of libav*.a) and finally remove the extra .a from the archive and fix the .la to what cerbero will expect.
This commit is contained in:
parent
dcc36f6e0a
commit
a7d6eb2afa
1 changed files with 10 additions and 19 deletions
|
@ -30,16 +30,14 @@ libgstlibav_la_SOURCES = gstav.c \
|
||||||
# gstavscale.c
|
# gstavscale.c
|
||||||
|
|
||||||
libgstlibav_la_CFLAGS = $(LIBAV_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
|
libgstlibav_la_CFLAGS = $(LIBAV_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
|
||||||
|
libgstlibav_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
|
||||||
|
libgstlibav_la_LIBADD =
|
||||||
|
|
||||||
if HAVE_LIBAV_UNINSTALLED
|
if HAVE_LIBAV_UNINSTALLED
|
||||||
libgstlibav_la_LIBTOOLFLAGS = --tag=disable-static
|
libgstlibav_la_LIBADD += $(LIBAV_DEPS)
|
||||||
libgstlibav_la_LIBADD =
|
libgstlibav_la_DEPENDENCIES = $(LIBAV_DEPS)
|
||||||
if !GST_PLUGIN_BUILD_STATIC
|
|
||||||
libgstlibav_la_LIBADD += $(LIBAV_LIBS)
|
|
||||||
endif
|
|
||||||
else
|
else
|
||||||
libgstlibav_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
|
libgstlibav_la_LIBADD += $(LIBAV_LIBS)
|
||||||
libgstlibav_la_LIBADD = $(LIBAV_LIBS)
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
libgstlibav_la_LIBADD += $(GST_PLUGINS_BASE_LIBS) \
|
libgstlibav_la_LIBADD += $(GST_PLUGINS_BASE_LIBS) \
|
||||||
|
@ -49,22 +47,15 @@ libgstlibav_la_LIBADD += $(GST_PLUGINS_BASE_LIBS) \
|
||||||
libgstlibav_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(DARWIN_LDFLAGS)
|
libgstlibav_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(DARWIN_LDFLAGS)
|
||||||
|
|
||||||
if HAVE_LIBAV_UNINSTALLED
|
if HAVE_LIBAV_UNINSTALLED
|
||||||
libgstlibav_la_DEPENDENCIES = $(LIBAV_DEPS)
|
|
||||||
|
|
||||||
if GST_PLUGIN_BUILD_STATIC
|
if GST_PLUGIN_BUILD_STATIC
|
||||||
libgstlibav_la_LINK_static = $(LIBTOOL) $(AM_V_lt) --tag=CC \
|
|
||||||
--tag=disable-shared $(LIBTOOLFLAGS) --mode=link \
|
|
||||||
$(CCLD) $(libgstlibav_la_CFLAGS) $(CFLAGS) \
|
|
||||||
$(libgstlibav_la_LDFLAGS) $(LDFLAGS) -o $@
|
|
||||||
|
|
||||||
libgstlibav.la: $(libgstlibav_la_OBJECTS) $(libgstlibav_la_DEPENDENCIES) $(EXTRA_libgstlibav_la_DEPENDENCIES)
|
libgstlibav.la: $(libgstlibav_la_OBJECTS) $(libgstlibav_la_DEPENDENCIES) $(EXTRA_libgstlibav_la_DEPENDENCIES)
|
||||||
$(AM_V_CCLD)$(libgstlibav_la_LINK) -rpath $(plugindir) $(libgstlibav_la_OBJECTS) $(LIBAV_DEPS) $(libgstlibav_la_LIBADD) $(LIBS)
|
$(AM_V_CCLD)$(libgstlibav_la_LINK) -rpath $(plugindir) $(libgstlibav_la_OBJECTS) $(libgstlibav_la_LIBADD) $(LIBS)
|
||||||
|
$(AM_V_at)cp $@ $@.tmp
|
||||||
$(AM_V_at)rm $@
|
$(AM_V_at)rm $@
|
||||||
$(AM_V_CCLD)$(libgstlibav_la_LINK_static) -rpath $(plugindir) $(libgstlibav_la_OBJECTS) $(libgstlibav_la_LIBADD) $(LIBS)
|
$(AM_V_at)$(AR) -d .libs/libgstlibav.a $(foreach dep,$(LIBAV_DEPS), $(notdir $(dep)))
|
||||||
$(AM_V_at)mv $@ $@.tmp
|
$(AM_V_at)$(RANLIB) .libs/libgstlibav.a
|
||||||
$(AM_V_GEN) sed -e "s|^\(dependency_libs='\)|\1 $(LIBAV_LIBS)|" $@.tmp > $@ && rm $@.tmp
|
$(AM_V_GEN)sed -e "s|^\(dependency_libs='\)|\1 $(LIBAV_LIBS)|" $@.tmp > $@ && rm $@.tmp
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue