f48d1448e4b61b21fdeea790429449e0cf1983df
[platform/upstream/harfbuzz.git] / src / check-internal-symbols.sh
1 #!/bin/sh
2
3 LC_ALL=C
4 export LC_ALL
5
6 test -z "$srcdir" && srcdir=.
7 stat=0
8
9
10 if which nm 2>/dev/null >/dev/null; then
11         :
12 else
13         echo "check-internal-symbols.sh: 'nm' not found; skipping test"
14         exit 77
15 fi
16
17 tested=false
18 for suffix in .so; do
19         so=`echo .libs/libharfbuzz$suffix`
20         if test -f "$so"; then
21                 echo "Checking that we are not exposing internal symbols"
22                 if nm "$so" | grep ' [BCDGINRSTVW] ' | grep -v ' T _fini\>\| T _init\>\| T hb_'; then
23                         echo "Ouch, internal symbols exposed"
24                         stat=1
25                 fi
26                 tested=true
27         fi
28 done
29 if ! $tested; then
30         echo "check-internal-symbols.sh: libharfbuzz shared library not found; skipping test"
31         exit 77
32 fi
33
34 exit $stat