From b9cbedfb5944e5262677b8351344dc60a9da644c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim-Philipp=20M=C3=BCller?= Date: Thu, 13 Dec 2007 10:10:35 +0000 Subject: [PATCH] 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. --- ChangeLog | 16 ++++++++++++++++ Makefile.am | 19 +++++++++++++++++++ common | 2 +- configure.ac | 3 ++- gst-libs/gst/cdda/base64.h | 2 +- gst-libs/gst/cdda/sha1.h | 6 +++--- win32/common/libgstaudio.def | 6 ++++++ 7 files changed, 48 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6943c39..39f721d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2007-12-13 Tim-Philipp Müller + + * 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 * ChangeLog: remove conflict markers diff --git a/Makefile.am b/Makefile.am index 8d08884..f633935 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 + + diff --git a/common b/common index 423e2ea..fb7ab03 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 423e2ea96b5f79281f4dd20d734bd968b3d95e89 +Subproject commit fb7ab03319930496e922173d54f6dfccfff6f357 diff --git a/configure.ac b/configure.ac index d991b5a..37ac372 100644 --- a/configure.ac +++ b/configure.ac @@ -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 diff --git a/gst-libs/gst/cdda/base64.h b/gst-libs/gst/cdda/base64.h index d7c2d0b..f124267 100644 --- a/gst-libs/gst/cdda/base64.h +++ b/gst-libs/gst/cdda/base64.h @@ -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); diff --git a/gst-libs/gst/cdda/sha1.h b/gst-libs/gst/cdda/sha1.h index 2e9e64a..fce6c8f 100644 --- a/gst-libs/gst/cdda/sha1.h +++ b/gst-libs/gst/cdda/sha1.h @@ -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); diff --git a/win32/common/libgstaudio.def b/win32/common/libgstaudio.def index af5f854..0256ef4 100644 --- a/win32/common/libgstaudio.def +++ b/win32/common/libgstaudio.def @@ -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 -- 2.7.4