Made all unit tests pass again.

This commit is contained in:
Jussi Pakkanen 2014-07-27 03:11:50 +03:00
parent bae8507753
commit af0ca6751a
2 changed files with 13 additions and 4 deletions

View File

@ -637,8 +637,11 @@ class CustomTarget:
self.dependencies.append(c)
# GIR scanner will attempt to execute this binary but
# it assumes that it is in path, so always give it a full path.
totarget = os.path.join('.', c.get_subdir(), c.get_filename())
final_cmd.append(totarget)
tmp = c.get_filename()
if isinstance(tmp, str):
tmp =[tmp]
totarget = [os.path.join('.', c.get_subdir(), i) for i in tmp]
final_cmd += totarget
elif isinstance(c, list):
# Hackety hack, only supports one level of flattening. Should really
# work to arbtrary depth.

View File

@ -136,9 +136,15 @@ class NinjaBackend(backends.Backend):
outfile.close()
os.replace(tempfilename, outfilename)
def hackety_hack(self, hack):
if isinstance(hack, list):
return hack[0]
return hack
def generate_custom_target(self, target, outfile):
ofilenames = [os.path.join(target.subdir, i) for i in target.output]
deps = [os.path.join(i.get_subdir(), i.get_filename()) for i in target.get_dependencies()]
# FIXME, should not grab element at zero but rather expand all.
deps = [os.path.join(i.get_subdir(), self.hackety_hack(i.get_filename())) for i in target.get_dependencies()]
srcs = [os.path.join(self.build_to_src, target.subdir, i) for i in target.sources]
deps += srcs
elem = NinjaBuildElement(ofilenames, 'CUSTOM_COMMAND', deps)
@ -147,7 +153,7 @@ class NinjaBackend(backends.Backend):
if i == '@INPUT@':
cmd += srcs
elif i == '@OUTPUT@':
cmd.append += ofilenames
cmd += ofilenames
else:
cmd.append(i)
elem.add_item('COMMAND', cmd)