diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/logic/slbt_exec_link.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/logic/slbt_exec_link.c b/src/logic/slbt_exec_link.c index c593423..b1c242c 100644 --- a/src/logic/slbt_exec_link.c +++ b/src/logic/slbt_exec_link.c @@ -1963,19 +1963,21 @@ int slbt_exec_link( return SLBT_NESTED_ERROR(dctx); /* dynamic library via -module */ - if (dctx->cctx->drvflags & SLBT_DRIVER_MODULE) { - if (!dot || strcmp(dot,".la")) { - if (slbt_exec_link_create_library( - dctx,ectx, - ectx->dsobasename, - ectx->dsofilename, - ectx->relfilename)) { + if (dctx->cctx->rpath && !fstaticonly) { + if (dctx->cctx->drvflags & SLBT_DRIVER_MODULE) { + if (!dot || strcmp(dot,".la")) { + if (slbt_exec_link_create_library( + dctx,ectx, + ectx->dsobasename, + ectx->dsofilename, + ectx->relfilename)) { + slbt_free_exec_ctx(actx); + return SLBT_NESTED_ERROR(dctx); + } + slbt_free_exec_ctx(actx); - return SLBT_NESTED_ERROR(dctx); + return 0; } - - slbt_free_exec_ctx(actx); - return 0; } } |