+2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
+
+ * Makefile.am:
+ Add check-exports target and run it with 'make check'.
+
+ * configure.ac:
+ Be stricter about what we export in our libraries: change regexp so that
+ we only export _gst_foo(), but not __gst_foo().
+
+ * gst-libs/gst/cdda/base64.h: (rfc822_binary):
+ * gst-libs/gst/cdda/sha1.h: (sha_init), (sha_update), (sha_final):
+ Change internal functions to __gst_foo so they dont' get exported.
+
+ * win32/common/libgstaudio.def:
+ Add missing symbols.
+
2007-12-11 David Schleef <ds@schleef.org>
* ChangeLog: remove conflict markers
for f in $(WIN32_COPY); do cp $$f win32/common;done
include $(top_srcdir)/common/coverage/lcov.mak
+
+# make sure all symbols we export on linux are defined in the win32 .def too
+# (don't care about other unixes for now, it's enough if it works on one of
+# the linux build bots; we assume .so )
+baselibs='libgstaudio libgstrtp libgstpbutils libgsttag libgstnetbuffer \
+libgstinterfaces libgstvideo libgstriff libgstrtsp libgstcdda'
+check-exports:
+ for l in `eval echo $(baselibs)`; do \
+ libso=`find "$(top_builddir)" -name "$$l-0.10.so"`; \
+ libdef="$(top_srcdir)/win32/common/$$l.def"; \
+ if test "x$$libso" != "x"; then \
+ echo Checking symbols in $$libso; \
+ $(top_srcdir)/common/check-exports $$libdef $$libso || exit 1; \
+ fi; \
+ done
+
+check: check-exports
+
+
-Subproject commit 423e2ea96b5f79281f4dd20d734bd968b3d95e89
+Subproject commit fb7ab03319930496e922173d54f6dfccfff6f357
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_\).*"
+dnl (export _gst_foo but not __gst_foo)
+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
#ifndef __GST_CDDA_BASE64_H__
#define __GST_CDDA_BASE64_H__
-#define rfc822_binary _gst_cdda_rfc822_binary
+#define rfc822_binary __gst_cdda_rfc822_binary
unsigned char *rfc822_binary (void *src,unsigned long srcl,unsigned long *len);
int local; /* unprocessed amount in data */
} SHA_INFO;
-#define sha_init _gst_cdda_sha_init
-#define sha_update _gst_cdda_sha_update
-#define sha_final _gst_cdda_sha_final
+#define sha_init __gst_cdda_sha_init
+#define sha_update __gst_cdda_sha_update
+#define sha_final __gst_cdda_sha_final
void sha_init(SHA_INFO *);
void sha_update(SHA_INFO *, SHA_BYTE *, int);
gst_audio_src_get_type
gst_audio_structure_set_int
gst_base_audio_sink_create_ringbuffer
+ gst_base_audio_sink_get_provide_clock
+ gst_base_audio_sink_get_slave_method
gst_base_audio_sink_get_type
+ gst_base_audio_sink_set_provide_clock
+ gst_base_audio_sink_set_slave_method
gst_base_audio_src_create_ringbuffer
+ gst_base_audio_src_get_provide_clock
gst_base_audio_src_get_type
+ gst_base_audio_src_set_provide_clock
gst_ring_buffer_acquire
gst_ring_buffer_advance
gst_ring_buffer_clear