aboutsummaryrefslogtreecommitdiff
path: root/build.py
diff options
context:
space:
mode:
Diffstat (limited to 'build.py')
-rw-r--r--build.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/build.py b/build.py
index 4da3665..47221c1 100644
--- a/build.py
+++ b/build.py
@@ -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):