From e9dbdf19b64af1560a24221c47cd7305bf0b23ed Mon Sep 17 00:00:00 2001 From: midipix Date: Sat, 30 Apr 2016 13:58:53 -0400 Subject: link mode: executable wrapper: added --mode=execute backend support. --- src/logic/slbt_exec_link.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src') diff --git a/src/logic/slbt_exec_link.c b/src/logic/slbt_exec_link.c index 1b3c998..cbd5c6f 100644 --- a/src/logic/slbt_exec_link.c +++ b/src/logic/slbt_exec_link.c @@ -798,6 +798,7 @@ static int slbt_exec_link_create_executable( const char * exefilename) { char ** parg; + char * base; char cwd [PATH_MAX]; char output [PATH_MAX]; char wrapper[PATH_MAX]; @@ -888,15 +889,26 @@ static int slbt_exec_link_create_executable( ectx->argv = depsmeta.altv; ectx->program = depsmeta.altv[0]; + /* executable wrapper: base name */ + if ((base = strrchr(dctx->cctx->output,'/'))) + base++; + else + base = wrapper; + /* executable wrapper: footer */ fabspath = (exefilename[0] == '/'); if (fprintf(ectx->fwrapper, "DL_PATH=\"$DL_PATH$LCOLON$%s\"\n\n" "export %s=$DL_PATH\n\n" + "if [ `basename \"$0\"` = \"%s.exe.wrapper\" ]; then\n" + "\tprogram=\"$1\"; shift\n" + "\texec \"$program\" \"$@\"\n" + "fi\n\n" "exec %s/%s \"$@\"\n", dctx->cctx->settings.ldpathenv, dctx->cctx->settings.ldpathenv, + base, fabspath ? "" : cwd, fabspath ? &exefilename[1] : exefilename) < 0) return slbt_exec_link_exit(&depsmeta,-1); -- cgit v1.2.3