diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2013-09-28 19:50:15 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2013-09-28 19:50:15 +0300 |
commit | be2da48daa6b18fe618b2a7724944f6362b3ce95 (patch) | |
tree | 498371833d250c7b4520f03f8abbcd6ccfba7bec | |
parent | 31b1c26fbdc707040e6e6dc4cad26dd76ca64038 (diff) | |
download | meson-be2da48daa6b18fe618b2a7724944f6362b3ce95.zip meson-be2da48daa6b18fe618b2a7724944f6362b3ce95.tar.gz meson-be2da48daa6b18fe618b2a7724944f6362b3ce95.tar.bz2 |
Strip holders from ext deps.
-rw-r--r-- | build.py | 19 | ||||
-rw-r--r-- | dependencies.py | 2 |
2 files changed, 19 insertions, 2 deletions
@@ -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 |