diff options
author | Dafydd Harries <dafydd.harries@collabora.co.uk> | 2007-01-31 12:30:00 +0000 |
---|---|---|
committer | Dafydd Harries <dafydd.harries@collabora.co.uk> | 2007-01-31 12:30:00 +0000 |
commit | 0f6facba116d9a4c2bb6e2283d2139cb4456c1ea (patch) | |
tree | f709ec101556d712431babe8a6f2be0b66862ab7 /scripts | |
parent | 00905c0089bfcbc62074cca6973ed397c0e8002c (diff) | |
download | libnice-0f6facba116d9a4c2bb6e2283d2139cb4456c1ea.tar.gz |
add scripts for generating/checking symbol lists
darcs-hash:20070131123026-c9803-98cea90c5235f7c67b1c98ee94c4b83f518b1178.gz
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/check-symbols.sh | 37 | ||||
-rwxr-xr-x | scripts/make-symbol-list.sh | 6 |
2 files changed, 43 insertions, 0 deletions
diff --git a/scripts/check-symbols.sh b/scripts/check-symbols.sh new file mode 100755 index 0000000..237e58a --- /dev/null +++ b/scripts/check-symbols.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +usage() +{ + echo "usage: $0 library symbol-file" + exit 1 +} + +test -n "$1" || usage +lib="$1" +test -n "$2" || usage +symbol_file="$2" + +make_symbol_list=`dirname $0`/make-symbol-list.sh +test -f "$make_symbol_list" || exit 1 + +# stop if there are no differences +sh $make_symbol_list "$lib" | cmp -s "$symbol_file" - && exit 0 + +echo "symbols for $lib changed" +diff=`sh $make_symbol_list "$lib" | \ + diff -u "$symbol_file" - | tail -n +3` + +if echo "$diff" | grep -q '^-'; then + echo " missing:" + echo "$diff" | grep '^-' | cut -b 2- | \ + xargs -i echo " " "{}" +fi + +if echo "$diff" | grep -q '^+'; then + echo " extra:" + echo "$diff" | grep '^+' | cut -b 2- | \ + xargs -i echo " " "{}" +fi + +exit 1 + diff --git a/scripts/make-symbol-list.sh b/scripts/make-symbol-list.sh new file mode 100755 index 0000000..ab68a7a --- /dev/null +++ b/scripts/make-symbol-list.sh @@ -0,0 +1,6 @@ +#!/bin/sh +test -n "$1" || exit 1 +nm --print-file-name --defined-only --extern-only "$1" | \ + cut -d ' ' -f 2,3 | \ + grep -v '^[rA]' | \ + sort |