summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2025-10-27 10:07:48 -0700
committerDylan Baker <dylan@pnwbakers.com>2025-12-17 14:47:18 -0800
commit4abca7cad31d68dc453d533858e5b6ed1468d660 (patch)
treeda7659ac6b87be49b85e771f18591184de77061f
parent195dab0ea81986fe8cdcec6072fa67f978af3135 (diff)
downloadmeson-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.py22
-rw-r--r--mesonbuild/dependencies/cmake.py4
-rw-r--r--mesonbuild/dependencies/configtool.py4
-rw-r--r--mesonbuild/dependencies/framework.py4
-rw-r--r--mesonbuild/dependencies/pkgconfig.py4
-rw-r--r--mesonbuild/dependencies/platform.py4
-rw-r--r--mesonbuild/dependencies/python.py11
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