diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2021-11-24 17:29:06 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek.chauhan@gmail.com> | 2021-11-24 23:18:53 +0530 |
commit | af5993fffd37944a15326cb9510775b269352ce0 (patch) | |
tree | 7783fbd8d21a98a70497a9b3e35bffcc85b43b07 /unittests/allplatformstests.py | |
parent | bd9d9818711eaba18b774e17c9ce405c5020c6f9 (diff) | |
download | meson-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 'unittests/allplatformstests.py')
-rw-r--r-- | unittests/allplatformstests.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/unittests/allplatformstests.py b/unittests/allplatformstests.py index 03992bd..30c0572 100644 --- a/unittests/allplatformstests.py +++ b/unittests/allplatformstests.py @@ -1946,8 +1946,10 @@ class AllPlatformTests(BasePlatformTests): """ tdir = os.path.join(self.unit_test_dir, '30 shared_mod linking') out = self.init(tdir) - msg = ('WARNING: target links against shared modules. This is not ' - 'recommended as it is not supported on some platforms') + msg = ('''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.''') self.assertIn(msg, out) def test_mixed_language_linker_check(self): |