summaryrefslogtreecommitdiff
path: root/src/logic
diff options
context:
space:
mode:
Diffstat (limited to 'src/logic')
-rw-r--r--src/logic/slbt_exec_link.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/logic/slbt_exec_link.c b/src/logic/slbt_exec_link.c
index 6ce059b..7cbad2e 100644
--- a/src/logic/slbt_exec_link.c
+++ b/src/logic/slbt_exec_link.c
@@ -633,6 +633,7 @@ static int slbt_exec_link_create_dep_file(
struct stat st;
int ldepth;
int fdyndep;
+ int fnodeps;
if (ectx->fdeps) {
fclose(ectx->fdeps);
@@ -701,6 +702,7 @@ static int slbt_exec_link_create_dep_file(
fdeps = 0;
fdyndep = !stat(depfile,&st);
+ fnodeps = farchive && fdyndep;
/* [-L... as needed] */
if (fdyndep && (base > *parg) && (ectx->ldirdepth >= 0)) {
@@ -756,7 +758,7 @@ static int slbt_exec_link_create_dep_file(
}
}
- if (farchive || !fdeps) {
+ if (!fnodeps && (farchive || !fdeps)) {
if ((size_t)snprintf(mark,size,".a.slibtool.deps")
>= size)
return SLBT_BUFFER_ERROR(dctx);