summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 */