Check for exported weak symbols
authorBehdad Esfahbod <behdad@behdad.org>
Fri, 13 Jul 2012 13:48:39 +0000 (09:48 -0400)
committerBehdad Esfahbod <behdad@behdad.org>
Fri, 13 Jul 2012 13:48:39 +0000 (09:48 -0400)
Ouch, all our C++ inline functions are being exported (weakly) already.
Fix coming.

src/check-internal-symbols.sh

index ba6a45d..729b086 100755 (executable)
@@ -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