|
|
|
@ -17,7 +17,7 @@ if not nm: |
|
|
|
|
print ('check-symbols.py: \'nm\' not found; skipping test') |
|
|
|
|
sys.exit (77) |
|
|
|
|
|
|
|
|
|
cxxflit = shutil.which ('c++filt') |
|
|
|
|
cxxfilt = shutil.which ('c++filt') |
|
|
|
|
|
|
|
|
|
tested = False |
|
|
|
|
stat = 0 |
|
|
|
@ -34,10 +34,10 @@ for soname in ['harfbuzz', 'harfbuzz-subset', 'harfbuzz-icu', 'harfbuzz-gobject' |
|
|
|
|
for s in re.findall (r'^.+ [BCDGIRST] .+$', subprocess.check_output (nm.split() + [so]).decode ('utf-8'), re.MULTILINE) |
|
|
|
|
if not re.match (r'.* %s(%s)\b' % (symprefix, IGNORED_SYMBOLS), s)] |
|
|
|
|
|
|
|
|
|
# run again c++flit also if is available |
|
|
|
|
if cxxflit: |
|
|
|
|
# run again c++filt also if is available |
|
|
|
|
if cxxfilt: |
|
|
|
|
EXPORTED_SYMBOLS = subprocess.check_output ( |
|
|
|
|
[cxxflit], input='\n'.join (EXPORTED_SYMBOLS).encode () |
|
|
|
|
[cxxfilt], input='\n'.join (EXPORTED_SYMBOLS).encode () |
|
|
|
|
).decode ('utf-8').splitlines () |
|
|
|
|
|
|
|
|
|
prefix = (symprefix + os.path.basename (so)).replace ('libharfbuzz', 'hb').replace ('-', '_').split ('.')[0] |
|
|
|
|