interpreter: implement the `name()` method for `ExternalLibraryHolder`

This allows `cc.find_library().name()` to work, just like
`dependency().name()`.

Fixes: #13053
diff --git a/docs/markdown/snippets/find_library_name.md b/docs/markdown/snippets/find_library_name.md
new file mode 100644
index 0000000..ffb18eb
--- /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 52e28fa..76543d2 100644
--- a/docs/yaml/objects/dep.yaml
+++ b/docs/yaml/objects/dep.yaml
@@ -15,6 +15,9 @@
       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 edf785c..0360e44 100644
--- a/mesonbuild/interpreter/interpreterobjects.py
+++ b/mesonbuild/interpreter/interpreterobjects.py
@@ -644,6 +644,7 @@
         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 @@
         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'):