Makefile.am: Add check-exports target and run it with 'make check'.

Original commit message from CVS:
* 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.
This commit is contained in:
Tim-Philipp Müller 2007-12-13 10:10:35 +00:00
parent f6e42cd3d5
commit b9cbedfb59
7 changed files with 48 additions and 6 deletions

View file

@ -1,3 +1,19 @@
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

View file

@ -61,3 +61,22 @@ win32-update:
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

2
common

@ -1 +1 @@
Subproject commit 423e2ea96b5f79281f4dd20d734bd968b3d95e89
Subproject commit fb7ab03319930496e922173d54f6dfccfff6f357

View file

@ -612,7 +612,8 @@ 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_\).*"
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

View file

@ -67,7 +67,7 @@
#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);

View file

@ -25,9 +25,9 @@ typedef struct {
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);

View file

@ -19,9 +19,15 @@ EXPORTS
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