aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backends.py2
-rw-r--r--dependencies.py1
-rw-r--r--interpreter.py4
-rw-r--r--ninjabackend.py2
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]