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> 2007-12-11 David Schleef <ds@schleef.org>
* ChangeLog: remove conflict markers * ChangeLog: remove conflict markers

View file

@ -61,3 +61,22 @@ win32-update:
for f in $(WIN32_COPY); do cp $$f win32/common;done for f in $(WIN32_COPY); do cp $$f win32/common;done
include $(top_srcdir)/common/coverage/lcov.mak 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 GST_LIB_LDFLAGS
dnl linker flags shared by all libraries dnl linker flags shared by all libraries
dnl LDFLAGS modifier defining exported symbols from built 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) AC_SUBST(GST_LIB_LDFLAGS)
dnl this really should only contain flags, not libs - they get added before dnl this really should only contain flags, not libs - they get added before

View file

@ -67,7 +67,7 @@
#ifndef __GST_CDDA_BASE64_H__ #ifndef __GST_CDDA_BASE64_H__
#define __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); 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 */ int local; /* unprocessed amount in data */
} SHA_INFO; } SHA_INFO;
#define sha_init _gst_cdda_sha_init #define sha_init __gst_cdda_sha_init
#define sha_update _gst_cdda_sha_update #define sha_update __gst_cdda_sha_update
#define sha_final _gst_cdda_sha_final #define sha_final __gst_cdda_sha_final
void sha_init(SHA_INFO *); void sha_init(SHA_INFO *);
void sha_update(SHA_INFO *, SHA_BYTE *, int); void sha_update(SHA_INFO *, SHA_BYTE *, int);

View file

@ -19,9 +19,15 @@ EXPORTS
gst_audio_src_get_type gst_audio_src_get_type
gst_audio_structure_set_int gst_audio_structure_set_int
gst_base_audio_sink_create_ringbuffer 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_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_create_ringbuffer
gst_base_audio_src_get_provide_clock
gst_base_audio_src_get_type gst_base_audio_src_get_type
gst_base_audio_src_set_provide_clock
gst_ring_buffer_acquire gst_ring_buffer_acquire
gst_ring_buffer_advance gst_ring_buffer_advance
gst_ring_buffer_clear gst_ring_buffer_clear