aboutsummaryrefslogtreecommitdiff
path: root/build2/cc/install-rule.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2019-08-15 09:57:42 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2019-08-15 09:57:42 +0200
commitd33558b7335a469942e204f73de6faed81f8041f (patch)
tree9e7bbddc59d5528b2c818a06c6700a932bc19856 /build2/cc/install-rule.cxx
parent05c5e65dc69bdda66b9b73a10a107b901abf3bc3 (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.cxx4
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 = &in;}
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;
}