Meson build writes to the source directory (issue #3507 ) (#3508)

Don't write to source directory if files did not change

Remove writes to the source directory which cause a meson build failure
if the source directory is read-only.

https://github.com/harfbuzz/harfbuzz/pull/3508
This commit is contained in:
aneejit1 2022-03-24 20:16:41 +00:00 committed by GitHub
parent bf2a845a17
commit a55a42444d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 4 deletions

View File

@ -14,5 +14,9 @@ sources = sys.argv[3:]
with open (OUTPUT, "wb") as f:
f.write ("".join ('#include "{}"\n'.format (os.path.basename (x)) for x in sources if x.endswith (".cc")).encode ())
# copy it also to src/
shutil.copyfile (OUTPUT, os.path.join (CURRENT_SOURCE_DIR, os.path.basename (OUTPUT)))
# copy it also to the source tree, but only if it has changed
baseline_filename = os.path.join (CURRENT_SOURCE_DIR, os.path.basename (OUTPUT))
with open(baseline_filename, "rb") as baseline:
with open(OUTPUT, "rb") as generated:
if baseline.read() != generated.read():
shutil.copyfile (OUTPUT, baseline_filename)

View File

@ -32,5 +32,9 @@ with open (INPUT, "r", encoding='utf-8') as template:
.replace ("@HB_VERSION@", version)
.encode ())
# copy it also to src/
shutil.copyfile (OUTPUT, os.path.join (CURRENT_SOURCE_DIR, os.path.basename (OUTPUT)))
# copy it also to the source tree, but only if it has changed
baseline_filename = os.path.join (CURRENT_SOURCE_DIR, os.path.basename (OUTPUT))
with open(baseline_filename, "rb") as baseline:
with open(OUTPUT, "rb") as generated:
if baseline.read() != generated.read():
shutil.copyfile (OUTPUT, baseline_filename)