diff options
author | Eli Schwartz <eschwartz@archlinux.org> | 2023-05-03 17:50:40 -0400 |
---|---|---|
committer | Xavier Claessens <xclaesse@gmail.com> | 2023-05-03 20:26:32 -0400 |
commit | a95ebf10776757664e1c1ad91f662374a31e0133 (patch) | |
tree | 262b139750c52ef1c569e180b35bf023671a7e8f | |
parent | 8d3e22f50b6a66e3880bbd4b4edd620a8349c498 (diff) | |
download | meson-a95ebf10776757664e1c1ad91f662374a31e0133.tar.gz |
dependencies: allow config-tool to fallback to default program names
If the dependency permits it, we can just do a PATH search instead of
mandating that it be listed in the cross file. This is useful for the
limited case where a specific dependency is known to be compatible with
any machine choice.
Mark the pybind11 dependency as supporting this. It's a valid choice
because pybind11 is a header-only C++ library.
-rw-r--r-- | mesonbuild/dependencies/configtool.py | 3 | ||||
-rw-r--r-- | mesonbuild/dependencies/python.py | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/mesonbuild/dependencies/configtool.py b/mesonbuild/dependencies/configtool.py index 1f16a4316..87cf73875 100644 --- a/mesonbuild/dependencies/configtool.py +++ b/mesonbuild/dependencies/configtool.py @@ -43,6 +43,7 @@ class ConfigToolDependency(ExternalDependency): tool_name: T.Optional[str] = None version_arg = '--version' skip_version: T.Optional[str] = None + allow_default_for_cross = False __strip_version = re.compile(r'^[0-9][0-9.]+') def __init__(self, name: str, environment: 'Environment', kwargs: T.Dict[str, T.Any], language: T.Optional[str] = None): @@ -85,7 +86,7 @@ class ConfigToolDependency(ExternalDependency): best_match: T.Tuple[T.Optional[T.List[str]], T.Optional[str]] = (None, None) for potential_bin in find_external_program( self.env, self.for_machine, self.tool_name, - self.tool_name, self.tools, allow_default_for_cross=False): + self.tool_name, self.tools, allow_default_for_cross=self.allow_default_for_cross): if not potential_bin.found(): continue tool = potential_bin.get_command() diff --git a/mesonbuild/dependencies/python.py b/mesonbuild/dependencies/python.py index b9fbbbbdc..65fef7f81 100644 --- a/mesonbuild/dependencies/python.py +++ b/mesonbuild/dependencies/python.py @@ -55,6 +55,9 @@ class Pybind11ConfigToolDependency(ConfigToolDependency): tools = ['pybind11-config'] + # any version of the tool is valid, since this is header-only + allow_default_for_cross = True + # pybind11 in 2.10.4 added --version, sanity-check another flag unique to it # in the meantime skip_version = '--pkgconfigdir' |