From ef182de45f2feee595ad52bda63adeb90fee8282 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 24 Oct 2012 12:15:54 +0200 Subject: [PATCH] gst: Add better support for static plugins --- configure.ac | 24 +++++++++++++++++++++++- ext/a52dec/Makefile.am | 2 +- ext/amrnb/Makefile.am | 2 +- ext/amrwbdec/Makefile.am | 2 +- ext/cdio/Makefile.am | 2 +- ext/dvdread/Makefile.am | 2 +- ext/lame/Makefile.am | 2 +- ext/mad/Makefile.am | 2 +- ext/mpeg2dec/Makefile.am | 2 +- ext/sidplay/Makefile.am | 2 +- ext/twolame/Makefile.am | 2 +- ext/x264/Makefile.am | 2 +- gst/asfdemux/Makefile.am | 2 +- gst/dvdlpcmdec/Makefile.am | 2 +- gst/dvdsub/Makefile.am | 2 +- gst/realmedia/Makefile.am | 2 +- gst/xingmux/Makefile.am | 2 +- 17 files changed, 39 insertions(+), 17 deletions(-) diff --git a/configure.ac b/configure.ac index 37e67fcf88..9fb0362f9e 100644 --- a/configure.ac +++ b/configure.ac @@ -185,6 +185,28 @@ AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO([$PACKAGE_VERSION_NANO], ["${srcdir}/gst-plugins-ugly.doap"], [$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_MICRO]) +dnl build static plugins or not +AC_MSG_CHECKING([whether to build static plugins or not]) +AC_ARG_ENABLE( + static-plugins, + AC_HELP_STRING( + [--enable-static-plugins], + [build static plugins @<:@default=no@:>@]), + [AS_CASE( + [$enableval], [no], [], [yes], [], + [AC_MSG_ERROR([bad value "$enableval" for --enable-static-plugins])])], + [enable_static_plugins=no]) +AC_MSG_RESULT([$enable_static_plugins]) +if test "x$enable_static_plugins" = xyes; then + AC_DEFINE(GST_PLUGIN_BUILD_STATIC, 1, + [Define if static plugins should be built]) + GST_PLUGIN_LIBTOOLFLAGS="" +else + GST_PLUGIN_LIBTOOLFLAGS="--tag=disable-static" +fi +AC_SUBST(GST_PLUGIN_LIBTOOLFLAGS) +AM_CONDITIONAL(GST_PLUGIN_BUILD_STATIC, test "x$enable_static_plugins" = "xyes") + dnl define an ERROR_CFLAGS Makefile variable AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [ -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls @@ -418,7 +440,7 @@ AC_SUBST(GST_ALL_LDFLAGS) dnl this really should only contain flags, not libs - they get added before dnl whatevertarget_LIBS and -L flags here affect the rest of the linking -GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_desc.*' $GST_ALL_LDFLAGS" +GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_.*' $GST_ALL_LDFLAGS" AC_SUBST(GST_PLUGIN_LDFLAGS) dnl *** output files *** diff --git a/ext/a52dec/Makefile.am b/ext/a52dec/Makefile.am index 65c4d26605..6a43121e9a 100644 --- a/ext/a52dec/Makefile.am +++ b/ext/a52dec/Makefile.am @@ -15,6 +15,6 @@ libgsta52dec_la_LIBADD = \ $(ORC_LIBS) \ $(A52DEC_LIBS) libgsta52dec_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -libgsta52dec_la_LIBTOOLFLAGS = --tag=disable-static +libgsta52dec_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) noinst_HEADERS = gsta52dec.h diff --git a/ext/amrnb/Makefile.am b/ext/amrnb/Makefile.am index 6c7edfbb53..283f54d0e9 100644 --- a/ext/amrnb/Makefile.am +++ b/ext/amrnb/Makefile.am @@ -11,7 +11,7 @@ libgstamrnb_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) \ -lgstaudio-@GST_API_VERSION@ \ $(GST_BASE_LIBS) $(GST_LIBS) $(AMRNB_LIBS) libgstamrnb_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -libgstamrnb_la_LIBTOOLFLAGS = --tag=disable-static +libgstamrnb_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) noinst_HEADERS = \ amrnbdec.h \ diff --git a/ext/amrwbdec/Makefile.am b/ext/amrwbdec/Makefile.am index 1ed0200935..aef298464d 100644 --- a/ext/amrwbdec/Makefile.am +++ b/ext/amrwbdec/Makefile.am @@ -11,7 +11,7 @@ libgstamrwbdec_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) \ -lgstaudio-@GST_API_VERSION@ \ $(GST_LIBS) $(AMRWB_LIBS) libgstamrwbdec_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -libgstamrwbdec_la_LIBTOOLFLAGS = --tag=disable-static +libgstamrwbdec_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) noinst_HEADERS = \ amrwbdec.h diff --git a/ext/cdio/Makefile.am b/ext/cdio/Makefile.am index e4865d1892..bd8f422294 100644 --- a/ext/cdio/Makefile.am +++ b/ext/cdio/Makefile.am @@ -16,7 +16,7 @@ libgstcdio_la_LIBADD = \ $(CDIO_LIBS) libgstcdio_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -libgstcdio_la_LIBTOOLFLAGS = --tag=disable-static +libgstcdio_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) noinst_HEADERS = \ gstcdio.h \ diff --git a/ext/dvdread/Makefile.am b/ext/dvdread/Makefile.am index d5c9bac017..30b4ba3506 100644 --- a/ext/dvdread/Makefile.am +++ b/ext/dvdread/Makefile.am @@ -5,7 +5,7 @@ libgstdvdread_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(DVDREAD_CFLAGS) libgstdvdread_la_LIBADD = $(GST_BASE_LIBS) $(GST_LIBS) \ $(GMODULE_NO_EXPORT_LIBS) $(DVDREAD_LIBS) libgstdvdread_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -libgstdvdread_la_LIBTOOLFLAGS = --tag=disable-static +libgstdvdread_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) noinst_HEADERS = dvdreadsrc.h diff --git a/ext/lame/Makefile.am b/ext/lame/Makefile.am index 7cacf2a4f0..c7124dd107 100644 --- a/ext/lame/Makefile.am +++ b/ext/lame/Makefile.am @@ -6,6 +6,6 @@ libgstlame_la_CFLAGS = \ libgstlame_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) \ $(GST_BASE_LIBS) $(GST_LIBS) $(LAME_LIBS) libgstlame_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -libgstlame_la_LIBTOOLFLAGS = --tag=disable-static +libgstlame_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) noinst_HEADERS = gstlamemp3enc.h diff --git a/ext/mad/Makefile.am b/ext/mad/Makefile.am index 097b864a8a..ca796d66d1 100644 --- a/ext/mad/Makefile.am +++ b/ext/mad/Makefile.am @@ -9,7 +9,7 @@ libgstmad_la_LIBADD = \ $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) \ $(GST_BASE_LIBS) $(GST_LIBS) $(MAD_LIBS) libgstmad_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -libgstmad_la_LIBTOOLFLAGS = --tag=disable-static +libgstmad_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) noinst_HEADERS = gstmad.h diff --git a/ext/mpeg2dec/Makefile.am b/ext/mpeg2dec/Makefile.am index bf0a4ea2db..593e2c3fa1 100644 --- a/ext/mpeg2dec/Makefile.am +++ b/ext/mpeg2dec/Makefile.am @@ -6,6 +6,6 @@ libgstmpeg2dec_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) \ libgstmpeg2dec_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \ $(GST_LIBS) $(MPEG2DEC_LIBS) libgstmpeg2dec_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -libgstmpeg2dec_la_LIBTOOLFLAGS = --tag=disable-static +libgstmpeg2dec_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) noinst_HEADERS = gstmpeg2dec.h diff --git a/ext/sidplay/Makefile.am b/ext/sidplay/Makefile.am index 47e51ee4dd..d44b227f36 100644 --- a/ext/sidplay/Makefile.am +++ b/ext/sidplay/Makefile.am @@ -6,6 +6,6 @@ libgstsid_la_CXXFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) \ libgstsid_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) $(SIDPLAY_LIBS) \ -lgstaudio-$(GST_API_VERSION) libgstsid_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -libgstsid_la_LIBTOOLFLAGS = --tag=disable-static +libgstsid_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) noinst_HEADERS = gstsiddec.h diff --git a/ext/twolame/Makefile.am b/ext/twolame/Makefile.am index 75035153c7..b6de82c174 100644 --- a/ext/twolame/Makefile.am +++ b/ext/twolame/Makefile.am @@ -7,6 +7,6 @@ libgsttwolame_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) \ -lgstaudio-@GST_API_VERSION@ -lgstpbutils-@GST_API_VERSION@ \ $(GST_LIBS) $(TWOLAME_LIBS) libgsttwolame_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -libgsttwolame_la_LIBTOOLFLAGS = --tag=disable-static +libgsttwolame_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) noinst_HEADERS = gsttwolamemp2enc.h diff --git a/ext/x264/Makefile.am b/ext/x264/Makefile.am index f69c9b13e3..aae9603215 100644 --- a/ext/x264/Makefile.am +++ b/ext/x264/Makefile.am @@ -12,7 +12,7 @@ libgstx264_la_LIBADD = \ $(GST_LIBS) \ $(X264_LIBS) libgstx264_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -libgstx264_la_LIBTOOLFLAGS = --tag=disable-static +libgstx264_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) noinst_HEADERS = gstx264enc.h diff --git a/gst/asfdemux/Makefile.am b/gst/asfdemux/Makefile.am index e76500a039..93fa1e8d2c 100644 --- a/gst/asfdemux/Makefile.am +++ b/gst/asfdemux/Makefile.am @@ -8,7 +8,7 @@ libgstasf_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) \ $(GST_BASE_LIBS) $(GST_LIBS) \ $(WIN32_LIBS) libgstasf_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -libgstasf_la_LIBTOOLFLAGS = --tag=disable-static +libgstasf_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) noinst_HEADERS = gstasfdemux.h asfheaders.h asfpacket.h gstrtpasfdepay.h gstrtspwms.h diff --git a/gst/dvdlpcmdec/Makefile.am b/gst/dvdlpcmdec/Makefile.am index 7809536140..fcee1e4583 100644 --- a/gst/dvdlpcmdec/Makefile.am +++ b/gst/dvdlpcmdec/Makefile.am @@ -5,7 +5,7 @@ libgstdvdlpcmdec_la_SOURCES = gstdvdlpcmdec.c libgstdvdlpcmdec_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) libgstdvdlpcmdec_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-@GST_API_VERSION@ $(GST_LIBS) libgstdvdlpcmdec_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -libgstdvdlpcmdec_la_LIBTOOLFLAGS = --tag=disable-static +libgstdvdlpcmdec_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) noinst_HEADERS = gstdvdlpcmdec.h diff --git a/gst/dvdsub/Makefile.am b/gst/dvdsub/Makefile.am index 68b16c5ccc..5272ac5132 100644 --- a/gst/dvdsub/Makefile.am +++ b/gst/dvdsub/Makefile.am @@ -6,7 +6,7 @@ libgstdvdsub_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) \ libgstdvdsub_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \ $(GST_BASE_LIBS) $(GST_LIBS) libgstdvdsub_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -libgstdvdsub_la_LIBTOOLFLAGS = --tag=disable-static +libgstdvdsub_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) noinst_HEADERS = gstdvdsubdec.h gstdvdsubparse.h diff --git a/gst/realmedia/Makefile.am b/gst/realmedia/Makefile.am index 9df89e9d85..46cbbc37b3 100644 --- a/gst/realmedia/Makefile.am +++ b/gst/realmedia/Makefile.am @@ -14,7 +14,7 @@ libgstrmdemux_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) \ -lgstpbutils-@GST_API_VERSION@ \ $(GST_BASE_LIBS) $(GST_LIBS) libgstrmdemux_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -libgstrmdemux_la_LIBTOOLFLAGS = --tag=disable-static +libgstrmdemux_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) noinst_HEADERS = rademux.h rmdemux.h rmutils.h rdtdepay.h rdtmanager.h \ rdtjitterbuffer.h rtspreal.h realhash.h asmrules.h gstrdtbuffer.h \ diff --git a/gst/xingmux/Makefile.am b/gst/xingmux/Makefile.am index 5439a42c55..c5d7692f55 100644 --- a/gst/xingmux/Makefile.am +++ b/gst/xingmux/Makefile.am @@ -6,7 +6,7 @@ libgstxingmux_la_SOURCES = plugin.c gstxingmux.c libgstxingmux_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_CFLAGS) libgstxingmux_la_LIBADD = $(GST_BASE_LIBS) $(GST_LIBS) libgstxingmux_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -libgstxingmux_la_LIBTOOLFLAGS = --tag=disable-static +libgstxingmux_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) noinst_HEADERS = gstxingmux.h