aboutsummaryrefslogtreecommitdiff
path: root/backends.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2013-03-09 21:12:03 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2013-03-09 21:12:03 +0200
commit8c237ebfebf4b094bd64d49c94b578de90b40863 (patch)
tree57ef60bf78997b85c5947410fb1a7bc59cae2304 /backends.py
parentf13f5e2b6ff6c5674b5d3a4b441c14a12222fde0 (diff)
downloadmeson-8c237ebfebf4b094bd64d49c94b578de90b40863.zip
meson-8c237ebfebf4b094bd64d49c94b578de90b40863.tar.gz
meson-8c237ebfebf4b094bd64d49c94b578de90b40863.tar.bz2
Can use external programs.
Diffstat (limited to 'backends.py')
-rwxr-xr-xbackends.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/backends.py b/backends.py
index d237e76..cf116a2 100755
--- a/backends.py
+++ b/backends.py
@@ -442,7 +442,10 @@ class NinjaBackend(Backend):
outfilelist = genlist.get_outfilelist()
if len(infilelist) != len(outfilelist):
raise RuntimeError('Internal data structures broken.')
- exe_file = os.path.join(self.environment.get_build_dir(), self.get_target_filename(exe))
+ if isinstance(exe, interpreter.BuildTarget):
+ exe_file = os.path.join(self.environment.get_build_dir(), self.get_target_filename(exe))
+ else:
+ exe_file = exe.get_command()
base_args = generator.get_arglist()
for i in range(len(infilelist)):
infilename = os.path.join(self.build_to_src, infilelist[i])
@@ -452,7 +455,8 @@ class NinjaBackend(Backend):
cmdlist = [exe_file] + args
elem = NinjaBuildElement(outfilename, 'CUSTOM_COMMAND', infilename)
elem.add_item('DESC', 'Generating $out')
- elem.add_dep(self.get_target_filename(exe))
+ if isinstance(exe, interpreter.BuildTarget):
+ elem.add_dep(self.get_target_filename(exe))
elem.add_item('COMMAND', cmdlist)
elem.write(outfile)