From 112a2bc026f48bf9453c2bb8766f730e8c0d1bc9 Mon Sep 17 00:00:00 2001 From: midipix Date: Sun, 24 Apr 2016 09:14:59 -0400 Subject: execution context: link mode: install mode: added -release semantics support. --- src/logic/slbt_exec_install.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/logic/slbt_exec_install.c') diff --git a/src/logic/slbt_exec_install.c b/src/logic/slbt_exec_install.c index a595774..0eddd6d 100644 --- a/src/logic/slbt_exec_install.c +++ b/src/logic/slbt_exec_install.c @@ -233,6 +233,7 @@ static int slbt_exec_install_entry( char lasource[PATH_MAX]; bool fexe = false; bool fpe; + bool frelease; struct stat st; /* executable wrapper? */ @@ -297,9 +298,15 @@ static int slbt_exec_install_entry( dest ? (char *)dest->arg : (char *)last->arg)) return -1; - /* libfoo.a --> libfoo.so */ + /* dot/suffix */ strcpy(slnkname,srcfile); dot = strrchr(slnkname,'.'); + + /* libfoo.a --> libfoo.so.release */ + sprintf(dot,"%s.release",dctx->cctx->settings.dsosuffix); + frelease = stat(slnkname,&st) ? false : true; + + /* libfoo.a --> libfoo.so */ strcpy(dot,dctx->cctx->settings.dsosuffix); /* PE support: does .libs/libfoo.so.def exist? */ @@ -377,6 +384,9 @@ static int slbt_exec_install_entry( false)) return -1; + if (frelease) + return 0; + /* libfoo.so.x.y.z --> libfoo.so.x */ strcpy(slnkname,target); -- cgit v1.2.3