diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py index 180448e1f..0548aedd4 100644 --- a/mesonbuild/coredata.py +++ b/mesonbuild/coredata.py @@ -905,9 +905,9 @@ def write_cmd_line_file(build_dir: str, options: argparse.Namespace) -> None: properties = OrderedDict() if options.cross_file: - properties['cross_file'] = [os.path.abspath(f) for f in options.cross_file] + properties['cross_file'] = options.cross_file if options.native_file: - properties['native_file'] = [os.path.abspath(f) for f in options.native_file] + properties['native_file'] = options.native_file config['options'] = {str(k): str(v) for k, v in options.cmd_line_options.items()} config['properties'] = properties diff --git a/mesonbuild/msetup.py b/mesonbuild/msetup.py index 11fe3ce4f..2e6e559e1 100644 --- a/mesonbuild/msetup.py +++ b/mesonbuild/msetup.py @@ -245,6 +245,10 @@ class MesonApp: intr.backend.generate() build.save(b, dumpfile) if env.first_invocation: + # Use path resolved by coredata because they could have been + # read from a pipe and wrote into a private file. + self.options.cross_file = env.coredata.cross_files + self.options.native_file = env.coredata.config_files coredata.write_cmd_line_file(self.build_dir, self.options) else: coredata.update_cmd_line_file(self.build_dir, self.options)