diff options
Diffstat (limited to 'src/logic')
-rw-r--r-- | src/logic/linkcmd/slbt_linkcmd_archive.c | 12 | ||||
-rw-r--r-- | src/logic/slbt_exec_link.c | 4 |
2 files changed, 9 insertions, 7 deletions
diff --git a/src/logic/linkcmd/slbt_linkcmd_archive.c b/src/logic/linkcmd/slbt_linkcmd_archive.c index c55b369..b7c090b 100644 --- a/src/logic/linkcmd/slbt_linkcmd_archive.c +++ b/src/logic/linkcmd/slbt_linkcmd_archive.c @@ -74,7 +74,8 @@ slbt_hidden int slbt_exec_link_create_archive( const struct slbt_driver_ctx * dctx, struct slbt_exec_ctx * ectx, const char * arfilename, - bool fpic) + bool fpic, + bool fdep) { int fdcwd; char ** argv; @@ -159,10 +160,11 @@ slbt_hidden int slbt_exec_link_create_archive( return SLBT_NESTED_ERROR(dctx); /* .deps */ - if (slbt_exec_link_create_dep_file( - dctx,ectx,ectx->cargv, - arfilename,true)) - return SLBT_NESTED_ERROR(dctx); + if (fdep) + if (slbt_exec_link_create_dep_file( + dctx,ectx,ectx->cargv, + arfilename,true)) + return SLBT_NESTED_ERROR(dctx); /* ar spawn */ if ((slbt_spawn(ectx,true) < 0) && (ectx->pid < 0)) { diff --git a/src/logic/slbt_exec_link.c b/src/logic/slbt_exec_link.c index 0509047..50709d3 100644 --- a/src/logic/slbt_exec_link.c +++ b/src/logic/slbt_exec_link.c @@ -205,7 +205,7 @@ int slbt_exec_link(const struct slbt_driver_ctx * dctx) /* non-pic libfoo.a */ if (dot && !strcmp(dot,".a")) - if (slbt_exec_link_create_archive(dctx,ectx,output,false)) { + if (slbt_exec_link_create_archive(dctx,ectx,output,false,false)) { slbt_ectx_free_exec_ctx(ectx); return SLBT_NESTED_ERROR(dctx); } @@ -258,7 +258,7 @@ int slbt_exec_link(const struct slbt_driver_ctx * dctx) if (slbt_exec_link_create_archive( dctx,ectx, ectx->arfilename, - fpic)) { + fpic,true)) { slbt_ectx_free_exec_ctx(ectx); return SLBT_NESTED_ERROR(dctx); } |