diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2013-09-23 23:16:54 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2013-09-23 23:16:54 +0300 |
commit | a9eb2e73171c8ae38f33c9195fcc45acf657faa0 (patch) | |
tree | 1c682d5c67d74ce2bca2aeec8f356ce614436d66 /build.py | |
parent | 08622ae644c7b6fdc624c98fb9f7c83eb1fa4f7e (diff) | |
download | meson-a9eb2e73171c8ae38f33c9195fcc45acf657faa0.zip meson-a9eb2e73171c8ae38f33c9195fcc45acf657faa0.tar.gz meson-a9eb2e73171c8ae38f33c9195fcc45acf657faa0.tar.bz2 |
Surgical strike complete. Data has been extracted from interpreter and unit tests pass.
Diffstat (limited to 'build.py')
-rw-r--r-- | build.py | 11 |
1 files changed, 8 insertions, 3 deletions
@@ -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): |