diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2015-11-19 16:16:36 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2015-11-19 16:16:36 +0200 |
commit | 16fa65730469dacbdb9374858c090fe59c1aa70c (patch) | |
tree | 42baf8c8e7276af5d75fc4a79cef68b68e69b939 /ninjabackend.py | |
parent | 5f44748dddc22775864fe7c55e94a87547ab252e (diff) | |
download | meson-16fa65730469dacbdb9374858c090fe59c1aa70c.zip meson-16fa65730469dacbdb9374858c090fe59c1aa70c.tar.gz meson-16fa65730469dacbdb9374858c090fe59c1aa70c.tar.bz2 |
Can use built exes in custom targets.
Diffstat (limited to 'ninjabackend.py')
-rw-r--r-- | ninjabackend.py | 17 |
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)): |