#!/bin/sh
# check-exports
#
# quick'n'dirty script that retrieves the list of exported symbols of a given
# library using 'nm', and compares that against the list of symbols-to-export
# of our win32/common/libfoo.def files.

if [ $# -ne 2 ]; then
	echo "Usage: $0 library.def library.so"
	exit 1
fi

def_path="$1"
def_name="$(basename $def_path)"
lib_path="$2"

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

# _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_|Gst|GST_|ges_|Ges|GES_).*/)
		{
			if ($2 ~ /^[BSDG]$/)
				print "\t" $3 " DATA"
			else if ($2 == "T")
				print "\t" $3
		}
	 }' | sort | awk '{ if (NR == 1) print "EXPORTS"; print $0; }' \
	> $lib_result

diffoutput=`diff -u $def_path $lib_result`
diffresult=$?

rm $lib_result

if test "$diffresult" -eq 0; then
  exit 0;
else
  echo -n "$diffoutput" >&2
  echo >&2
  exit 1;
fi

