Skip to content

Commit a0b2a24

Browse files
committed
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 rust-lang/rust#90260
1 parent 5778429 commit a0b2a24

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

mesonbuild/backend/ninjabackend.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -735,6 +735,9 @@ def generate_target(self, target):
735735
self.introspection_data[name] = {}
736736
# Generate rules for all dependency targets
737737
self.process_target_dependencies(target)
738+
739+
self.generate_shlib_aliases(target, self.get_target_dir(target))
740+
738741
# If target uses a language that cannot link to C objects,
739742
# just generate for that language and return.
740743
if isinstance(target, build.Jar):
@@ -899,7 +902,6 @@ def generate_target(self, target):
899902
final_obj_list = obj_list
900903
elem = self.generate_link(target, outname, final_obj_list, linker, pch_objects, stdlib_args=stdlib_args)
901904
self.generate_dependency_scan_target(target, compiled_sources, source2object, generated_source_files)
902-
self.generate_shlib_aliases(target, self.get_target_dir(target))
903905
self.add_build(elem)
904906

905907
def should_use_dyndeps_for_target(self, target: 'build.BuildTarget') -> bool:

0 commit comments

Comments
 (0)