diff options
-rw-r--r-- | include/slibtool/slibtool.h | 3 | ||||
-rw-r--r-- | src/logic/slbt_exec_ctx.c | 32 |
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 */ |