From 451a32d1c822ea28658242e03c6db3021df274ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Date: Mon, 15 Jul 2019 19:36:31 +0400 Subject: meson: skip captured write if content didn't change MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marc-André Lureau --- mesonbuild/scripts/meson_exe.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'mesonbuild') diff --git a/mesonbuild/scripts/meson_exe.py b/mesonbuild/scripts/meson_exe.py index 3fe327f..c1d0d64 100644 --- a/mesonbuild/scripts/meson_exe.py +++ b/mesonbuild/scripts/meson_exe.py @@ -84,8 +84,15 @@ def run_exe(exe): raise FileNotFoundError('Missing DLLs on calling {!r}'.format(exe.name)) if exe.capture and p.returncode == 0: - with open(exe.capture, 'wb') as output: - output.write(stdout) + skip_write = False + try: + with open(exe.capture, 'rb') as cur: + skip_write = cur.read() == stdout + except IOError: + pass + if not skip_write: + with open(exe.capture, 'wb') as output: + output.write(stdout) else: sys.stdout.buffer.write(stdout) if stderr: -- cgit v1.1