diff options
author | Volker Weißmann <volker.weissmann@gmx.de> | 2023-03-25 13:00:10 +0100 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2023-05-13 10:42:03 +0300 |
commit | 8d816111142694d032f68a549f4a9e18f38427e2 (patch) | |
tree | 70f27b78a7560c3cf466b60a9005563995703a4d /mesonbuild/backend/ninjabackend.py | |
parent | 10d6d2860c6abc29000d94f019af35cf931c315d (diff) | |
download | meson-8d816111142694d032f68a549f4a9e18f38427e2.zip meson-8d816111142694d032f68a549f4a9e18f38427e2.tar.gz meson-8d816111142694d032f68a549f4a9e18f38427e2.tar.bz2 |
Fix paths of Fortran order dependencies
Fixes #11047
Diffstat (limited to 'mesonbuild/backend/ninjabackend.py')
-rw-r--r-- | mesonbuild/backend/ninjabackend.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index d61c359..a3c0fa3 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -380,7 +380,8 @@ class NinjaBuildElement: if len(self.deps) > 0: line += ' | ' + ' '.join([ninja_quote(x, True) for x in sorted(self.deps)]) if len(self.orderdeps) > 0: - line += ' || ' + ' '.join([ninja_quote(x, True) for x in sorted(self.orderdeps)]) + orderdeps = [str(x) for x in self.orderdeps] + line += ' || ' + ' '.join([ninja_quote(x, True) for x in sorted(orderdeps)]) line += '\n' # This is the only way I could find to make this work on all # platforms including Windows command shell. Slash is a dir separator @@ -956,7 +957,7 @@ class NinjaBackend(backends.Backend): obj_targets = [t for t in od if t.uses_fortran()] obj_list.extend(o) - fortran_order_deps = [self.get_target_filename(t) for t in obj_targets] + fortran_order_deps = [File(True, *os.path.split(self.get_target_filename(t))) for t in obj_targets] fortran_inc_args: T.List[str] = [] if target.uses_fortran(): fortran_inc_args = mesonlib.listify([target.compilers['fortran'].get_include_args( @@ -1049,7 +1050,7 @@ class NinjaBackend(backends.Backend): return True def generate_dependency_scan_target(self, target, compiled_sources, source2object, generated_source_files: T.List[mesonlib.File], - object_deps: T.List[str]) -> None: + object_deps: T.List['mesonlib.FileOrString']) -> None: if not self.should_use_dyndeps_for_target(target): return depscan_file = self.get_dep_scan_file_for(target) @@ -2836,7 +2837,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485''')) def generate_single_compile(self, target: build.BuildTarget, src, is_generated=False, header_deps=None, - order_deps: T.Optional[T.List[str]] = None, + order_deps: T.Optional[T.List['mesonlib.FileOrString']] = None, extra_args: T.Optional[T.List[str]] = None, unity_sources: T.Optional[T.List[mesonlib.FileOrString]] = None) -> None: """ |