diff options
author | Jan Schmidt <thaytan@mad.scientist.com> | 2008-01-12 18:05:43 +0000 |
---|---|---|
committer | Jan Schmidt <thaytan@mad.scientist.com> | 2008-01-12 18:05:43 +0000 |
commit | 95c432055b4f1f3f66a54c3f57b7f689e10558f4 (patch) | |
tree | e71dbfc1f367c482a57e106f8fa0c145bc39ac35 | |
parent | bd02d788384b40ff511cac0e32aa77f51a68912d (diff) |
check-exports: Fixes to make check-export work on both Solaris and Linux
Original commit message from CVS:
* check-exports:
Fixes to make check-export work on both Solaris and Linux
* m4/gst-error.m4:
Disable extra warning category (argument mismatch) as an error
on Forte, as it prevents the libcheck fail_if macros from compiling.
* win32.mak:
Substitute the GStreamer version so things will keep working in 0.11
-rw-r--r-- | ChangeLog | 12 | ||||
-rwxr-xr-x | check-exports | 38 | ||||
-rw-r--r-- | m4/gst-error.m4 | 6 | ||||
-rw-r--r-- | win32.mak | 2 |
4 files changed, 40 insertions, 18 deletions
@@ -1,3 +1,15 @@ +2008-01-12 Jan Schmidt <Jan.Schmidt@sun.com> + + * check-exports: + Fixes to make check-export work on both Solaris and Linux + + * m4/gst-error.m4: + Disable extra warning category (argument mismatch) as an error + on Forte, as it prevents the libcheck fail_if macros from compiling. + + * win32.mak: + Substitute the GStreamer version so things will keep working in 0.11 + 2008-01-11 Tim-Philipp Müller <tim at centricular dot net> Patch by: Peter Kjellerstedt <pkj axis com> diff --git a/check-exports b/check-exports index 51b8bf4..ae72020 100755 --- a/check-exports +++ b/check-exports @@ -10,13 +10,20 @@ if [ $# -ne 2 ]; then exit 1 fi -export LC_ALL=C +def_path="$1" +def_name="$(basename $def_path)" +lib_path="$2" -def_path=$1 -def_name=$(basename $def_path) -lib_path=$2 +lib_result="`mktemp /tmp/defname.XXXXXX`" -lib_result=$(mktemp /tmp/defname.XXXXXX) +LC_ALL=C +export LC_ALL + +# On Solaris, add -p to get the correct output format +NMARGS= +if nm -V 2>&1 |grep Solaris > /dev/null; then + NMARGS=-p +fi # FIXME 0.11: in 0.11, we should change the export filter to only export # _gst_foo, but not __gst_foo (we can't change this now, since we added @@ -30,16 +37,19 @@ lib_result=$(mktemp /tmp/defname.XXXXXX) # __gst_element_factory_add_static_pad_template). We suppress them here to # make sure they're at least not exported in the windows msvc build (they # were never in the .def file, so they never got exported). -nm $lib_path | awk \ +# _end is special cased because for some reason it is reported as an exported +# BSS symbol, unlike on linux where it's a local absolute symbol. +nm $NMARGS $lib_path | awk \ '{ - if ($3 !~ /^_gst_parse_yy/ && - $3 !~ /^_gst_[a-z]*_init/ && - $3 !~ /^_gst_parse_launch/ && - $3 !~ /^__gst_element_details_/ && - $3 !~ /^__gst_element_factory_add_/ && - $3 !~ /^gst_interfaces_marshal/) + if ($3 !~ /^_gst_parse_yy/ && \ + $3 !~ /^_gst_[a-z]*_init/ && \ + $3 !~ /^_gst_parse_launch/ && \ + $3 !~ /^__gst_element_details_/ && \ + $3 !~ /^__gst_element_factory_add_/ && \ + $3 !~ /^gst_interfaces_marshal/ && \ + $3 ~ /^[_]*(gst_|Gst|GST_).*/) { - if ($2 == "B" || $2 == "S") + if ($2 ~ /^[BSDG]$/) print "\t" $3 " DATA" else if ($2 == "T") print "\t" $3 @@ -49,7 +59,7 @@ nm $lib_path | awk \ diffoutput=`diff -u $def_path $lib_result` -rm $lib_result +# rm $lib_result if test "x$diffoutput" = "x"; then exit 0; diff --git a/m4/gst-error.m4 b/m4/gst-error.m4 index 4c3f12c..d10cdc8 100644 --- a/m4/gst-error.m4 +++ b/m4/gst-error.m4 @@ -35,11 +35,11 @@ AC_DEFUN([AG_GST_SET_ERROR_CFLAGS], dnl if -Werror isn't suported if test "x$ERROR_CFLAGS" == "x" then - dnl try -errwarn=%all,no%E_EMPTY_DECLARATION,no%E_STATEMENT_NOT_REACHED (Sun Forte case) + dnl try -errwarn=%all,no%E_EMPTY_DECLARATION,no%E_STATEMENT_NOT_REACHED,no%E_ARGUEMENT_MISMATCH (Sun Forte case) dnl For Forte we need disable "empty declaration" warning produced by un-needed semicolon dnl "statement not reached" disabled because there is g_assert_not_reached () in some places - AS_COMPILER_FLAG([-errwarn=%all,no%E_EMPTY_DECLARATION,no%E_STATEMENT_NOT_REACHED], - [ERROR_CFLAGS="-errwarn=%all,no%E_EMPTY_DECLARATION,no%E_STATEMENT_NOT_REACHED"]) + AS_COMPILER_FLAG([-errwarn=%all,no%E_EMPTY_DECLARATION,no%E_STATEMENT_NOT_REACHED,no%E_ARGUEMENT_MISMATCH], + [ERROR_CFLAGS="-errwarn=%all,no%E_EMPTY_DECLARATION,no%E_STATEMENT_NOT_REACHED,no%E_ARGUEMENT_MISMATCH"]) dnl if this also isn't suported, try only for -errwarn=%all if test "x$ERROR_CFLAGS" == "x" @@ -38,7 +38,7 @@ check-exports: fail=0 ; \ for l in $(win32defs); do \ libbase=`basename "$$l" ".def"`; \ - libso=`find "$(top_builddir)" -name "$$libbase-0.10.so"`; \ + libso=`find "$(top_builddir)" -name "$$libbase-@GST_MAJORMINOR@.so"`; \ libdef="$(top_srcdir)/win32/common/$$libbase.def"; \ if test "x$$libso" != "x"; then \ echo Checking symbols in $$libso; \ |