(root)/
harfbuzz-8.3.0/
src/
check-externs.py
       1  #!/usr/bin/env python3
       2  
       3  import sys, os, re
       4  
       5  os.chdir (os.getenv ('srcdir', os.path.dirname (__file__)))
       6  
       7  HBHEADERS = [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  
      10  stat = 0
      11  
      12  print ('Checking that all public symbols are exported with HB_EXTERN')
      13  for 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  
      20  sys.exit (stat)