summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2025-11-13 09:54:10 -0800
committerDylan Baker <dylan@pnwbakers.com>2025-11-19 10:48:48 -0800
commiteb8ae929d97a060dac28b4a339e7c1df8d3118c8 (patch)
treefbdd583223488584e3ac2956f68b5e119b858d93
parent2768f41817732b1f6484bc6fec3dfdaf70dcc485 (diff)
downloadmeson-eb8ae929d97a060dac28b4a339e7c1df8d3118c8.tar.gz
compilers: Remove Environment parameter from Compiler.get_define
-rw-r--r--mesonbuild/compilers/compilers.py2
-rw-r--r--mesonbuild/compilers/mixins/clike.py6
-rw-r--r--mesonbuild/dependencies/dev.py4
-rw-r--r--mesonbuild/dependencies/misc.py12
-rw-r--r--mesonbuild/interpreter/compiler.py10
5 files changed, 16 insertions, 18 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
index 4e807b0db..cdb928822 100644
--- a/mesonbuild/compilers/compilers.py
+++ b/mesonbuild/compilers/compilers.py
@@ -547,7 +547,7 @@ class Compiler(HoldableObject, metaclass=abc.ABCMeta):
def get_default_suffix(self) -> str:
return self.default_suffix
- def get_define(self, dname: str, prefix: str, env: 'Environment',
+ def get_define(self, dname: str, prefix: str,
extra_args: T.Union[T.List[str], T.Callable[[CompileCheckMode], T.List[str]]],
dependencies: T.List['Dependency'],
disable_cache: bool = False) -> T.Tuple[str, bool]:
diff --git a/mesonbuild/compilers/mixins/clike.py b/mesonbuild/compilers/mixins/clike.py
index 28aef29d2..d186d885d 100644
--- a/mesonbuild/compilers/mixins/clike.py
+++ b/mesonbuild/compilers/mixins/clike.py
@@ -461,7 +461,7 @@ class CLikeCompiler(Compiler):
# Try to expand the expression and evaluate it on the build machines compiler
if self.language in self.environment.coredata.compilers.build:
try:
- expanded, _ = self.get_define(expression, prefix, self.environment, extra_args, dependencies, False)
+ expanded, _ = self.get_define(expression, prefix, extra_args, dependencies, False)
evaluate_expanded = f'''
#include <stdio.h>
#include <stdint.h>
@@ -635,7 +635,7 @@ class CLikeCompiler(Compiler):
return align, res.cached
- def get_define(self, dname: str, prefix: str, env: 'Environment',
+ def get_define(self, dname: str, prefix: str,
extra_args: T.Union[T.List[str], T.Callable[[CompileCheckMode], T.List[str]]],
dependencies: T.Optional[T.List['Dependency']],
disable_cache: bool = False) -> T.Tuple[str, bool]:
@@ -650,7 +650,7 @@ class CLikeCompiler(Compiler):
{delim_start}{dname}{delim_end}'''
args = self.build_wrapper_args(extra_args, dependencies,
mode=CompileCheckMode.PREPROCESS).to_native()
- func = functools.partial(self.cached_compile, code, env.coredata, extra_args=args, mode=CompileCheckMode.PREPROCESS)
+ func = functools.partial(self.cached_compile, code, self.environment.coredata, extra_args=args, mode=CompileCheckMode.PREPROCESS)
if disable_cache:
func = functools.partial(self.compile, code, extra_args=args, mode=CompileCheckMode.PREPROCESS)
with func() as p:
diff --git a/mesonbuild/dependencies/dev.py b/mesonbuild/dependencies/dev.py
index c5b78c9a5..4d219a589 100644
--- a/mesonbuild/dependencies/dev.py
+++ b/mesonbuild/dependencies/dev.py
@@ -549,7 +549,7 @@ class ZlibSystemDependency(SystemDependency):
else:
return
- v, _ = self.clib_compiler.get_define('ZLIB_VERSION', '#include <zlib.h>', self.env, [], [self])
+ v, _ = self.clib_compiler.get_define('ZLIB_VERSION', '#include <zlib.h>', [], [self])
self.version = v.strip('"')
@@ -745,7 +745,7 @@ class DiaSDKSystemDependency(SystemDependency):
# Check if compiler has a built-in macro defined
@staticmethod
def _has_define(compiler: 'Compiler', dname: str, env: 'Environment') -> bool:
- defval, _ = compiler.get_define(dname, '', env, [], [])
+ defval, _ = compiler.get_define(dname, '', [], [])
return defval is not None
def __init__(self, environment: 'Environment', kwargs: DependencyObjectKWs) -> None:
diff --git a/mesonbuild/dependencies/misc.py b/mesonbuild/dependencies/misc.py
index a0301bef9..b1b8b8e13 100644
--- a/mesonbuild/dependencies/misc.py
+++ b/mesonbuild/dependencies/misc.py
@@ -140,7 +140,7 @@ class OpenMPDependency(SystemDependency):
try:
openmp_date = self.clib_compiler.get_define(
- '_OPENMP', '', self.env, [], [self], disable_cache=True)[0]
+ '_OPENMP', '', [], [self], disable_cache=True)[0]
except mesonlib.EnvironmentException as e:
mlog.debug('OpenMP support not available in the compiler')
mlog.debug(e)
@@ -383,11 +383,11 @@ class CursesSystemDependency(SystemDependency):
# implementations. The one in illumos/OpenIndiana
# doesn't seem to have a version defined in the header.
if lib.startswith('ncurses'):
- v, _ = self.clib_compiler.get_define('NCURSES_VERSION', f'#include <{header}>', env, [], [self])
+ v, _ = self.clib_compiler.get_define('NCURSES_VERSION', f'#include <{header}>', [], [self])
self.version = v.strip('"')
if lib.startswith('pdcurses'):
- v_major, _ = self.clib_compiler.get_define('PDC_VER_MAJOR', f'#include <{header}>', env, [], [self])
- v_minor, _ = self.clib_compiler.get_define('PDC_VER_MINOR', f'#include <{header}>', env, [], [self])
+ v_major, _ = self.clib_compiler.get_define('PDC_VER_MAJOR', f'#include <{header}>', [], [self])
+ v_minor, _ = self.clib_compiler.get_define('PDC_VER_MINOR', f'#include <{header}>', [], [self])
self.version = f'{v_major}.{v_minor}'
# Check the version if possible, emit a warning if we can't
@@ -466,10 +466,10 @@ class OpensslSystemDependency(SystemDependency):
return
# openssl >= 3 only
- self.version = self.clib_compiler.get_define('OPENSSL_VERSION_STR', '#include <openssl/opensslv.h>', env, [], [self])[0]
+ self.version = self.clib_compiler.get_define('OPENSSL_VERSION_STR', '#include <openssl/opensslv.h>', [], [self])[0]
# openssl < 3 only
if not self.version:
- version_hex = self.clib_compiler.get_define('OPENSSL_VERSION_NUMBER', '#include <openssl/opensslv.h>', env, [], [self])[0]
+ version_hex = self.clib_compiler.get_define('OPENSSL_VERSION_NUMBER', '#include <openssl/opensslv.h>', [], [self])[0]
if not version_hex:
return
version_hex = version_hex.rstrip('L')
diff --git a/mesonbuild/interpreter/compiler.py b/mesonbuild/interpreter/compiler.py
index ad53ab581..d5b14afbb 100644
--- a/mesonbuild/interpreter/compiler.py
+++ b/mesonbuild/interpreter/compiler.py
@@ -460,9 +460,8 @@ class CompilerHolder(ObjectHolder['Compiler']):
element = args[0]
extra_args = functools.partial(self._determine_args, kwargs)
deps, msg = self._determine_dependencies(kwargs['dependencies'])
- value, cached = self.compiler.get_define(element, kwargs['prefix'], self.environment,
- extra_args=extra_args,
- dependencies=deps)
+ value, cached = self.compiler.get_define(element, kwargs['prefix'],
+ extra_args=extra_args, dependencies=deps)
cached_msg = mlog.blue('(cached)') if cached else ''
value_msg = '(undefined)' if value is None else value
mlog.log('Fetching value of define', mlog.bold(element, True), msg, value_msg, cached_msg)
@@ -476,9 +475,8 @@ class CompilerHolder(ObjectHolder['Compiler']):
define_name = args[0]
extra_args = functools.partial(self._determine_args, kwargs)
deps, msg = self._determine_dependencies(kwargs['dependencies'], endl=None)
- value, cached = self.compiler.get_define(define_name, kwargs['prefix'], self.environment,
- extra_args=extra_args,
- dependencies=deps)
+ value, cached = self.compiler.get_define(define_name, kwargs['prefix'],
+ extra_args=extra_args, dependencies=deps)
cached_msg = mlog.blue('(cached)') if cached else ''
h = mlog.green('YES') if value is not None else mlog.red('NO')
mlog.log('Checking if define', mlog.bold(define_name, True), msg, 'exists:', h, cached_msg)