Commit 95c43205 authored by Jan Schmidt's avatar Jan Schmidt

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
parent bd02d788
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>
......
......@@ -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;
......
......@@ -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; \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment