aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/build.py
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2019-09-18 22:06:19 -0400
committerXavier Claessens <xclaesse@gmail.com>2019-10-01 13:06:45 -0400
commitdc5ad1fad953d8cc2191aed1bd6c7c7db83faf99 (patch)
tree8e590d391931dd4701bf61f5609bc409ae3663b9 /mesonbuild/build.py
parent484b721369957100ee6d2b76f17224a583e2bd86 (diff)
downloadmeson-dc5ad1fad953d8cc2191aed1bd6c7c7db83faf99.zip
meson-dc5ad1fad953d8cc2191aed1bd6c7c7db83faf99.tar.gz
meson-dc5ad1fad953d8cc2191aed1bd6c7c7db83faf99.tar.bz2
pkgconfig: Do not include uninstalled static libraries
Diffstat (limited to 'mesonbuild/build.py')
-rw-r--r--mesonbuild/build.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
index 1530ae5..bb5d9db 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -970,11 +970,11 @@ 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, internal=True):
+ def get_dependencies(self, exclude=None, for_pkgconfig=False):
transitive_deps = []
if exclude is None:
exclude = []
- if internal:
+ if not for_pkgconfig:
link_targets = itertools.chain(self.link_targets, self.link_whole_targets)
else:
# We don't want the 'internal' libraries when generating the
@@ -983,9 +983,13 @@ This will become a hard error in a future Meson release.''')
for t in link_targets:
if t in transitive_deps or t in exclude:
continue
+ if for_pkgconfig and t.is_internal():
+ # Skip uninstalled static libraries, they have been promoted to
+ # link_whole into the static library.
+ continue
transitive_deps.append(t)
if isinstance(t, StaticLibrary):
- transitive_deps += t.get_dependencies(transitive_deps + exclude, internal)
+ transitive_deps += t.get_dependencies(transitive_deps + exclude, for_pkgconfig)
return transitive_deps
def get_source_subdir(self):