summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/logic/slbt_exec_ctx.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/logic/slbt_exec_ctx.c b/src/logic/slbt_exec_ctx.c
index 3b52e75..0301ea9 100644
--- a/src/logic/slbt_exec_ctx.c
+++ b/src/logic/slbt_exec_ctx.c
@@ -234,6 +234,38 @@ int slbt_get_exec_ctx(
+ sizeof('\0');
}
+ /* linking: arfilename, lafilename, dsofilename */
+ if (dctx->cctx->mode == SLBT_MODE_LINK && dctx->cctx->libname) {
+ /* arfilename */
+ ictx->ctx.arfilename = ch;
+ ch += sprintf(ch,"%s%s%s%s",
+ ictx->ctx.ldirname,
+ dctx->cctx->settings.arprefix,
+ dctx->cctx->libname,
+ dctx->cctx->settings.arsuffix)
+ + sizeof('\0');
+
+
+
+ /* lafilename */
+ ictx->ctx.lafilename = ch;
+ ch += sprintf(ch,"%s%s%s.la",
+ ictx->ctx.ldirname,
+ dctx->cctx->settings.dsoprefix,
+ dctx->cctx->libname)
+ + sizeof('\0');
+
+
+ /* dsofilename */
+ ictx->ctx.dsofilename = ch;
+ ch += sprintf(ch,"%s%s%s%s",
+ ictx->ctx.ldirname,
+ dctx->cctx->settings.dsoprefix,
+ dctx->cctx->libname,
+ dctx->cctx->settings.dsosuffix)
+ + sizeof('\0');
+ }
+
*ectx = &ictx->ctx;
return 0;
}