diff --git a/src/check-internal-symbols.sh b/src/check-internal-symbols.sh index ba6a45d38..729b08608 100755 --- a/src/check-internal-symbols.sh +++ b/src/check-internal-symbols.sh @@ -14,12 +14,18 @@ else exit 77 fi +if which c++filt 2>/dev/null >/dev/null; then + cplusplusfilt=c++filt +else + cplusplusfilt=cat +fi + tested=false for suffix in so; do so=.libs/libharfbuzz.$suffix if test -f "$so"; then echo "Checking that we are not exposing internal symbols" - if nm $so | grep ' T ' | grep -v ' T _fini\>\| T _init\>\| T hb_'; then + if nm $so | grep ' [TW] ' | $cplusplusfilt | grep -v ' T _fini\>\| T _init\>\| T hb_'; then echo "Ouch, internal symbols exposed" stat=1 fi