diff options
Diffstat (limited to 'mesonbuild')
-rw-r--r-- | mesonbuild/build.py | 15 | ||||
-rw-r--r-- | mesonbuild/mesonlib.py | 2 |
2 files changed, 5 insertions, 12 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py index 0d58394..c2d4583 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -638,9 +638,7 @@ class BuildTarget(Target): self.vala_gir = kwargs.get('vala_gir', None) dlist = stringlistify(kwargs.get('d_args', [])) self.add_compiler_args('d', dlist) - self.link_args = kwargs.get('link_args', []) - if not isinstance(self.link_args, list): - self.link_args = [self.link_args] + self.link_args = flatten(kwargs.get('link_args', [])) for i in self.link_args: if not isinstance(i, str): raise InvalidArguments('Link_args arguments must be strings.') @@ -813,9 +811,7 @@ You probably should put it in link_with instead.''') return self.external_deps def link(self, target): - if not isinstance(target, list): - target = [target] - for t in target: + for t in flatten(target): if hasattr(t, 'held_object'): t = t.held_object if not isinstance(t, (StaticLibrary, SharedLibrary)): @@ -829,9 +825,7 @@ You probably should put it in link_with instead.''') self.link_targets.append(t) def link_whole(self, target): - if not isinstance(target, list): - target = [target] - for t in target: + for t in flatten(target): if hasattr(t, 'held_object'): t = t.held_object if not isinstance(t, StaticLibrary): @@ -1443,8 +1437,7 @@ class CustomTarget(Target): def process_kwargs(self, kwargs): super().process_kwargs(kwargs) self.sources = kwargs.get('input', []) - if not isinstance(self.sources, list): - self.sources = [self.sources] + self.sources = flatten(self.sources) if 'output' not in kwargs: raise InvalidArguments('Missing keyword argument "output".') self.outputs = kwargs['output'] diff --git a/mesonbuild/mesonlib.py b/mesonbuild/mesonlib.py index 54e8016..6937502 100644 --- a/mesonbuild/mesonlib.py +++ b/mesonbuild/mesonlib.py @@ -203,7 +203,7 @@ def classify_unity_sources(compilers, sources): def flatten(item): if not isinstance(item, list): - return item + return [item] result = [] for i in item: if isinstance(i, list): |