aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter.py
diff options
context:
space:
mode:
authorHaakon Sporsheim <haakon.sporsheim@gmail.com>2017-03-10 11:40:48 +0100
committerHaakon Sporsheim <haakon.sporsheim@gmail.com>2017-03-10 12:33:21 +0100
commit1e2c914b3c508e1749890be85867e1f51336ece1 (patch)
treed72f22fa572950c28a8aa3495491550e4898886a /mesonbuild/interpreter.py
parent52f23f8c34bd9f6eacd31e8dff70066ca2aeb4e1 (diff)
downloadmeson-1e2c914b3c508e1749890be85867e1f51336ece1.zip
meson-1e2c914b3c508e1749890be85867e1f51336ece1.tar.gz
meson-1e2c914b3c508e1749890be85867e1f51336ece1.tar.bz2
compiler: Fix compute_int and sizeof for cross compilation.
sizeof now uses compute_int which again binary searches for correct value.
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r--mesonbuild/interpreter.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index dca7934..bd818bb 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -827,14 +827,23 @@ class CompilerHolder(InterpreterObject):
if len(args) != 1:
raise InterpreterException('Compute_int takes exactly one argument.')
check_stringlist(args)
- fragment = args[0]
+ expression = args[0]
prefix = kwargs.get('prefix', '')
+ l = kwargs.get('low', -1024)
+ h = kwargs.get('high', 1024)
+ guess = kwargs.get('guess', None)
if not isinstance(prefix, str):
raise InterpreterException('Prefix argument of compute_int must be a string.')
+ if not isinstance(l, int):
+ raise InterpreterException('Low argument of compute_int must be an int.')
+ if not isinstance(h, int):
+ raise InterpreterException('High argument of compute_int must be an int.')
+ if guess is not None and not isinstance(guess, int):
+ raise InterpreterException('Guess argument of compute_int must be an int.')
extra_args = self.determine_args(kwargs)
deps = self.determine_dependencies(kwargs)
- res = self.compiler.compute_int(fragment, prefix, self.environment, extra_args, deps)
- mlog.log('Computing int of "%s": %d' % (fragment, res))
+ res = self.compiler.compute_int(expression, l, h, guess, prefix, self.environment, extra_args, deps)
+ mlog.log('Computing int of "%s": %d' % (expression, res))
return res
def sizeof_method(self, args, kwargs):