diff options
| author | Dylan Baker <dylan@pnwbakers.com> | 2025-10-27 10:07:48 -0700 |
|---|---|---|
| committer | Dylan Baker <dylan@pnwbakers.com> | 2025-12-17 14:47:18 -0800 |
| commit | 4abca7cad31d68dc453d533858e5b6ed1468d660 (patch) | |
| tree | da7659ac6b87be49b85e771f18591184de77061f | |
| parent | 195dab0ea81986fe8cdcec6072fa67f978af3135 (diff) | |
| download | meson-4abca7cad31d68dc453d533858e5b6ed1468d660.tar.gz | |
dependencies: Remove `log_tried` method
It's now only used to populate the DependencyCandidate, so we can remove
it and just calculate the same information from the `type_name`
parameter. This reduces code and the number of method calls.
| -rw-r--r-- | mesonbuild/dependencies/base.py | 22 | ||||
| -rw-r--r-- | mesonbuild/dependencies/cmake.py | 4 | ||||
| -rw-r--r-- | mesonbuild/dependencies/configtool.py | 4 | ||||
| -rw-r--r-- | mesonbuild/dependencies/framework.py | 4 | ||||
| -rw-r--r-- | mesonbuild/dependencies/pkgconfig.py | 4 | ||||
| -rw-r--r-- | mesonbuild/dependencies/platform.py | 4 | ||||
| -rw-r--r-- | mesonbuild/dependencies/python.py | 11 |
7 files changed, 13 insertions, 40 deletions
diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py index 47d836c2f..de9e24f23 100644 --- a/mesonbuild/dependencies/base.py +++ b/mesonbuild/dependencies/base.py @@ -463,10 +463,6 @@ class ExternalDependency(Dependency): def log_info(self) -> str: return '' - @staticmethod - def log_tried() -> str: - return '' - # Check if dependency version meets the requirements def _check_version(self) -> None: if not self.is_found: @@ -672,10 +668,6 @@ class SystemDependency(ExternalDependency): type_name = DependencyTypeName('system') - @staticmethod - def log_tried() -> str: - return 'system' - class BuiltinDependency(ExternalDependency): @@ -683,10 +675,6 @@ class BuiltinDependency(ExternalDependency): type_name = DependencyTypeName('builtin') - @staticmethod - def log_tried() -> str: - return 'builtin' - @dataclasses.dataclass class DependencyCandidate(T.Generic[DepType]): @@ -710,4 +698,12 @@ class DependencyCandidate(T.Generic[DepType]): args: T.Optional[T.Tuple[Environment, DependencyObjectKWs]] = None, modules: T.Optional[T.List[str]] = None, ) -> DependencyCandidate[DepType]: - return cls(dep, name, dep.log_tried(), modules, arguments=args) + tried = str(dep.type_name) + + # fixup the cases where type_name and log tried don't match + if tried in {'extraframeworks', 'appleframeworks'}: + tried = 'framework' + elif tried == 'pkgconfig': + tried = 'pkg-config' + + return cls(dep, name, tried, modules, arguments=args) diff --git a/mesonbuild/dependencies/cmake.py b/mesonbuild/dependencies/cmake.py index 768797962..5fc207317 100644 --- a/mesonbuild/dependencies/cmake.py +++ b/mesonbuild/dependencies/cmake.py @@ -609,10 +609,6 @@ class CMakeDependency(ExternalDependency): build_dir = self._setup_cmake_dir(cmake_file) return self.cmakebin.call(args, build_dir, env=env) - @staticmethod - def log_tried() -> str: - return 'cmake' - def log_details(self) -> str: modules = [self._original_module_name(x) for x in self.found_modules] modules = sorted(set(modules)) diff --git a/mesonbuild/dependencies/configtool.py b/mesonbuild/dependencies/configtool.py index 024bf9430..3d018943c 100644 --- a/mesonbuild/dependencies/configtool.py +++ b/mesonbuild/dependencies/configtool.py @@ -150,10 +150,6 @@ class ConfigToolDependency(ExternalDependency): def get_variable_args(self, variable_name: str) -> T.List[str]: return [f'--{variable_name}'] - @staticmethod - def log_tried() -> str: - return 'config-tool' - def get_variable(self, *, cmake: T.Optional[str] = None, pkgconfig: T.Optional[str] = None, configtool: T.Optional[str] = None, internal: T.Optional[str] = None, system: T.Optional[str] = None, default_value: T.Optional[str] = None, diff --git a/mesonbuild/dependencies/framework.py b/mesonbuild/dependencies/framework.py index 15c4ce2ff..e3ebd3b4a 100644 --- a/mesonbuild/dependencies/framework.py +++ b/mesonbuild/dependencies/framework.py @@ -112,7 +112,3 @@ class ExtraFrameworkDependency(ExternalDependency): def log_info(self) -> str: return self.framework_path or '' - - @staticmethod - def log_tried() -> str: - return 'framework' diff --git a/mesonbuild/dependencies/pkgconfig.py b/mesonbuild/dependencies/pkgconfig.py index 938c77da4..2a4e91d8d 100644 --- a/mesonbuild/dependencies/pkgconfig.py +++ b/mesonbuild/dependencies/pkgconfig.py @@ -585,10 +585,6 @@ class PkgConfigDependency(ExternalDependency): # a path rather than the raw dlname return os.path.basename(dlname) - @staticmethod - def log_tried() -> str: - return 'pkgconfig' - def get_variable(self, *, cmake: T.Optional[str] = None, pkgconfig: T.Optional[str] = None, configtool: T.Optional[str] = None, internal: T.Optional[str] = None, system: T.Optional[str] = None, default_value: T.Optional[str] = None, diff --git a/mesonbuild/dependencies/platform.py b/mesonbuild/dependencies/platform.py index f193c87eb..829220ccb 100644 --- a/mesonbuild/dependencies/platform.py +++ b/mesonbuild/dependencies/platform.py @@ -47,8 +47,4 @@ class AppleFrameworks(ExternalDependency): def log_info(self) -> str: return ', '.join(self.frameworks) - @staticmethod - def log_tried() -> str: - return 'framework' - packages['appleframeworks'] = AppleFrameworks diff --git a/mesonbuild/dependencies/python.py b/mesonbuild/dependencies/python.py index 9614196d9..0e40d481f 100644 --- a/mesonbuild/dependencies/python.py +++ b/mesonbuild/dependencies/python.py @@ -559,10 +559,6 @@ class PythonSystemDependency(SystemDependency, _PythonDependencyBase): if not self.clib_compiler.has_header('Python.h', '', extra_args=self.compile_args)[0]: self.is_found = False - @staticmethod - def log_tried() -> str: - return 'sysconfig' - def python_factory(env: Environment, kwargs: DependencyObjectKWs, installation: T.Optional['BasicPythonExternalProgram'] = None) -> T.List['DependencyGenerator']: # We can't use the factory_methods decorator here, as we need to pass the @@ -579,15 +575,16 @@ def python_factory(env: Environment, kwargs: DependencyObjectKWs, if from_installation: candidates.append(DependencyCandidate( functools.partial(PythonPkgConfigDependency, installation=installation), - 'python3', PythonPkgConfigDependency.log_tried(), arguments=(env, kwargs))) + 'python3', PythonPkgConfigDependency.type_name, arguments=(env, kwargs))) else: candidates.append(DependencyCandidate.from_dependency( 'python3', PkgConfigDependency, (env, kwargs))) if DependencyMethods.SYSTEM in methods: + # This is a unique log-tried. candidates.append(DependencyCandidate( functools.partial(PythonSystemDependency, installation=installation), - 'python', PythonSystemDependency.log_tried(), arguments=(env, kwargs))) + 'python', 'sysconfig', arguments=(env, kwargs))) if DependencyMethods.EXTRAFRAMEWORK in methods: nkwargs = kwargs.copy() @@ -597,7 +594,7 @@ def python_factory(env: Environment, kwargs: DependencyObjectKWs, nkwargs['paths'] = ['/Library/Frameworks'] candidates.append(DependencyCandidate( functools.partial(PythonFrameworkDependency, installation=installation), - 'python', PythonFrameworkDependency.log_tried(), arguments=(env, nkwargs))) + 'python', PythonPkgConfigDependency.type_name, arguments=(env, nkwargs))) return candidates |
