diff options
-rw-r--r-- | backends.py | 2 | ||||
-rw-r--r-- | dependencies.py | 1 | ||||
-rw-r--r-- | interpreter.py | 4 | ||||
-rw-r--r-- | ninjabackend.py | 2 |
4 files changed, 8 insertions, 1 deletions
diff --git a/backends.py b/backends.py index 86cf6aa..26ab081 100644 --- a/backends.py +++ b/backends.py @@ -394,7 +394,7 @@ class Backend(): target_id = match.group(2) i = i.replace(source, os.path.join(lead_dir, - self.get_target_private_dir(self.build.targets[target_id]))) + outdir)) cmd.append(i) cmd = [i.replace('\\', '/') for i in cmd] return (srcs, ofilenames, cmd) diff --git a/dependencies.py b/dependencies.py index 12d8e5e..492fee0 100644 --- a/dependencies.py +++ b/dependencies.py @@ -96,6 +96,7 @@ class PkgConfigDependency(Dependency): pkgbin = 'pkg-config' self.type_string = 'Native' + mlog.debug('Determining dependency %s with pkg-config executable %s.' % (name, pkgbin)) self.pkgbin = pkgbin p = subprocess.Popen([pkgbin, '--modversion', name], stdout=subprocess.PIPE, diff --git a/interpreter.py b/interpreter.py index f71d7f5..cb29c16 100644 --- a/interpreter.py +++ b/interpreter.py @@ -176,6 +176,7 @@ class ConfigurationDataHolder(InterpreterObject): self.held_object = build.ConfigurationData() self.methods.update({'set': self.set_method, 'set10': self.set10_method, + 'has' : self.has_method, }) def is_used(self): @@ -206,6 +207,9 @@ class ConfigurationDataHolder(InterpreterObject): else: self.held_object.values[name] = 0 + def has_method(self, args, kwargs): + return args[0] in self.held_object.values + def get(self, name): return self.held_object.values[name] diff --git a/ninjabackend.py b/ninjabackend.py index 9081736..19f584f 100644 --- a/ninjabackend.py +++ b/ninjabackend.py @@ -1142,6 +1142,8 @@ rule FORTRAN_DEP_HACK args = [x.replace("@INPUT@", infilename).replace('@OUTPUT@', sole_output)\ for x in base_args] args = self.replace_outputs(args, self.get_target_private_dir_abs(target), outfilelist) + # We have consumed output files, so drop them from the list of remaining outputs. + outfilelist = outfilelist[len(generator.outputs):] relout = self.get_target_private_dir(target) args = [x.replace("@SOURCE_DIR@", self.build_to_src).replace("@BUILD_DIR@", relout) for x in args] |