summaryrefslogtreecommitdiff
path: root/pango/check.defs
blob: a72c2edd472fc869751a06e7248b03ce56f59e46 (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
#!/bin/bash

LANG=C

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 "$list" "$expected" && rm -f "$list" "$expected" || status=1
done

exit $status