aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/modules/python.py
diff options
context:
space:
mode:
authorMathieu Duponchelle <mathieu@centricular.com>2018-04-27 00:33:20 +0200
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2018-05-04 15:24:21 +0000
commitf1c92d7c9cafd13877f34746d2cb7d1f79d853dd (patch)
tree951b2a03dfae8b293a6fd04c0a11568e495092df /mesonbuild/modules/python.py
parent8b9fe0efffae288e83b60fb722a3ec25f96a335a (diff)
downloadmeson-f1c92d7c9cafd13877f34746d2cb7d1f79d853dd.zip
meson-f1c92d7c9cafd13877f34746d2cb7d1f79d853dd.tar.gz
meson-f1c92d7c9cafd13877f34746d2cb7d1f79d853dd.tar.bz2
Interpreter: don't flatten the arguments of various methods
this fixes eg set_variable('foo', ['bar', 'baz']), which was previously erroring out complaining about the number of arguments. Closes #1481
Diffstat (limited to 'mesonbuild/modules/python.py')
-rw-r--r--mesonbuild/modules/python.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py
index 0e569a0..a705109 100644
--- a/mesonbuild/modules/python.py
+++ b/mesonbuild/modules/python.py
@@ -25,6 +25,7 @@ from ..interpreterbase import (
InterpreterObject, InvalidArguments
)
from ..interpreter import ExternalProgramHolder
+from ..interpreterbase import flatten
from ..build import known_shmod_kwargs
from .. import mlog
from ..environment import detect_cpu_family
@@ -415,6 +416,9 @@ class PythonInstallation(ExternalProgramHolder, InterpreterObject):
except AttributeError:
raise InvalidArguments('Python object does not have method %s.' % method_name)
+ if not getattr(fn, 'no-args-flattening', False):
+ args = flatten(args)
+
if method_name in ['extension_module', 'dependency', 'install_sources']:
value = fn(self.interpreter, None, args, kwargs)
return self.interpreter.holderify(value)