Revert "[meson] Use pathlib in gen-harfbuzzcc.py"

This reverts commit eaf7e5686c.

Fixes https://github.com/harfbuzz/harfbuzz/issues/3776

No idea what is going on, but lets restore the old code.
This commit is contained in:
Khaled Hosny 2022-08-03 10:39:52 +02:00
parent 16bfe6536b
commit 52bdc750c1
1 changed files with 10 additions and 11 deletions

View File

@ -2,24 +2,23 @@
"This tool is intended to be used from meson" "This tool is intended to be used from meson"
import shutil import os, sys, shutil
import sys
from pathlib import Path
if len (sys.argv) < 3: if len (sys.argv) < 3:
sys.exit (__doc__) sys.exit (__doc__)
OUTPUT = Path (sys.argv[1]) OUTPUT = sys.argv[1]
CURRENT_SOURCE_DIR = Path (sys.argv[2]) CURRENT_SOURCE_DIR = sys.argv[2]
# make sure input files are unique # make sure input files are unique
sources = [Path(x) for x in sorted(set(sys.argv[3:]))] sources = sorted(set(sys.argv[3:]))
with open (OUTPUT, "wb") as f: with open (OUTPUT, "wb") as f:
f.write ("".join ('#include "{}"\n'.format (p.resolve ().relative_to (CURRENT_SOURCE_DIR)) for p in sources if p.suffix == ".cc").encode ()) f.write ("".join ('#include "{}"\n'.format (os.path.relpath (os.path.abspath (x), CURRENT_SOURCE_DIR)) for x in sources if x.endswith (".cc")).encode ())
# copy it also to the source tree, but only if it has changed # copy it also to the source tree, but only if it has changed
baseline = CURRENT_SOURCE_DIR / OUTPUT.name baseline_filename = os.path.join (CURRENT_SOURCE_DIR, os.path.basename (OUTPUT))
if baseline.read_bytes() != OUTPUT.read_bytes(): with open(baseline_filename, "rb") as baseline:
shutil.copyfile (OUTPUT, baseline) with open(OUTPUT, "rb") as generated:
if baseline.read() != generated.read():
shutil.copyfile (OUTPUT, baseline_filename)