diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2019-08-15 09:57:42 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2019-08-15 09:57:42 +0200 |
commit | d33558b7335a469942e204f73de6faed81f8041f (patch) | |
tree | 9e7bbddc59d5528b2c818a06c6700a932bc19856 /build2/cc/install-rule.cxx | |
parent | 05c5e65dc69bdda66b9b73a10a107b901abf3bc3 (diff) |
Add support for bin.lib.load_suffix
This allow the creation of yet another symlink to the shared library that is
meant to be used for dynamic loading. For example, we may want to embed the
main program interface number into its plugins to make sure that we only load
compatible versions.
Diffstat (limited to 'build2/cc/install-rule.cxx')
-rw-r--r-- | build2/cc/install-rule.cxx | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/build2/cc/install-rule.cxx b/build2/cc/install-rule.cxx index f8058d7..a3a8253 100644 --- a/build2/cc/install-rule.cxx +++ b/build2/cc/install-rule.cxx @@ -216,6 +216,7 @@ namespace build2 }; const path& lk (lp.link); + const path& ld (lp.load); const path& so (lp.soname); const path& in (lp.interm); @@ -223,6 +224,7 @@ namespace build2 if (!in.empty ()) {r = ln (*f, in) || r; f = ∈} if (!so.empty ()) {r = ln (*f, so) || r; f = &so;} + if (!ld.empty ()) {r = ln (*f, ld) || r; f = &ld;} if (!lk.empty ()) {r = ln (*f, lk) || r; } } @@ -247,10 +249,12 @@ namespace build2 }; const path& lk (lp.link); + const path& ld (lp.load); const path& so (lp.soname); const path& in (lp.interm); if (!lk.empty ()) r = rm (lk) || r; + if (!ld.empty ()) r = rm (ld) || r; if (!so.empty ()) r = rm (so) || r; if (!in.empty ()) r = rm (in) || r; } |