aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.py19
-rw-r--r--dependencies.py2
2 files changed, 19 insertions, 2 deletions
diff --git a/build.py b/build.py
index 13ba257..67d1303 100644
--- a/build.py
+++ b/build.py
@@ -126,8 +126,25 @@ class BuildTarget():
def get_original_kwargs(self):
return self.kwargs
- def process_kwargs(self, kwargs):
+ def copy_kwargs(self, kwargs):
self.kwargs = copy.copy(kwargs)
+ # This sucks quite badly. Arguments
+ # are holders but they can't be pickled
+ # so unpack those known.
+ if 'deps' in self.kwargs:
+ d = self.kwargs['deps']
+ if not isinstance(d, list):
+ d = [d]
+ newd = []
+ for i in d:
+ if hasattr(i, 'el'):
+ newd.append(i.el)
+ else:
+ newd.append(i)
+ self.kwargs['deps'] = newd
+
+ def process_kwargs(self, kwargs):
+ self.copy_kwargs(kwargs)
kwargs.get('modules', [])
self.need_install = kwargs.get('install', self.need_install)
llist = kwargs.get('link_with', [])
diff --git a/dependencies.py b/dependencies.py
index b3186d5..bd24c6c 100644
--- a/dependencies.py
+++ b/dependencies.py
@@ -149,7 +149,7 @@ class ExternalProgram():
class ExternalLibrary(Dependency):
def __init__(self, name, fullpath=None):
- Dependency.__init__(self)
+ super().__init__(self)
self.name = name
self.fullpath = fullpath