summaryrefslogtreecommitdiff
path: root/pango/check.defs
blob: c497748a5d09eb5aea8c2074bb1adb19cd5bdbfd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/sh

LC_ALL=C
export LC_ALL

test -z "$srcdir" && srcdir=.
status=0

get_pango_syms='nm "$so" | grep " T " | cut -d" " -f3'
if [ "`uname -s`" = "Linux" ]; then
	get_pango_syms='objdump -t "$so" | sed -n "/.*g *F *\.\(opd\|text\).* \(.*pango_.*\)$/s//\2/p"'
fi

for def in $srcdir/*.def; do
	lib=${def%.def}
	lib=${lib##*/}
	so=.libs/lib${lib}-1.0.so

	test -f "$so" || continue
	echo Checking $def

	expected=$lib.expected
	list=$lib.list
	eval $get_pango_syms | sort -u > "$expected"
	cut -f 2 "$def" | grep -v EXPORTS | sort -u > "$list"

	diff -u "$list" "$expected" >&2 && rm -f "$list" "$expected" || status=1
done

exit $status