aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/markdown/Reference-manual.md3
-rw-r--r--mesonbuild/dependencies/base.py2
-rw-r--r--mesonbuild/interpreter.py6
-rw-r--r--test cases/common/146 C and CPP link/meson.build2
4 files changed, 12 insertions, 1 deletions
diff --git a/docs/markdown/Reference-manual.md b/docs/markdown/Reference-manual.md
index df8531c..e3ae111 100644
--- a/docs/markdown/Reference-manual.md
+++ b/docs/markdown/Reference-manual.md
@@ -2045,6 +2045,9 @@ library. This object has the following methods:
- `found` which returns whether the library was found.
+ - `type_name()` (*added 0.48.0*) which returns a string describing
+ the type of the dependency, which will be `library` in this case.
+
- `partial_dependency(compile_args : false, link_args : false, links
: false, includes : false, source : false)` (*added 0.46.0*) returns
a new dependency object with the same name, version, found status,
diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py
index 63b817a..0fe702f 100644
--- a/mesonbuild/dependencies/base.py
+++ b/mesonbuild/dependencies/base.py
@@ -995,7 +995,7 @@ class NonExistingExternalProgram(ExternalProgram):
class ExternalLibrary(ExternalDependency):
def __init__(self, name, link_args, environment, language, silent=False):
- super().__init__('external', environment, language, {})
+ super().__init__('library', environment, language, {})
self.name = name
self.language = language
self.is_found = False
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index 833e982..2c54eae 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -483,6 +483,7 @@ class ExternalLibraryHolder(InterpreterObject, ObjectHolder):
InterpreterObject.__init__(self)
ObjectHolder.__init__(self, el, pv)
self.methods.update({'found': self.found_method,
+ 'type_name': self.type_name_method,
'partial_dependency': self.partial_dependency_method,
})
@@ -491,6 +492,11 @@ class ExternalLibraryHolder(InterpreterObject, ObjectHolder):
@noPosargs
@permittedKwargs({})
+ def type_name_method(self, args, kwargs):
+ return self.held_object.type_name
+
+ @noPosargs
+ @permittedKwargs({})
def found_method(self, args, kwargs):
return self.found()
diff --git a/test cases/common/146 C and CPP link/meson.build b/test cases/common/146 C and CPP link/meson.build
index 2dd3364..55c1b87 100644
--- a/test cases/common/146 C and CPP link/meson.build
+++ b/test cases/common/146 C and CPP link/meson.build
@@ -44,6 +44,8 @@ configure_file(
command : stlib_cmd)
libstcppext = cxx.find_library('stcppext', dirs : meson.current_build_dir())
+lib_type_name = libstcppext.type_name()
+assert(lib_type_name == 'library', 'type name is ' + lib_type_name)
libfooext = shared_library(
'fooext',