summaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2025-11-13 09:14:48 -0800
committerDylan Baker <dylan@pnwbakers.com>2025-11-19 10:48:48 -0800
commit3dff12ab62ac453202ea107922a0a249b24c0925 (patch)
tree20111c57df5c1b6658dd7bf884c62ad1e5034478 /mesonbuild
parentb99ca7b394f6fa8f17f0fbcb0c2dc9896c4b0ed9 (diff)
downloadmeson-3dff12ab62ac453202ea107922a0a249b24c0925.tar.gz
compilers: Remove Environment parameter from Compiler.sizeof
This also fixes the `_cross_sizeof` helper
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/compilers/compilers.py2
-rw-r--r--mesonbuild/compilers/d.py4
-rw-r--r--mesonbuild/compilers/fortran.py18
-rw-r--r--mesonbuild/compilers/mixins/clike.py18
-rw-r--r--mesonbuild/interpreter/compiler.py2
-rw-r--r--mesonbuild/modules/cmake.py2
6 files changed, 23 insertions, 23 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
index 1384ac0f8..5f9dc7b0d 100644
--- a/mesonbuild/compilers/compilers.py
+++ b/mesonbuild/compilers/compilers.py
@@ -732,7 +732,7 @@ class Compiler(HoldableObject, metaclass=abc.ABCMeta):
run_check_cache[key] = p
return p
- def sizeof(self, typename: str, prefix: str, env: 'Environment', *,
+ def sizeof(self, typename: str, prefix: str, *,
extra_args: T.Union[None, T.List[str], T.Callable[[CompileCheckMode], T.List[str]]] = None,
dependencies: T.Optional[T.List['Dependency']] = None) -> T.Tuple[int, bool]:
raise EnvironmentException('Language %s does not support sizeof checks.' % self.get_display_language())
diff --git a/mesonbuild/compilers/d.py b/mesonbuild/compilers/d.py
index 6a09f0d01..9de8e0018 100644
--- a/mesonbuild/compilers/d.py
+++ b/mesonbuild/compilers/d.py
@@ -575,7 +575,7 @@ class DCompiler(Compiler):
extra_args = self._get_compile_extra_args(extra_args)
return super().run(code, env, extra_args, dependencies, run_env, run_cwd)
- def sizeof(self, typename: str, prefix: str, env: 'Environment', *,
+ def sizeof(self, typename: str, prefix: str, *,
extra_args: T.Union[None, T.List[str], T.Callable[[CompileCheckMode], T.List[str]]] = None,
dependencies: T.Optional[T.List['Dependency']] = None) -> T.Tuple[int, bool]:
if extra_args is None:
@@ -587,7 +587,7 @@ class DCompiler(Compiler):
writeln(({typename}).sizeof);
}}
'''
- res = self.cached_run(t, env, extra_args=extra_args,
+ res = self.cached_run(t, self.environment, extra_args=extra_args,
dependencies=dependencies)
if not res.compiled:
return -1, False
diff --git a/mesonbuild/compilers/fortran.py b/mesonbuild/compilers/fortran.py
index 78a352c7c..ff7b79027 100644
--- a/mesonbuild/compilers/fortran.py
+++ b/mesonbuild/compilers/fortran.py
@@ -207,9 +207,9 @@ class FortranCompiler(CLikeCompiler, Compiler):
raise mesonlib.EnvironmentException('Could not run compute_int test binary.')
return int(res.stdout)
- def cross_sizeof(self, typename: str, prefix: str, env: 'Environment', *,
- extra_args: T.Union[None, T.List[str], T.Callable[[CompileCheckMode], T.List[str]]] = None,
- dependencies: T.Optional[T.List['Dependency']] = None) -> int:
+ def _cross_sizeof(self, typename: str, prefix: str, *,
+ extra_args: T.Union[None, T.List[str], T.Callable[[CompileCheckMode], T.List[str]]] = None,
+ dependencies: T.Optional[T.List['Dependency']] = None) -> int:
if extra_args is None:
extra_args = []
t = f'''program test
@@ -221,16 +221,16 @@ class FortranCompiler(CLikeCompiler, Compiler):
if not self.compiles(t, extra_args=extra_args,
dependencies=dependencies)[0]:
return -1
- return self.cross_compute_int('c_sizeof(x)', None, None, None, prefix + '\nuse iso_c_binding\n' + typename + ' :: x', env, extra_args, dependencies)
+ return self.cross_compute_int('c_sizeof(x)', None, None, None, prefix + '\nuse iso_c_binding\n' + typename + ' :: x', self.environment, extra_args, dependencies)
- def sizeof(self, typename: str, prefix: str, env: 'Environment', *,
+ def sizeof(self, typename: str, prefix: str, *,
extra_args: T.Union[None, T.List[str], T.Callable[[CompileCheckMode], T.List[str]]] = None,
dependencies: T.Optional[T.List['Dependency']] = None) -> T.Tuple[int, bool]:
if extra_args is None:
extra_args = []
if self.is_cross:
- r = self.cross_sizeof(typename, prefix, env, extra_args=extra_args,
- dependencies=dependencies)
+ r = self._cross_sizeof(typename, prefix, extra_args=extra_args,
+ dependencies=dependencies)
return r, False
t = f'''program test
use iso_c_binding
@@ -239,7 +239,7 @@ class FortranCompiler(CLikeCompiler, Compiler):
print '(i0)', c_sizeof(x)
end program test
'''
- res = self.cached_run(t, env, extra_args=extra_args,
+ res = self.cached_run(t, self.environment, extra_args=extra_args,
dependencies=dependencies)
if not res.compiled:
return -1, False
@@ -252,7 +252,7 @@ class FortranCompiler(CLikeCompiler, Compiler):
'''
returns true if the output produced is 64-bit, false if 32-bit
'''
- return self.sizeof('type(c_ptr)', '', env)[0] == 8
+ return self.sizeof('type(c_ptr)', '')[0] == 8
class GnuFortranCompiler(GnuCompiler, FortranCompiler):
diff --git a/mesonbuild/compilers/mixins/clike.py b/mesonbuild/compilers/mixins/clike.py
index 2127c19c8..ef7b351e4 100644
--- a/mesonbuild/compilers/mixins/clike.py
+++ b/mesonbuild/compilers/mixins/clike.py
@@ -537,9 +537,9 @@ class CLikeCompiler(Compiler):
raise mesonlib.EnvironmentException('Could not run compute_int test binary.')
return int(res.stdout)
- def cross_sizeof(self, typename: str, prefix: str, env: 'Environment', *,
- extra_args: T.Union[None, T.List[str], T.Callable[[CompileCheckMode], T.List[str]]] = None,
- dependencies: T.Optional[T.List['Dependency']] = None) -> int:
+ def _cross_sizeof(self, typename: str, prefix: str, *,
+ extra_args: T.Union[None, T.List[str], T.Callable[[CompileCheckMode], T.List[str]]] = None,
+ dependencies: T.Optional[T.List['Dependency']] = None) -> int:
if extra_args is None:
extra_args = []
t = f'''{prefix}
@@ -551,16 +551,16 @@ class CLikeCompiler(Compiler):
if not self.compiles(t, extra_args=extra_args,
dependencies=dependencies)[0]:
return -1
- return self.cross_compute_int(f'sizeof({typename})', None, None, None, prefix, env, extra_args, dependencies)
+ return self.cross_compute_int(f'sizeof({typename})', None, None, None, prefix, self.environment, extra_args, dependencies)
- def sizeof(self, typename: str, prefix: str, env: 'Environment', *,
+ def sizeof(self, typename: str, prefix: str, *,
extra_args: T.Union[None, T.List[str], T.Callable[[CompileCheckMode], T.List[str]]] = None,
dependencies: T.Optional[T.List['Dependency']] = None) -> T.Tuple[int, bool]:
if extra_args is None:
extra_args = []
if self.is_cross:
- r = self.cross_sizeof(typename, prefix, env, extra_args=extra_args,
- dependencies=dependencies)
+ r = self._cross_sizeof(typename, prefix, extra_args=extra_args,
+ dependencies=dependencies)
return r, False
t = f'''{prefix}
#include<stddef.h>
@@ -569,7 +569,7 @@ class CLikeCompiler(Compiler):
printf("%ld\\n", (long)(sizeof({typename})));
return 0;
}}'''
- res = self.cached_run(t, env, extra_args=extra_args,
+ res = self.cached_run(t, self.environment, extra_args=extra_args,
dependencies=dependencies)
if not res.compiled:
return -1, False
@@ -1126,7 +1126,7 @@ class CLikeCompiler(Compiler):
'''
returns true if the output produced is 64-bit, false if 32-bit
'''
- return self.sizeof('void *', '', env)[0] == 8
+ return self.sizeof('void *', '')[0] == 8
def _find_library_real(self, libname: str, extra_dirs: T.List[str], code: str, libtype: LibType,
lib_prefix_warning: bool, ignore_system_dirs: bool) -> T.Optional[T.List[str]]:
diff --git a/mesonbuild/interpreter/compiler.py b/mesonbuild/interpreter/compiler.py
index ce5cc06f3..9629cdc6d 100644
--- a/mesonbuild/interpreter/compiler.py
+++ b/mesonbuild/interpreter/compiler.py
@@ -451,7 +451,7 @@ class CompilerHolder(ObjectHolder['Compiler']):
element = args[0]
extra_args = functools.partial(self._determine_args, kwargs)
deps, msg = self._determine_dependencies(kwargs['dependencies'], compile_only=self.compiler.is_cross)
- esize, cached = self.compiler.sizeof(element, kwargs['prefix'], self.environment,
+ esize, cached = self.compiler.sizeof(element, kwargs['prefix'],
extra_args=extra_args, dependencies=deps)
cached_msg = mlog.blue('(cached)') if cached else ''
mlog.log('Checking for size of',
diff --git a/mesonbuild/modules/cmake.py b/mesonbuild/modules/cmake.py
index 700749078..ce22cef26 100644
--- a/mesonbuild/modules/cmake.py
+++ b/mesonbuild/modules/cmake.py
@@ -261,7 +261,7 @@ class CmakeModule(ExtensionModule):
if not compiler:
raise mesonlib.MesonException('Requires a C or C++ compiler to compute sizeof(void *).')
- return compiler.sizeof('void *', '', env)[0]
+ return compiler.sizeof('void *', '')[0]
def detect_cmake(self, state: ModuleState) -> bool:
if self.cmake_detected: