From be2da48daa6b18fe618b2a7724944f6362b3ce95 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Sat, 28 Sep 2013 19:50:15 +0300 Subject: Strip holders from ext deps. --- build.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'build.py') 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', []) -- cgit v1.1