diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2018-04-13 10:33:42 -0400 |
---|---|---|
committer | Xavier Claessens <xavier.claessens@collabora.com> | 2018-04-18 14:54:52 -0400 |
commit | 60aaee55d47e5938662a48d85ba659d8f79c7187 (patch) | |
tree | 801ac502b5a2981080f4eb056117b94c5c458dc0 /mesonbuild/build.py | |
parent | b0e4d4047b2f8c9b2056a6f2585fd793f8ba0914 (diff) | |
download | meson-60aaee55d47e5938662a48d85ba659d8f79c7187.zip meson-60aaee55d47e5938662a48d85ba659d8f79c7187.tar.gz meson-60aaee55d47e5938662a48d85ba659d8f79c7187.tar.bz2 |
extract_all_objects(): Recursively extract objects
Fixes #3401
Diffstat (limited to 'mesonbuild/build.py')
-rw-r--r-- | mesonbuild/build.py | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py index 083cd71..538254c 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -213,10 +213,11 @@ class ExtractedObjects: ''' Holds a list of sources for which the objects must be extracted ''' - def __init__(self, target, srclist, genlist): + def __init__(self, target, srclist=[], genlist=[], objlist=[]): self.target = target self.srclist = srclist self.genlist = genlist + self.objlist = objlist if self.target.is_unity: self.check_unity_compatible() @@ -644,13 +645,10 @@ class BuildTarget(Target): if src not in self.sources: raise MesonException('Tried to extract unknown source %s.' % src) obj_src.append(src) - return ExtractedObjects(self, obj_src, []) + return ExtractedObjects(self, obj_src) def extract_all_objects(self): - # FIXME: We should add support for transitive extract_objects() - if self.objects: - raise MesonException('Cannot extract objects from a target that itself has extracted objects') - return ExtractedObjects(self, self.sources, self.generated) + return ExtractedObjects(self, self.sources, self.generated, self.objects) def get_all_link_deps(self): return self.get_transitive_link_deps() |