xref: /aosp_15_r20/external/harfbuzz_ng/src/check-externs.py (revision 2d1272b857b1f7575e6e246373e1cb218663db8a)
1#!/usr/bin/env python3
2
3import sys, os, re
4
5os.chdir (os.getenv ('srcdir', os.path.dirname (__file__)))
6
7HBHEADERS = [os.path.basename (x) for x in os.getenv ('HBHEADERS', '').split ()] or \
8	[x for x in os.listdir ('.') if x.startswith ('hb') and x.endswith ('.h')]
9
10stat = 0
11
12print ('Checking that all public symbols are exported with HB_EXTERN')
13for x in HBHEADERS:
14	with open (x, 'r', encoding='utf-8') as f: content = f.read ()
15	for s in re.findall (r'\n.+\nhb_.+\n', content):
16		if not s.startswith ('\nHB_EXTERN '):
17			print ('failure on:', s)
18			stat = 1
19
20sys.exit (stat)
21