From eb67fb1d976fe363be35c9d3662d36edf3ce1b1d Mon Sep 17 00:00:00 2001 From: Daniel Mensinger Date: Sat, 14 Dec 2019 13:47:27 +0100 Subject: default inc dirs: Fix warning on MSYS (fixes #6336) --- mesonbuild/compilers/mixins/gnu.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/mesonbuild/compilers/mixins/gnu.py b/mesonbuild/compilers/mixins/gnu.py index 6683486..dcca227 100644 --- a/mesonbuild/compilers/mixins/gnu.py +++ b/mesonbuild/compilers/mixins/gnu.py @@ -100,14 +100,15 @@ def gnulike_default_include_dirs(compiler: typing.Tuple[str], lang: str) -> typi p = subprocess.Popen( cmd, stdin=subprocess.DEVNULL, - stderr=subprocess.PIPE, + stderr=subprocess.STDOUT, stdout=subprocess.PIPE, env=env ) - stderr = p.stderr.read().decode('utf-8', errors='replace') + stdout = p.stdout.read().decode('utf-8', errors='replace') parse_state = 0 paths = [] - for line in stderr.split('\n'): + for line in stdout.split('\n'): + line = line.strip(' \n\r\t') if parse_state == 0: if line == '#include "..." search starts here:': parse_state = 1 @@ -115,14 +116,16 @@ def gnulike_default_include_dirs(compiler: typing.Tuple[str], lang: str) -> typi if line == '#include <...> search starts here:': parse_state = 2 else: - paths.append(line[1:]) + paths.append(line) elif parse_state == 2: if line == 'End of search list.': break else: - paths.append(line[1:]) + paths.append(line) if not paths: mlog.warning('No include directory found parsing "{cmd}" output'.format(cmd=" ".join(cmd))) + # Append a normalized copy of paths to make path lookup easier + paths += [os.path.normpath(x) for x in paths] return paths -- cgit v1.1