+2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
+
+ * configure.ac:
+ added GST_LIB_LDFLAGS and GST_ALL_LDFLAGS
+ * gst-libs/Makefile.am:
+ * gst-libs/gst/audio/Makefile.am:
+ * gst-libs/gst/interfaces/Makefile.am:
+ * gst-libs/gst/net/Makefile.am:
+ * gst-libs/gst/riff/Makefile.am:
+ * gst-libs/gst/rtp/Makefile.am:
+ * gst-libs/gst/tag/Makefile.am:
+ * gst-libs/gst/video/Makefile.am:
+ and use them
+
2005-11-27 Julien MOUTTE <julien@moutte.net>
* docs/libs/tmpl/gstcolorbalance.sgml:
dnl Overview:
dnl GST_OPTION_CFLAGS: common flags for profiling, debugging, errors, ...
-dnl GST_*: flags shared by all built objects
+dnl GST_*: flags shared by built objects to link against GStreamer
+dnl GST_ALL_LDFLAGS: linker flags shared by all
+dnl GST_LIB_LDFLAGS: additional linker flags for all libaries
dnl GST_LT_LDFLAGS: library versioning of our libraries
dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
dnl FIXME: do we want to rename to GST_ALL_* ?
dnl prefer internal headers to already installed ones
dnl also add builddir include for enumtypes and marshal
-dnl add ERROR_CFLAGS, but overridable
+dnl add GST_OPTION_CFLAGS, but overridable
GST_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS \$(GST_OPTION_CFLAGS)"
AC_SUBST(GST_CFLAGS)
AC_SUBST(GST_LIBS)
+dnl LDFLAGS 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_ALL_LDFLAGS="-no-undefined"
+AC_SUBST(GST_ALL_LDFLAGS)
+
+dnl GST_LIB_LDFLAGS
+dnl linker flags shared by all libraries
+dnl LDFLAGS modifier defining exported symbols from built libraries
+GST_LIB_LDFLAGS="-export-symbols-regex [_]*\(gst_\|Gst\|GST_\).*"
+AC_SUBST(GST_LIB_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\$\$' -no-undefined"
+GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_desc\$\$' $GST_ALL_LDFLAGS"
AC_SUBST(GST_PLUGIN_LDFLAGS)
dnl *** output files ***
gst-libs/gst/rtp/Makefile
gst-libs/gst/tag/Makefile
gst-libs/gst/video/Makefile
-gst-libs/ext/Makefile
examples/seeking/Makefile
examples/Makefile
tools/Makefile
-SUBDIRS = gst ext
-
-DIST_SUBDIRS = gst ext
+SUBDIRS = gst
libgstaudio_@GST_MAJORMINOR@_la_CFLAGS = $(GST_CFLAGS)
libgstaudio_@GST_MAJORMINOR@_la_LIBADD = $(GST_BASE_LIBS) $(GST_LIBS)
-libgstaudio_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LT_LDFLAGS)
+libgstaudio_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
libgstaudiofilter_@GST_MAJORMINOR@_la_SOURCES = gstaudiofilter.c gstaudiofilter.h
libgstaudiofilter_@GST_MAJORMINOR@_la_CFLAGS = $(GST_CFLAGS)
libgstaudiofilter_@GST_MAJORMINOR@_la_LIBADD = $(GST_LIBS)
-libgstaudiofilter_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LT_LDFLAGS)
+libgstaudiofilter_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
libgstaudiofilterexample_la_SOURCES = gstaudiofilterexample.c
libgstaudiofilterexample_la_CFLAGS = $(GST_CFLAGS)
noinst_PROGRAMS = testchannels
testchannels_SOURCES = testchannels.c
testchannels_CFLAGS = $(GST_CFLAGS)
-testchannels_LDFLAGS = $(GST_LIBS)
+testchannels_LDADD = $(GST_LIBS)
include $(top_srcdir)/common/glib-gen.mak
libgstinterfaces_@GST_MAJORMINOR@_la_CFLAGS = $(GST_CFLAGS)
libgstinterfaces_@GST_MAJORMINOR@_la_LIBADD = $(GST_LIBS)
-libgstinterfaces_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LT_LDFLAGS)
+libgstinterfaces_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
BUILT_SOURCES = \
$(built_sources) \
# FIXME: what is that include doing here ???
libgstnet_@GST_MAJORMINOR@_la_CFLAGS = $(GST_CFLAGS) -I$(top_srcdir)/gst/tags
libgstnet_@GST_MAJORMINOR@_la_LIBADD = $(GST_LIBS)
-libgstnet_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LT_LDFLAGS)
+libgstnet_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
# FIXME: what is that include doing here ???
libgstnet_@GST_MAJORMINOR@_la_CFLAGS = $(GST_CFLAGS) -I$(top_srcdir)/gst/tags
libgstnet_@GST_MAJORMINOR@_la_LIBADD = $(GST_LIBS)
-libgstnet_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LT_LDFLAGS)
+libgstnet_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
libgstriff_@GST_MAJORMINOR@_la_LIBADD = $(GST_LIBS)
libgstriff_@GST_MAJORMINOR@_la_CFLAGS = $(GST_CFLAGS)
-libgstriff_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LT_LDFLAGS)
+libgstriff_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
# FIXME: what is that include doing here ?
libgstrtp_@GST_MAJORMINOR@_la_CFLAGS = $(GST_CFLAGS) -I$(top_srcdir)/gst/tags
libgstrtp_@GST_MAJORMINOR@_la_LIBADD = $(GST_LIBS)
-libgstrtp_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LT_LDFLAGS)
+libgstrtp_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
libgsttag_@GST_MAJORMINOR@_la_SOURCES = gstvorbistag.c gstid3tag.c
libgsttag_@GST_MAJORMINOR@_la_CFLAGS = $(GST_CFLAGS) -I$(top_srcdir)/gst/tags
libgsttag_@GST_MAJORMINOR@_la_LIBADD = $(GST_LIBS)
-libgsttag_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LT_LDFLAGS)
+libgsttag_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
noinst_HEADERS = gsttageditingprivate.h
libgstvideo_@GST_MAJORMINOR@_la_CFLAGS = $(GST_CFLAGS)
libgstvideo_@GST_MAJORMINOR@_la_LIBADD = $(GST_BASE_LIBS) $(GST_LIBS)
-libgstvideo_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LT_LDFLAGS)
+libgstvideo_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)