aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2022-01-31 16:44:39 -0500
committerEli Schwartz <eschwartz@archlinux.org>2022-02-01 01:45:55 -0500
commit5d932f31b985e46a4995d3c02b021cc94bef901d (patch)
tree6e3ca56e5bb20aa8b2c3e8dbc438df99f1aa7e84 /mesonbuild/backend
parent689504b8607f11d7a98e2125823ad917dfc49504 (diff)
downloadmeson-5d932f31b985e46a4995d3c02b021cc94bef901d.zip
meson-5d932f31b985e46a4995d3c02b021cc94bef901d.tar.gz
meson-5d932f31b985e46a4995d3c02b021cc94bef901d.tar.bz2
backends/ninja: generate symlink aliases for rust/cs/swift libraries too
Basically the last thing we did during target processing was to generate shlib symlinks for e.g. libfoo.so -> libfoo.so.1. In some cases we would dispatch to another function and return early, though, which meant we never got far enough to generate the symlinks. This then led to breakage when people tried to compile against libfoo.so This surely breaks -uninstalled.pc usage, and also caused problems in https://github.com/rust-lang/rust/pull/90260
Diffstat (limited to 'mesonbuild/backend')
-rw-r--r--mesonbuild/backend/ninjabackend.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index ed1fe8c..75dd535 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -735,6 +735,9 @@ class NinjaBackend(backends.Backend):
self.introspection_data[name] = {}
# Generate rules for all dependency targets
self.process_target_dependencies(target)
+
+ self.generate_shlib_aliases(target, self.get_target_dir(target))
+
# If target uses a language that cannot link to C objects,
# just generate for that language and return.
if isinstance(target, build.Jar):
@@ -899,7 +902,6 @@ class NinjaBackend(backends.Backend):
final_obj_list = obj_list
elem = self.generate_link(target, outname, final_obj_list, linker, pch_objects, stdlib_args=stdlib_args)
self.generate_dependency_scan_target(target, compiled_sources, source2object, generated_source_files)
- self.generate_shlib_aliases(target, self.get_target_dir(target))
self.add_build(elem)
def should_use_dyndeps_for_target(self, target: 'build.BuildTarget') -> bool: