summaryrefslogtreecommitdiffhomepage
path: root/src/logic/slbt_exec_ctx.c
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2018-06-22 12:07:50 -0400
committermidipix <writeonce@midipix.org>2018-06-22 12:07:50 -0400
commit600957a65ae754dfc87d1569556dd22c230597a5 (patch)
treed0361f692672060c8697de23fb48f30ad54ffe09 /src/logic/slbt_exec_ctx.c
parent127b9405d0d7ed2a4c8d246a5e960e8313f38988 (diff)
downloadslibtool-600957a65ae754dfc87d1569556dd22c230597a5.tar.bz2
slibtool-600957a65ae754dfc87d1569556dd22c230597a5.tar.xz
link mode: properly handle the combination of -release and -version-info.
Diffstat (limited to 'src/logic/slbt_exec_ctx.c')
-rw-r--r--src/logic/slbt_exec_ctx.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/logic/slbt_exec_ctx.c b/src/logic/slbt_exec_ctx.c
index 9ff962c..213a9fa 100644
--- a/src/logic/slbt_exec_ctx.c
+++ b/src/logic/slbt_exec_ctx.c
@@ -413,6 +413,28 @@ int slbt_get_exec_ctx(
/* relfilename */
if (dctx->cctx->release) {
ictx->ctx.relfilename = ch;
+ ch += dctx->cctx->verinfo.verinfo
+ ? sprintf(ch,"%s%s%s-%s%s.%d.%d.%d",
+ ictx->ctx.ldirname,
+ dsoprefix,
+ dctx->cctx->libname,
+ dctx->cctx->release,
+ dctx->cctx->settings.dsosuffix,
+ dctx->cctx->verinfo.major,
+ dctx->cctx->verinfo.minor,
+ dctx->cctx->verinfo.revision)
+ : sprintf(ch,"%s%s%s-%s%s",
+ ictx->ctx.ldirname,
+ dsoprefix,
+ dctx->cctx->libname,
+ dctx->cctx->release,
+ dctx->cctx->settings.dsosuffix);
+ ch++;
+ }
+
+ /* dsorellnkname */
+ if (dctx->cctx->release) {
+ ictx->ctx.dsorellnkname = ch;
ch += sprintf(ch,"%s%s%s-%s%s",
ictx->ctx.ldirname,
dsoprefix,