summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAditya Vidyadhar Kamath <Aditya.Kamath1@ibm.com>2025-01-27 05:36:03 -0600
committerJussi Pakkanen <jpakkane@gmail.com>2025-01-28 19:59:03 +0200
commit1ae7dd1290f768c18e7fb6661f7a669ec0790e18 (patch)
tree34e65da5a1bfbc316177744f3261ffc891ac96f2
parentb2456ad8bf6857b28c9dc6b5c22570bd43d6e1f0 (diff)
downloadmeson-1ae7dd1290f768c18e7fb6661f7a669ec0790e18.tar.gz
Fix to Meson failed to archive shared libraries in AIX.
Closes mesonbuild#14185.
-rw-r--r--mesonbuild/backend/ninjabackend.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index cf9309e25..58d2e8fae 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -3296,6 +3296,12 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
def generate_shsym(self, target) -> None:
target_file = self.get_target_filename(target)
+ if isinstance(target, build.SharedLibrary) and target.aix_so_archive:
+ if self.environment.machines[target.for_machine].is_aix():
+ linker, stdlib_args = target.get_clink_dynamic_linker_and_stdlibs()
+ target.get_outputs()[0] = linker.get_archive_name(target.get_outputs()[0])
+ target_file = target.get_outputs()[0]
+ target_file = os.path.join(self.get_target_dir(target), target_file)
symname = self.get_target_shsym_filename(target)
elem = NinjaBuildElement(self.all_outputs, symname, 'SHSYM', target_file)
# The library we will actually link to, which is an import library on Windows (not the DLL)