From a9eb2e73171c8ae38f33c9195fcc45acf657faa0 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Mon, 23 Sep 2013 23:16:54 +0300 Subject: [PATCH] Surgical strike complete. Data has been extracted from interpreter and unit tests pass. --- build.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/build.py b/build.py index 1f5cf22d5..bbc3ac4e6 100644 --- a/build.py +++ b/build.py @@ -13,8 +13,9 @@ # limitations under the License. import coredata -import copy, os import environment +import dependencies +import copy, os class InvalidArguments(coredata.MesonException): pass @@ -112,6 +113,9 @@ class BuildTarget(): if not isinstance(sources, list): sources = [sources] for s in sources: + # Holder unpacking. Ugly. + if hasattr(s, 'glist'): + s = s.glist if isinstance(s, str): self.sources.append(s) elif isinstance(s, GeneratedList): @@ -205,8 +209,9 @@ class BuildTarget(): def add_external_deps(self, deps): for dep in deps: - if not isinstance(dep, dependencies.Dependency) and\ - not isinstance(dep, ExternalLibraryHolder): + if hasattr(dep, 'el'): + dep = dep.el + if not isinstance(dep, dependencies.Dependency): raise InvalidArguments('Argument is not an external dependency') self.external_deps.append(dep) if isinstance(dep, dependencies.Dependency):