summaryrefslogtreecommitdiff
path: root/mesonbuild/modules/pkgconfig.py
diff options
context:
space:
mode:
authorCharles Brunet <charles.brunet@optelgroup.com>2024-09-10 08:20:22 -0400
committerDylan Baker <dylan@pnwbakers.com>2024-09-11 09:16:47 -0700
commit8a641cac5f7fd01c5e213c170c1babc18088369d (patch)
tree6a1fc92eaaa5c7c9d052019b54ec35648d547261 /mesonbuild/modules/pkgconfig.py
parent68d620ea8eeaf4e6bfb23277586a053b3b074ebb (diff)
downloadmeson-8a641cac5f7fd01c5e213c170c1babc18088369d.tar.gz
Fix pkgconfig.generate handling of BothLibraries dependencies
Was caused by 7b3169f. Fixes #13657.
Diffstat (limited to 'mesonbuild/modules/pkgconfig.py')
-rw-r--r--mesonbuild/modules/pkgconfig.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/mesonbuild/modules/pkgconfig.py b/mesonbuild/modules/pkgconfig.py
index 61de8fc43..1bdf82931 100644
--- a/mesonbuild/modules/pkgconfig.py
+++ b/mesonbuild/modules/pkgconfig.py
@@ -195,6 +195,13 @@ class DependenciesHelper:
if obj.found():
if obj.objects:
raise mesonlib.MesonException('.pc file cannot refer to individual object files.')
+
+ # Ensure BothLibraries are resolved:
+ if self.pub_libs and isinstance(self.pub_libs[0], build.StaticLibrary):
+ obj = obj.get_as_static(recursive=True)
+ else:
+ obj = obj.get_as_shared(recursive=True)
+
processed_libs += obj.get_link_args()
processed_cflags += obj.get_compile_args()
self._add_lib_dependencies(obj.libraries, obj.whole_libraries, obj.ext_deps, public, private_external_deps=True)