diff options
Diffstat (limited to 'build.py')
-rw-r--r-- | build.py | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -435,6 +435,8 @@ class BuildTarget(): return self.include_dirs def add_external_deps(self, deps): + if not isinstance(deps, list): + deps = [deps] for dep in deps: if hasattr(dep, 'held_object'): dep = dep.held_object @@ -443,6 +445,7 @@ class BuildTarget(): self.add_include_dirs(dep.include_directories) for l in dep.libraries: self.link(l) + self.add_external_deps(dep.ext_deps) elif isinstance(dep, dependencies.Dependency): self.external_deps.append(dep) self.process_sourcelist(dep.get_sources()) @@ -461,6 +464,8 @@ class BuildTarget(): if not isinstance(t, StaticLibrary) and \ not isinstance(t, SharedLibrary): raise InvalidArguments('Link target is not library.') + if self.is_cross != t.is_cross: + raise InvalidArguments('Tried to mix cross built and native libraries in target %s.' % self.name) self.link_targets.append(t) def set_generated(self, genlist): |