aboutsummaryrefslogtreecommitdiff
path: root/ninjabackend.py
diff options
context:
space:
mode:
Diffstat (limited to 'ninjabackend.py')
-rw-r--r--ninjabackend.py17
1 files changed, 5 insertions, 12 deletions
diff --git a/ninjabackend.py b/ninjabackend.py
index 2fb3284..d2791a5 100644
--- a/ninjabackend.py
+++ b/ninjabackend.py
@@ -293,7 +293,10 @@ class NinjaBackend(backends.Backend):
# FIXME, should not grab element at zero but rather expand all.
if isinstance(i, list):
i = i[0]
- deps.append(os.path.join(self.get_target_dir(i), i.get_filename()[0]))
+ fname = i.get_filename()
+ if isinstance(fname, list):
+ fname = fname[0]
+ deps.append(os.path.join(self.get_target_dir(i), fname))
if target.build_always:
deps.append('PHONY')
elem = NinjaBuildElement(ofilenames, 'CUSTOM_COMMAND', srcs)
@@ -1115,19 +1118,9 @@ rule FORTRAN_DEP_HACK
continue # Customtarget has already written its output rules
generator = genlist.get_generator()
exe = generator.get_exe()
- if self.environment.is_cross_build() and \
- isinstance(exe, build.BuildTarget) and exe.is_cross:
- if 'exe_wrapper' not in self.environment.cross_info:
- s = 'Can not use target %s as a generator because it is cross-built\n'
- s += 'and no exe wrapper is defined. You might want to set it to native instead.'
- s = s % exe.name
- raise MesonException(s)
+ exe_arr = self.exe_object_to_cmd_array(exe)
infilelist = genlist.get_infilelist()
outfilelist = genlist.get_outfilelist()
- if isinstance(exe, build.BuildTarget):
- exe_arr = [os.path.join(self.environment.get_build_dir(), self.get_target_filename(exe))]
- else:
- exe_arr = exe.get_command()
base_args = generator.get_arglist()
extra_dependencies = [os.path.join(self.build_to_src, i) for i in genlist.extra_depends]
for i in range(len(infilelist)):