diff options
| -rw-r--r-- | docs/markdown/snippets/find_library_name.md | 3 | ||||
| -rw-r--r-- | docs/yaml/objects/dep.yaml | 3 | ||||
| -rw-r--r-- | mesonbuild/interpreter/interpreterobjects.py | 8 |
3 files changed, 14 insertions, 0 deletions
diff --git a/docs/markdown/snippets/find_library_name.md b/docs/markdown/snippets/find_library_name.md new file mode 100644 index 000000000..ffb18eb85 --- /dev/null +++ b/docs/markdown/snippets/find_library_name.md @@ -0,0 +1,3 @@ +## dependencies created by compiler.find_library implement the `name()` method + +Which would previously result in Meson crashing. diff --git a/docs/yaml/objects/dep.yaml b/docs/yaml/objects/dep.yaml index 52e28faca..76543d2c1 100644 --- a/docs/yaml/objects/dep.yaml +++ b/docs/yaml/objects/dep.yaml @@ -15,6 +15,9 @@ methods: Returns `'internal'` for dependencies created with [[declare_dependency]]. + NOTE: This was not implemented for dep objects returned by + [[compiler.find_library]] until Meson 1.5.0 + - name: get_pkgconfig_variable since: 0.36.0 deprecated: 0.56.0 diff --git a/mesonbuild/interpreter/interpreterobjects.py b/mesonbuild/interpreter/interpreterobjects.py index edf785c0d..0360e4450 100644 --- a/mesonbuild/interpreter/interpreterobjects.py +++ b/mesonbuild/interpreter/interpreterobjects.py @@ -644,6 +644,7 @@ class ExternalLibraryHolder(ObjectHolder[ExternalLibrary]): self.methods.update({'found': self.found_method, 'type_name': self.type_name_method, 'partial_dependency': self.partial_dependency_method, + 'name': self.name_method, }) @noPosargs @@ -663,6 +664,13 @@ class ExternalLibraryHolder(ObjectHolder[ExternalLibrary]): pdep = self.held_object.get_partial_dependency(**kwargs) return pdep + @FeatureNew('name', '1.5.0') + @noPosargs + @noKwargs + def name_method(self, args: T.List[TYPE_var], kwargs: TYPE_kwargs) -> str: + return self.held_object.name + + # A machine that's statically known from the cross file class MachineHolder(ObjectHolder['MachineInfo']): def __init__(self, machine_info: 'MachineInfo', interpreter: 'Interpreter'): |
