diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/logic/slbt_exec_link.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/logic/slbt_exec_link.c b/src/logic/slbt_exec_link.c index c271e7e..6be924f 100644 --- a/src/logic/slbt_exec_link.c +++ b/src/logic/slbt_exec_link.c @@ -1783,16 +1783,24 @@ static int slbt_exec_link_create_library_symlink( char target[PATH_MAX]; char lnkname[PATH_MAX]; - if (ectx->relfilename) { + if (ectx->relfilename && dctx->cctx->verinfo.verinfo) { + strcpy(target,ectx->relfilename); + sprintf(lnkname,"%s.dualver",ectx->dsofilename); + + if (slbt_create_symlink( + dctx,ectx, + target,lnkname, + SLBT_SYMLINK_DEFAULT)) + return SLBT_NESTED_ERROR(dctx); + } else if (ectx->relfilename) { strcpy(target,ectx->relfilename); sprintf(lnkname,"%s.release",ectx->dsofilename); - if (!dctx->cctx->verinfo.verinfo) - if (slbt_create_symlink( - dctx,ectx, - target,lnkname, - SLBT_SYMLINK_DEFAULT)) - return SLBT_NESTED_ERROR(dctx); + if (slbt_create_symlink( + dctx,ectx, + target,lnkname, + SLBT_SYMLINK_DEFAULT)) + return SLBT_NESTED_ERROR(dctx); } else { sprintf(target,"%s%s.%d.%d.%d%s", ectx->dsobasename, |