summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2016-04-17 16:31:13 -0400
committermidipix <writeonce@midipix.org>2016-04-17 17:34:22 -0400
commit1677f4527a6413758a02fb36b430adf6a921a964 (patch)
tree66f1a9b0f0d3117b76f25c82bb529f952ea369c8
parentb4491f80105c1b2344578c29d36bb173b57c3233 (diff)
downloadslibtool-1677f4527a6413758a02fb36b430adf6a921a964.tar.bz2
slibtool-1677f4527a6413758a02fb36b430adf6a921a964.tar.xz
execution context: PE support: added primary & versioned implib file name.
-rw-r--r--include/slibtool/slibtool.h3
-rw-r--r--src/logic/slbt_exec_ctx.c32
2 files changed, 35 insertions, 0 deletions
diff --git a/include/slibtool/slibtool.h b/include/slibtool/slibtool.h
index 9d74769..70ceef9 100644
--- a/include/slibtool/slibtool.h
+++ b/include/slibtool/slibtool.h
@@ -116,6 +116,9 @@ struct slbt_exec_ctx {
char * lafilename;
char * dsofilename;
char * deffilename;
+ char * dimpfilename;
+ char * pimpfilename;
+ char * vimpfilename;
char * exefilename;
pid_t pid;
int exitcode;
diff --git a/src/logic/slbt_exec_ctx.c b/src/logic/slbt_exec_ctx.c
index d7038fc..e4145bc 100644
--- a/src/logic/slbt_exec_ctx.c
+++ b/src/logic/slbt_exec_ctx.c
@@ -309,6 +309,38 @@ int slbt_get_exec_ctx(
dctx->cctx->libname,
dctx->cctx->settings.dsosuffix)
+ sizeof('\0');
+
+ /* default implib file name */
+ ictx->ctx.dimpfilename = ch;
+ ch += sprintf(ch,"%s%s%s%s",
+ ictx->ctx.ldirname,
+ dctx->cctx->settings.impprefix,
+ dctx->cctx->libname,
+ dctx->cctx->settings.impsuffix)
+ + sizeof('\0');
+
+
+ /* primary implib file name */
+ ictx->ctx.pimpfilename = ch;
+ ch += sprintf(ch,"%s%s%s.%d%s",
+ ictx->ctx.ldirname,
+ dctx->cctx->settings.impprefix,
+ dctx->cctx->libname,
+ dctx->cctx->verinfo.major,
+ dctx->cctx->settings.impsuffix)
+ + sizeof('\0');
+
+ /* versioned implib file name */
+ ictx->ctx.vimpfilename = ch;
+ ch += sprintf(ch,"%s%s%s.%d.%d.%d%s",
+ ictx->ctx.ldirname,
+ dctx->cctx->settings.impprefix,
+ dctx->cctx->libname,
+ dctx->cctx->verinfo.major,
+ dctx->cctx->verinfo.minor,
+ dctx->cctx->verinfo.revision,
+ dctx->cctx->settings.impsuffix)
+ + sizeof('\0');
}
/* linking: exefilename */