aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/build.py12
-rw-r--r--mesonbuild/modules/pkgconfig.py4
2 files changed, 11 insertions, 5 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
index 3d531d1..a2d024a 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -817,16 +817,22 @@ This will become a hard error in a future Meson release.''')
def get_extra_args(self, language):
return self.extra_args.get(language, [])
- def get_dependencies(self, exclude=None):
+ def get_dependencies(self, exclude=None, internal=True):
transitive_deps = []
if exclude is None:
exclude = []
- for t in itertools.chain(self.link_targets, self.link_whole_targets):
+ if internal:
+ link_targets = itertools.chain(self.link_targets, self.link_whole_targets)
+ else:
+ # We don't want the 'internal' libraries when generating the
+ # `Libs:` and `Libs.private:` lists in pkg-config files.
+ link_targets = self.link_targets
+ for t in link_targets:
if t in transitive_deps or t in exclude:
continue
transitive_deps.append(t)
if isinstance(t, StaticLibrary):
- transitive_deps += t.get_dependencies(transitive_deps + exclude)
+ transitive_deps += t.get_dependencies(transitive_deps + exclude, internal)
return transitive_deps
def get_source_subdir(self):
diff --git a/mesonbuild/modules/pkgconfig.py b/mesonbuild/modules/pkgconfig.py
index 419a14c..365d3cd 100644
--- a/mesonbuild/modules/pkgconfig.py
+++ b/mesonbuild/modules/pkgconfig.py
@@ -123,10 +123,10 @@ class DependenciesHelper:
if not hasattr(obj, 'generated_pc'):
obj.generated_pc = self.name
if isinstance(obj, build.StaticLibrary) and public:
- self.add_pub_libs(obj.get_dependencies())
+ self.add_pub_libs(obj.get_dependencies(internal=False))
self.add_pub_libs(obj.get_external_deps())
else:
- self.add_priv_libs(obj.get_dependencies())
+ self.add_priv_libs(obj.get_dependencies(internal=False))
self.add_priv_libs(obj.get_external_deps())
elif isinstance(obj, str):
processed_libs.append(obj)