aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2021-11-24 17:29:06 +0530
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2021-11-24 23:18:53 +0530
commitaf5993fffd37944a15326cb9510775b269352ce0 (patch)
tree7783fbd8d21a98a70497a9b3e35bffcc85b43b07 /mesonbuild/backend
parentbd9d9818711eaba18b774e17c9ce405c5020c6f9 (diff)
downloadmeson-af5993fffd37944a15326cb9510775b269352ce0.zip
meson-af5993fffd37944a15326cb9510775b269352ce0.tar.gz
meson-af5993fffd37944a15326cb9510775b269352ce0.tar.bz2
shared_module: Add soname when used as a link target
Emit a detailed deprecation warning that explains what to do instead. Also add a unittest. ``` DEPRECATION: target prog links against shared module mymod, which is incorrect. This will be an error in the future, so please use shared_library() for mymod instead. If shared_module() was used for mymod because it has references to undefined symbols, use shared_libary() with `override_options: ['b_lundef=false']` instead. ``` Fixes https://github.com/mesonbuild/meson/issues/9492
Diffstat (limited to 'mesonbuild/backend')
-rw-r--r--mesonbuild/backend/ninjabackend.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index a1d3e50..b6621c9 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -2785,7 +2785,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
commands += linker.get_std_shared_lib_link_args()
# All shared libraries are PIC
commands += linker.get_pic_args()
- if not isinstance(target, build.SharedModule):
+ if not isinstance(target, build.SharedModule) or target.backwards_compat_want_soname:
# Add -Wl,-soname arguments on Linux, -install_name on OS X
commands += linker.get_soname_args(
self.environment, target.prefix, target.name, target.suffix,