import sys, os
-os.chdir (os.environ.get ('srcdir', os.path.dirname (__file__)))
+srcdir = os.getenv ('srcdir', os.path.dirname (__file__))
+base_srcdir = os.getenv ('base_srcdir', srcdir)
-HBHEADERS = os.environ.get ('HBHEADERS', '').split () or \
- [x for x in os.listdir ('.') if x.startswith ('hb') and x.endswith ('.h')]
-HBSOURCES = os.environ.get ('HBSOURCES', '').split () or \
- [x for x in os.listdir ('.') if x.startswith ('hb') and x.endswith (('.cc', '.hh'))]
+os.chdir (srcdir)
+
+def removeprefix(s):
+ abs_path = os.path.join(base_srcdir, s)
+ return os.path.relpath(abs_path, srcdir)
+
+HBHEADERS = [os.path.basename (x) for x in os.getenv ('HBHEADERS', '').split ()] or \
+ [x for x in os.listdir ('.') if x.startswith ('hb') and x.endswith ('.h')]
+HBSOURCES = [
+ removeprefix(x) for x in os.getenv ('HBSOURCES', '').split ()
+] or [
+ x for x in os.listdir ('.') if x.startswith ('hb') and x.endswith (('.cc', '.hh'))
+]
stat = 0
for x in HBHEADERS: